@codingame/monaco-vscode-configuration-editing-default-extension 13.1.7 → 14.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"configurationEditingMain.js","mappings":"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kB,EAAI,KAAO,IAC5CA,EAAeA,EAAkB,EAAI,KAAO,IAC5CA,EAAeA,EAAkB,EAAI,KAAO,IAC5CA,EAAeA,EAAkB,EAAI,KAAO,IAC5CA,EAAeA,EAAkB,EAAI,KAAO,IAC5CA,EAAeA,EAAkB,EAAI,KAAO,IAC5CA,EAAeA,EAAkB,EAAI,KAAO,IAC5CA,EAAeA,EAAkB,EAAI,KAAO,IAC5CA,EAAeA,EAAkB,EAAI,KAAO,IAC5CA,EAAeA,EAAkB,EAAI,KAAO,IAC5CA,EAAeA,EAAkB,EAAI,KAAO,IAC5CA,EAAeA,EAAkB,EAAI,KAAO,IAC5CA,EAAeA,EAAkB,EAAI,KAAO,IAC5CA,EAAeA,EAAkB,EAAI,KAAO,IAC5CA,EAAeA,EAAkB,EAAI,KAAO,IAC5CA,EAAeA,EAAkB,EAAI,KAAO,IAC5CA,EAAeA,EAAkB,EAAI,KAAO,IAC5CA,EAAeA,EAAkB,EAAI,IAAM,IAC3CA,EAAeA,EAAkB,EAAI,IAAM,IAC3CA,EAAeA,EAAkB,EAAI,IAAM,IAC3CA,EAAeA,EAAkB,EAAI,IAAM,IAC3CA,EAAeA,EAAkB,EAAI,IAAM,IAC3CA,EAAeA,EAAkB,EAAI,IAAM,IAC3CA,EAAeA,EAAkB,EAAI,IAAM,IAC3CA,EAAeA,EAAkB,EAAI,IAAM,IAC3CA,EAAeA,EAAkB,EAAI,IAAM,IAC3CA,EAAeA,EAAkB,EAAI,IAAM,IAC3CA,EAAeA,EAAkB,EAAI,IAAM,IAC3CA,EAAeA,EAAkB,EAAI,IAAM,IAC3CA,EAAeA,EAAkB,EAAI,IAAM,IAC3CA,EAAeA,EAAkB,EAAI,IAAM,IAC3CA,EAAeA,EAAkB,EAAI,IAAM,IAC3CA,EAAeA,EAAkB,EAAI,IAAM,IAC3CA,EAAeA,EAAkB,EAAI,IAAM,IAC3CA,EAAeA,EAAkB,EAAI,IAAM,IAC3CA,EAAeA,EAAkB,EAAI,IAAM,IAC3CA,EAAeA,EAAkB,EAAI,IAAM,IAC3CA,EAAeA,EAAkB,EAAI,IAAM,IAC3CA,EAAeA,EAAkB,EAAI,IAAM,IAC3CA,EAAeA,EAAkB,EAAI,IAAM,IAC3CA,EAAeA,EAAkB,EAAI,IAAM,IAC3CA,EAAeA,EAAkB,EAAI,IAA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","sources":["webpack://configuration-editing/./node_modules/universal-user-agent/dist-web/index.js","webpack://configuration-editing/./node_modules/is-plain-object/dist/is-plain-object.mjs","webpack://configuration-editing/./node_modules/@octokit/endpoint/dist-web/index.js","webpack://configuration-editing/./node_modules/deprecation/dist-web/index.js","webpack://configuration-editing/./node_modules/@octokit/request-error/dist-web/index.js","webpack://configuration-editing/./node_modules/@octokit/request/dist-web/index.js","webpack://configuration-editing/./node_modules/@octokit/graphql/dist-web/index.js","webpack://configuration-editing/./node_modules/@octokit/auth-token/dist-web/index.js","webpack://configuration-editing/./node_modules/@octokit/core/dist-web/index.js","webpack://configuration-editing/./node_modules/@octokit/plugin-request-log/dist-web/index.js","webpack://configuration-editing/./node_modules/@octokit/plugin-paginate-rest/dist-web/index.js","webpack://configuration-editing/./node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js","webpack://configuration-editing/./node_modules/@octokit/rest/dist-web/index.js","webpack://configuration-editing/./node_modules/before-after-hook/index.js","webpack://configuration-editing/./node_modules/before-after-hook/lib/add.js","webpack://configuration-editing/./node_modules/before-after-hook/lib/register.js","webpack://configuration-editing/./node_modules/before-after-hook/lib/remove.js","webpack://configuration-editing/./node_modules/jsonc-parser/lib/esm/impl/scanner.js","webpack://configuration-editing/./node_modules/jsonc-parser/lib/esm/impl/parser.js","webpack://configuration-editing/./node_modules/jsonc-parser/lib/esm/impl/format.js","webpack://configuration-editing/./node_modules/jsonc-parser/lib/esm/impl/edit.js","webpack://configuration-editing/./node_modules/jsonc-parser/lib/esm/main.js","webpack://configuration-editing/./node_modules/node-fetch/browser.js","webpack://configuration-editing/./node_modules/once/once.js","webpack://configuration-editing/./node_modules/wrappy/wrappy.js","webpack://configuration-editing/../../node_modules/path-browserify/index.js","webpack://configuration-editing/./src/browser/net.ts","webpack://configuration-editing/./src/configurationEditingMain.ts","webpack://configuration-editing/./src/extensionsProposals.ts","webpack://configuration-editing/./src/importExportProfiles.ts","webpack://configuration-editing/./src/settingsDocumentHelper.ts","webpack://configuration-editing/external commonjs \"vscode\"","webpack://configuration-editing/webpack/bootstrap","webpack://configuration-editing/webpack/runtime/compat get default export","webpack://configuration-editing/webpack/runtime/define property getters","webpack://configuration-editing/webpack/runtime/global","webpack://configuration-editing/webpack/runtime/hasOwnProperty shorthand","webpack://configuration-editing/webpack/runtime/make namespace object","webpack://configuration-editing/webpack/startup"],"sourcesContent":["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 \"<environment undetectable>\";\n}\n\nexport { getUserAgent };\n//# sourceMappingURL=index.js.map\n","/*!\n * is-plain-object <https://github.com/jonschlinkert/is-plain-object>\n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */\n\nfunction isObject(o) {\n return Object.prototype.toString.call(o) === '[object Object]';\n}\n\nfunction isPlainObject(o) {\n var ctor,prot;\n\n if (isObject(o) === false) return false;\n\n // If has modified constructor\n ctor = o.constructor;\n if (ctor === undefined) return true;\n\n // If has modified prototype\n prot = ctor.prototype;\n if (isObject(prot) === false) return false;\n\n // If constructor does not have an Object-specific method\n if (prot.hasOwnProperty('isPrototypeOf') === false) {\n return false;\n }\n\n // Most likely a plain Object\n return true;\n}\n\nexport { isPlainObject };\n","// pkg/dist-src/util/lowercase-keys.js\nfunction 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\n// pkg/dist-src/util/merge-deep.js\nimport { isPlainObject } from \"is-plain-object\";\nfunction 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 } else {\n Object.assign(result, { [key]: options[key] });\n }\n });\n return result;\n}\n\n// pkg/dist-src/util/remove-undefined-properties.js\nfunction removeUndefinedProperties(obj) {\n for (const key in obj) {\n if (obj[key] === void 0) {\n delete obj[key];\n }\n }\n return obj;\n}\n\n// pkg/dist-src/merge.js\nfunction 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 } else {\n options = Object.assign({}, route);\n }\n options.headers = lowercaseKeys(options.headers);\n removeUndefinedProperties(options);\n removeUndefinedProperties(options.headers);\n const mergedOptions = mergeDeep(defaults || {}, options);\n if (defaults && defaults.mediaType.previews.length) {\n mergedOptions.mediaType.previews = defaults.mediaType.previews.filter((preview) => !mergedOptions.mediaType.previews.includes(preview)).concat(mergedOptions.mediaType.previews);\n }\n mergedOptions.mediaType.previews = mergedOptions.mediaType.previews.map(\n (preview) => preview.replace(/-preview/, \"\")\n );\n return mergedOptions;\n}\n\n// pkg/dist-src/util/add-query-parameters.js\nfunction 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 + separator + names.map((name) => {\n if (name === \"q\") {\n return \"q=\" + parameters.q.split(\"+\").map(encodeURIComponent).join(\"+\");\n }\n return `${name}=${encodeURIComponent(parameters[name])}`;\n }).join(\"&\");\n}\n\n// pkg/dist-src/util/extract-url-variable-names.js\nvar urlVariableRegex = /\\{[^}]+\\}/g;\nfunction removeNonChars(variableName) {\n return variableName.replace(/^\\W+|\\W+$/g, \"\").split(/,/);\n}\nfunction 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\n// pkg/dist-src/util/omit.js\nfunction omit(object, keysToOmit) {\n return Object.keys(object).filter((option) => !keysToOmit.includes(option)).reduce((obj, key) => {\n obj[key] = object[key];\n return obj;\n }, {});\n}\n\n// pkg/dist-src/util/url-template.js\nfunction encodeReserved(str) {\n return str.split(/(%[0-9A-Fa-f]{2})/g).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 }).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 = operator === \"+\" || operator === \"#\" ? encodeReserved(value) : encodeUnreserved(value);\n if (key) {\n return encodeUnreserved(key) + \"=\" + value;\n } else {\n return value;\n }\n}\nfunction isDefined(value) {\n return value !== void 0 && 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\" || typeof value === \"number\" || typeof value === \"boolean\") {\n value = value.toString();\n if (modifier && modifier !== \"*\") {\n value = value.substring(0, parseInt(modifier, 10));\n }\n result.push(\n encodeValue(operator, value, isKeyOperator(operator) ? key : \"\")\n );\n } else {\n if (modifier === \"*\") {\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function(value2) {\n result.push(\n encodeValue(operator, value2, 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 } else {\n const tmp = [];\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function(value2) {\n tmp.push(encodeValue(operator, value2));\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 } else if (tmp.length !== 0) {\n result.push(tmp.join(\",\"));\n }\n }\n }\n } else {\n if (operator === \";\") {\n if (isDefined(value)) {\n result.push(encodeUnreserved(key));\n }\n } else if (value === \"\" && (operator === \"&\" || operator === \"?\")) {\n result.push(encodeUnreserved(key) + \"=\");\n } else if (value === \"\") {\n result.push(\"\");\n }\n }\n return result;\n}\nfunction parseUrl(template) {\n return {\n expand: expand.bind(null, template)\n };\n}\nfunction expand(template, context) {\n var operators = [\"+\", \"#\", \".\", \"/\", \";\", \"?\", \"&\"];\n return template.replace(\n /\\{([^\\{\\}]+)\\}|([^\\{\\}]+)/g,\n 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 } else if (operator !== \"#\") {\n separator = operator;\n }\n return (values.length !== 0 ? operator : \"\") + values.join(separator);\n } else {\n return values.join(\",\");\n }\n } else {\n return encodeReserved(literal);\n }\n }\n );\n}\n\n// pkg/dist-src/parse.js\nfunction parse(options) {\n let method = options.method.toUpperCase();\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 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).filter((option) => urlVariableNames.includes(option)).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 headers.accept = headers.accept.split(/,/).map(\n (preview) => preview.replace(\n /application\\/vnd(\\.\\w+)(\\.v3)?(\\.\\w+)?(\\+json)?$/,\n `application/vnd$1$2.${options.mediaType.format}`\n )\n ).join(\",\");\n }\n if (options.mediaType.previews.length) {\n const previewsFromAcceptHeader = headers.accept.match(/[\\w-]+(?=-preview)/g) || [];\n headers.accept = previewsFromAcceptHeader.concat(options.mediaType.previews).map((preview) => {\n const format = options.mediaType.format ? `.${options.mediaType.format}` : \"+json\";\n return `application/vnd.github.${preview}-preview${format}`;\n }).join(\",\");\n }\n }\n if ([\"GET\", \"HEAD\"].includes(method)) {\n url = addQueryParameters(url, remainingParameters);\n } else {\n if (\"data\" in remainingParameters) {\n body = remainingParameters.data;\n } else {\n if (Object.keys(remainingParameters).length) {\n body = remainingParameters;\n }\n }\n }\n if (!headers[\"content-type\"] && typeof body !== \"undefined\") {\n headers[\"content-type\"] = \"application/json; charset=utf-8\";\n }\n if ([\"PATCH\", \"PUT\"].includes(method) && typeof body === \"undefined\") {\n body = \"\";\n }\n return Object.assign(\n { method, url, headers },\n typeof body !== \"undefined\" ? { body } : null,\n options.request ? { request: options.request } : null\n );\n}\n\n// pkg/dist-src/endpoint-with-defaults.js\nfunction endpointWithDefaults(defaults, route, options) {\n return parse(merge(defaults, route, options));\n}\n\n// pkg/dist-src/with-defaults.js\nfunction withDefaults(oldDefaults, newDefaults) {\n const DEFAULTS2 = merge(oldDefaults, newDefaults);\n const endpoint2 = endpointWithDefaults.bind(null, DEFAULTS2);\n return Object.assign(endpoint2, {\n DEFAULTS: DEFAULTS2,\n defaults: withDefaults.bind(null, DEFAULTS2),\n merge: merge.bind(null, DEFAULTS2),\n parse\n });\n}\n\n// pkg/dist-src/defaults.js\nimport { getUserAgent } from \"universal-user-agent\";\n\n// pkg/dist-src/version.js\nvar VERSION = \"7.0.6\";\n\n// pkg/dist-src/defaults.js\nvar userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`;\nvar 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\n// pkg/dist-src/index.js\nvar endpoint = withDefaults(null, DEFAULTS);\nexport {\n endpoint\n};\n","class Deprecation extends Error {\n constructor(message) {\n super(message); // Maintains proper stack trace (only available on V8)\n\n /* istanbul ignore next */\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n\n this.name = 'Deprecation';\n }\n\n}\n\nexport { Deprecation };\n","import { Deprecation } from 'deprecation';\nimport once from 'once';\n\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 */\nclass 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\nexport { RequestError };\n//# sourceMappingURL=index.js.map\n","// pkg/dist-src/index.js\nimport { endpoint } from \"@octokit/endpoint\";\nimport { getUserAgent } from \"universal-user-agent\";\n\n// pkg/dist-src/version.js\nvar VERSION = \"6.2.8\";\n\n// pkg/dist-src/fetch-wrapper.js\nimport { isPlainObject } from \"is-plain-object\";\nimport nodeFetch, {} from \"node-fetch\";\nimport { RequestError } from \"@octokit/request-error\";\n\n// pkg/dist-src/get-buffer-response.js\nfunction getBufferResponse(response) {\n return response.arrayBuffer();\n}\n\n// pkg/dist-src/fetch-wrapper.js\nfunction fetchWrapper(requestOptions) {\n const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console;\n if (isPlainObject(requestOptions.body) || 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 || globalThis.fetch || /* istanbul ignore next */\n nodeFetch;\n return fetch(\n requestOptions.url,\n Object.assign(\n {\n method: requestOptions.method,\n body: requestOptions.body,\n headers: requestOptions.headers,\n redirect: requestOptions.redirect,\n // duplex must be set if request.body is ReadableStream or Async Iterables.\n // See https://fetch.spec.whatwg.org/#dom-requestinit-duplex.\n ...requestOptions.body && { duplex: \"half\" }\n },\n // `requestOptions.request.agent` type is incompatible\n // see https://github.com/octokit/types.ts/pull/264\n requestOptions.request\n )\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(\n `[@octokit/request] \"${requestOptions.method} ${requestOptions.url}\" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : \"\"}`\n );\n }\n if (status === 204 || status === 205) {\n return;\n }\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: void 0\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 }).then((data) => {\n return {\n status,\n url,\n headers,\n data\n };\n }).catch((error) => {\n if (error instanceof RequestError)\n throw error;\n else if (error.name === \"AbortError\")\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 getBufferResponse(response);\n}\nfunction toErrorMessage(data) {\n if (typeof data === \"string\")\n return data;\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 return `Unknown error: ${JSON.stringify(data)}`;\n}\n\n// pkg/dist-src/with-defaults.js\nfunction withDefaults(oldEndpoint, newDefaults) {\n const endpoint2 = oldEndpoint.defaults(newDefaults);\n const newApi = function(route, parameters) {\n const endpointOptions = endpoint2.merge(route, parameters);\n if (!endpointOptions.request || !endpointOptions.request.hook) {\n return fetchWrapper(endpoint2.parse(endpointOptions));\n }\n const request2 = (route2, parameters2) => {\n return fetchWrapper(\n endpoint2.parse(endpoint2.merge(route2, parameters2))\n );\n };\n Object.assign(request2, {\n endpoint: endpoint2,\n defaults: withDefaults.bind(null, endpoint2)\n });\n return endpointOptions.request.hook(request2, endpointOptions);\n };\n return Object.assign(newApi, {\n endpoint: endpoint2,\n defaults: withDefaults.bind(null, endpoint2)\n });\n}\n\n// pkg/dist-src/index.js\nvar request = withDefaults(endpoint, {\n headers: {\n \"user-agent\": `octokit-request.js/${VERSION} ${getUserAgent()}`\n }\n});\nexport {\n request\n};\n","// pkg/dist-src/index.js\nimport { request } from \"@octokit/request\";\nimport { getUserAgent } from \"universal-user-agent\";\n\n// pkg/dist-src/version.js\nvar VERSION = \"5.0.6\";\n\n// pkg/dist-src/error.js\nfunction _buildMessageForResponseErrors(data) {\n return `Request failed due to following response errors:\n` + data.errors.map((e) => ` - ${e.message}`).join(\"\\n\");\n}\nvar GraphqlResponseError = class extends Error {\n constructor(request2, headers, response) {\n super(_buildMessageForResponseErrors(response));\n this.request = request2;\n this.headers = headers;\n this.response = response;\n this.name = \"GraphqlResponseError\";\n this.errors = response.errors;\n this.data = response.data;\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n }\n};\n\n// pkg/dist-src/graphql.js\nvar NON_VARIABLE_OPTIONS = [\n \"method\",\n \"baseUrl\",\n \"url\",\n \"headers\",\n \"request\",\n \"query\",\n \"mediaType\"\n];\nvar FORBIDDEN_VARIABLE_OPTIONS = [\"query\", \"method\", \"url\"];\nvar GHES_V3_SUFFIX_REGEX = /\\/api\\/v3\\/?$/;\nfunction graphql(request2, query, options) {\n if (options) {\n if (typeof query === \"string\" && \"query\" in options) {\n return Promise.reject(\n new Error(`[@octokit/graphql] \"query\" cannot be used as variable name`)\n );\n }\n for (const key in options) {\n if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key))\n continue;\n return Promise.reject(\n new Error(`[@octokit/graphql] \"${key}\" cannot be used as variable name`)\n );\n }\n }\n const parsedOptions = typeof query === \"string\" ? Object.assign({ query }, options) : query;\n const requestOptions = Object.keys(\n parsedOptions\n ).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 const baseUrl = parsedOptions.baseUrl || request2.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 request2(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(\n requestOptions,\n headers,\n response.data\n );\n }\n return response.data.data;\n });\n}\n\n// pkg/dist-src/with-defaults.js\nfunction withDefaults(request2, newDefaults) {\n const newRequest = request2.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: newRequest.endpoint\n });\n}\n\n// pkg/dist-src/index.js\nvar graphql2 = withDefaults(request, {\n headers: {\n \"user-agent\": `octokit-graphql.js/${VERSION} ${getUserAgent()}`\n },\n method: \"POST\",\n url: \"/graphql\"\n});\nfunction withCustomRequest(customRequest) {\n return withDefaults(customRequest, {\n method: \"POST\",\n url: \"/graphql\"\n });\n}\nexport {\n GraphqlResponseError,\n graphql2 as graphql,\n withCustomRequest\n};\n","// pkg/dist-src/auth.js\nvar REGEX_IS_INSTALLATION_LEGACY = /^v1\\./;\nvar REGEX_IS_INSTALLATION = /^ghs_/;\nvar REGEX_IS_USER_TO_SERVER = /^ghu_/;\nasync function auth(token) {\n const isApp = token.split(/\\./).length === 3;\n const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) || REGEX_IS_INSTALLATION.test(token);\n const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token);\n const tokenType = isApp ? \"app\" : isInstallation ? \"installation\" : isUserToServer ? \"user-to-server\" : \"oauth\";\n return {\n type: \"token\",\n token,\n tokenType\n };\n}\n\n// pkg/dist-src/with-authorization-prefix.js\nfunction withAuthorizationPrefix(token) {\n if (token.split(/\\./).length === 3) {\n return `bearer ${token}`;\n }\n return `token ${token}`;\n}\n\n// pkg/dist-src/hook.js\nasync function hook(token, request, route, parameters) {\n const endpoint = request.endpoint.merge(\n route,\n parameters\n );\n endpoint.headers.authorization = withAuthorizationPrefix(token);\n return request(endpoint);\n}\n\n// pkg/dist-src/index.js\nvar createTokenAuth = function createTokenAuth2(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(\n \"[@octokit/auth-token] Token passed to createTokenAuth is not a string\"\n );\n }\n token = token.replace(/^(token|bearer) +/i, \"\");\n return Object.assign(auth.bind(null, token), {\n hook: hook.bind(null, token)\n });\n};\nexport {\n createTokenAuth\n};\n","// pkg/dist-src/index.js\nimport { getUserAgent } from \"universal-user-agent\";\nimport { Collection } from \"before-after-hook\";\nimport { request } from \"@octokit/request\";\nimport { graphql, withCustomRequest } from \"@octokit/graphql\";\nimport { createTokenAuth } from \"@octokit/auth-token\";\n\n// pkg/dist-src/version.js\nvar VERSION = \"4.2.4\";\n\n// pkg/dist-src/index.js\nvar Octokit = class {\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(\n Object.assign(\n {},\n defaults,\n options,\n options.userAgent && defaults.userAgent ? {\n userAgent: `${options.userAgent} ${defaults.userAgent}`\n } : null\n )\n );\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 }, _a.plugins = currentPlugins.concat(\n newPlugins.filter((plugin) => !currentPlugins.includes(plugin))\n ), _a);\n return NewOctokit;\n }\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 requestDefaults.headers[\"user-agent\"] = [\n options.userAgent,\n `octokit-core.js/${VERSION} ${getUserAgent()}`\n ].filter(Boolean).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 {\n debug: () => {\n },\n info: () => {\n },\n warn: console.warn.bind(console),\n error: console.error.bind(console)\n },\n options.log\n );\n this.hook = hook;\n if (!options.authStrategy) {\n if (!options.auth) {\n this.auth = async () => ({\n type: \"unauthenticated\"\n });\n } else {\n const auth = createTokenAuth(options.auth);\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n } else {\n const { authStrategy, ...otherOptions } = options;\n const auth = authStrategy(\n Object.assign(\n {\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 },\n options.auth\n )\n );\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n const classConstructor = this.constructor;\n classConstructor.plugins.forEach((plugin) => {\n Object.assign(this, plugin(this, options));\n });\n }\n};\nOctokit.VERSION = VERSION;\nOctokit.plugins = [];\nexport {\n Octokit\n};\n","const VERSION = \"1.0.4\";\n\n/**\n * @param octokit Octokit instance\n * @param options Options passed to Octokit constructor\n */\nfunction requestLog(octokit) {\n octokit.hook.wrap(\"request\", (request, options) => {\n octokit.log.debug(\"request\", options);\n const start = Date.now();\n const requestOptions = octokit.request.endpoint.parse(options);\n const path = requestOptions.url.replace(options.baseUrl, \"\");\n return request(options)\n .then((response) => {\n octokit.log.info(`${requestOptions.method} ${path} - ${response.status} in ${Date.now() - start}ms`);\n return response;\n })\n .catch((error) => {\n octokit.log.info(`${requestOptions.method} ${path} - ${error.status} in ${Date.now() - start}ms`);\n throw error;\n });\n });\n}\nrequestLog.VERSION = VERSION;\n\nexport { requestLog };\n//# sourceMappingURL=index.js.map\n","const VERSION = \"4.3.1\";\n\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 */\nfunction 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\nfunction 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 // '<https://api.github.com/users/aseemk/followers?page=2>; rel=\"next\", <https://api.github.com/users/aseemk/followers?page=2>; 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\nfunction 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\nconst composePaginateRest = Object.assign(paginate, {\n iterator,\n});\n\nconst paginatingEndpoints = [\n \"GET /app/hook/deliveries\",\n \"GET /app/installations\",\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}/code-scanning/alerts\",\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}/environments/{environment_name}/deployment-branch-policies\",\n \"GET /repos/{owner}/{repo}/events\",\n \"GET /repos/{owner}/{repo}/forks\",\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}/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/ssh_signing_keys\",\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}/ssh_signing_keys\",\n \"GET /users/{username}/starred\",\n \"GET /users/{username}/subscriptions\",\n];\n\nfunction isPaginatingEndpoint(arg) {\n if (typeof arg === \"string\") {\n return paginatingEndpoints.includes(arg);\n }\n else {\n return false;\n }\n}\n\n/**\n * @param octokit Octokit instance\n * @param options Options passed to Octokit constructor\n */\nfunction 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\nexport { composePaginateRest, isPaginatingEndpoint, paginateRest, paginatingEndpoints };\n//# sourceMappingURL=index.js.map\n","const Endpoints = {\n actions: {\n addCustomLabelsToSelfHostedRunnerForOrg: [\n \"POST /orgs/{org}/actions/runners/{runner_id}/labels\",\n ],\n addCustomLabelsToSelfHostedRunnerForRepo: [\n \"POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\",\n ],\n addSelectedRepoToOrgSecret: [\n \"PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}\",\n ],\n approveWorkflowRun: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve\",\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 deleteActionsCacheById: [\n \"DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}\",\n ],\n deleteActionsCacheByKey: [\n \"DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}\",\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 downloadWorkflowRunAttemptLogs: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/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 getActionsCacheList: [\"GET /repos/{owner}/{repo}/actions/caches\"],\n getActionsCacheUsage: [\"GET /repos/{owner}/{repo}/actions/cache/usage\"],\n getActionsCacheUsageByRepoForOrg: [\n \"GET /orgs/{org}/actions/cache/usage-by-repository\",\n ],\n getActionsCacheUsageForEnterprise: [\n \"GET /enterprises/{enterprise}/actions/cache/usage\",\n ],\n getActionsCacheUsageForOrg: [\"GET /orgs/{org}/actions/cache/usage\"],\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 getGithubActionsDefaultWorkflowPermissionsEnterprise: [\n \"GET /enterprises/{enterprise}/actions/permissions/workflow\",\n ],\n getGithubActionsDefaultWorkflowPermissionsOrganization: [\n \"GET /orgs/{org}/actions/permissions/workflow\",\n ],\n getGithubActionsDefaultWorkflowPermissionsRepository: [\n \"GET /repos/{owner}/{repo}/actions/permissions/workflow\",\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 getWorkflowAccessToRepository: [\n \"GET /repos/{owner}/{repo}/actions/permissions/access\",\n ],\n getWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}\"],\n getWorkflowRunAttempt: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}\",\n ],\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 listJobsForWorkflowRunAttempt: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs\",\n ],\n listLabelsForSelfHostedRunnerForOrg: [\n \"GET /orgs/{org}/actions/runners/{runner_id}/labels\",\n ],\n listLabelsForSelfHostedRunnerForRepo: [\n \"GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\",\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 reRunJobForWorkflowRun: [\n \"POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun\",\n ],\n reRunWorkflow: [\"POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun\"],\n reRunWorkflowFailedJobs: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs\",\n ],\n removeAllCustomLabelsFromSelfHostedRunnerForOrg: [\n \"DELETE /orgs/{org}/actions/runners/{runner_id}/labels\",\n ],\n removeAllCustomLabelsFromSelfHostedRunnerForRepo: [\n \"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\",\n ],\n removeCustomLabelFromSelfHostedRunnerForOrg: [\n \"DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}\",\n ],\n removeCustomLabelFromSelfHostedRunnerForRepo: [\n \"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}\",\n ],\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 setCustomLabelsForSelfHostedRunnerForOrg: [\n \"PUT /orgs/{org}/actions/runners/{runner_id}/labels\",\n ],\n setCustomLabelsForSelfHostedRunnerForRepo: [\n \"PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\",\n ],\n setGithubActionsDefaultWorkflowPermissionsEnterprise: [\n \"PUT /enterprises/{enterprise}/actions/permissions/workflow\",\n ],\n setGithubActionsDefaultWorkflowPermissionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions/workflow\",\n ],\n setGithubActionsDefaultWorkflowPermissionsRepository: [\n \"PUT /repos/{owner}/{repo}/actions/permissions/workflow\",\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 setWorkflowAccessToRepository: [\n \"PUT /repos/{owner}/{repo}/actions/permissions/access\",\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 { renamed: [\"apps\", \"addRepoToInstallationForAuthenticatedUser\"] },\n ],\n addRepoToInstallationForAuthenticatedUser: [\n \"PUT /user/installations/{installation_id}/repositories/{repository_id}\",\n ],\n checkToken: [\"POST /applications/{client_id}/token\"],\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 getWebhookDelivery: [\"GET /app/hook/deliveries/{delivery_id}\"],\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 listWebhookDeliveries: [\"GET /app/hook/deliveries\"],\n redeliverWebhookDelivery: [\n \"POST /app/hook/deliveries/{delivery_id}/attempts\",\n ],\n removeRepoFromInstallation: [\n \"DELETE /user/installations/{installation_id}/repositories/{repository_id}\",\n {},\n { renamed: [\"apps\", \"removeRepoFromInstallationForAuthenticatedUser\"] },\n ],\n removeRepoFromInstallationForAuthenticatedUser: [\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 getGithubAdvancedSecurityBillingGhe: [\n \"GET /enterprises/{enterprise}/settings/billing/advanced-security\",\n ],\n getGithubAdvancedSecurityBillingOrg: [\n \"GET /orgs/{org}/settings/billing/advanced-security\",\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 rerequestRun: [\n \"POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest\",\n ],\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 getCodeqlDatabase: [\n \"GET /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}\",\n ],\n getSarif: [\"GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}\"],\n listAlertInstances: [\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\",\n ],\n listAlertsForEnterprise: [\n \"GET /enterprises/{enterprise}/code-scanning/alerts\",\n ],\n listAlertsForOrg: [\"GET /orgs/{org}/code-scanning/alerts\"],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/code-scanning/alerts\"],\n listAlertsInstances: [\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\",\n {},\n { renamed: [\"codeScanning\", \"listAlertInstances\"] },\n ],\n listCodeqlDatabases: [\n \"GET /repos/{owner}/{repo}/code-scanning/codeql/databases\",\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: [\"GET /codes_of_conduct\"],\n getConductCode: [\"GET /codes_of_conduct/{key}\"],\n },\n codespaces: {\n addRepositoryForSecretForAuthenticatedUser: [\n \"PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}\",\n ],\n addSelectedRepoToOrgSecret: [\n \"PUT /organizations/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}\",\n ],\n codespaceMachinesForAuthenticatedUser: [\n \"GET /user/codespaces/{codespace_name}/machines\",\n ],\n createForAuthenticatedUser: [\"POST /user/codespaces\"],\n createOrUpdateOrgSecret: [\n \"PUT /organizations/{org}/codespaces/secrets/{secret_name}\",\n ],\n createOrUpdateRepoSecret: [\n \"PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}\",\n ],\n createOrUpdateSecretForAuthenticatedUser: [\n \"PUT /user/codespaces/secrets/{secret_name}\",\n ],\n createWithPrForAuthenticatedUser: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces\",\n ],\n createWithRepoForAuthenticatedUser: [\n \"POST /repos/{owner}/{repo}/codespaces\",\n ],\n deleteForAuthenticatedUser: [\"DELETE /user/codespaces/{codespace_name}\"],\n deleteFromOrganization: [\n \"DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}\",\n ],\n deleteOrgSecret: [\n \"DELETE /organizations/{org}/codespaces/secrets/{secret_name}\",\n ],\n deleteRepoSecret: [\n \"DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}\",\n ],\n deleteSecretForAuthenticatedUser: [\n \"DELETE /user/codespaces/secrets/{secret_name}\",\n ],\n exportForAuthenticatedUser: [\n \"POST /user/codespaces/{codespace_name}/exports\",\n ],\n getExportDetailsForAuthenticatedUser: [\n \"GET /user/codespaces/{codespace_name}/exports/{export_id}\",\n ],\n getForAuthenticatedUser: [\"GET /user/codespaces/{codespace_name}\"],\n getOrgPublicKey: [\"GET /organizations/{org}/codespaces/secrets/public-key\"],\n getOrgSecret: [\"GET /organizations/{org}/codespaces/secrets/{secret_name}\"],\n getPublicKeyForAuthenticatedUser: [\n \"GET /user/codespaces/secrets/public-key\",\n ],\n getRepoPublicKey: [\n \"GET /repos/{owner}/{repo}/codespaces/secrets/public-key\",\n ],\n getRepoSecret: [\n \"GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}\",\n ],\n getSecretForAuthenticatedUser: [\n \"GET /user/codespaces/secrets/{secret_name}\",\n ],\n listDevcontainersInRepositoryForAuthenticatedUser: [\n \"GET /repos/{owner}/{repo}/codespaces/devcontainers\",\n ],\n listForAuthenticatedUser: [\"GET /user/codespaces\"],\n listInOrganization: [\n \"GET /orgs/{org}/codespaces\",\n {},\n { renamedParameters: { org_id: \"org\" } },\n ],\n listInRepositoryForAuthenticatedUser: [\n \"GET /repos/{owner}/{repo}/codespaces\",\n ],\n listOrgSecrets: [\"GET /organizations/{org}/codespaces/secrets\"],\n listRepoSecrets: [\"GET /repos/{owner}/{repo}/codespaces/secrets\"],\n listRepositoriesForSecretForAuthenticatedUser: [\n \"GET /user/codespaces/secrets/{secret_name}/repositories\",\n ],\n listSecretsForAuthenticatedUser: [\"GET /user/codespaces/secrets\"],\n listSelectedReposForOrgSecret: [\n \"GET /organizations/{org}/codespaces/secrets/{secret_name}/repositories\",\n ],\n preFlightWithRepoForAuthenticatedUser: [\n \"GET /repos/{owner}/{repo}/codespaces/new\",\n ],\n removeRepositoryForSecretForAuthenticatedUser: [\n \"DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}\",\n ],\n removeSelectedRepoFromOrgSecret: [\n \"DELETE /organizations/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}\",\n ],\n repoMachinesForAuthenticatedUser: [\n \"GET /repos/{owner}/{repo}/codespaces/machines\",\n ],\n setRepositoriesForSecretForAuthenticatedUser: [\n \"PUT /user/codespaces/secrets/{secret_name}/repositories\",\n ],\n setSelectedReposForOrgSecret: [\n \"PUT /organizations/{org}/codespaces/secrets/{secret_name}/repositories\",\n ],\n startForAuthenticatedUser: [\"POST /user/codespaces/{codespace_name}/start\"],\n stopForAuthenticatedUser: [\"POST /user/codespaces/{codespace_name}/stop\"],\n stopInOrganization: [\n \"POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop\",\n ],\n updateForAuthenticatedUser: [\"PATCH /user/codespaces/{codespace_name}\"],\n },\n dependabot: {\n addSelectedRepoToOrgSecret: [\n \"PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}\",\n ],\n createOrUpdateOrgSecret: [\n \"PUT /orgs/{org}/dependabot/secrets/{secret_name}\",\n ],\n createOrUpdateRepoSecret: [\n \"PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}\",\n ],\n deleteOrgSecret: [\"DELETE /orgs/{org}/dependabot/secrets/{secret_name}\"],\n deleteRepoSecret: [\n \"DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}\",\n ],\n getAlert: [\"GET /repos/{owner}/{repo}/dependabot/alerts/{alert_number}\"],\n getOrgPublicKey: [\"GET /orgs/{org}/dependabot/secrets/public-key\"],\n getOrgSecret: [\"GET /orgs/{org}/dependabot/secrets/{secret_name}\"],\n getRepoPublicKey: [\n \"GET /repos/{owner}/{repo}/dependabot/secrets/public-key\",\n ],\n getRepoSecret: [\n \"GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}\",\n ],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/dependabot/alerts\"],\n listOrgSecrets: [\"GET /orgs/{org}/dependabot/secrets\"],\n listRepoSecrets: [\"GET /repos/{owner}/{repo}/dependabot/secrets\"],\n listSelectedReposForOrgSecret: [\n \"GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories\",\n ],\n removeSelectedRepoFromOrgSecret: [\n \"DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}\",\n ],\n setSelectedReposForOrgSecret: [\n \"PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories\",\n ],\n updateAlert: [\n \"PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}\",\n ],\n },\n dependencyGraph: {\n createRepositorySnapshot: [\n \"POST /repos/{owner}/{repo}/dependency-graph/snapshots\",\n ],\n diffRange: [\n \"GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}\",\n ],\n },\n emojis: { get: [\"GET /emojis\"] },\n enterpriseAdmin: {\n addCustomLabelsToSelfHostedRunnerForEnterprise: [\n \"POST /enterprises/{enterprise}/actions/runners/{runner_id}/labels\",\n ],\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 getServerStatistics: [\n \"GET /enterprise-installation/{enterprise_or_org}/server-statistics\",\n ],\n listLabelsForSelfHostedRunnerForEnterprise: [\n \"GET /enterprises/{enterprise}/actions/runners/{runner_id}/labels\",\n ],\n listSelectedOrganizationsEnabledGithubActionsEnterprise: [\n \"GET /enterprises/{enterprise}/actions/permissions/organizations\",\n ],\n removeAllCustomLabelsFromSelfHostedRunnerForEnterprise: [\n \"DELETE /enterprises/{enterprise}/actions/runners/{runner_id}/labels\",\n ],\n removeCustomLabelFromSelfHostedRunnerForEnterprise: [\n \"DELETE /enterprises/{enterprise}/actions/runners/{runner_id}/labels/{name}\",\n ],\n setAllowedActionsEnterprise: [\n \"PUT /enterprises/{enterprise}/actions/permissions/selected-actions\",\n ],\n setCustomLabelsForSelfHostedRunnerForEnterprise: [\n \"PUT /enterprises/{enterprise}/actions/runners/{runner_id}/labels\",\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 ],\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 ],\n deleteArchiveForOrg: [\n \"DELETE /orgs/{org}/migrations/{migration_id}/archive\",\n ],\n downloadArchiveForOrg: [\n \"GET /orgs/{org}/migrations/{migration_id}/archive\",\n ],\n getArchiveForAuthenticatedUser: [\n \"GET /user/migrations/{migration_id}/archive\",\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: [\"GET /user/migrations/{migration_id}\"],\n getStatusForOrg: [\"GET /orgs/{org}/migrations/{migration_id}\"],\n listForAuthenticatedUser: [\"GET /user/migrations\"],\n listForOrg: [\"GET /orgs/{org}/migrations\"],\n listReposForAuthenticatedUser: [\n \"GET /user/migrations/{migration_id}/repositories\",\n ],\n listReposForOrg: [\"GET /orgs/{org}/migrations/{migration_id}/repositories\"],\n listReposForUser: [\n \"GET /user/migrations/{migration_id}/repositories\",\n {},\n { renamed: [\"migrations\", \"listReposForAuthenticatedUser\"] },\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 ],\n unlockRepoForOrg: [\n \"DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock\",\n ],\n updateImport: [\"PATCH /repos/{owner}/{repo}/import\"],\n },\n orgs: {\n addSecurityManagerTeam: [\n \"PUT /orgs/{org}/security-managers/teams/{team_slug}\",\n ],\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 createCustomRole: [\"POST /orgs/{org}/custom_roles\"],\n createInvitation: [\"POST /orgs/{org}/invitations\"],\n createWebhook: [\"POST /orgs/{org}/hooks\"],\n deleteCustomRole: [\"DELETE /orgs/{org}/custom_roles/{role_id}\"],\n deleteWebhook: [\"DELETE /orgs/{org}/hooks/{hook_id}\"],\n enableOrDisableSecurityProductOnAllOrgRepos: [\n \"POST /orgs/{org}/{security_product}/{enablement}\",\n ],\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 getWebhookDelivery: [\n \"GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}\",\n ],\n list: [\"GET /organizations\"],\n listAppInstallations: [\"GET /orgs/{org}/installations\"],\n listBlockedUsers: [\"GET /orgs/{org}/blocks\"],\n listCustomRoles: [\"GET /organizations/{organization_id}/custom_roles\"],\n listFailedInvitations: [\"GET /orgs/{org}/failed_invitations\"],\n listFineGrainedPermissions: [\"GET /orgs/{org}/fine_grained_permissions\"],\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 listSecurityManagerTeams: [\"GET /orgs/{org}/security-managers\"],\n listWebhookDeliveries: [\"GET /orgs/{org}/hooks/{hook_id}/deliveries\"],\n listWebhooks: [\"GET /orgs/{org}/hooks\"],\n pingWebhook: [\"POST /orgs/{org}/hooks/{hook_id}/pings\"],\n redeliverWebhookDelivery: [\n \"POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts\",\n ],\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 removeSecurityManagerTeam: [\n \"DELETE /orgs/{org}/security-managers/teams/{team_slug}\",\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 updateCustomRole: [\"PATCH /orgs/{org}/custom_roles/{role_id}\"],\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 deletePackageForUser: [\n \"DELETE /users/{username}/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 deletePackageVersionForUser: [\n \"DELETE /users/{username}/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 listPackagesForAuthenticatedUser: [\"GET /user/packages\"],\n listPackagesForOrganization: [\"GET /orgs/{org}/packages\"],\n listPackagesForUser: [\"GET /users/{username}/packages\"],\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 restorePackageForUser: [\n \"POST /users/{username}/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 restorePackageVersionForUser: [\n \"POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\",\n ],\n },\n projects: {\n addCollaborator: [\"PUT /projects/{project_id}/collaborators/{username}\"],\n createCard: [\"POST /projects/columns/{column_id}/cards\"],\n createColumn: [\"POST /projects/{project_id}/columns\"],\n createForAuthenticatedUser: [\"POST /user/projects\"],\n createForOrg: [\"POST /orgs/{org}/projects\"],\n createForRepo: [\"POST /repos/{owner}/{repo}/projects\"],\n delete: [\"DELETE /projects/{project_id}\"],\n deleteCard: [\"DELETE /projects/columns/cards/{card_id}\"],\n deleteColumn: [\"DELETE /projects/columns/{column_id}\"],\n get: [\"GET /projects/{project_id}\"],\n getCard: [\"GET /projects/columns/cards/{card_id}\"],\n getColumn: [\"GET /projects/columns/{column_id}\"],\n getPermissionForUser: [\n \"GET /projects/{project_id}/collaborators/{username}/permission\",\n ],\n listCards: [\"GET /projects/columns/{column_id}/cards\"],\n listCollaborators: [\"GET /projects/{project_id}/collaborators\"],\n listColumns: [\"GET /projects/{project_id}/columns\"],\n listForOrg: [\"GET /orgs/{org}/projects\"],\n listForRepo: [\"GET /repos/{owner}/{repo}/projects\"],\n listForUser: [\"GET /users/{username}/projects\"],\n moveCard: [\"POST /projects/columns/cards/{card_id}/moves\"],\n moveColumn: [\"POST /projects/columns/{column_id}/moves\"],\n removeCollaborator: [\n \"DELETE /projects/{project_id}/collaborators/{username}\",\n ],\n update: [\"PATCH /projects/{project_id}\"],\n updateCard: [\"PATCH /projects/columns/cards/{card_id}\"],\n updateColumn: [\"PATCH /projects/columns/{column_id}\"],\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 ],\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 ],\n createForIssue: [\n \"POST /repos/{owner}/{repo}/issues/{issue_number}/reactions\",\n ],\n createForIssueComment: [\n \"POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\",\n ],\n createForPullRequestReviewComment: [\n \"POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\",\n ],\n createForRelease: [\n \"POST /repos/{owner}/{repo}/releases/{release_id}/reactions\",\n ],\n createForTeamDiscussionCommentInOrg: [\n \"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\",\n ],\n createForTeamDiscussionInOrg: [\n \"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\",\n ],\n deleteForCommitComment: [\n \"DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}\",\n ],\n deleteForIssue: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}\",\n ],\n deleteForIssueComment: [\n \"DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}\",\n ],\n deleteForPullRequestComment: [\n \"DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}\",\n ],\n deleteForRelease: [\n \"DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}\",\n ],\n deleteForTeamDiscussion: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}\",\n ],\n deleteForTeamDiscussionComment: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}\",\n ],\n listForCommitComment: [\n \"GET /repos/{owner}/{repo}/comments/{comment_id}/reactions\",\n ],\n listForIssue: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/reactions\"],\n listForIssueComment: [\n \"GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\",\n ],\n listForPullRequestReviewComment: [\n \"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\",\n ],\n listForRelease: [\n \"GET /repos/{owner}/{repo}/releases/{release_id}/reactions\",\n ],\n listForTeamDiscussionCommentInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\",\n ],\n listForTeamDiscussionInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\",\n ],\n },\n repos: {\n acceptInvitation: [\n \"PATCH /user/repository_invitations/{invitation_id}\",\n {},\n { renamed: [\"repos\", \"acceptInvitationForAuthenticatedUser\"] },\n ],\n acceptInvitationForAuthenticatedUser: [\n \"PATCH /user/repository_invitations/{invitation_id}\",\n ],\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 ],\n codeownersErrors: [\"GET /repos/{owner}/{repo}/codeowners/errors\"],\n compareCommits: [\"GET /repos/{owner}/{repo}/compare/{base}...{head}\"],\n compareCommitsWithBasehead: [\n \"GET /repos/{owner}/{repo}/compare/{basehead}\",\n ],\n createAutolink: [\"POST /repos/{owner}/{repo}/autolinks\"],\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 ],\n createCommitStatus: [\"POST /repos/{owner}/{repo}/statuses/{sha}\"],\n createDeployKey: [\"POST /repos/{owner}/{repo}/keys\"],\n createDeployment: [\"POST /repos/{owner}/{repo}/deployments\"],\n createDeploymentBranchPolicy: [\n \"POST /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies\",\n ],\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 createPagesDeployment: [\"POST /repos/{owner}/{repo}/pages/deployment\"],\n createPagesSite: [\"POST /repos/{owner}/{repo}/pages\"],\n createRelease: [\"POST /repos/{owner}/{repo}/releases\"],\n createTagProtection: [\"POST /repos/{owner}/{repo}/tags/protection\"],\n createUsingTemplate: [\n \"POST /repos/{template_owner}/{template_repo}/generate\",\n ],\n createWebhook: [\"POST /repos/{owner}/{repo}/hooks\"],\n declineInvitation: [\n \"DELETE /user/repository_invitations/{invitation_id}\",\n {},\n { renamed: [\"repos\", \"declineInvitationForAuthenticatedUser\"] },\n ],\n declineInvitationForAuthenticatedUser: [\n \"DELETE /user/repository_invitations/{invitation_id}\",\n ],\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 deleteAutolink: [\"DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}\"],\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 ],\n deleteDeployKey: [\"DELETE /repos/{owner}/{repo}/keys/{key_id}\"],\n deleteDeployment: [\n \"DELETE /repos/{owner}/{repo}/deployments/{deployment_id}\",\n ],\n deleteDeploymentBranchPolicy: [\n \"DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}\",\n ],\n deleteFile: [\"DELETE /repos/{owner}/{repo}/contents/{path}\"],\n deleteInvitation: [\n \"DELETE /repos/{owner}/{repo}/invitations/{invitation_id}\",\n ],\n deletePagesSite: [\"DELETE /repos/{owner}/{repo}/pages\"],\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 deleteTagProtection: [\n \"DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_id}\",\n ],\n deleteWebhook: [\"DELETE /repos/{owner}/{repo}/hooks/{hook_id}\"],\n disableAutomatedSecurityFixes: [\n \"DELETE /repos/{owner}/{repo}/automated-security-fixes\",\n ],\n disableLfsForRepo: [\"DELETE /repos/{owner}/{repo}/lfs\"],\n disableVulnerabilityAlerts: [\n \"DELETE /repos/{owner}/{repo}/vulnerability-alerts\",\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 ],\n enableLfsForRepo: [\"PUT /repos/{owner}/{repo}/lfs\"],\n enableVulnerabilityAlerts: [\n \"PUT /repos/{owner}/{repo}/vulnerability-alerts\",\n ],\n generateReleaseNotes: [\n \"POST /repos/{owner}/{repo}/releases/generate-notes\",\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: [\"GET /repos/{owner}/{repo}/topics\"],\n getAppsWithAccessToProtectedBranch: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n ],\n getAutolink: [\"GET /repos/{owner}/{repo}/autolinks/{autolink_id}\"],\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 ],\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 getDeploymentBranchPolicy: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}\",\n ],\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 getPagesHealthCheck: [\"GET /repos/{owner}/{repo}/pages/health\"],\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 getWebhookDelivery: [\n \"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}\",\n ],\n listAutolinks: [\"GET /repos/{owner}/{repo}/autolinks\"],\n listBranches: [\"GET /repos/{owner}/{repo}/branches\"],\n listBranchesForHeadCommit: [\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head\",\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 listDeploymentBranchPolicies: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies\",\n ],\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 ],\n listReleaseAssets: [\n \"GET /repos/{owner}/{repo}/releases/{release_id}/assets\",\n ],\n listReleases: [\"GET /repos/{owner}/{repo}/releases\"],\n listTagProtection: [\"GET /repos/{owner}/{repo}/tags/protection\"],\n listTags: [\"GET /repos/{owner}/{repo}/tags\"],\n listTeams: [\"GET /repos/{owner}/{repo}/teams\"],\n listWebhookDeliveries: [\n \"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries\",\n ],\n listWebhooks: [\"GET /repos/{owner}/{repo}/hooks\"],\n merge: [\"POST /repos/{owner}/{repo}/merges\"],\n mergeUpstream: [\"POST /repos/{owner}/{repo}/merge-upstream\"],\n pingWebhook: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/pings\"],\n redeliverWebhookDelivery: [\n \"POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts\",\n ],\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: [\"PUT /repos/{owner}/{repo}/topics\"],\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 updateDeploymentBranchPolicy: [\n \"PUT /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}\",\n ],\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\"],\n issuesAndPullRequests: [\"GET /search/issues\"],\n labels: [\"GET /search/labels\"],\n repos: [\"GET /search/repositories\"],\n topics: [\"GET /search/topics\"],\n users: [\"GET /search/users\"],\n },\n secretScanning: {\n getAlert: [\n \"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}\",\n ],\n listAlertsForEnterprise: [\n \"GET /enterprises/{enterprise}/secret-scanning/alerts\",\n ],\n listAlertsForOrg: [\"GET /orgs/{org}/secret-scanning/alerts\"],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/secret-scanning/alerts\"],\n listLocationsForAlert: [\n \"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations\",\n ],\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 ],\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 ],\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: [\"GET /orgs/{org}/teams/{team_slug}/projects\"],\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: [\n \"POST /user/emails\",\n {},\n { renamed: [\"users\", \"addEmailForAuthenticatedUser\"] },\n ],\n addEmailForAuthenticatedUser: [\"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: [\n \"POST /user/gpg_keys\",\n {},\n { renamed: [\"users\", \"createGpgKeyForAuthenticatedUser\"] },\n ],\n createGpgKeyForAuthenticatedUser: [\"POST /user/gpg_keys\"],\n createPublicSshKeyForAuthenticated: [\n \"POST /user/keys\",\n {},\n { renamed: [\"users\", \"createPublicSshKeyForAuthenticatedUser\"] },\n ],\n createPublicSshKeyForAuthenticatedUser: [\"POST /user/keys\"],\n createSshSigningKeyForAuthenticatedUser: [\"POST /user/ssh_signing_keys\"],\n deleteEmailForAuthenticated: [\n \"DELETE /user/emails\",\n {},\n { renamed: [\"users\", \"deleteEmailForAuthenticatedUser\"] },\n ],\n deleteEmailForAuthenticatedUser: [\"DELETE /user/emails\"],\n deleteGpgKeyForAuthenticated: [\n \"DELETE /user/gpg_keys/{gpg_key_id}\",\n {},\n { renamed: [\"users\", \"deleteGpgKeyForAuthenticatedUser\"] },\n ],\n deleteGpgKeyForAuthenticatedUser: [\"DELETE /user/gpg_keys/{gpg_key_id}\"],\n deletePublicSshKeyForAuthenticated: [\n \"DELETE /user/keys/{key_id}\",\n {},\n { renamed: [\"users\", \"deletePublicSshKeyForAuthenticatedUser\"] },\n ],\n deletePublicSshKeyForAuthenticatedUser: [\"DELETE /user/keys/{key_id}\"],\n deleteSshSigningKeyForAuthenticatedUser: [\n \"DELETE /user/ssh_signing_keys/{ssh_signing_key_id}\",\n ],\n follow: [\"PUT /user/following/{username}\"],\n getAuthenticated: [\"GET /user\"],\n getByUsername: [\"GET /users/{username}\"],\n getContextForUser: [\"GET /users/{username}/hovercard\"],\n getGpgKeyForAuthenticated: [\n \"GET /user/gpg_keys/{gpg_key_id}\",\n {},\n { renamed: [\"users\", \"getGpgKeyForAuthenticatedUser\"] },\n ],\n getGpgKeyForAuthenticatedUser: [\"GET /user/gpg_keys/{gpg_key_id}\"],\n getPublicSshKeyForAuthenticated: [\n \"GET /user/keys/{key_id}\",\n {},\n { renamed: [\"users\", \"getPublicSshKeyForAuthenticatedUser\"] },\n ],\n getPublicSshKeyForAuthenticatedUser: [\"GET /user/keys/{key_id}\"],\n getSshSigningKeyForAuthenticatedUser: [\n \"GET /user/ssh_signing_keys/{ssh_signing_key_id}\",\n ],\n list: [\"GET /users\"],\n listBlockedByAuthenticated: [\n \"GET /user/blocks\",\n {},\n { renamed: [\"users\", \"listBlockedByAuthenticatedUser\"] },\n ],\n listBlockedByAuthenticatedUser: [\"GET /user/blocks\"],\n listEmailsForAuthenticated: [\n \"GET /user/emails\",\n {},\n { renamed: [\"users\", \"listEmailsForAuthenticatedUser\"] },\n ],\n listEmailsForAuthenticatedUser: [\"GET /user/emails\"],\n listFollowedByAuthenticated: [\n \"GET /user/following\",\n {},\n { renamed: [\"users\", \"listFollowedByAuthenticatedUser\"] },\n ],\n listFollowedByAuthenticatedUser: [\"GET /user/following\"],\n listFollowersForAuthenticatedUser: [\"GET /user/followers\"],\n listFollowersForUser: [\"GET /users/{username}/followers\"],\n listFollowingForUser: [\"GET /users/{username}/following\"],\n listGpgKeysForAuthenticated: [\n \"GET /user/gpg_keys\",\n {},\n { renamed: [\"users\", \"listGpgKeysForAuthenticatedUser\"] },\n ],\n listGpgKeysForAuthenticatedUser: [\"GET /user/gpg_keys\"],\n listGpgKeysForUser: [\"GET /users/{username}/gpg_keys\"],\n listPublicEmailsForAuthenticated: [\n \"GET /user/public_emails\",\n {},\n { renamed: [\"users\", \"listPublicEmailsForAuthenticatedUser\"] },\n ],\n listPublicEmailsForAuthenticatedUser: [\"GET /user/public_emails\"],\n listPublicKeysForUser: [\"GET /users/{username}/keys\"],\n listPublicSshKeysForAuthenticated: [\n \"GET /user/keys\",\n {},\n { renamed: [\"users\", \"listPublicSshKeysForAuthenticatedUser\"] },\n ],\n listPublicSshKeysForAuthenticatedUser: [\"GET /user/keys\"],\n listSshSigningKeysForAuthenticatedUser: [\"GET /user/ssh_signing_keys\"],\n listSshSigningKeysForUser: [\"GET /users/{username}/ssh_signing_keys\"],\n setPrimaryEmailVisibilityForAuthenticated: [\n \"PATCH /user/email/visibility\",\n {},\n { renamed: [\"users\", \"setPrimaryEmailVisibilityForAuthenticatedUser\"] },\n ],\n setPrimaryEmailVisibilityForAuthenticatedUser: [\n \"PATCH /user/email/visibility\",\n ],\n unblock: [\"DELETE /user/blocks/{username}\"],\n unfollow: [\"DELETE /user/following/{username}\"],\n updateAuthenticated: [\"PATCH /user\"],\n },\n};\n\nconst VERSION = \"6.8.1\";\n\nfunction 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\nfunction restEndpointMethods(octokit) {\n const api = endpointsToMethods(octokit, Endpoints);\n return {\n rest: api,\n };\n}\nrestEndpointMethods.VERSION = VERSION;\nfunction legacyRestEndpointMethods(octokit) {\n const api = endpointsToMethods(octokit, Endpoints);\n return {\n ...api,\n rest: api,\n };\n}\nlegacyRestEndpointMethods.VERSION = VERSION;\n\nexport { legacyRestEndpointMethods, restEndpointMethods };\n//# sourceMappingURL=index.js.map\n","import { Octokit as Octokit$1 } from '@octokit/core';\nimport { requestLog } from '@octokit/plugin-request-log';\nimport { paginateRest } from '@octokit/plugin-paginate-rest';\nimport { legacyRestEndpointMethods } from '@octokit/plugin-rest-endpoint-methods';\n\nconst VERSION = \"19.0.4\";\n\nconst Octokit = Octokit$1.plugin(requestLog, legacyRestEndpointMethods, paginateRest).defaults({\n userAgent: `octokit-rest.js/${VERSION}`,\n});\n\nexport { Octokit };\n//# sourceMappingURL=index.js.map\n","var register = require(\"./lib/register\");\nvar addHook = require(\"./lib/add\");\nvar removeHook = require(\"./lib/remove\");\n\n// bind with array of arguments: https://stackoverflow.com/a/21792913\nvar bind = Function.bind;\nvar bindable = bind.bind(bind);\n\nfunction bindApi(hook, state, name) {\n var removeHookRef = bindable(removeHook, null).apply(\n null,\n name ? [state, name] : [state]\n );\n hook.api = { remove: removeHookRef };\n hook.remove = removeHookRef;\n [\"before\", \"error\", \"after\", \"wrap\"].forEach(function (kind) {\n var args = name ? [state, kind, name] : [state, kind];\n hook[kind] = hook.api[kind] = bindable(addHook, null).apply(null, args);\n });\n}\n\nfunction HookSingular() {\n var singularHookName = \"h\";\n var singularHookState = {\n registry: {},\n };\n var singularHook = register.bind(null, singularHookState, singularHookName);\n bindApi(singularHook, singularHookState, singularHookName);\n return singularHook;\n}\n\nfunction HookCollection() {\n var state = {\n registry: {},\n };\n\n var hook = register.bind(null, state);\n bindApi(hook, state);\n\n return hook;\n}\n\nvar collectionHookDeprecationMessageDisplayed = false;\nfunction Hook() {\n if (!collectionHookDeprecationMessageDisplayed) {\n console.warn(\n '[before-after-hook]: \"Hook()\" repurposing warning, use \"Hook.Collection()\". Read more: https://git.io/upgrade-before-after-hook-to-1.4'\n );\n collectionHookDeprecationMessageDisplayed = true;\n }\n return HookCollection();\n}\n\nHook.Singular = HookSingular.bind();\nHook.Collection = HookCollection.bind();\n\nmodule.exports = Hook;\n// expose constructors as a named property for TypeScript\nmodule.exports.Hook = Hook;\nmodule.exports.Singular = Hook.Singular;\nmodule.exports.Collection = Hook.Collection;\n","module.exports = addHook;\n\nfunction addHook(state, kind, name, hook) {\n var orig = hook;\n if (!state.registry[name]) {\n state.registry[name] = [];\n }\n\n if (kind === \"before\") {\n hook = function (method, options) {\n return Promise.resolve()\n .then(orig.bind(null, options))\n .then(method.bind(null, options));\n };\n }\n\n if (kind === \"after\") {\n hook = function (method, options) {\n var result;\n return Promise.resolve()\n .then(method.bind(null, options))\n .then(function (result_) {\n result = result_;\n return orig(result, options);\n })\n .then(function () {\n return result;\n });\n };\n }\n\n if (kind === \"error\") {\n hook = function (method, options) {\n return Promise.resolve()\n .then(method.bind(null, options))\n .catch(function (error) {\n return orig(error, options);\n });\n };\n }\n\n state.registry[name].push({\n hook: hook,\n orig: orig,\n });\n}\n","module.exports = register;\n\nfunction register(state, name, method, options) {\n if (typeof method !== \"function\") {\n throw new Error(\"method for before hook must be a function\");\n }\n\n if (!options) {\n options = {};\n }\n\n if (Array.isArray(name)) {\n return name.reverse().reduce(function (callback, name) {\n return register.bind(null, state, name, callback, options);\n }, method)();\n }\n\n return Promise.resolve().then(function () {\n if (!state.registry[name]) {\n return method(options);\n }\n\n return state.registry[name].reduce(function (method, registered) {\n return registered.hook.bind(null, method, options);\n }, method)();\n });\n}\n","module.exports = removeHook;\n\nfunction removeHook(state, name, method) {\n if (!state.registry[name]) {\n return;\n }\n\n var index = state.registry[name]\n .map(function (registered) {\n return registered.orig;\n })\n .indexOf(method);\n\n if (index === -1) {\n return;\n }\n\n state.registry[name].splice(index, 1);\n}\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n'use strict';\n/**\n * Creates a JSON scanner on the given text.\n * If ignoreTrivia is set, whitespaces or comments are ignored.\n */\nexport function createScanner(text, ignoreTrivia = false) {\n const len = text.length;\n let pos = 0, value = '', tokenOffset = 0, token = 16 /* SyntaxKind.Unknown */, lineNumber = 0, lineStartOffset = 0, tokenLineStartOffset = 0, prevTokenLineStartOffset = 0, scanError = 0 /* ScanError.None */;\n function scanHexDigits(count, exact) {\n let digits = 0;\n let value = 0;\n while (digits < count || !exact) {\n let ch = text.charCodeAt(pos);\n if (ch >= 48 /* CharacterCodes._0 */ && ch <= 57 /* CharacterCodes._9 */) {\n value = value * 16 + ch - 48 /* CharacterCodes._0 */;\n }\n else if (ch >= 65 /* CharacterCodes.A */ && ch <= 70 /* CharacterCodes.F */) {\n value = value * 16 + ch - 65 /* CharacterCodes.A */ + 10;\n }\n else if (ch >= 97 /* CharacterCodes.a */ && ch <= 102 /* CharacterCodes.f */) {\n value = value * 16 + ch - 97 /* CharacterCodes.a */ + 10;\n }\n else {\n break;\n }\n pos++;\n digits++;\n }\n if (digits < count) {\n value = -1;\n }\n return value;\n }\n function setPosition(newPosition) {\n pos = newPosition;\n value = '';\n tokenOffset = 0;\n token = 16 /* SyntaxKind.Unknown */;\n scanError = 0 /* ScanError.None */;\n }\n function scanNumber() {\n let start = pos;\n if (text.charCodeAt(pos) === 48 /* CharacterCodes._0 */) {\n pos++;\n }\n else {\n pos++;\n while (pos < text.length && isDigit(text.charCodeAt(pos))) {\n pos++;\n }\n }\n if (pos < text.length && text.charCodeAt(pos) === 46 /* CharacterCodes.dot */) {\n pos++;\n if (pos < text.length && isDigit(text.charCodeAt(pos))) {\n pos++;\n while (pos < text.length && isDigit(text.charCodeAt(pos))) {\n pos++;\n }\n }\n else {\n scanError = 3 /* ScanError.UnexpectedEndOfNumber */;\n return text.substring(start, pos);\n }\n }\n let end = pos;\n if (pos < text.length && (text.charCodeAt(pos) === 69 /* CharacterCodes.E */ || text.charCodeAt(pos) === 101 /* CharacterCodes.e */)) {\n pos++;\n if (pos < text.length && text.charCodeAt(pos) === 43 /* CharacterCodes.plus */ || text.charCodeAt(pos) === 45 /* CharacterCodes.minus */) {\n pos++;\n }\n if (pos < text.length && isDigit(text.charCodeAt(pos))) {\n pos++;\n while (pos < text.length && isDigit(text.charCodeAt(pos))) {\n pos++;\n }\n end = pos;\n }\n else {\n scanError = 3 /* ScanError.UnexpectedEndOfNumber */;\n }\n }\n return text.substring(start, end);\n }\n function scanString() {\n let result = '', start = pos;\n while (true) {\n if (pos >= len) {\n result += text.substring(start, pos);\n scanError = 2 /* ScanError.UnexpectedEndOfString */;\n break;\n }\n const ch = text.charCodeAt(pos);\n if (ch === 34 /* CharacterCodes.doubleQuote */) {\n result += text.substring(start, pos);\n pos++;\n break;\n }\n if (ch === 92 /* CharacterCodes.backslash */) {\n result += text.substring(start, pos);\n pos++;\n if (pos >= len) {\n scanError = 2 /* ScanError.UnexpectedEndOfString */;\n break;\n }\n const ch2 = text.charCodeAt(pos++);\n switch (ch2) {\n case 34 /* CharacterCodes.doubleQuote */:\n result += '\\\"';\n break;\n case 92 /* CharacterCodes.backslash */:\n result += '\\\\';\n break;\n case 47 /* CharacterCodes.slash */:\n result += '/';\n break;\n case 98 /* CharacterCodes.b */:\n result += '\\b';\n break;\n case 102 /* CharacterCodes.f */:\n result += '\\f';\n break;\n case 110 /* CharacterCodes.n */:\n result += '\\n';\n break;\n case 114 /* CharacterCodes.r */:\n result += '\\r';\n break;\n case 116 /* CharacterCodes.t */:\n result += '\\t';\n break;\n case 117 /* CharacterCodes.u */:\n const ch3 = scanHexDigits(4, true);\n if (ch3 >= 0) {\n result += String.fromCharCode(ch3);\n }\n else {\n scanError = 4 /* ScanError.InvalidUnicode */;\n }\n break;\n default:\n scanError = 5 /* ScanError.InvalidEscapeCharacter */;\n }\n start = pos;\n continue;\n }\n if (ch >= 0 && ch <= 0x1f) {\n if (isLineBreak(ch)) {\n result += text.substring(start, pos);\n scanError = 2 /* ScanError.UnexpectedEndOfString */;\n break;\n }\n else {\n scanError = 6 /* ScanError.InvalidCharacter */;\n // mark as error but continue with string\n }\n }\n pos++;\n }\n return result;\n }\n function scanNext() {\n value = '';\n scanError = 0 /* ScanError.None */;\n tokenOffset = pos;\n lineStartOffset = lineNumber;\n prevTokenLineStartOffset = tokenLineStartOffset;\n if (pos >= len) {\n // at the end\n tokenOffset = len;\n return token = 17 /* SyntaxKind.EOF */;\n }\n let code = text.charCodeAt(pos);\n // trivia: whitespace\n if (isWhiteSpace(code)) {\n do {\n pos++;\n value += String.fromCharCode(code);\n code = text.charCodeAt(pos);\n } while (isWhiteSpace(code));\n return token = 15 /* SyntaxKind.Trivia */;\n }\n // trivia: newlines\n if (isLineBreak(code)) {\n pos++;\n value += String.fromCharCode(code);\n if (code === 13 /* CharacterCodes.carriageReturn */ && text.charCodeAt(pos) === 10 /* CharacterCodes.lineFeed */) {\n pos++;\n value += '\\n';\n }\n lineNumber++;\n tokenLineStartOffset = pos;\n return token = 14 /* SyntaxKind.LineBreakTrivia */;\n }\n switch (code) {\n // tokens: []{}:,\n case 123 /* CharacterCodes.openBrace */:\n pos++;\n return token = 1 /* SyntaxKind.OpenBraceToken */;\n case 125 /* CharacterCodes.closeBrace */:\n pos++;\n return token = 2 /* SyntaxKind.CloseBraceToken */;\n case 91 /* CharacterCodes.openBracket */:\n pos++;\n return token = 3 /* SyntaxKind.OpenBracketToken */;\n case 93 /* CharacterCodes.closeBracket */:\n pos++;\n return token = 4 /* SyntaxKind.CloseBracketToken */;\n case 58 /* CharacterCodes.colon */:\n pos++;\n return token = 6 /* SyntaxKind.ColonToken */;\n case 44 /* CharacterCodes.comma */:\n pos++;\n return token = 5 /* SyntaxKind.CommaToken */;\n // strings\n case 34 /* CharacterCodes.doubleQuote */:\n pos++;\n value = scanString();\n return token = 10 /* SyntaxKind.StringLiteral */;\n // comments\n case 47 /* CharacterCodes.slash */:\n const start = pos - 1;\n // Single-line comment\n if (text.charCodeAt(pos + 1) === 47 /* CharacterCodes.slash */) {\n pos += 2;\n while (pos < len) {\n if (isLineBreak(text.charCodeAt(pos))) {\n break;\n }\n pos++;\n }\n value = text.substring(start, pos);\n return token = 12 /* SyntaxKind.LineCommentTrivia */;\n }\n // Multi-line comment\n if (text.charCodeAt(pos + 1) === 42 /* CharacterCodes.asterisk */) {\n pos += 2;\n const safeLength = len - 1; // For lookahead.\n let commentClosed = false;\n while (pos < safeLength) {\n const ch = text.charCodeAt(pos);\n if (ch === 42 /* CharacterCodes.asterisk */ && text.charCodeAt(pos + 1) === 47 /* CharacterCodes.slash */) {\n pos += 2;\n commentClosed = true;\n break;\n }\n pos++;\n if (isLineBreak(ch)) {\n if (ch === 13 /* CharacterCodes.carriageReturn */ && text.charCodeAt(pos) === 10 /* CharacterCodes.lineFeed */) {\n pos++;\n }\n lineNumber++;\n tokenLineStartOffset = pos;\n }\n }\n if (!commentClosed) {\n pos++;\n scanError = 1 /* ScanError.UnexpectedEndOfComment */;\n }\n value = text.substring(start, pos);\n return token = 13 /* SyntaxKind.BlockCommentTrivia */;\n }\n // just a single slash\n value += String.fromCharCode(code);\n pos++;\n return token = 16 /* SyntaxKind.Unknown */;\n // numbers\n case 45 /* CharacterCodes.minus */:\n value += String.fromCharCode(code);\n pos++;\n if (pos === len || !isDigit(text.charCodeAt(pos))) {\n return token = 16 /* SyntaxKind.Unknown */;\n }\n // found a minus, followed by a number so\n // we fall through to proceed with scanning\n // numbers\n case 48 /* CharacterCodes._0 */:\n case 49 /* CharacterCodes._1 */:\n case 50 /* CharacterCodes._2 */:\n case 51 /* CharacterCodes._3 */:\n case 52 /* CharacterCodes._4 */:\n case 53 /* CharacterCodes._5 */:\n case 54 /* CharacterCodes._6 */:\n case 55 /* CharacterCodes._7 */:\n case 56 /* CharacterCodes._8 */:\n case 57 /* CharacterCodes._9 */:\n value += scanNumber();\n return token = 11 /* SyntaxKind.NumericLiteral */;\n // literals and unknown symbols\n default:\n // is a literal? Read the full word.\n while (pos < len && isUnknownContentCharacter(code)) {\n pos++;\n code = text.charCodeAt(pos);\n }\n if (tokenOffset !== pos) {\n value = text.substring(tokenOffset, pos);\n // keywords: true, false, null\n switch (value) {\n case 'true': return token = 8 /* SyntaxKind.TrueKeyword */;\n case 'false': return token = 9 /* SyntaxKind.FalseKeyword */;\n case 'null': return token = 7 /* SyntaxKind.NullKeyword */;\n }\n return token = 16 /* SyntaxKind.Unknown */;\n }\n // some\n value += String.fromCharCode(code);\n pos++;\n return token = 16 /* SyntaxKind.Unknown */;\n }\n }\n function isUnknownContentCharacter(code) {\n if (isWhiteSpace(code) || isLineBreak(code)) {\n return false;\n }\n switch (code) {\n case 125 /* CharacterCodes.closeBrace */:\n case 93 /* CharacterCodes.closeBracket */:\n case 123 /* CharacterCodes.openBrace */:\n case 91 /* CharacterCodes.openBracket */:\n case 34 /* CharacterCodes.doubleQuote */:\n case 58 /* CharacterCodes.colon */:\n case 44 /* CharacterCodes.comma */:\n case 47 /* CharacterCodes.slash */:\n return false;\n }\n return true;\n }\n function scanNextNonTrivia() {\n let result;\n do {\n result = scanNext();\n } while (result >= 12 /* SyntaxKind.LineCommentTrivia */ && result <= 15 /* SyntaxKind.Trivia */);\n return result;\n }\n return {\n setPosition: setPosition,\n getPosition: () => pos,\n scan: ignoreTrivia ? scanNextNonTrivia : scanNext,\n getToken: () => token,\n getTokenValue: () => value,\n getTokenOffset: () => tokenOffset,\n getTokenLength: () => pos - tokenOffset,\n getTokenStartLine: () => lineStartOffset,\n getTokenStartCharacter: () => tokenOffset - prevTokenLineStartOffset,\n getTokenError: () => scanError,\n };\n}\nfunction isWhiteSpace(ch) {\n return ch === 32 /* CharacterCodes.space */ || ch === 9 /* CharacterCodes.tab */;\n}\nfunction isLineBreak(ch) {\n return ch === 10 /* CharacterCodes.lineFeed */ || ch === 13 /* CharacterCodes.carriageReturn */;\n}\nfunction isDigit(ch) {\n return ch >= 48 /* CharacterCodes._0 */ && ch <= 57 /* CharacterCodes._9 */;\n}\nvar CharacterCodes;\n(function (CharacterCodes) {\n CharacterCodes[CharacterCodes[\"lineFeed\"] = 10] = \"lineFeed\";\n CharacterCodes[CharacterCodes[\"carriageReturn\"] = 13] = \"carriageReturn\";\n CharacterCodes[CharacterCodes[\"space\"] = 32] = \"space\";\n CharacterCodes[CharacterCodes[\"_0\"] = 48] = \"_0\";\n CharacterCodes[CharacterCodes[\"_1\"] = 49] = \"_1\";\n CharacterCodes[CharacterCodes[\"_2\"] = 50] = \"_2\";\n CharacterCodes[CharacterCodes[\"_3\"] = 51] = \"_3\";\n CharacterCodes[CharacterCodes[\"_4\"] = 52] = \"_4\";\n CharacterCodes[CharacterCodes[\"_5\"] = 53] = \"_5\";\n CharacterCodes[CharacterCodes[\"_6\"] = 54] = \"_6\";\n CharacterCodes[CharacterCodes[\"_7\"] = 55] = \"_7\";\n CharacterCodes[CharacterCodes[\"_8\"] = 56] = \"_8\";\n CharacterCodes[CharacterCodes[\"_9\"] = 57] = \"_9\";\n CharacterCodes[CharacterCodes[\"a\"] = 97] = \"a\";\n CharacterCodes[CharacterCodes[\"b\"] = 98] = \"b\";\n CharacterCodes[CharacterCodes[\"c\"] = 99] = \"c\";\n CharacterCodes[CharacterCodes[\"d\"] = 100] = \"d\";\n CharacterCodes[CharacterCodes[\"e\"] = 101] = \"e\";\n CharacterCodes[CharacterCodes[\"f\"] = 102] = \"f\";\n CharacterCodes[CharacterCodes[\"g\"] = 103] = \"g\";\n CharacterCodes[CharacterCodes[\"h\"] = 104] = \"h\";\n CharacterCodes[CharacterCodes[\"i\"] = 105] = \"i\";\n CharacterCodes[CharacterCodes[\"j\"] = 106] = \"j\";\n CharacterCodes[CharacterCodes[\"k\"] = 107] = \"k\";\n CharacterCodes[CharacterCodes[\"l\"] = 108] = \"l\";\n CharacterCodes[CharacterCodes[\"m\"] = 109] = \"m\";\n CharacterCodes[CharacterCodes[\"n\"] = 110] = \"n\";\n CharacterCodes[CharacterCodes[\"o\"] = 111] = \"o\";\n CharacterCodes[CharacterCodes[\"p\"] = 112] = \"p\";\n CharacterCodes[CharacterCodes[\"q\"] = 113] = \"q\";\n CharacterCodes[CharacterCodes[\"r\"] = 114] = \"r\";\n CharacterCodes[CharacterCodes[\"s\"] = 115] = \"s\";\n CharacterCodes[CharacterCodes[\"t\"] = 116] = \"t\";\n CharacterCodes[CharacterCodes[\"u\"] = 117] = \"u\";\n CharacterCodes[CharacterCodes[\"v\"] = 118] = \"v\";\n CharacterCodes[CharacterCodes[\"w\"] = 119] = \"w\";\n CharacterCodes[CharacterCodes[\"x\"] = 120] = \"x\";\n CharacterCodes[CharacterCodes[\"y\"] = 121] = \"y\";\n CharacterCodes[CharacterCodes[\"z\"] = 122] = \"z\";\n CharacterCodes[CharacterCodes[\"A\"] = 65] = \"A\";\n CharacterCodes[CharacterCodes[\"B\"] = 66] = \"B\";\n CharacterCodes[CharacterCodes[\"C\"] = 67] = \"C\";\n CharacterCodes[CharacterCodes[\"D\"] = 68] = \"D\";\n CharacterCodes[CharacterCodes[\"E\"] = 69] = \"E\";\n CharacterCodes[CharacterCodes[\"F\"] = 70] = \"F\";\n CharacterCodes[CharacterCodes[\"G\"] = 71] = \"G\";\n CharacterCodes[CharacterCodes[\"H\"] = 72] = \"H\";\n CharacterCodes[CharacterCodes[\"I\"] = 73] = \"I\";\n CharacterCodes[CharacterCodes[\"J\"] = 74] = \"J\";\n CharacterCodes[CharacterCodes[\"K\"] = 75] = \"K\";\n CharacterCodes[CharacterCodes[\"L\"] = 76] = \"L\";\n CharacterCodes[CharacterCodes[\"M\"] = 77] = \"M\";\n CharacterCodes[CharacterCodes[\"N\"] = 78] = \"N\";\n CharacterCodes[CharacterCodes[\"O\"] = 79] = \"O\";\n CharacterCodes[CharacterCodes[\"P\"] = 80] = \"P\";\n CharacterCodes[CharacterCodes[\"Q\"] = 81] = \"Q\";\n CharacterCodes[CharacterCodes[\"R\"] = 82] = \"R\";\n CharacterCodes[CharacterCodes[\"S\"] = 83] = \"S\";\n CharacterCodes[CharacterCodes[\"T\"] = 84] = \"T\";\n CharacterCodes[CharacterCodes[\"U\"] = 85] = \"U\";\n CharacterCodes[CharacterCodes[\"V\"] = 86] = \"V\";\n CharacterCodes[CharacterCodes[\"W\"] = 87] = \"W\";\n CharacterCodes[CharacterCodes[\"X\"] = 88] = \"X\";\n CharacterCodes[CharacterCodes[\"Y\"] = 89] = \"Y\";\n CharacterCodes[CharacterCodes[\"Z\"] = 90] = \"Z\";\n CharacterCodes[CharacterCodes[\"asterisk\"] = 42] = \"asterisk\";\n CharacterCodes[CharacterCodes[\"backslash\"] = 92] = \"backslash\";\n CharacterCodes[CharacterCodes[\"closeBrace\"] = 125] = \"closeBrace\";\n CharacterCodes[CharacterCodes[\"closeBracket\"] = 93] = \"closeBracket\";\n CharacterCodes[CharacterCodes[\"colon\"] = 58] = \"colon\";\n CharacterCodes[CharacterCodes[\"comma\"] = 44] = \"comma\";\n CharacterCodes[CharacterCodes[\"dot\"] = 46] = \"dot\";\n CharacterCodes[CharacterCodes[\"doubleQuote\"] = 34] = \"doubleQuote\";\n CharacterCodes[CharacterCodes[\"minus\"] = 45] = \"minus\";\n CharacterCodes[CharacterCodes[\"openBrace\"] = 123] = \"openBrace\";\n CharacterCodes[CharacterCodes[\"openBracket\"] = 91] = \"openBracket\";\n CharacterCodes[CharacterCodes[\"plus\"] = 43] = \"plus\";\n CharacterCodes[CharacterCodes[\"slash\"] = 47] = \"slash\";\n CharacterCodes[CharacterCodes[\"formFeed\"] = 12] = \"formFeed\";\n CharacterCodes[CharacterCodes[\"tab\"] = 9] = \"tab\";\n})(CharacterCodes || (CharacterCodes = {}));\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n'use strict';\nimport { createScanner } from './scanner';\nvar ParseOptions;\n(function (ParseOptions) {\n ParseOptions.DEFAULT = {\n allowTrailingComma: false\n };\n})(ParseOptions || (ParseOptions = {}));\n/**\n * For a given offset, evaluate the location in the JSON document. Each segment in the location path is either a property name or an array index.\n */\nexport function getLocation(text, position) {\n const segments = []; // strings or numbers\n const earlyReturnException = new Object();\n let previousNode = undefined;\n const previousNodeInst = {\n value: {},\n offset: 0,\n length: 0,\n type: 'object',\n parent: undefined\n };\n let isAtPropertyKey = false;\n function setPreviousNode(value, offset, length, type) {\n previousNodeInst.value = value;\n previousNodeInst.offset = offset;\n previousNodeInst.length = length;\n previousNodeInst.type = type;\n previousNodeInst.colonOffset = undefined;\n previousNode = previousNodeInst;\n }\n try {\n visit(text, {\n onObjectBegin: (offset, length) => {\n if (position <= offset) {\n throw earlyReturnException;\n }\n previousNode = undefined;\n isAtPropertyKey = position > offset;\n segments.push(''); // push a placeholder (will be replaced)\n },\n onObjectProperty: (name, offset, length) => {\n if (position < offset) {\n throw earlyReturnException;\n }\n setPreviousNode(name, offset, length, 'property');\n segments[segments.length - 1] = name;\n if (position <= offset + length) {\n throw earlyReturnException;\n }\n },\n onObjectEnd: (offset, length) => {\n if (position <= offset) {\n throw earlyReturnException;\n }\n previousNode = undefined;\n segments.pop();\n },\n onArrayBegin: (offset, length) => {\n if (position <= offset) {\n throw earlyReturnException;\n }\n previousNode = undefined;\n segments.push(0);\n },\n onArrayEnd: (offset, length) => {\n if (position <= offset) {\n throw earlyReturnException;\n }\n previousNode = undefined;\n segments.pop();\n },\n onLiteralValue: (value, offset, length) => {\n if (position < offset) {\n throw earlyReturnException;\n }\n setPreviousNode(value, offset, length, getNodeType(value));\n if (position <= offset + length) {\n throw earlyReturnException;\n }\n },\n onSeparator: (sep, offset, length) => {\n if (position <= offset) {\n throw earlyReturnException;\n }\n if (sep === ':' && previousNode && previousNode.type === 'property') {\n previousNode.colonOffset = offset;\n isAtPropertyKey = false;\n previousNode = undefined;\n }\n else if (sep === ',') {\n const last = segments[segments.length - 1];\n if (typeof last === 'number') {\n segments[segments.length - 1] = last + 1;\n }\n else {\n isAtPropertyKey = true;\n segments[segments.length - 1] = '';\n }\n previousNode = undefined;\n }\n }\n });\n }\n catch (e) {\n if (e !== earlyReturnException) {\n throw e;\n }\n }\n return {\n path: segments,\n previousNode,\n isAtPropertyKey,\n matches: (pattern) => {\n let k = 0;\n for (let i = 0; k < pattern.length && i < segments.length; i++) {\n if (pattern[k] === segments[i] || pattern[k] === '*') {\n k++;\n }\n else if (pattern[k] !== '**') {\n return false;\n }\n }\n return k === pattern.length;\n }\n };\n}\n/**\n * Parses the given text and returns the object the JSON content represents. On invalid input, the parser tries to be as fault tolerant as possible, but still return a result.\n * Therefore always check the errors list to find out if the input was valid.\n */\nexport function parse(text, errors = [], options = ParseOptions.DEFAULT) {\n let currentProperty = null;\n let currentParent = [];\n const previousParents = [];\n function onValue(value) {\n if (Array.isArray(currentParent)) {\n currentParent.push(value);\n }\n else if (currentProperty !== null) {\n currentParent[currentProperty] = value;\n }\n }\n const visitor = {\n onObjectBegin: () => {\n const object = {};\n onValue(object);\n previousParents.push(currentParent);\n currentParent = object;\n currentProperty = null;\n },\n onObjectProperty: (name) => {\n currentProperty = name;\n },\n onObjectEnd: () => {\n currentParent = previousParents.pop();\n },\n onArrayBegin: () => {\n const array = [];\n onValue(array);\n previousParents.push(currentParent);\n currentParent = array;\n currentProperty = null;\n },\n onArrayEnd: () => {\n currentParent = previousParents.pop();\n },\n onLiteralValue: onValue,\n onError: (error, offset, length) => {\n errors.push({ error, offset, length });\n }\n };\n visit(text, visitor, options);\n return currentParent[0];\n}\n/**\n * Parses the given text and returns a tree representation the JSON content. On invalid input, the parser tries to be as fault tolerant as possible, but still return a result.\n */\nexport function parseTree(text, errors = [], options = ParseOptions.DEFAULT) {\n let currentParent = { type: 'array', offset: -1, length: -1, children: [], parent: undefined }; // artificial root\n function ensurePropertyComplete(endOffset) {\n if (currentParent.type === 'property') {\n currentParent.length = endOffset - currentParent.offset;\n currentParent = currentParent.parent;\n }\n }\n function onValue(valueNode) {\n currentParent.children.push(valueNode);\n return valueNode;\n }\n const visitor = {\n onObjectBegin: (offset) => {\n currentParent = onValue({ type: 'object', offset, length: -1, parent: currentParent, children: [] });\n },\n onObjectProperty: (name, offset, length) => {\n currentParent = onValue({ type: 'property', offset, length: -1, parent: currentParent, children: [] });\n currentParent.children.push({ type: 'string', value: name, offset, length, parent: currentParent });\n },\n onObjectEnd: (offset, length) => {\n ensurePropertyComplete(offset + length); // in case of a missing value for a property: make sure property is complete\n currentParent.length = offset + length - currentParent.offset;\n currentParent = currentParent.parent;\n ensurePropertyComplete(offset + length);\n },\n onArrayBegin: (offset, length) => {\n currentParent = onValue({ type: 'array', offset, length: -1, parent: currentParent, children: [] });\n },\n onArrayEnd: (offset, length) => {\n currentParent.length = offset + length - currentParent.offset;\n currentParent = currentParent.parent;\n ensurePropertyComplete(offset + length);\n },\n onLiteralValue: (value, offset, length) => {\n onValue({ type: getNodeType(value), offset, length, parent: currentParent, value });\n ensurePropertyComplete(offset + length);\n },\n onSeparator: (sep, offset, length) => {\n if (currentParent.type === 'property') {\n if (sep === ':') {\n currentParent.colonOffset = offset;\n }\n else if (sep === ',') {\n ensurePropertyComplete(offset);\n }\n }\n },\n onError: (error, offset, length) => {\n errors.push({ error, offset, length });\n }\n };\n visit(text, visitor, options);\n const result = currentParent.children[0];\n if (result) {\n delete result.parent;\n }\n return result;\n}\n/**\n * Finds the node at the given path in a JSON DOM.\n */\nexport function findNodeAtLocation(root, path) {\n if (!root) {\n return undefined;\n }\n let node = root;\n for (let segment of path) {\n if (typeof segment === 'string') {\n if (node.type !== 'object' || !Array.isArray(node.children)) {\n return undefined;\n }\n let found = false;\n for (const propertyNode of node.children) {\n if (Array.isArray(propertyNode.children) && propertyNode.children[0].value === segment && propertyNode.children.length === 2) {\n node = propertyNode.children[1];\n found = true;\n break;\n }\n }\n if (!found) {\n return undefined;\n }\n }\n else {\n const index = segment;\n if (node.type !== 'array' || index < 0 || !Array.isArray(node.children) || index >= node.children.length) {\n return undefined;\n }\n node = node.children[index];\n }\n }\n return node;\n}\n/**\n * Gets the JSON path of the given JSON DOM node\n */\nexport function getNodePath(node) {\n if (!node.parent || !node.parent.children) {\n return [];\n }\n const path = getNodePath(node.parent);\n if (node.parent.type === 'property') {\n const key = node.parent.children[0].value;\n path.push(key);\n }\n else if (node.parent.type === 'array') {\n const index = node.parent.children.indexOf(node);\n if (index !== -1) {\n path.push(index);\n }\n }\n return path;\n}\n/**\n * Evaluates the JavaScript object of the given JSON DOM node\n */\nexport function getNodeValue(node) {\n switch (node.type) {\n case 'array':\n return node.children.map(getNodeValue);\n case 'object':\n const obj = Object.create(null);\n for (let prop of node.children) {\n const valueNode = prop.children[1];\n if (valueNode) {\n obj[prop.children[0].value] = getNodeValue(valueNode);\n }\n }\n return obj;\n case 'null':\n case 'string':\n case 'number':\n case 'boolean':\n return node.value;\n default:\n return undefined;\n }\n}\nexport function contains(node, offset, includeRightBound = false) {\n return (offset >= node.offset && offset < (node.offset + node.length)) || includeRightBound && (offset === (node.offset + node.length));\n}\n/**\n * Finds the most inner node at the given offset. If includeRightBound is set, also finds nodes that end at the given offset.\n */\nexport function findNodeAtOffset(node, offset, includeRightBound = false) {\n if (contains(node, offset, includeRightBound)) {\n const children = node.children;\n if (Array.isArray(children)) {\n for (let i = 0; i < children.length && children[i].offset <= offset; i++) {\n const item = findNodeAtOffset(children[i], offset, includeRightBound);\n if (item) {\n return item;\n }\n }\n }\n return node;\n }\n return undefined;\n}\n/**\n * Parses the given text and invokes the visitor functions for each object, array and literal reached.\n */\nexport function visit(text, visitor, options = ParseOptions.DEFAULT) {\n const _scanner = createScanner(text, false);\n // Important: Only pass copies of this to visitor functions to prevent accidental modification, and\n // to not affect visitor functions which stored a reference to a previous JSONPath\n const _jsonPath = [];\n function toNoArgVisit(visitFunction) {\n return visitFunction ? () => visitFunction(_scanner.getTokenOffset(), _scanner.getTokenLength(), _scanner.getTokenStartLine(), _scanner.getTokenStartCharacter()) : () => true;\n }\n function toNoArgVisitWithPath(visitFunction) {\n return visitFunction ? () => visitFunction(_scanner.getTokenOffset(), _scanner.getTokenLength(), _scanner.getTokenStartLine(), _scanner.getTokenStartCharacter(), () => _jsonPath.slice()) : () => true;\n }\n function toOneArgVisit(visitFunction) {\n return visitFunction ? (arg) => visitFunction(arg, _scanner.getTokenOffset(), _scanner.getTokenLength(), _scanner.getTokenStartLine(), _scanner.getTokenStartCharacter()) : () => true;\n }\n function toOneArgVisitWithPath(visitFunction) {\n return visitFunction ? (arg) => visitFunction(arg, _scanner.getTokenOffset(), _scanner.getTokenLength(), _scanner.getTokenStartLine(), _scanner.getTokenStartCharacter(), () => _jsonPath.slice()) : () => true;\n }\n const onObjectBegin = toNoArgVisitWithPath(visitor.onObjectBegin), onObjectProperty = toOneArgVisitWithPath(visitor.onObjectProperty), onObjectEnd = toNoArgVisit(visitor.onObjectEnd), onArrayBegin = toNoArgVisitWithPath(visitor.onArrayBegin), onArrayEnd = toNoArgVisit(visitor.onArrayEnd), onLiteralValue = toOneArgVisitWithPath(visitor.onLiteralValue), onSeparator = toOneArgVisit(visitor.onSeparator), onComment = toNoArgVisit(visitor.onComment), onError = toOneArgVisit(visitor.onError);\n const disallowComments = options && options.disallowComments;\n const allowTrailingComma = options && options.allowTrailingComma;\n function scanNext() {\n while (true) {\n const token = _scanner.scan();\n switch (_scanner.getTokenError()) {\n case 4 /* ScanError.InvalidUnicode */:\n handleError(14 /* ParseErrorCode.InvalidUnicode */);\n break;\n case 5 /* ScanError.InvalidEscapeCharacter */:\n handleError(15 /* ParseErrorCode.InvalidEscapeCharacter */);\n break;\n case 3 /* ScanError.UnexpectedEndOfNumber */:\n handleError(13 /* ParseErrorCode.UnexpectedEndOfNumber */);\n break;\n case 1 /* ScanError.UnexpectedEndOfComment */:\n if (!disallowComments) {\n handleError(11 /* ParseErrorCode.UnexpectedEndOfComment */);\n }\n break;\n case 2 /* ScanError.UnexpectedEndOfString */:\n handleError(12 /* ParseErrorCode.UnexpectedEndOfString */);\n break;\n case 6 /* ScanError.InvalidCharacter */:\n handleError(16 /* ParseErrorCode.InvalidCharacter */);\n break;\n }\n switch (token) {\n case 12 /* SyntaxKind.LineCommentTrivia */:\n case 13 /* SyntaxKind.BlockCommentTrivia */:\n if (disallowComments) {\n handleError(10 /* ParseErrorCode.InvalidCommentToken */);\n }\n else {\n onComment();\n }\n break;\n case 16 /* SyntaxKind.Unknown */:\n handleError(1 /* ParseErrorCode.InvalidSymbol */);\n break;\n case 15 /* SyntaxKind.Trivia */:\n case 14 /* SyntaxKind.LineBreakTrivia */:\n break;\n default:\n return token;\n }\n }\n }\n function handleError(error, skipUntilAfter = [], skipUntil = []) {\n onError(error);\n if (skipUntilAfter.length + skipUntil.length > 0) {\n let token = _scanner.getToken();\n while (token !== 17 /* SyntaxKind.EOF */) {\n if (skipUntilAfter.indexOf(token) !== -1) {\n scanNext();\n break;\n }\n else if (skipUntil.indexOf(token) !== -1) {\n break;\n }\n token = scanNext();\n }\n }\n }\n function parseString(isValue) {\n const value = _scanner.getTokenValue();\n if (isValue) {\n onLiteralValue(value);\n }\n else {\n onObjectProperty(value);\n // add property name afterwards\n _jsonPath.push(value);\n }\n scanNext();\n return true;\n }\n function parseLiteral() {\n switch (_scanner.getToken()) {\n case 11 /* SyntaxKind.NumericLiteral */:\n const tokenValue = _scanner.getTokenValue();\n let value = Number(tokenValue);\n if (isNaN(value)) {\n handleError(2 /* ParseErrorCode.InvalidNumberFormat */);\n value = 0;\n }\n onLiteralValue(value);\n break;\n case 7 /* SyntaxKind.NullKeyword */:\n onLiteralValue(null);\n break;\n case 8 /* SyntaxKind.TrueKeyword */:\n onLiteralValue(true);\n break;\n case 9 /* SyntaxKind.FalseKeyword */:\n onLiteralValue(false);\n break;\n default:\n return false;\n }\n scanNext();\n return true;\n }\n function parseProperty() {\n if (_scanner.getToken() !== 10 /* SyntaxKind.StringLiteral */) {\n handleError(3 /* ParseErrorCode.PropertyNameExpected */, [], [2 /* SyntaxKind.CloseBraceToken */, 5 /* SyntaxKind.CommaToken */]);\n return false;\n }\n parseString(false);\n if (_scanner.getToken() === 6 /* SyntaxKind.ColonToken */) {\n onSeparator(':');\n scanNext(); // consume colon\n if (!parseValue()) {\n handleError(4 /* ParseErrorCode.ValueExpected */, [], [2 /* SyntaxKind.CloseBraceToken */, 5 /* SyntaxKind.CommaToken */]);\n }\n }\n else {\n handleError(5 /* ParseErrorCode.ColonExpected */, [], [2 /* SyntaxKind.CloseBraceToken */, 5 /* SyntaxKind.CommaToken */]);\n }\n _jsonPath.pop(); // remove processed property name\n return true;\n }\n function parseObject() {\n onObjectBegin();\n scanNext(); // consume open brace\n let needsComma = false;\n while (_scanner.getToken() !== 2 /* SyntaxKind.CloseBraceToken */ && _scanner.getToken() !== 17 /* SyntaxKind.EOF */) {\n if (_scanner.getToken() === 5 /* SyntaxKind.CommaToken */) {\n if (!needsComma) {\n handleError(4 /* ParseErrorCode.ValueExpected */, [], []);\n }\n onSeparator(',');\n scanNext(); // consume comma\n if (_scanner.getToken() === 2 /* SyntaxKind.CloseBraceToken */ && allowTrailingComma) {\n break;\n }\n }\n else if (needsComma) {\n handleError(6 /* ParseErrorCode.CommaExpected */, [], []);\n }\n if (!parseProperty()) {\n handleError(4 /* ParseErrorCode.ValueExpected */, [], [2 /* SyntaxKind.CloseBraceToken */, 5 /* SyntaxKind.CommaToken */]);\n }\n needsComma = true;\n }\n onObjectEnd();\n if (_scanner.getToken() !== 2 /* SyntaxKind.CloseBraceToken */) {\n handleError(7 /* ParseErrorCode.CloseBraceExpected */, [2 /* SyntaxKind.CloseBraceToken */], []);\n }\n else {\n scanNext(); // consume close brace\n }\n return true;\n }\n function parseArray() {\n onArrayBegin();\n scanNext(); // consume open bracket\n let isFirstElement = true;\n let needsComma = false;\n while (_scanner.getToken() !== 4 /* SyntaxKind.CloseBracketToken */ && _scanner.getToken() !== 17 /* SyntaxKind.EOF */) {\n if (_scanner.getToken() === 5 /* SyntaxKind.CommaToken */) {\n if (!needsComma) {\n handleError(4 /* ParseErrorCode.ValueExpected */, [], []);\n }\n onSeparator(',');\n scanNext(); // consume comma\n if (_scanner.getToken() === 4 /* SyntaxKind.CloseBracketToken */ && allowTrailingComma) {\n break;\n }\n }\n else if (needsComma) {\n handleError(6 /* ParseErrorCode.CommaExpected */, [], []);\n }\n if (isFirstElement) {\n _jsonPath.push(0);\n isFirstElement = false;\n }\n else {\n _jsonPath[_jsonPath.length - 1]++;\n }\n if (!parseValue()) {\n handleError(4 /* ParseErrorCode.ValueExpected */, [], [4 /* SyntaxKind.CloseBracketToken */, 5 /* SyntaxKind.CommaToken */]);\n }\n needsComma = true;\n }\n onArrayEnd();\n if (!isFirstElement) {\n _jsonPath.pop(); // remove array index\n }\n if (_scanner.getToken() !== 4 /* SyntaxKind.CloseBracketToken */) {\n handleError(8 /* ParseErrorCode.CloseBracketExpected */, [4 /* SyntaxKind.CloseBracketToken */], []);\n }\n else {\n scanNext(); // consume close bracket\n }\n return true;\n }\n function parseValue() {\n switch (_scanner.getToken()) {\n case 3 /* SyntaxKind.OpenBracketToken */:\n return parseArray();\n case 1 /* SyntaxKind.OpenBraceToken */:\n return parseObject();\n case 10 /* SyntaxKind.StringLiteral */:\n return parseString(true);\n default:\n return parseLiteral();\n }\n }\n scanNext();\n if (_scanner.getToken() === 17 /* SyntaxKind.EOF */) {\n if (options.allowEmptyContent) {\n return true;\n }\n handleError(4 /* ParseErrorCode.ValueExpected */, [], []);\n return false;\n }\n if (!parseValue()) {\n handleError(4 /* ParseErrorCode.ValueExpected */, [], []);\n return false;\n }\n if (_scanner.getToken() !== 17 /* SyntaxKind.EOF */) {\n handleError(9 /* ParseErrorCode.EndOfFileExpected */, [], []);\n }\n return true;\n}\n/**\n * Takes JSON with JavaScript-style comments and remove\n * them. Optionally replaces every none-newline character\n * of comments with a replaceCharacter\n */\nexport function stripComments(text, replaceCh) {\n let _scanner = createScanner(text), parts = [], kind, offset = 0, pos;\n do {\n pos = _scanner.getPosition();\n kind = _scanner.scan();\n switch (kind) {\n case 12 /* SyntaxKind.LineCommentTrivia */:\n case 13 /* SyntaxKind.BlockCommentTrivia */:\n case 17 /* SyntaxKind.EOF */:\n if (offset !== pos) {\n parts.push(text.substring(offset, pos));\n }\n if (replaceCh !== undefined) {\n parts.push(_scanner.getTokenValue().replace(/[^\\r\\n]/g, replaceCh));\n }\n offset = _scanner.getPosition();\n break;\n }\n } while (kind !== 17 /* SyntaxKind.EOF */);\n return parts.join('');\n}\nexport function getNodeType(value) {\n switch (typeof value) {\n case 'boolean': return 'boolean';\n case 'number': return 'number';\n case 'string': return 'string';\n case 'object': {\n if (!value) {\n return 'null';\n }\n else if (Array.isArray(value)) {\n return 'array';\n }\n return 'object';\n }\n default: return 'null';\n }\n}\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n'use strict';\nimport { createScanner } from './scanner';\nexport function format(documentText, range, options) {\n let initialIndentLevel;\n let formatText;\n let formatTextStart;\n let rangeStart;\n let rangeEnd;\n if (range) {\n rangeStart = range.offset;\n rangeEnd = rangeStart + range.length;\n formatTextStart = rangeStart;\n while (formatTextStart > 0 && !isEOL(documentText, formatTextStart - 1)) {\n formatTextStart--;\n }\n let endOffset = rangeEnd;\n while (endOffset < documentText.length && !isEOL(documentText, endOffset)) {\n endOffset++;\n }\n formatText = documentText.substring(formatTextStart, endOffset);\n initialIndentLevel = computeIndentLevel(formatText, options);\n }\n else {\n formatText = documentText;\n initialIndentLevel = 0;\n formatTextStart = 0;\n rangeStart = 0;\n rangeEnd = documentText.length;\n }\n const eol = getEOL(options, documentText);\n let numberLineBreaks = 0;\n let indentLevel = 0;\n let indentValue;\n if (options.insertSpaces) {\n indentValue = repeat(' ', options.tabSize || 4);\n }\n else {\n indentValue = '\\t';\n }\n let scanner = createScanner(formatText, false);\n let hasError = false;\n function newLinesAndIndent() {\n if (numberLineBreaks > 1) {\n return repeat(eol, numberLineBreaks) + repeat(indentValue, initialIndentLevel + indentLevel);\n }\n else {\n return eol + repeat(indentValue, initialIndentLevel + indentLevel);\n }\n }\n function scanNext() {\n let token = scanner.scan();\n numberLineBreaks = 0;\n while (token === 15 /* SyntaxKind.Trivia */ || token === 14 /* SyntaxKind.LineBreakTrivia */) {\n if (token === 14 /* SyntaxKind.LineBreakTrivia */ && options.keepLines) {\n numberLineBreaks += 1;\n }\n else if (token === 14 /* SyntaxKind.LineBreakTrivia */) {\n numberLineBreaks = 1;\n }\n token = scanner.scan();\n }\n hasError = token === 16 /* SyntaxKind.Unknown */ || scanner.getTokenError() !== 0 /* ScanError.None */;\n return token;\n }\n const editOperations = [];\n function addEdit(text, startOffset, endOffset) {\n if (!hasError && (!range || (startOffset < rangeEnd && endOffset > rangeStart)) && documentText.substring(startOffset, endOffset) !== text) {\n editOperations.push({ offset: startOffset, length: endOffset - startOffset, content: text });\n }\n }\n let firstToken = scanNext();\n if (options.keepLines && numberLineBreaks > 0) {\n addEdit(repeat(eol, numberLineBreaks), 0, 0);\n }\n if (firstToken !== 17 /* SyntaxKind.EOF */) {\n let firstTokenStart = scanner.getTokenOffset() + formatTextStart;\n let initialIndent = repeat(indentValue, initialIndentLevel);\n addEdit(initialIndent, formatTextStart, firstTokenStart);\n }\n while (firstToken !== 17 /* SyntaxKind.EOF */) {\n let firstTokenEnd = scanner.getTokenOffset() + scanner.getTokenLength() + formatTextStart;\n let secondToken = scanNext();\n let replaceContent = '';\n let needsLineBreak = false;\n while (numberLineBreaks === 0 && (secondToken === 12 /* SyntaxKind.LineCommentTrivia */ || secondToken === 13 /* SyntaxKind.BlockCommentTrivia */)) {\n let commentTokenStart = scanner.getTokenOffset() + formatTextStart;\n addEdit(' ', firstTokenEnd, commentTokenStart);\n firstTokenEnd = scanner.getTokenOffset() + scanner.getTokenLength() + formatTextStart;\n needsLineBreak = secondToken === 12 /* SyntaxKind.LineCommentTrivia */;\n replaceContent = needsLineBreak ? newLinesAndIndent() : '';\n secondToken = scanNext();\n }\n if (secondToken === 2 /* SyntaxKind.CloseBraceToken */) {\n if (firstToken !== 1 /* SyntaxKind.OpenBraceToken */) {\n indentLevel--;\n }\n ;\n if (options.keepLines && numberLineBreaks > 0 || !options.keepLines && firstToken !== 1 /* SyntaxKind.OpenBraceToken */) {\n replaceContent = newLinesAndIndent();\n }\n else if (options.keepLines) {\n replaceContent = ' ';\n }\n }\n else if (secondToken === 4 /* SyntaxKind.CloseBracketToken */) {\n if (firstToken !== 3 /* SyntaxKind.OpenBracketToken */) {\n indentLevel--;\n }\n ;\n if (options.keepLines && numberLineBreaks > 0 || !options.keepLines && firstToken !== 3 /* SyntaxKind.OpenBracketToken */) {\n replaceContent = newLinesAndIndent();\n }\n else if (options.keepLines) {\n replaceContent = ' ';\n }\n }\n else {\n switch (firstToken) {\n case 3 /* SyntaxKind.OpenBracketToken */:\n case 1 /* SyntaxKind.OpenBraceToken */:\n indentLevel++;\n if (options.keepLines && numberLineBreaks > 0 || !options.keepLines) {\n replaceContent = newLinesAndIndent();\n }\n else {\n replaceContent = ' ';\n }\n break;\n case 5 /* SyntaxKind.CommaToken */:\n if (options.keepLines && numberLineBreaks > 0 || !options.keepLines) {\n replaceContent = newLinesAndIndent();\n }\n else {\n replaceContent = ' ';\n }\n break;\n case 12 /* SyntaxKind.LineCommentTrivia */:\n replaceContent = newLinesAndIndent();\n break;\n case 13 /* SyntaxKind.BlockCommentTrivia */:\n if (numberLineBreaks > 0) {\n replaceContent = newLinesAndIndent();\n }\n else if (!needsLineBreak) {\n replaceContent = ' ';\n }\n break;\n case 6 /* SyntaxKind.ColonToken */:\n if (options.keepLines && numberLineBreaks > 0) {\n replaceContent = newLinesAndIndent();\n }\n else if (!needsLineBreak) {\n replaceContent = ' ';\n }\n break;\n case 10 /* SyntaxKind.StringLiteral */:\n if (options.keepLines && numberLineBreaks > 0) {\n replaceContent = newLinesAndIndent();\n }\n else if (secondToken === 6 /* SyntaxKind.ColonToken */ && !needsLineBreak) {\n replaceContent = '';\n }\n break;\n case 7 /* SyntaxKind.NullKeyword */:\n case 8 /* SyntaxKind.TrueKeyword */:\n case 9 /* SyntaxKind.FalseKeyword */:\n case 11 /* SyntaxKind.NumericLiteral */:\n case 2 /* SyntaxKind.CloseBraceToken */:\n case 4 /* SyntaxKind.CloseBracketToken */:\n if (options.keepLines && numberLineBreaks > 0) {\n replaceContent = newLinesAndIndent();\n }\n else {\n if ((secondToken === 12 /* SyntaxKind.LineCommentTrivia */ || secondToken === 13 /* SyntaxKind.BlockCommentTrivia */) && !needsLineBreak) {\n replaceContent = ' ';\n }\n else if (secondToken !== 5 /* SyntaxKind.CommaToken */ && secondToken !== 17 /* SyntaxKind.EOF */) {\n hasError = true;\n }\n }\n break;\n case 16 /* SyntaxKind.Unknown */:\n hasError = true;\n break;\n }\n if (numberLineBreaks > 0 && (secondToken === 12 /* SyntaxKind.LineCommentTrivia */ || secondToken === 13 /* SyntaxKind.BlockCommentTrivia */)) {\n replaceContent = newLinesAndIndent();\n }\n }\n if (secondToken === 17 /* SyntaxKind.EOF */) {\n if (options.keepLines && numberLineBreaks > 0) {\n replaceContent = newLinesAndIndent();\n }\n else {\n replaceContent = options.insertFinalNewline ? eol : '';\n }\n }\n const secondTokenStart = scanner.getTokenOffset() + formatTextStart;\n addEdit(replaceContent, firstTokenEnd, secondTokenStart);\n firstToken = secondToken;\n }\n return editOperations;\n}\nfunction repeat(s, count) {\n let result = '';\n for (let i = 0; i < count; i++) {\n result += s;\n }\n return result;\n}\nfunction computeIndentLevel(content, options) {\n let i = 0;\n let nChars = 0;\n const tabSize = options.tabSize || 4;\n while (i < content.length) {\n let ch = content.charAt(i);\n if (ch === ' ') {\n nChars++;\n }\n else if (ch === '\\t') {\n nChars += tabSize;\n }\n else {\n break;\n }\n i++;\n }\n return Math.floor(nChars / tabSize);\n}\nfunction getEOL(options, text) {\n for (let i = 0; i < text.length; i++) {\n const ch = text.charAt(i);\n if (ch === '\\r') {\n if (i + 1 < text.length && text.charAt(i + 1) === '\\n') {\n return '\\r\\n';\n }\n return '\\r';\n }\n else if (ch === '\\n') {\n return '\\n';\n }\n }\n return (options && options.eol) || '\\n';\n}\nexport function isEOL(text, offset) {\n return '\\r\\n'.indexOf(text.charAt(offset)) !== -1;\n}\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n'use strict';\nimport { format, isEOL } from './format';\nimport { parseTree, findNodeAtLocation } from './parser';\nexport function removeProperty(text, path, options) {\n return setProperty(text, path, void 0, options);\n}\nexport function setProperty(text, originalPath, value, options) {\n const path = originalPath.slice();\n const errors = [];\n const root = parseTree(text, errors);\n let parent = void 0;\n let lastSegment = void 0;\n while (path.length > 0) {\n lastSegment = path.pop();\n parent = findNodeAtLocation(root, path);\n if (parent === void 0 && value !== void 0) {\n if (typeof lastSegment === 'string') {\n value = { [lastSegment]: value };\n }\n else {\n value = [value];\n }\n }\n else {\n break;\n }\n }\n if (!parent) {\n // empty document\n if (value === void 0) { // delete\n throw new Error('Can not delete in empty document');\n }\n return withFormatting(text, { offset: root ? root.offset : 0, length: root ? root.length : 0, content: JSON.stringify(value) }, options);\n }\n else if (parent.type === 'object' && typeof lastSegment === 'string' && Array.isArray(parent.children)) {\n const existing = findNodeAtLocation(parent, [lastSegment]);\n if (existing !== void 0) {\n if (value === void 0) { // delete\n if (!existing.parent) {\n throw new Error('Malformed AST');\n }\n const propertyIndex = parent.children.indexOf(existing.parent);\n let removeBegin;\n let removeEnd = existing.parent.offset + existing.parent.length;\n if (propertyIndex > 0) {\n // remove the comma of the previous node\n let previous = parent.children[propertyIndex - 1];\n removeBegin = previous.offset + previous.length;\n }\n else {\n removeBegin = parent.offset + 1;\n if (parent.children.length > 1) {\n // remove the comma of the next node\n let next = parent.children[1];\n removeEnd = next.offset;\n }\n }\n return withFormatting(text, { offset: removeBegin, length: removeEnd - removeBegin, content: '' }, options);\n }\n else {\n // set value of existing property\n return withFormatting(text, { offset: existing.offset, length: existing.length, content: JSON.stringify(value) }, options);\n }\n }\n else {\n if (value === void 0) { // delete\n return []; // property does not exist, nothing to do\n }\n const newProperty = `${JSON.stringify(lastSegment)}: ${JSON.stringify(value)}`;\n const index = options.getInsertionIndex ? options.getInsertionIndex(parent.children.map(p => p.children[0].value)) : parent.children.length;\n let edit;\n if (index > 0) {\n let previous = parent.children[index - 1];\n edit = { offset: previous.offset + previous.length, length: 0, content: ',' + newProperty };\n }\n else if (parent.children.length === 0) {\n edit = { offset: parent.offset + 1, length: 0, content: newProperty };\n }\n else {\n edit = { offset: parent.offset + 1, length: 0, content: newProperty + ',' };\n }\n return withFormatting(text, edit, options);\n }\n }\n else if (parent.type === 'array' && typeof lastSegment === 'number' && Array.isArray(parent.children)) {\n const insertIndex = lastSegment;\n if (insertIndex === -1) {\n // Insert\n const newProperty = `${JSON.stringify(value)}`;\n let edit;\n if (parent.children.length === 0) {\n edit = { offset: parent.offset + 1, length: 0, content: newProperty };\n }\n else {\n const previous = parent.children[parent.children.length - 1];\n edit = { offset: previous.offset + previous.length, length: 0, content: ',' + newProperty };\n }\n return withFormatting(text, edit, options);\n }\n else if (value === void 0 && parent.children.length >= 0) {\n // Removal\n const removalIndex = lastSegment;\n const toRemove = parent.children[removalIndex];\n let edit;\n if (parent.children.length === 1) {\n // only item\n edit = { offset: parent.offset + 1, length: parent.length - 2, content: '' };\n }\n else if (parent.children.length - 1 === removalIndex) {\n // last item\n let previous = parent.children[removalIndex - 1];\n let offset = previous.offset + previous.length;\n let parentEndOffset = parent.offset + parent.length;\n edit = { offset, length: parentEndOffset - 2 - offset, content: '' };\n }\n else {\n edit = { offset: toRemove.offset, length: parent.children[removalIndex + 1].offset - toRemove.offset, content: '' };\n }\n return withFormatting(text, edit, options);\n }\n else if (value !== void 0) {\n let edit;\n const newProperty = `${JSON.stringify(value)}`;\n if (!options.isArrayInsertion && parent.children.length > lastSegment) {\n const toModify = parent.children[lastSegment];\n edit = { offset: toModify.offset, length: toModify.length, content: newProperty };\n }\n else if (parent.children.length === 0 || lastSegment === 0) {\n edit = { offset: parent.offset + 1, length: 0, content: parent.children.length === 0 ? newProperty : newProperty + ',' };\n }\n else {\n const index = lastSegment > parent.children.length ? parent.children.length : lastSegment;\n const previous = parent.children[index - 1];\n edit = { offset: previous.offset + previous.length, length: 0, content: ',' + newProperty };\n }\n return withFormatting(text, edit, options);\n }\n else {\n throw new Error(`Can not ${value === void 0 ? 'remove' : (options.isArrayInsertion ? 'insert' : 'modify')} Array index ${insertIndex} as length is not sufficient`);\n }\n }\n else {\n throw new Error(`Can not add ${typeof lastSegment !== 'number' ? 'index' : 'property'} to parent of type ${parent.type}`);\n }\n}\nfunction withFormatting(text, edit, options) {\n if (!options.formattingOptions) {\n return [edit];\n }\n // apply the edit\n let newText = applyEdit(text, edit);\n // format the new text\n let begin = edit.offset;\n let end = edit.offset + edit.content.length;\n if (edit.length === 0 || edit.content.length === 0) { // insert or remove\n while (begin > 0 && !isEOL(newText, begin - 1)) {\n begin--;\n }\n while (end < newText.length && !isEOL(newText, end)) {\n end++;\n }\n }\n const edits = format(newText, { offset: begin, length: end - begin }, { ...options.formattingOptions, keepLines: false });\n // apply the formatting edits and track the begin and end offsets of the changes\n for (let i = edits.length - 1; i >= 0; i--) {\n const edit = edits[i];\n newText = applyEdit(newText, edit);\n begin = Math.min(begin, edit.offset);\n end = Math.max(end, edit.offset + edit.length);\n end += edit.content.length - edit.length;\n }\n // create a single edit with all changes\n const editLength = text.length - (newText.length - end) - begin;\n return [{ offset: begin, length: editLength, content: newText.substring(begin, end) }];\n}\nexport function applyEdit(text, edit) {\n return text.substring(0, edit.offset) + edit.content + text.substring(edit.offset + edit.length);\n}\nexport function isWS(text, offset) {\n return '\\r\\n \\t'.indexOf(text.charAt(offset)) !== -1;\n}\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n'use strict';\nimport * as formatter from './impl/format';\nimport * as edit from './impl/edit';\nimport * as scanner from './impl/scanner';\nimport * as parser from './impl/parser';\n/**\n * Creates a JSON scanner on the given text.\n * If ignoreTrivia is set, whitespaces or comments are ignored.\n */\nexport const createScanner = scanner.createScanner;\nexport var ScanError;\n(function (ScanError) {\n ScanError[ScanError[\"None\"] = 0] = \"None\";\n ScanError[ScanError[\"UnexpectedEndOfComment\"] = 1] = \"UnexpectedEndOfComment\";\n ScanError[ScanError[\"UnexpectedEndOfString\"] = 2] = \"UnexpectedEndOfString\";\n ScanError[ScanError[\"UnexpectedEndOfNumber\"] = 3] = \"UnexpectedEndOfNumber\";\n ScanError[ScanError[\"InvalidUnicode\"] = 4] = \"InvalidUnicode\";\n ScanError[ScanError[\"InvalidEscapeCharacter\"] = 5] = \"InvalidEscapeCharacter\";\n ScanError[ScanError[\"InvalidCharacter\"] = 6] = \"InvalidCharacter\";\n})(ScanError || (ScanError = {}));\nexport var SyntaxKind;\n(function (SyntaxKind) {\n SyntaxKind[SyntaxKind[\"OpenBraceToken\"] = 1] = \"OpenBraceToken\";\n SyntaxKind[SyntaxKind[\"CloseBraceToken\"] = 2] = \"CloseBraceToken\";\n SyntaxKind[SyntaxKind[\"OpenBracketToken\"] = 3] = \"OpenBracketToken\";\n SyntaxKind[SyntaxKind[\"CloseBracketToken\"] = 4] = \"CloseBracketToken\";\n SyntaxKind[SyntaxKind[\"CommaToken\"] = 5] = \"CommaToken\";\n SyntaxKind[SyntaxKind[\"ColonToken\"] = 6] = \"ColonToken\";\n SyntaxKind[SyntaxKind[\"NullKeyword\"] = 7] = \"NullKeyword\";\n SyntaxKind[SyntaxKind[\"TrueKeyword\"] = 8] = \"TrueKeyword\";\n SyntaxKind[SyntaxKind[\"FalseKeyword\"] = 9] = \"FalseKeyword\";\n SyntaxKind[SyntaxKind[\"StringLiteral\"] = 10] = \"StringLiteral\";\n SyntaxKind[SyntaxKind[\"NumericLiteral\"] = 11] = \"NumericLiteral\";\n SyntaxKind[SyntaxKind[\"LineCommentTrivia\"] = 12] = \"LineCommentTrivia\";\n SyntaxKind[SyntaxKind[\"BlockCommentTrivia\"] = 13] = \"BlockCommentTrivia\";\n SyntaxKind[SyntaxKind[\"LineBreakTrivia\"] = 14] = \"LineBreakTrivia\";\n SyntaxKind[SyntaxKind[\"Trivia\"] = 15] = \"Trivia\";\n SyntaxKind[SyntaxKind[\"Unknown\"] = 16] = \"Unknown\";\n SyntaxKind[SyntaxKind[\"EOF\"] = 17] = \"EOF\";\n})(SyntaxKind || (SyntaxKind = {}));\n/**\n * For a given offset, evaluate the location in the JSON document. Each segment in the location path is either a property name or an array index.\n */\nexport const getLocation = parser.getLocation;\n/**\n * Parses the given text and returns the object the JSON content represents. On invalid input, the parser tries to be as fault tolerant as possible, but still return a result.\n * Therefore, always check the errors list to find out if the input was valid.\n */\nexport const parse = parser.parse;\n/**\n * Parses the given text and returns a tree representation the JSON content. On invalid input, the parser tries to be as fault tolerant as possible, but still return a result.\n */\nexport const parseTree = parser.parseTree;\n/**\n * Finds the node at the given path in a JSON DOM.\n */\nexport const findNodeAtLocation = parser.findNodeAtLocation;\n/**\n * Finds the innermost node at the given offset. If includeRightBound is set, also finds nodes that end at the given offset.\n */\nexport const findNodeAtOffset = parser.findNodeAtOffset;\n/**\n * Gets the JSON path of the given JSON DOM node\n */\nexport const getNodePath = parser.getNodePath;\n/**\n * Evaluates the JavaScript object of the given JSON DOM node\n */\nexport const getNodeValue = parser.getNodeValue;\n/**\n * Parses the given text and invokes the visitor functions for each object, array and literal reached.\n */\nexport const visit = parser.visit;\n/**\n * Takes JSON with JavaScript-style comments and remove\n * them. Optionally replaces every none-newline character\n * of comments with a replaceCharacter\n */\nexport const stripComments = parser.stripComments;\nexport var ParseErrorCode;\n(function (ParseErrorCode) {\n ParseErrorCode[ParseErrorCode[\"InvalidSymbol\"] = 1] = \"InvalidSymbol\";\n ParseErrorCode[ParseErrorCode[\"InvalidNumberFormat\"] = 2] = \"InvalidNumberFormat\";\n ParseErrorCode[ParseErrorCode[\"PropertyNameExpected\"] = 3] = \"PropertyNameExpected\";\n ParseErrorCode[ParseErrorCode[\"ValueExpected\"] = 4] = \"ValueExpected\";\n ParseErrorCode[ParseErrorCode[\"ColonExpected\"] = 5] = \"ColonExpected\";\n ParseErrorCode[ParseErrorCode[\"CommaExpected\"] = 6] = \"CommaExpected\";\n ParseErrorCode[ParseErrorCode[\"CloseBraceExpected\"] = 7] = \"CloseBraceExpected\";\n ParseErrorCode[ParseErrorCode[\"CloseBracketExpected\"] = 8] = \"CloseBracketExpected\";\n ParseErrorCode[ParseErrorCode[\"EndOfFileExpected\"] = 9] = \"EndOfFileExpected\";\n ParseErrorCode[ParseErrorCode[\"InvalidCommentToken\"] = 10] = \"InvalidCommentToken\";\n ParseErrorCode[ParseErrorCode[\"UnexpectedEndOfComment\"] = 11] = \"UnexpectedEndOfComment\";\n ParseErrorCode[ParseErrorCode[\"UnexpectedEndOfString\"] = 12] = \"UnexpectedEndOfString\";\n ParseErrorCode[ParseErrorCode[\"UnexpectedEndOfNumber\"] = 13] = \"UnexpectedEndOfNumber\";\n ParseErrorCode[ParseErrorCode[\"InvalidUnicode\"] = 14] = \"InvalidUnicode\";\n ParseErrorCode[ParseErrorCode[\"InvalidEscapeCharacter\"] = 15] = \"InvalidEscapeCharacter\";\n ParseErrorCode[ParseErrorCode[\"InvalidCharacter\"] = 16] = \"InvalidCharacter\";\n})(ParseErrorCode || (ParseErrorCode = {}));\nexport function printParseErrorCode(code) {\n switch (code) {\n case 1 /* ParseErrorCode.InvalidSymbol */: return 'InvalidSymbol';\n case 2 /* ParseErrorCode.InvalidNumberFormat */: return 'InvalidNumberFormat';\n case 3 /* ParseErrorCode.PropertyNameExpected */: return 'PropertyNameExpected';\n case 4 /* ParseErrorCode.ValueExpected */: return 'ValueExpected';\n case 5 /* ParseErrorCode.ColonExpected */: return 'ColonExpected';\n case 6 /* ParseErrorCode.CommaExpected */: return 'CommaExpected';\n case 7 /* ParseErrorCode.CloseBraceExpected */: return 'CloseBraceExpected';\n case 8 /* ParseErrorCode.CloseBracketExpected */: return 'CloseBracketExpected';\n case 9 /* ParseErrorCode.EndOfFileExpected */: return 'EndOfFileExpected';\n case 10 /* ParseErrorCode.InvalidCommentToken */: return 'InvalidCommentToken';\n case 11 /* ParseErrorCode.UnexpectedEndOfComment */: return 'UnexpectedEndOfComment';\n case 12 /* ParseErrorCode.UnexpectedEndOfString */: return 'UnexpectedEndOfString';\n case 13 /* ParseErrorCode.UnexpectedEndOfNumber */: return 'UnexpectedEndOfNumber';\n case 14 /* ParseErrorCode.InvalidUnicode */: return 'InvalidUnicode';\n case 15 /* ParseErrorCode.InvalidEscapeCharacter */: return 'InvalidEscapeCharacter';\n case 16 /* ParseErrorCode.InvalidCharacter */: return 'InvalidCharacter';\n }\n return '<unknown ParseErrorCode>';\n}\n/**\n * Computes the edit operations needed to format a JSON document.\n *\n * @param documentText The input text\n * @param range The range to format or `undefined` to format the full content\n * @param options The formatting options\n * @returns The edit operations describing the formatting changes to the original document following the format described in {@linkcode EditResult}.\n * To apply the edit operations to the input, use {@linkcode applyEdits}.\n */\nexport function format(documentText, range, options) {\n return formatter.format(documentText, range, options);\n}\n/**\n * Computes the edit operations needed to modify a value in the JSON document.\n *\n * @param documentText The input text\n * @param path The path of the value to change. The path represents either to the document root, a property or an array item.\n * If the path points to an non-existing property or item, it will be created.\n * @param value The new value for the specified property or item. If the value is undefined,\n * the property or item will be removed.\n * @param options Options\n * @returns The edit operations describing the changes to the original document, following the format described in {@linkcode EditResult}.\n * To apply the edit operations to the input, use {@linkcode applyEdits}.\n */\nexport function modify(text, path, value, options) {\n return edit.setProperty(text, path, value, options);\n}\n/**\n * Applies edits to an input string.\n * @param text The input text\n * @param edits Edit operations following the format described in {@linkcode EditResult}.\n * @returns The text with the applied edits.\n * @throws An error if the edit operations are not well-formed as described in {@linkcode EditResult}.\n */\nexport function applyEdits(text, edits) {\n let sortedEdits = edits.slice(0).sort((a, b) => {\n const diff = a.offset - b.offset;\n if (diff === 0) {\n return a.length - b.length;\n }\n return diff;\n });\n let lastModifiedOffset = text.length;\n for (let i = sortedEdits.length - 1; i >= 0; i--) {\n let e = sortedEdits[i];\n if (e.offset + e.length <= lastModifiedOffset) {\n text = edit.applyEdit(text, e);\n }\n else {\n throw new Error('Overlapping edit');\n }\n lastModifiedOffset = e.offset;\n }\n return text;\n}\n","\"use strict\";\n\n// ref: https://github.com/tc39/proposal-global\nvar getGlobal = function () {\n\t// the only reliable means to get the global object is\n\t// `Function('return this')()`\n\t// However, this causes CSP violations in Chrome apps.\n\tif (typeof self !== 'undefined') { return self; }\n\tif (typeof window !== 'undefined') { return window; }\n\tif (typeof global !== 'undefined') { return global; }\n\tthrow new Error('unable to locate global object');\n}\n\nvar globalObject = getGlobal();\n\nmodule.exports = exports = globalObject.fetch;\n\n// Needed for TypeScript and Webpack.\nif (globalObject.fetch) {\n\texports.default = globalObject.fetch.bind(globalObject);\n}\n\nexports.Headers = globalObject.Headers;\nexports.Request = globalObject.Request;\nexports.Response = globalObject.Response;\n","var wrappy = require('wrappy')\nmodule.exports = wrappy(once)\nmodule.exports.strict = wrappy(onceStrict)\n\nonce.proto = once(function () {\n Object.defineProperty(Function.prototype, 'once', {\n value: function () {\n return once(this)\n },\n configurable: true\n })\n\n Object.defineProperty(Function.prototype, 'onceStrict', {\n value: function () {\n return onceStrict(this)\n },\n configurable: true\n })\n})\n\nfunction once (fn) {\n var f = function () {\n if (f.called) return f.value\n f.called = true\n return f.value = fn.apply(this, arguments)\n }\n f.called = false\n return f\n}\n\nfunction onceStrict (fn) {\n var f = function () {\n if (f.called)\n throw new Error(f.onceError)\n f.called = true\n return f.value = fn.apply(this, arguments)\n }\n var name = fn.name || 'Function wrapped with `once`'\n f.onceError = name + \" shouldn't be called more than once\"\n f.called = false\n return f\n}\n","// Returns a wrapper function that returns a wrapped callback\n// The wrapper function should do some stuff, and return a\n// presumably different callback function.\n// This makes sure that own properties are retained, so that\n// decorations and such are not lost along the way.\nmodule.exports = wrappy\nfunction wrappy (fn, cb) {\n if (fn && cb) return wrappy(fn)(cb)\n\n if (typeof fn !== 'function')\n throw new TypeError('need wrapper function')\n\n Object.keys(fn).forEach(function (k) {\n wrapper[k] = fn[k]\n })\n\n return wrapper\n\n function wrapper() {\n var args = new Array(arguments.length)\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i]\n }\n var ret = fn.apply(this, args)\n var cb = args[args.length-1]\n if (typeof ret === 'function' && ret !== cb) {\n Object.keys(cb).forEach(function (k) {\n ret[k] = cb[k]\n })\n }\n return ret\n }\n}\n","// 'path' module extracted from Node.js v8.11.1 (only the posix part)\n// transplited with Babel\n\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nfunction assertPath(path) {\n if (typeof path !== 'string') {\n throw new TypeError('Path must be a string. Received ' + JSON.stringify(path));\n }\n}\n\n// Resolves . and .. elements in a path with directory names\nfunction normalizeStringPosix(path, allowAboveRoot) {\n var res = '';\n var lastSegmentLength = 0;\n var lastSlash = -1;\n var dots = 0;\n var code;\n for (var i = 0; i <= path.length; ++i) {\n if (i < path.length)\n code = path.charCodeAt(i);\n else if (code === 47 /*/*/)\n break;\n else\n code = 47 /*/*/;\n if (code === 47 /*/*/) {\n if (lastSlash === i - 1 || dots === 1) {\n // NOOP\n } else if (lastSlash !== i - 1 && dots === 2) {\n if (res.length < 2 || lastSegmentLength !== 2 || res.charCodeAt(res.length - 1) !== 46 /*.*/ || res.charCodeAt(res.length - 2) !== 46 /*.*/) {\n if (res.length > 2) {\n var lastSlashIndex = res.lastIndexOf('/');\n if (lastSlashIndex !== res.length - 1) {\n if (lastSlashIndex === -1) {\n res = '';\n lastSegmentLength = 0;\n } else {\n res = res.slice(0, lastSlashIndex);\n lastSegmentLength = res.length - 1 - res.lastIndexOf('/');\n }\n lastSlash = i;\n dots = 0;\n continue;\n }\n } else if (res.length === 2 || res.length === 1) {\n res = '';\n lastSegmentLength = 0;\n lastSlash = i;\n dots = 0;\n continue;\n }\n }\n if (allowAboveRoot) {\n if (res.length > 0)\n res += '/..';\n else\n res = '..';\n lastSegmentLength = 2;\n }\n } else {\n if (res.length > 0)\n res += '/' + path.slice(lastSlash + 1, i);\n else\n res = path.slice(lastSlash + 1, i);\n lastSegmentLength = i - lastSlash - 1;\n }\n lastSlash = i;\n dots = 0;\n } else if (code === 46 /*.*/ && dots !== -1) {\n ++dots;\n } else {\n dots = -1;\n }\n }\n return res;\n}\n\nfunction _format(sep, pathObject) {\n var dir = pathObject.dir || pathObject.root;\n var base = pathObject.base || (pathObject.name || '') + (pathObject.ext || '');\n if (!dir) {\n return base;\n }\n if (dir === pathObject.root) {\n return dir + base;\n }\n return dir + sep + base;\n}\n\nvar posix = {\n // path.resolve([from ...], to)\n resolve: function resolve() {\n var resolvedPath = '';\n var resolvedAbsolute = false;\n var cwd;\n\n for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n var path;\n if (i >= 0)\n path = arguments[i];\n else {\n if (cwd === undefined)\n cwd = process.cwd();\n path = cwd;\n }\n\n assertPath(path);\n\n // Skip empty entries\n if (path.length === 0) {\n continue;\n }\n\n resolvedPath = path + '/' + resolvedPath;\n resolvedAbsolute = path.charCodeAt(0) === 47 /*/*/;\n }\n\n // At this point the path should be resolved to a full absolute path, but\n // handle relative paths to be safe (might happen when process.cwd() fails)\n\n // Normalize the path\n resolvedPath = normalizeStringPosix(resolvedPath, !resolvedAbsolute);\n\n if (resolvedAbsolute) {\n if (resolvedPath.length > 0)\n return '/' + resolvedPath;\n else\n return '/';\n } else if (resolvedPath.length > 0) {\n return resolvedPath;\n } else {\n return '.';\n }\n },\n\n normalize: function normalize(path) {\n assertPath(path);\n\n if (path.length === 0) return '.';\n\n var isAbsolute = path.charCodeAt(0) === 47 /*/*/;\n var trailingSeparator = path.charCodeAt(path.length - 1) === 47 /*/*/;\n\n // Normalize the path\n path = normalizeStringPosix(path, !isAbsolute);\n\n if (path.length === 0 && !isAbsolute) path = '.';\n if (path.length > 0 && trailingSeparator) path += '/';\n\n if (isAbsolute) return '/' + path;\n return path;\n },\n\n isAbsolute: function isAbsolute(path) {\n assertPath(path);\n return path.length > 0 && path.charCodeAt(0) === 47 /*/*/;\n },\n\n join: function join() {\n if (arguments.length === 0)\n return '.';\n var joined;\n for (var i = 0; i < arguments.length; ++i) {\n var arg = arguments[i];\n assertPath(arg);\n if (arg.length > 0) {\n if (joined === undefined)\n joined = arg;\n else\n joined += '/' + arg;\n }\n }\n if (joined === undefined)\n return '.';\n return posix.normalize(joined);\n },\n\n relative: function relative(from, to) {\n assertPath(from);\n assertPath(to);\n\n if (from === to) return '';\n\n from = posix.resolve(from);\n to = posix.resolve(to);\n\n if (from === to) return '';\n\n // Trim any leading backslashes\n var fromStart = 1;\n for (; fromStart < from.length; ++fromStart) {\n if (from.charCodeAt(fromStart) !== 47 /*/*/)\n break;\n }\n var fromEnd = from.length;\n var fromLen = fromEnd - fromStart;\n\n // Trim any leading backslashes\n var toStart = 1;\n for (; toStart < to.length; ++toStart) {\n if (to.charCodeAt(toStart) !== 47 /*/*/)\n break;\n }\n var toEnd = to.length;\n var toLen = toEnd - toStart;\n\n // Compare paths to find the longest common path from root\n var length = fromLen < toLen ? fromLen : toLen;\n var lastCommonSep = -1;\n var i = 0;\n for (; i <= length; ++i) {\n if (i === length) {\n if (toLen > length) {\n if (to.charCodeAt(toStart + i) === 47 /*/*/) {\n // We get here if `from` is the exact base path for `to`.\n // For example: from='/foo/bar'; to='/foo/bar/baz'\n return to.slice(toStart + i + 1);\n } else if (i === 0) {\n // We get here if `from` is the root\n // For example: from='/'; to='/foo'\n return to.slice(toStart + i);\n }\n } else if (fromLen > length) {\n if (from.charCodeAt(fromStart + i) === 47 /*/*/) {\n // We get here if `to` is the exact base path for `from`.\n // For example: from='/foo/bar/baz'; to='/foo/bar'\n lastCommonSep = i;\n } else if (i === 0) {\n // We get here if `to` is the root.\n // For example: from='/foo'; to='/'\n lastCommonSep = 0;\n }\n }\n break;\n }\n var fromCode = from.charCodeAt(fromStart + i);\n var toCode = to.charCodeAt(toStart + i);\n if (fromCode !== toCode)\n break;\n else if (fromCode === 47 /*/*/)\n lastCommonSep = i;\n }\n\n var out = '';\n // Generate the relative path based on the path difference between `to`\n // and `from`\n for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) {\n if (i === fromEnd || from.charCodeAt(i) === 47 /*/*/) {\n if (out.length === 0)\n out += '..';\n else\n out += '/..';\n }\n }\n\n // Lastly, append the rest of the destination (`to`) path that comes after\n // the common path parts\n if (out.length > 0)\n return out + to.slice(toStart + lastCommonSep);\n else {\n toStart += lastCommonSep;\n if (to.charCodeAt(toStart) === 47 /*/*/)\n ++toStart;\n return to.slice(toStart);\n }\n },\n\n _makeLong: function _makeLong(path) {\n return path;\n },\n\n dirname: function dirname(path) {\n assertPath(path);\n if (path.length === 0) return '.';\n var code = path.charCodeAt(0);\n var hasRoot = code === 47 /*/*/;\n var end = -1;\n var matchedSlash = true;\n for (var i = path.length - 1; i >= 1; --i) {\n code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n if (!matchedSlash) {\n end = i;\n break;\n }\n } else {\n // We saw the first non-path separator\n matchedSlash = false;\n }\n }\n\n if (end === -1) return hasRoot ? '/' : '.';\n if (hasRoot && end === 1) return '//';\n return path.slice(0, end);\n },\n\n basename: function basename(path, ext) {\n if (ext !== undefined && typeof ext !== 'string') throw new TypeError('\"ext\" argument must be a string');\n assertPath(path);\n\n var start = 0;\n var end = -1;\n var matchedSlash = true;\n var i;\n\n if (ext !== undefined && ext.length > 0 && ext.length <= path.length) {\n if (ext.length === path.length && ext === path) return '';\n var extIdx = ext.length - 1;\n var firstNonSlashEnd = -1;\n for (i = path.length - 1; i >= 0; --i) {\n var code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else {\n if (firstNonSlashEnd === -1) {\n // We saw the first non-path separator, remember this index in case\n // we need it if the extension ends up not matching\n matchedSlash = false;\n firstNonSlashEnd = i + 1;\n }\n if (extIdx >= 0) {\n // Try to match the explicit extension\n if (code === ext.charCodeAt(extIdx)) {\n if (--extIdx === -1) {\n // We matched the extension, so mark this as the end of our path\n // component\n end = i;\n }\n } else {\n // Extension does not match, so our result is the entire path\n // component\n extIdx = -1;\n end = firstNonSlashEnd;\n }\n }\n }\n }\n\n if (start === end) end = firstNonSlashEnd;else if (end === -1) end = path.length;\n return path.slice(start, end);\n } else {\n for (i = path.length - 1; i >= 0; --i) {\n if (path.charCodeAt(i) === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // path component\n matchedSlash = false;\n end = i + 1;\n }\n }\n\n if (end === -1) return '';\n return path.slice(start, end);\n }\n },\n\n extname: function extname(path) {\n assertPath(path);\n var startDot = -1;\n var startPart = 0;\n var end = -1;\n var matchedSlash = true;\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n var preDotState = 0;\n for (var i = path.length - 1; i >= 0; --i) {\n var code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n if (code === 46 /*.*/) {\n // If this is our first dot, mark it as the start of our extension\n if (startDot === -1)\n startDot = i;\n else if (preDotState !== 1)\n preDotState = 1;\n } else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n\n if (startDot === -1 || end === -1 ||\n // We saw a non-dot character immediately before the dot\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly '..'\n preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {\n return '';\n }\n return path.slice(startDot, end);\n },\n\n format: function format(pathObject) {\n if (pathObject === null || typeof pathObject !== 'object') {\n throw new TypeError('The \"pathObject\" argument must be of type Object. Received type ' + typeof pathObject);\n }\n return _format('/', pathObject);\n },\n\n parse: function parse(path) {\n assertPath(path);\n\n var ret = { root: '', dir: '', base: '', ext: '', name: '' };\n if (path.length === 0) return ret;\n var code = path.charCodeAt(0);\n var isAbsolute = code === 47 /*/*/;\n var start;\n if (isAbsolute) {\n ret.root = '/';\n start = 1;\n } else {\n start = 0;\n }\n var startDot = -1;\n var startPart = 0;\n var end = -1;\n var matchedSlash = true;\n var i = path.length - 1;\n\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n var preDotState = 0;\n\n // Get non-dir info\n for (; i >= start; --i) {\n code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n if (code === 46 /*.*/) {\n // If this is our first dot, mark it as the start of our extension\n if (startDot === -1) startDot = i;else if (preDotState !== 1) preDotState = 1;\n } else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n\n if (startDot === -1 || end === -1 ||\n // We saw a non-dot character immediately before the dot\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly '..'\n preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {\n if (end !== -1) {\n if (startPart === 0 && isAbsolute) ret.base = ret.name = path.slice(1, end);else ret.base = ret.name = path.slice(startPart, end);\n }\n } else {\n if (startPart === 0 && isAbsolute) {\n ret.name = path.slice(1, startDot);\n ret.base = path.slice(1, end);\n } else {\n ret.name = path.slice(startPart, startDot);\n ret.base = path.slice(startPart, end);\n }\n ret.ext = path.slice(startDot, end);\n }\n\n if (startPart > 0) ret.dir = path.slice(0, startPart - 1);else if (isAbsolute) ret.dir = '/';\n\n return ret;\n },\n\n sep: '/',\n delimiter: ':',\n win32: null,\n posix: null\n};\n\nposix.posix = posix;\n\nmodule.exports = posix;\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nexport const agent = undefined;\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport { getLocation, JSONPath, parse, visit, Location } from 'jsonc-parser';\nimport * as vscode from 'vscode';\nimport { SettingsDocument } from './settingsDocumentHelper';\nimport { provideInstalledExtensionProposals } from './extensionsProposals';\nimport './importExportProfiles';\n\nexport function activate(context: vscode.ExtensionContext): void {\n\t//settings.json suggestions\n\tcontext.subscriptions.push(registerSettingsCompletions());\n\n\t//extensions suggestions\n\tcontext.subscriptions.push(...registerExtensionsCompletions());\n\n\t// launch.json variable suggestions\n\tcontext.subscriptions.push(registerVariableCompletions('**/launch.json'));\n\n\t// task.json variable suggestions\n\tcontext.subscriptions.push(registerVariableCompletions('**/tasks.json'));\n\n\t// Workspace file launch/tasks variable completions\n\tcontext.subscriptions.push(registerVariableCompletions('**/*.code-workspace'));\n\n\t// keybindings.json/package.json context key suggestions\n\tcontext.subscriptions.push(registerContextKeyCompletions());\n}\n\nfunction registerSettingsCompletions(): vscode.Disposable {\n\treturn vscode.languages.registerCompletionItemProvider({ language: 'jsonc', pattern: '**/settings.json' }, {\n\t\tprovideCompletionItems(document, position, token) {\n\t\t\treturn new SettingsDocument(document).provideCompletionItems(position, token);\n\t\t}\n\t});\n}\n\nfunction registerVariableCompletions(pattern: string): vscode.Disposable {\n\treturn vscode.languages.registerCompletionItemProvider({ language: 'jsonc', pattern }, {\n\t\tprovideCompletionItems(document, position, _token) {\n\t\t\tconst location = getLocation(document.getText(), document.offsetAt(position));\n\t\t\tif (isCompletingInsidePropertyStringValue(document, location, position)) {\n\t\t\t\tif (document.fileName.endsWith('.code-workspace') && !isLocationInsideTopLevelProperty(location, ['launch', 'tasks'])) {\n\t\t\t\t\treturn [];\n\t\t\t\t}\n\n\t\t\t\tlet range = document.getWordRangeAtPosition(position, /\\$\\{[^\"\\}]*\\}?/);\n\t\t\t\tif (!range || range.start.isEqual(position) || range.end.isEqual(position) && document.getText(range).endsWith('}')) {\n\t\t\t\t\trange = new vscode.Range(position, position);\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t{ label: 'workspaceFolder', detail: vscode.l10n.t(\"The path of the folder opened in VS Code\") },\n\t\t\t\t\t{ label: 'workspaceFolderBasename', detail: vscode.l10n.t(\"The name of the folder opened in VS Code without any slashes (/)\") },\n\t\t\t\t\t{ label: 'fileWorkspaceFolderBasename', detail: vscode.l10n.t(\"The current opened file workspace folder name without any slashes (/)\") },\n\t\t\t\t\t{ label: 'relativeFile', detail: vscode.l10n.t(\"The current opened file relative to ${workspaceFolder}\") },\n\t\t\t\t\t{ label: 'relativeFileDirname', detail: vscode.l10n.t(\"The current opened file's dirname relative to ${workspaceFolder}\") },\n\t\t\t\t\t{ label: 'file', detail: vscode.l10n.t(\"The current opened file\") },\n\t\t\t\t\t{ label: 'cwd', detail: vscode.l10n.t(\"The task runner's current working directory on startup\") },\n\t\t\t\t\t{ label: 'lineNumber', detail: vscode.l10n.t(\"The current selected line number in the active file\") },\n\t\t\t\t\t{ label: 'selectedText', detail: vscode.l10n.t(\"The current selected text in the active file\") },\n\t\t\t\t\t{ label: 'fileDirname', detail: vscode.l10n.t(\"The current opened file's dirname\") },\n\t\t\t\t\t{ label: 'fileExtname', detail: vscode.l10n.t(\"The current opened file's extension\") },\n\t\t\t\t\t{ label: 'fileBasename', detail: vscode.l10n.t(\"The current opened file's basename\") },\n\t\t\t\t\t{ label: 'fileBasenameNoExtension', detail: vscode.l10n.t(\"The current opened file's basename with no file extension\") },\n\t\t\t\t\t{ label: 'defaultBuildTask', detail: vscode.l10n.t(\"The name of the default build task. If there is not a single default build task then a quick pick is shown to choose the build task.\") },\n\t\t\t\t\t{ label: 'pathSeparator', detail: vscode.l10n.t(\"The character used by the operating system to separate components in file paths. Is also aliased to '/'.\") },\n\t\t\t\t\t{ label: 'extensionInstallFolder', detail: vscode.l10n.t(\"The path where an extension is installed.\"), param: 'publisher.extension' },\n\t\t\t\t].map(variable => ({\n\t\t\t\t\tlabel: `\\${${variable.label}}`,\n\t\t\t\t\trange,\n\t\t\t\t\tinsertText: variable.param ? new vscode.SnippetString(`\\${${variable.label}:`).appendPlaceholder(variable.param).appendText('}') : (`\\${${variable.label}}`),\n\t\t\t\t\tdetail: variable.detail\n\t\t\t\t}));\n\t\t\t}\n\n\t\t\treturn [];\n\t\t}\n\t});\n}\n\nfunction isCompletingInsidePropertyStringValue(document: vscode.TextDocument, location: Location, pos: vscode.Position) {\n\tif (location.isAtPropertyKey) {\n\t\treturn false;\n\t}\n\tconst previousNode = location.previousNode;\n\tif (previousNode && previousNode.type === 'string') {\n\t\tconst offset = document.offsetAt(pos);\n\t\treturn offset > previousNode.offset && offset < previousNode.offset + previousNode.length;\n\t}\n\treturn false;\n}\n\nfunction isLocationInsideTopLevelProperty(location: Location, values: string[]) {\n\treturn values.includes(location.path[0] as string);\n}\n\ninterface IExtensionsContent {\n\trecommendations: string[];\n}\n\nfunction registerExtensionsCompletions(): vscode.Disposable[] {\n\treturn [registerExtensionsCompletionsInExtensionsDocument(), registerExtensionsCompletionsInWorkspaceConfigurationDocument()];\n}\n\nfunction registerExtensionsCompletionsInExtensionsDocument(): vscode.Disposable {\n\treturn vscode.languages.registerCompletionItemProvider({ pattern: '**/extensions.json' }, {\n\t\tprovideCompletionItems(document, position, _token) {\n\t\t\tconst location = getLocation(document.getText(), document.offsetAt(position));\n\t\t\tif (location.path[0] === 'recommendations') {\n\t\t\t\tconst range = getReplaceRange(document, location, position);\n\t\t\t\tconst extensionsContent = <IExtensionsContent>parse(document.getText());\n\t\t\t\treturn provideInstalledExtensionProposals(extensionsContent && extensionsContent.recommendations || [], '', range, false);\n\t\t\t}\n\t\t\treturn [];\n\t\t}\n\t});\n}\n\nfunction registerExtensionsCompletionsInWorkspaceConfigurationDocument(): vscode.Disposable {\n\treturn vscode.languages.registerCompletionItemProvider({ pattern: '**/*.code-workspace' }, {\n\t\tprovideCompletionItems(document, position, _token) {\n\t\t\tconst location = getLocation(document.getText(), document.offsetAt(position));\n\t\t\tif (location.path[0] === 'extensions' && location.path[1] === 'recommendations') {\n\t\t\t\tconst range = getReplaceRange(document, location, position);\n\t\t\t\tconst extensionsContent = <IExtensionsContent>parse(document.getText())['extensions'];\n\t\t\t\treturn provideInstalledExtensionProposals(extensionsContent && extensionsContent.recommendations || [], '', range, false);\n\t\t\t}\n\t\t\treturn [];\n\t\t}\n\t});\n}\n\nfunction getReplaceRange(document: vscode.TextDocument, location: Location, position: vscode.Position) {\n\tconst node = location.previousNode;\n\tif (node) {\n\t\tconst nodeStart = document.positionAt(node.offset), nodeEnd = document.positionAt(node.offset + node.length);\n\t\tif (nodeStart.isBeforeOrEqual(position) && nodeEnd.isAfterOrEqual(position)) {\n\t\t\treturn new vscode.Range(nodeStart, nodeEnd);\n\t\t}\n\t}\n\treturn new vscode.Range(position, position);\n}\n\nvscode.languages.registerDocumentSymbolProvider({ pattern: '**/launch.json', language: 'jsonc' }, {\n\tprovideDocumentSymbols(document: vscode.TextDocument, _token: vscode.CancellationToken): vscode.ProviderResult<vscode.SymbolInformation[]> {\n\t\tconst result: vscode.SymbolInformation[] = [];\n\t\tlet name: string = '';\n\t\tlet lastProperty = '';\n\t\tlet startOffset = 0;\n\t\tlet depthInObjects = 0;\n\n\t\tvisit(document.getText(), {\n\t\t\tonObjectProperty: (property, _offset, _length) => {\n\t\t\t\tlastProperty = property;\n\t\t\t},\n\t\t\tonLiteralValue: (value: any, _offset: number, _length: number) => {\n\t\t\t\tif (lastProperty === 'name') {\n\t\t\t\t\tname = value;\n\t\t\t\t}\n\t\t\t},\n\t\t\tonObjectBegin: (offset: number, _length: number) => {\n\t\t\t\tdepthInObjects++;\n\t\t\t\tif (depthInObjects === 2) {\n\t\t\t\t\tstartOffset = offset;\n\t\t\t\t}\n\t\t\t},\n\t\t\tonObjectEnd: (offset: number, _length: number) => {\n\t\t\t\tif (name && depthInObjects === 2) {\n\t\t\t\t\tresult.push(new vscode.SymbolInformation(name, vscode.SymbolKind.Object, new vscode.Range(document.positionAt(startOffset), document.positionAt(offset))));\n\t\t\t\t}\n\t\t\t\tdepthInObjects--;\n\t\t\t},\n\t\t});\n\n\t\treturn result;\n\t}\n}, { label: 'Launch Targets' });\n\nfunction registerContextKeyCompletions(): vscode.Disposable {\n\ttype ContextKeyInfo = { key: string; type?: string; description?: string };\n\n\tconst paths = new Map<vscode.DocumentFilter, JSONPath[]>([\n\t\t[{ language: 'jsonc', pattern: '**/keybindings.json' }, [\n\t\t\t['*', 'when']\n\t\t]],\n\t\t[{ language: 'json', pattern: '**/package.json' }, [\n\t\t\t['contributes', 'menus', '*', '*', 'when'],\n\t\t\t['contributes', 'views', '*', '*', 'when'],\n\t\t\t['contributes', 'viewsWelcome', '*', 'when'],\n\t\t\t['contributes', 'keybindings', '*', 'when'],\n\t\t\t['contributes', 'keybindings', 'when'],\n\t\t]]\n\t]);\n\n\treturn vscode.languages.registerCompletionItemProvider(\n\t\t[...paths.keys()],\n\t\t{\n\t\t\tasync provideCompletionItems(document: vscode.TextDocument, position: vscode.Position, token: vscode.CancellationToken) {\n\n\t\t\t\tconst location = getLocation(document.getText(), document.offsetAt(position));\n\n\t\t\t\tif (location.isAtPropertyKey) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tlet isValidLocation = false;\n\t\t\t\tfor (const [key, value] of paths) {\n\t\t\t\t\tif (vscode.languages.match(key, document)) {\n\t\t\t\t\t\tif (value.some(location.matches.bind(location))) {\n\t\t\t\t\t\t\tisValidLocation = true;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (!isValidLocation || !isCompletingInsidePropertyStringValue(document, location, position)) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst replacing = document.getWordRangeAtPosition(position, /[a-zA-Z.]+/) || new vscode.Range(position, position);\n\t\t\t\tconst inserting = replacing.with(undefined, position);\n\n\t\t\t\tconst data = await vscode.commands.executeCommand<ContextKeyInfo[]>('getContextKeyInfo');\n\t\t\t\tif (token.isCancellationRequested || !data) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst result = new vscode.CompletionList();\n\t\t\t\tfor (const item of data) {\n\t\t\t\t\tconst completion = new vscode.CompletionItem(item.key, vscode.CompletionItemKind.Constant);\n\t\t\t\t\tcompletion.detail = item.type;\n\t\t\t\t\tcompletion.range = { replacing, inserting };\n\t\t\t\t\tcompletion.documentation = item.description;\n\t\t\t\t\tresult.items.push(completion);\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t}\n\t\t}\n\t);\n}\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport * as vscode from 'vscode';\n\n\nexport async function provideInstalledExtensionProposals(existing: string[], additionalText: string, range: vscode.Range, includeBuiltinExtensions: boolean): Promise<vscode.CompletionItem[] | vscode.CompletionList> {\n\tif (Array.isArray(existing)) {\n\t\tconst extensions = includeBuiltinExtensions ? vscode.extensions.all : vscode.extensions.all.filter(e => !(e.id.startsWith('vscode.') || e.id === 'Microsoft.vscode-markdown'));\n\t\tconst knownExtensionProposals = extensions.filter(e => existing.indexOf(e.id) === -1);\n\t\tif (knownExtensionProposals.length) {\n\t\t\treturn knownExtensionProposals.map(e => {\n\t\t\t\tconst item = new vscode.CompletionItem(e.id);\n\t\t\t\tconst insertText = `\"${e.id}\"${additionalText}`;\n\t\t\t\titem.kind = vscode.CompletionItemKind.Value;\n\t\t\t\titem.insertText = insertText;\n\t\t\t\titem.range = range;\n\t\t\t\titem.filterText = insertText;\n\t\t\t\treturn item;\n\t\t\t});\n\t\t} else {\n\t\t\tconst example = new vscode.CompletionItem(vscode.l10n.t(\"Example\"));\n\t\t\texample.insertText = '\"vscode.csharp\"';\n\t\t\texample.kind = vscode.CompletionItemKind.Value;\n\t\t\texample.range = range;\n\t\t\treturn [example];\n\t\t}\n\t}\n\treturn [];\n}\n\nexport async function provideWorkspaceTrustExtensionProposals(existing: string[], range: vscode.Range): Promise<vscode.CompletionItem[] | vscode.CompletionList> {\n\tif (Array.isArray(existing)) {\n\t\tconst extensions = vscode.extensions.all.filter(e => e.packageJSON.main);\n\t\tconst extensionProposals = extensions.filter(e => existing.indexOf(e.id) === -1);\n\t\tif (extensionProposals.length) {\n\t\t\treturn extensionProposals.map(e => {\n\t\t\t\tconst item = new vscode.CompletionItem(e.id);\n\t\t\t\tconst insertText = `\"${e.id}\": {\\n\\t\"supported\": false,\\n\\t\"version\": \"${e.packageJSON.version}\"\\n}`;\n\t\t\t\titem.kind = vscode.CompletionItemKind.Value;\n\t\t\t\titem.insertText = insertText;\n\t\t\t\titem.range = range;\n\t\t\t\titem.filterText = insertText;\n\t\t\t\treturn item;\n\t\t\t});\n\t\t} else {\n\t\t\tconst example = new vscode.CompletionItem(vscode.l10n.t(\"Example\"));\n\t\t\texample.insertText = '\"vscode.csharp: {\\n\\t\"supported\": false,\\n\\t\"version\": \"0.0.0\"\\n}`;\"';\n\t\t\texample.kind = vscode.CompletionItemKind.Value;\n\t\t\texample.range = range;\n\t\t\treturn [example];\n\t\t}\n\t}\n\n\treturn [];\n}\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport { Octokit } from '@octokit/rest';\nimport * as vscode from 'vscode';\nimport { basename } from 'path';\nimport { agent } from './node/net';\n\nclass GitHubGistProfileContentHandler implements vscode.ProfileContentHandler {\n\n\treadonly name = vscode.l10n.t('GitHub');\n\treadonly description = vscode.l10n.t('gist');\n\n\tprivate _octokit: Promise<Octokit> | undefined;\n\tprivate getOctokit(): Promise<Octokit> {\n\t\tif (!this._octokit) {\n\t\t\tthis._octokit = (async () => {\n\t\t\t\tconst session = await vscode.authentication.getSession('github', ['gist', 'user:email'], { createIfNone: true });\n\t\t\t\tconst token = session.accessToken;\n\n\t\t\t\tconst { Octokit } = await import('@octokit/rest');\n\n\t\t\t\treturn new Octokit({\n\t\t\t\t\trequest: { agent },\n\t\t\t\t\tuserAgent: 'GitHub VSCode',\n\t\t\t\t\tauth: `token ${token}`\n\t\t\t\t});\n\t\t\t})();\n\t\t}\n\t\treturn this._octokit;\n\t}\n\n\tasync saveProfile(name: string, content: string): Promise<{ readonly id: string; readonly link: vscode.Uri } | null> {\n\t\tconst octokit = await this.getOctokit();\n\t\tconst result = await octokit.gists.create({\n\t\t\tpublic: false,\n\t\t\tfiles: {\n\t\t\t\t[name]: {\n\t\t\t\t\tcontent\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\tif (result.data.id && result.data.html_url) {\n\t\t\tconst link = vscode.Uri.parse(result.data.html_url);\n\t\t\treturn { id: result.data.id, link };\n\t\t}\n\t\treturn null;\n\t}\n\n\tprivate _public_octokit: Promise<Octokit> | undefined;\n\tprivate getPublicOctokit(): Promise<Octokit> {\n\t\tif (!this._public_octokit) {\n\t\t\tthis._public_octokit = (async () => {\n\t\t\t\tconst { Octokit } = await import('@octokit/rest');\n\t\t\t\treturn new Octokit({ request: { agent }, userAgent: 'GitHub VSCode' });\n\t\t\t})();\n\t\t}\n\t\treturn this._public_octokit;\n\t}\n\n\tasync readProfile(id: string): Promise<string | null>;\n\tasync readProfile(uri: vscode.Uri): Promise<string | null>;\n\tasync readProfile(arg: string | vscode.Uri): Promise<string | null> {\n\t\tconst gist_id = typeof arg === 'string' ? arg : basename(arg.path);\n\t\tconst octokit = await this.getPublicOctokit();\n\t\ttry {\n\t\t\tconst gist = await octokit.gists.get({ gist_id });\n\t\t\tif (gist.data.files) {\n\t\t\t\treturn gist.data.files[Object.keys(gist.data.files)[0]]?.content ?? null;\n\t\t\t}\n\t\t} catch (error) {\n\t\t\t// ignore\n\t\t}\n\t\treturn null;\n\t}\n\n}\n\nvscode.window.registerProfileContentHandler('github', new GitHubGistProfileContentHandler());\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport * as vscode from 'vscode';\nimport { getLocation, Location, parse } from 'jsonc-parser';\nimport { provideInstalledExtensionProposals } from './extensionsProposals';\n\nconst OVERRIDE_IDENTIFIER_REGEX = /\\[([^\\[\\]]*)\\]/g;\n\nexport class SettingsDocument {\n\n\tconstructor(private document: vscode.TextDocument) { }\n\n\tpublic async provideCompletionItems(position: vscode.Position, _token: vscode.CancellationToken): Promise<vscode.CompletionItem[] | vscode.CompletionList> {\n\t\tconst location = getLocation(this.document.getText(), this.document.offsetAt(position));\n\n\t\t// window.title\n\t\tif (location.path[0] === 'window.title') {\n\t\t\treturn this.provideWindowTitleCompletionItems(location, position);\n\t\t}\n\n\t\t// files.association\n\t\tif (location.path[0] === 'files.associations') {\n\t\t\treturn this.provideFilesAssociationsCompletionItems(location, position);\n\t\t}\n\n\t\t// files.exclude, search.exclude, explorer.autoRevealExclude\n\t\tif (location.path[0] === 'files.exclude' || location.path[0] === 'search.exclude' || location.path[0] === 'explorer.autoRevealExclude') {\n\t\t\treturn this.provideExcludeCompletionItems(location, position);\n\t\t}\n\n\t\t// files.defaultLanguage\n\t\tif (location.path[0] === 'files.defaultLanguage') {\n\t\t\treturn this.provideLanguageCompletionItems(location, position);\n\t\t}\n\n\t\t// workbench.editor.label\n\t\tif (location.path[0] === 'workbench.editor.label.patterns') {\n\t\t\treturn this.provideEditorLabelCompletionItems(location, position);\n\t\t}\n\n\t\t// settingsSync.ignoredExtensions\n\t\tif (location.path[0] === 'settingsSync.ignoredExtensions') {\n\t\t\tlet ignoredExtensions = [];\n\t\t\ttry {\n\t\t\t\tignoredExtensions = parse(this.document.getText())['settingsSync.ignoredExtensions'];\n\t\t\t} catch (e) {/* ignore error */ }\n\t\t\tconst range = this.getReplaceRange(location, position);\n\t\t\treturn provideInstalledExtensionProposals(ignoredExtensions, '', range, true);\n\t\t}\n\n\t\t// remote.extensionKind\n\t\tif (location.path[0] === 'remote.extensionKind' && location.path.length === 2 && location.isAtPropertyKey) {\n\t\t\tlet alreadyConfigured: string[] = [];\n\t\t\ttry {\n\t\t\t\talreadyConfigured = Object.keys(parse(this.document.getText())['remote.extensionKind']);\n\t\t\t} catch (e) {/* ignore error */ }\n\t\t\tconst range = this.getReplaceRange(location, position);\n\t\t\treturn provideInstalledExtensionProposals(alreadyConfigured, location.previousNode ? '' : `: [\\n\\t\"ui\"\\n]`, range, true);\n\t\t}\n\n\t\t// remote.portsAttributes\n\t\tif (location.path[0] === 'remote.portsAttributes' && location.path.length === 2 && location.isAtPropertyKey) {\n\t\t\treturn this.providePortsAttributesCompletionItem(this.getReplaceRange(location, position));\n\t\t}\n\n\t\treturn this.provideLanguageOverridesCompletionItems(location, position);\n\t}\n\n\tprivate getReplaceRange(location: Location, position: vscode.Position) {\n\t\tconst node = location.previousNode;\n\t\tif (node) {\n\t\t\tconst nodeStart = this.document.positionAt(node.offset), nodeEnd = this.document.positionAt(node.offset + node.length);\n\t\t\tif (nodeStart.isBeforeOrEqual(position) && nodeEnd.isAfterOrEqual(position)) {\n\t\t\t\treturn new vscode.Range(nodeStart, nodeEnd);\n\t\t\t}\n\t\t}\n\t\treturn new vscode.Range(position, position);\n\t}\n\n\tprivate isCompletingPropertyValue(location: Location, pos: vscode.Position) {\n\t\tif (location.isAtPropertyKey) {\n\t\t\treturn false;\n\t\t}\n\t\tconst previousNode = location.previousNode;\n\t\tif (previousNode) {\n\t\t\tconst offset = this.document.offsetAt(pos);\n\t\t\treturn offset >= previousNode.offset && offset <= previousNode.offset + previousNode.length;\n\t\t}\n\t\treturn true;\n\t}\n\n\tprivate async provideWindowTitleCompletionItems(location: Location, pos: vscode.Position): Promise<vscode.CompletionItem[]> {\n\t\tconst completions: vscode.CompletionItem[] = [];\n\n\t\tif (!this.isCompletingPropertyValue(location, pos)) {\n\t\t\treturn completions;\n\t\t}\n\n\t\tlet range = this.document.getWordRangeAtPosition(pos, /\\$\\{[^\"\\}]*\\}?/);\n\t\tif (!range || range.start.isEqual(pos) || range.end.isEqual(pos) && this.document.getText(range).endsWith('}')) {\n\t\t\trange = new vscode.Range(pos, pos);\n\t\t}\n\n\t\tconst getText = (variable: string) => {\n\t\t\tconst text = '${' + variable + '}';\n\t\t\treturn location.previousNode ? text : JSON.stringify(text);\n\t\t};\n\n\n\t\tcompletions.push(this.newSimpleCompletionItem(getText('activeEditorShort'), range, vscode.l10n.t(\"the file name (e.g. myFile.txt)\")));\n\t\tcompletions.push(this.newSimpleCompletionItem(getText('activeEditorMedium'), range, vscode.l10n.t(\"the path of the file relative to the workspace folder (e.g. myFolder/myFileFolder/myFile.txt)\")));\n\t\tcompletions.push(this.newSimpleCompletionItem(getText('activeEditorLong'), range, vscode.l10n.t(\"the full path of the file (e.g. /Users/Development/myFolder/myFileFolder/myFile.txt)\")));\n\t\tcompletions.push(this.newSimpleCompletionItem(getText('activeFolderShort'), range, vscode.l10n.t(\"the name of the folder the file is contained in (e.g. myFileFolder)\")));\n\t\tcompletions.push(this.newSimpleCompletionItem(getText('activeFolderMedium'), range, vscode.l10n.t(\"the path of the folder the file is contained in, relative to the workspace folder (e.g. myFolder/myFileFolder)\")));\n\t\tcompletions.push(this.newSimpleCompletionItem(getText('activeFolderLong'), range, vscode.l10n.t(\"the full path of the folder the file is contained in (e.g. /Users/Development/myFolder/myFileFolder)\")));\n\t\tcompletions.push(this.newSimpleCompletionItem(getText('rootName'), range, vscode.l10n.t(\"name of the workspace with optional remote name and workspace indicator if applicable (e.g. myFolder, myRemoteFolder [SSH] or myWorkspace (Workspace))\")));\n\t\tcompletions.push(this.newSimpleCompletionItem(getText('rootNameShort'), range, vscode.l10n.t(\"shortened name of the workspace without suffixes (e.g. myFolder or myWorkspace)\")));\n\t\tcompletions.push(this.newSimpleCompletionItem(getText('rootPath'), range, vscode.l10n.t(\"file path of the workspace (e.g. /Users/Development/myWorkspace)\")));\n\t\tcompletions.push(this.newSimpleCompletionItem(getText('folderName'), range, vscode.l10n.t(\"name of the workspace folder the file is contained in (e.g. myFolder)\")));\n\t\tcompletions.push(this.newSimpleCompletionItem(getText('folderPath'), range, vscode.l10n.t(\"file path of the workspace folder the file is contained in (e.g. /Users/Development/myFolder)\")));\n\t\tcompletions.push(this.newSimpleCompletionItem(getText('appName'), range, vscode.l10n.t(\"e.g. VS Code\")));\n\t\tcompletions.push(this.newSimpleCompletionItem(getText('remoteName'), range, vscode.l10n.t(\"e.g. SSH\")));\n\t\tcompletions.push(this.newSimpleCompletionItem(getText('dirty'), range, vscode.l10n.t(\"an indicator for when the active editor has unsaved changes\")));\n\t\tcompletions.push(this.newSimpleCompletionItem(getText('separator'), range, vscode.l10n.t(\"a conditional separator (' - ') that only shows when surrounded by variables with values\")));\n\t\tcompletions.push(this.newSimpleCompletionItem(getText('activeRepositoryName'), range, vscode.l10n.t(\"the name of the active repository (e.g. vscode)\")));\n\t\tcompletions.push(this.newSimpleCompletionItem(getText('activeRepositoryBranchName'), range, vscode.l10n.t(\"the name of the active branch in the active repository (e.g. main)\")));\n\n\t\treturn completions;\n\t}\n\n\tprivate async provideEditorLabelCompletionItems(location: Location, pos: vscode.Position): Promise<vscode.CompletionItem[]> {\n\t\tconst completions: vscode.CompletionItem[] = [];\n\n\t\tif (!this.isCompletingPropertyValue(location, pos)) {\n\t\t\treturn completions;\n\t\t}\n\n\t\tlet range = this.document.getWordRangeAtPosition(pos, /\\$\\{[^\"\\}]*\\}?/);\n\t\tif (!range || range.start.isEqual(pos) || range.end.isEqual(pos) && this.document.getText(range).endsWith('}')) {\n\t\t\trange = new vscode.Range(pos, pos);\n\t\t}\n\n\t\tconst getText = (variable: string) => {\n\t\t\tconst text = '${' + variable + '}';\n\t\t\treturn location.previousNode ? text : JSON.stringify(text);\n\t\t};\n\n\n\t\tcompletions.push(this.newSimpleCompletionItem(getText('dirname'), range, vscode.l10n.t(\"The parent folder name of the editor (e.g. myFileFolder)\")));\n\t\tcompletions.push(this.newSimpleCompletionItem(getText('dirname(1)'), range, vscode.l10n.t(\"The nth parent folder name of the editor\")));\n\t\tcompletions.push(this.newSimpleCompletionItem(getText('filename'), range, vscode.l10n.t(\"The file name of the editor without its directory or extension (e.g. myFile)\")));\n\t\tcompletions.push(this.newSimpleCompletionItem(getText('extname'), range, vscode.l10n.t(\"The file extension of the editor (e.g. txt)\")));\n\t\treturn completions;\n\t}\n\n\tprivate async provideFilesAssociationsCompletionItems(location: Location, position: vscode.Position): Promise<vscode.CompletionItem[]> {\n\t\tconst completions: vscode.CompletionItem[] = [];\n\n\t\tif (location.path.length === 2) {\n\t\t\t// Key\n\t\t\tif (location.path[1] === '') {\n\t\t\t\tconst range = this.getReplaceRange(location, position);\n\n\t\t\t\tcompletions.push(this.newSnippetCompletionItem({\n\t\t\t\t\tlabel: vscode.l10n.t(\"Files with Extension\"),\n\t\t\t\t\tdocumentation: vscode.l10n.t(\"Map all files matching the glob pattern in their filename to the language with the given identifier.\"),\n\t\t\t\t\tsnippet: location.isAtPropertyKey ? '\"*.${1:extension}\": \"${2:language}\"' : '{ \"*.${1:extension}\": \"${2:language}\" }',\n\t\t\t\t\trange\n\t\t\t\t}));\n\n\t\t\t\tcompletions.push(this.newSnippetCompletionItem({\n\t\t\t\t\tlabel: vscode.l10n.t(\"Files with Path\"),\n\t\t\t\t\tdocumentation: vscode.l10n.t(\"Map all files matching the absolute path glob pattern in their path to the language with the given identifier.\"),\n\t\t\t\t\tsnippet: location.isAtPropertyKey ? '\"/${1:path to file}/*.${2:extension}\": \"${3:language}\"' : '{ \"/${1:path to file}/*.${2:extension}\": \"${3:language}\" }',\n\t\t\t\t\trange\n\t\t\t\t}));\n\t\t\t} else if (this.isCompletingPropertyValue(location, position)) {\n\t\t\t\t// Value\n\t\t\t\treturn this.provideLanguageCompletionItemsForLanguageOverrides(this.getReplaceRange(location, position));\n\t\t\t}\n\t\t}\n\n\t\treturn completions;\n\t}\n\n\tprivate async provideExcludeCompletionItems(location: Location, position: vscode.Position): Promise<vscode.CompletionItem[]> {\n\t\tconst completions: vscode.CompletionItem[] = [];\n\n\t\t// Key\n\t\tif (location.path.length === 1 || (location.path.length === 2 && location.path[1] === '')) {\n\t\t\tconst range = this.getReplaceRange(location, position);\n\n\t\t\tcompletions.push(this.newSnippetCompletionItem({\n\t\t\t\tlabel: vscode.l10n.t(\"Files by Extension\"),\n\t\t\t\tdocumentation: vscode.l10n.t(\"Match all files of a specific file extension.\"),\n\t\t\t\tsnippet: location.path.length === 2 ? '\"**/*.${1:extension}\": true' : '{ \"**/*.${1:extension}\": true }',\n\t\t\t\trange\n\t\t\t}));\n\n\t\t\tcompletions.push(this.newSnippetCompletionItem({\n\t\t\t\tlabel: vscode.l10n.t(\"Files with Multiple Extensions\"),\n\t\t\t\tdocumentation: vscode.l10n.t(\"Match all files with any of the file extensions.\"),\n\t\t\t\tsnippet: location.path.length === 2 ? '\"**/*.{ext1,ext2,ext3}\": true' : '{ \"**/*.{ext1,ext2,ext3}\": true }',\n\t\t\t\trange\n\t\t\t}));\n\n\t\t\tcompletions.push(this.newSnippetCompletionItem({\n\t\t\t\tlabel: vscode.l10n.t(\"Files with Siblings by Name\"),\n\t\t\t\tdocumentation: vscode.l10n.t(\"Match files that have siblings with the same name but a different extension.\"),\n\t\t\t\tsnippet: location.path.length === 2 ? '\"**/*.${1:source-extension}\": { \"when\": \"$(basename).${2:target-extension}\" }' : '{ \"**/*.${1:source-extension}\": { \"when\": \"$(basename).${2:target-extension}\" } }',\n\t\t\t\trange\n\t\t\t}));\n\n\t\t\tcompletions.push(this.newSnippetCompletionItem({\n\t\t\t\tlabel: vscode.l10n.t(\"Folder by Name (Top Level)\"),\n\t\t\t\tdocumentation: vscode.l10n.t(\"Match a top level folder with a specific name.\"),\n\t\t\t\tsnippet: location.path.length === 2 ? '\"${1:name}\": true' : '{ \"${1:name}\": true }',\n\t\t\t\trange\n\t\t\t}));\n\n\t\t\tcompletions.push(this.newSnippetCompletionItem({\n\t\t\t\tlabel: vscode.l10n.t(\"Folders with Multiple Names (Top Level)\"),\n\t\t\t\tdocumentation: vscode.l10n.t(\"Match multiple top level folders.\"),\n\t\t\t\tsnippet: location.path.length === 2 ? '\"{folder1,folder2,folder3}\": true' : '{ \"{folder1,folder2,folder3}\": true }',\n\t\t\t\trange\n\t\t\t}));\n\n\t\t\tcompletions.push(this.newSnippetCompletionItem({\n\t\t\t\tlabel: vscode.l10n.t(\"Folder by Name (Any Location)\"),\n\t\t\t\tdocumentation: vscode.l10n.t(\"Match a folder with a specific name in any location.\"),\n\t\t\t\tsnippet: location.path.length === 2 ? '\"**/${1:name}\": true' : '{ \"**/${1:name}\": true }',\n\t\t\t\trange\n\t\t\t}));\n\t\t}\n\n\t\t// Value\n\t\telse if (location.path.length === 2 && this.isCompletingPropertyValue(location, position)) {\n\t\t\tconst range = this.getReplaceRange(location, position);\n\t\t\tcompletions.push(this.newSnippetCompletionItem({\n\t\t\t\tlabel: vscode.l10n.t(\"Files with Siblings by Name\"),\n\t\t\t\tdocumentation: vscode.l10n.t(\"Match files that have siblings with the same name but a different extension.\"),\n\t\t\t\tsnippet: '{ \"when\": \"$(basename).${1:extension}\" }',\n\t\t\t\trange\n\t\t\t}));\n\t\t}\n\n\t\treturn completions;\n\t}\n\n\tprivate async provideLanguageCompletionItems(location: Location, position: vscode.Position): Promise<vscode.CompletionItem[]> {\n\t\tif (location.path.length === 1 && this.isCompletingPropertyValue(location, position)) {\n\t\t\tconst range = this.getReplaceRange(location, position);\n\t\t\tconst languages = await vscode.languages.getLanguages();\n\t\t\treturn [\n\t\t\t\tthis.newSimpleCompletionItem(JSON.stringify('${activeEditorLanguage}'), range, vscode.l10n.t(\"Use the language of the currently active text editor if any\")),\n\t\t\t\t...languages.map(l => this.newSimpleCompletionItem(JSON.stringify(l), range))\n\t\t\t];\n\t\t}\n\t\treturn [];\n\t}\n\n\tprivate async provideLanguageCompletionItemsForLanguageOverrides(range: vscode.Range): Promise<vscode.CompletionItem[]> {\n\t\tconst languages = await vscode.languages.getLanguages();\n\t\tconst completionItems = [];\n\t\tfor (const language of languages) {\n\t\t\tconst item = new vscode.CompletionItem(JSON.stringify(language));\n\t\t\titem.kind = vscode.CompletionItemKind.Property;\n\t\t\titem.range = range;\n\t\t\tcompletionItems.push(item);\n\t\t}\n\t\treturn completionItems;\n\t}\n\n\tprivate async provideLanguageOverridesCompletionItems(location: Location, position: vscode.Position): Promise<vscode.CompletionItem[]> {\n\t\tif (location.path.length === 1 && location.isAtPropertyKey && location.previousNode && typeof location.previousNode.value === 'string' && location.previousNode.value.startsWith('[')) {\n\t\t\tconst startPosition = this.document.positionAt(location.previousNode.offset + 1);\n\t\t\tconst endPosition = startPosition.translate(undefined, location.previousNode.value.length);\n\t\t\tconst donotSuggestLanguages: string[] = [];\n\t\t\tconst languageOverridesRanges: vscode.Range[] = [];\n\t\t\tlet matches = OVERRIDE_IDENTIFIER_REGEX.exec(location.previousNode.value);\n\t\t\tlet lastLanguageOverrideRange: vscode.Range | undefined;\n\t\t\twhile (matches?.length) {\n\t\t\t\tlastLanguageOverrideRange = new vscode.Range(this.document.positionAt(location.previousNode.offset + 1 + matches.index), this.document.positionAt(location.previousNode.offset + 1 + matches.index + matches[0].length));\n\t\t\t\tlanguageOverridesRanges.push(lastLanguageOverrideRange);\n\t\t\t\t/* Suggest the configured language if the position is in the match range */\n\t\t\t\tif (!lastLanguageOverrideRange.contains(position)) {\n\t\t\t\t\tdonotSuggestLanguages.push(matches[1].trim());\n\t\t\t\t}\n\t\t\t\tmatches = OVERRIDE_IDENTIFIER_REGEX.exec(location.previousNode.value);\n\t\t\t}\n\t\t\tconst lastLanguageOverrideEndPosition = lastLanguageOverrideRange ? lastLanguageOverrideRange.end : startPosition;\n\t\t\tif (lastLanguageOverrideEndPosition.isBefore(endPosition)) {\n\t\t\t\tlanguageOverridesRanges.push(new vscode.Range(lastLanguageOverrideEndPosition, endPosition));\n\t\t\t}\n\t\t\tconst languageOverrideRange = languageOverridesRanges.find(range => range.contains(position));\n\n\t\t\t/**\n\t\t\t * Skip if suggestions are for first language override range\n\t\t\t * Since VSCode registers language overrides to the schema, JSON language server does suggestions for first language override.\n\t\t\t */\n\t\t\tif (languageOverrideRange && !languageOverrideRange.isEqual(languageOverridesRanges[0])) {\n\t\t\t\tconst languages = await vscode.languages.getLanguages();\n\t\t\t\tconst completionItems = [];\n\t\t\t\tfor (const language of languages) {\n\t\t\t\t\tif (!donotSuggestLanguages.includes(language)) {\n\t\t\t\t\t\tconst item = new vscode.CompletionItem(`[${language}]`);\n\t\t\t\t\t\titem.kind = vscode.CompletionItemKind.Property;\n\t\t\t\t\t\titem.range = languageOverrideRange;\n\t\t\t\t\t\tcompletionItems.push(item);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn completionItems;\n\t\t\t}\n\t\t}\n\t\treturn [];\n\t}\n\n\tprivate providePortsAttributesCompletionItem(range: vscode.Range): vscode.CompletionItem[] {\n\t\treturn [this.newSnippetCompletionItem(\n\t\t\t{\n\t\t\t\tlabel: '\\\"3000\\\"',\n\t\t\t\tdocumentation: 'Single Port Attribute',\n\t\t\t\trange,\n\t\t\t\tsnippet: '\\n \\\"${1:3000}\\\": {\\n \\\"label\\\": \\\"${2:Application}\\\",\\n \\\"onAutoForward\\\": \\\"${3:openPreview}\\\"\\n }\\n'\n\t\t\t}),\n\t\tthis.newSnippetCompletionItem(\n\t\t\t{\n\t\t\t\tlabel: '\\\"5000-6000\\\"',\n\t\t\t\tdocumentation: 'Ranged Port Attribute',\n\t\t\t\trange,\n\t\t\t\tsnippet: '\\n \\\"${1:40000-55000}\\\": {\\n \\\"onAutoForward\\\": \\\"${2:ignore}\\\"\\n }\\n'\n\t\t\t}),\n\t\tthis.newSnippetCompletionItem(\n\t\t\t{\n\t\t\t\tlabel: '\\\".+\\\\\\\\/server.js\\\"',\n\t\t\t\tdocumentation: 'Command Match Port Attribute',\n\t\t\t\trange,\n\t\t\t\tsnippet: '\\n \\\"${1:.+\\\\\\\\/server.js\\}\\\": {\\n \\\"label\\\": \\\"${2:Application}\\\",\\n \\\"onAutoForward\\\": \\\"${3:openPreview}\\\"\\n }\\n'\n\t\t\t})\n\t\t];\n\t}\n\n\tprivate newSimpleCompletionItem(text: string, range: vscode.Range, description?: string, insertText?: string): vscode.CompletionItem {\n\t\tconst item = new vscode.CompletionItem(text);\n\t\titem.kind = vscode.CompletionItemKind.Value;\n\t\titem.detail = description;\n\t\titem.insertText = insertText ? insertText : text;\n\t\titem.range = range;\n\t\treturn item;\n\t}\n\n\tprivate newSnippetCompletionItem(o: { label: string; documentation?: string; snippet: string; range: vscode.Range }): vscode.CompletionItem {\n\t\tconst item = new vscode.CompletionItem(o.label);\n\t\titem.kind = vscode.CompletionItemKind.Value;\n\t\titem.documentation = o.documentation;\n\t\titem.insertText = new vscode.SnippetString(o.snippet);\n\t\titem.range = o.range;\n\t\treturn item;\n\t}\n}\n","module.exports = require(\"vscode\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(670);\n"],"names":["getUserAgent","navigator","userAgent","process","version","substr","arch","isObject","o","Object","prototype","toString","call","isPlainObject","ctor","prot","undefined","constructor","hasOwnProperty","mergeDeep","defaults","options","result","assign","keys","forEach","key","removeUndefinedProperties","obj","merge","route","method","url","split","object","headers","reduce","newObj","toLowerCase","mergedOptions","mediaType","previews","length","filter","preview","includes","concat","map","replace","urlVariableRegex","removeNonChars","variableName","omit","keysToOmit","option","encodeReserved","str","part","test","encodeURI","join","encodeUnreserved","encodeURIComponent","c","charCodeAt","toUpperCase","encodeValue","operator","value","isDefined","isKeyOperator","expand","template","context","operators","_","expression","literal","values","indexOf","charAt","variable","tmp","exec","push","modifier","substring","parseInt","Array","isArray","value2","k","getValues","separator","parse","body","parameters","urlVariableNames","matches","match","a","b","extractUrlVariableNames","bind","baseUrl","remainingParameters","accept","format","previewsFromAcceptHeader","names","name","q","addQueryParameters","data","request","endpointWithDefaults","endpoint","withDefaults","oldDefaults","newDefaults","DEFAULTS2","endpoint2","DEFAULTS","Deprecation","Error","message","super","captureStackTrace","this","logOnceCode","deprecation","console","warn","logOnceHeaders","RequestError","statusCode","status","response","requestCopy","authorization","defineProperty","get","fetchWrapper","requestOptions","log","JSON","stringify","fetch","globalThis","redirect","duplex","then","async","keyAndValue","link","deprecationLink","pop","sunset","statusText","getResponseData","error","errors","toErrorMessage","catch","contentType","json","text","arrayBuffer","getBufferResponse","oldEndpoint","endpointOptions","hook","request2","route2","parameters2","GraphqlResponseError","e","NON_VARIABLE_OPTIONS","FORBIDDEN_VARIABLE_OPTIONS","GHES_V3_SUFFIX_REGEX","newRequest","query","Promise","reject","parsedOptions","variables","graphql","REGEX_IS_INSTALLATION_LEGACY","REGEX_IS_INSTALLATION","REGEX_IS_USER_TO_SERVER","auth","token","isApp","isInstallation","isUserToServer","type","tokenType","withAuthorizationPrefix","createTokenAuth","Octokit","args","plugin","newPlugins","_a","currentPlugins","plugins","Collection","requestDefaults","customRequest","Boolean","timeZone","debug","info","authStrategy","otherOptions","octokit","octokitOptions","wrap","requestLog","start","Date","now","path","iterator","requestMethod","Symbol","asyncIterator","next","done","normalizedResponse","incompleteResults","incomplete_results","repositorySelection","repository_selection","totalCount","total_count","namespaceKey","normalizePaginatedListResponse","paginate","mapFn","gather","results","earlyExit","paginateRest","VERSION","Endpoints","actions","addCustomLabelsToSelfHostedRunnerForOrg","addCustomLabelsToSelfHostedRunnerForRepo","addSelectedRepoToOrgSecret","approveWorkflowRun","cancelWorkflowRun","createOrUpdateEnvironmentSecret","createOrUpdateOrgSecret","createOrUpdateRepoSecret","createRegistrationTokenForOrg","createRegistrationTokenForRepo","createRemoveTokenForOrg","createRemoveTokenForRepo","createWorkflowDispatch","deleteActionsCacheById","deleteActionsCacheByKey","deleteArtifact","deleteEnvironmentSecret","deleteOrgSecret","deleteRepoSecret","deleteSelfHostedRunnerFromOrg","deleteSelfHostedRunnerFromRepo","deleteWorkflowRun","deleteWorkflowRunLogs","disableSelectedRepositoryGithubActionsOrganization","disableWorkflow","downloadArtifact","downloadJobLogsForWorkflowRun","downloadWorkflowRunAttemptLogs","downloadWorkflowRunLogs","enableSelectedRepositoryGithubActionsOrganization","enableWorkflow","getActionsCacheList","getActionsCacheUsage","getActionsCacheUsageByRepoForOrg","getActionsCacheUsageForEnterprise","getActionsCacheUsageForOrg","getAllowedActionsOrganization","getAllowedActionsRepository","getArtifact","getEnvironmentPublicKey","getEnvironmentSecret","getGithubActionsDefaultWorkflowPermissionsEnterprise","getGithubActionsDefaultWorkflowPermissionsOrganization","getGithubActionsDefaultWorkflowPermissionsRepository","getGithubActionsPermissionsOrganization","getGithubActionsPermissionsRepository","getJobForWorkflowRun","getOrgPublicKey","getOrgSecret","getPendingDeploymentsForRun","getRepoPermissions","renamed","getRepoPublicKey","getRepoSecret","getReviewsForRun","getSelfHostedRunnerForOrg","getSelfHostedRunnerForRepo","getWorkflow","getWorkflowAccessToRepository","getWorkflowRun","getWorkflowRunAttempt","getWorkflowRunUsage","getWorkflowUsage","listArtifactsForRepo","listEnvironmentSecrets","listJobsForWorkflowRun","listJobsForWorkflowRunAttempt","listLabelsForSelfHostedRunnerForOrg","listLabelsForSelfHostedRunnerForRepo","listOrgSecrets","listRepoSecrets","listRepoWorkflows","listRunnerApplicationsForOrg","listRunnerApplicationsForRepo","listSelectedReposForOrgSecret","listSelectedRepositoriesEnabledGithubActionsOrganization","listSelfHostedRunnersForOrg","listSelfHostedRunnersForRepo","listWorkflowRunArtifacts","listWorkflowRuns","listWorkflowRunsForRepo","reRunJobForWorkflowRun","reRunWorkflow","reRunWorkflowFailedJobs","removeAllCustomLabelsFromSelfHostedRunnerForOrg","removeAllCustomLabelsFromSelfHostedRunnerForRepo","removeCustomLabelFromSelfHostedRunnerForOrg","removeCustomLabelFromSelfHostedRunnerForRepo","removeSelectedRepoFromOrgSecret","reviewPendingDeploymentsForRun","setAllowedActionsOrganization","setAllowedActionsRepository","setCustomLabelsForSelfHostedRunnerForOrg","setCustomLabelsForSelfHostedRunnerForRepo","setGithubActionsDefaultWorkflowPermissionsEnterprise","setGithubActionsDefaultWorkflowPermissionsOrganization","setGithubActionsDefaultWorkflowPermissionsRepository","setGithubActionsPermissionsOrganization","setGithubActionsPermissionsRepository","setSelectedReposForOrgSecret","setSelectedRepositoriesEnabledGithubActionsOrganization","setWorkflowAccessToRepository","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","addRepoToInstallationForAuthenticatedUser","checkToken","createFromManifest","createInstallationAccessToken","deleteAuthorization","deleteInstallation","deleteToken","getAuthenticated","getBySlug","getInstallation","getOrgInstallation","getRepoInstallation","getSubscriptionPlanForAccount","getSubscriptionPlanForAccountStubbed","getUserInstallation","getWebhookConfigForApp","getWebhookDelivery","listAccountsForPlan","listAccountsForPlanStubbed","listInstallationReposForAuthenticatedUser","listInstallations","listInstallationsForAuthenticatedUser","listPlans","listPlansStubbed","listReposAccessibleToInstallation","listSubscriptionsForAuthenticatedUser","listSubscriptionsForAuthenticatedUserStubbed","listWebhookDeliveries","redeliverWebhookDelivery","removeRepoFromInstallation","removeRepoFromInstallationForAuthenticatedUser","resetToken","revokeInstallationAccessToken","scopeToken","suspendInstallation","unsuspendInstallation","updateWebhookConfigForApp","billing","getGithubActionsBillingOrg","getGithubActionsBillingUser","getGithubAdvancedSecurityBillingGhe","getGithubAdvancedSecurityBillingOrg","getGithubPackagesBillingOrg","getGithubPackagesBillingUser","getSharedStorageBillingOrg","getSharedStorageBillingUser","checks","create","createSuite","getSuite","listAnnotations","listForRef","listForSuite","listSuitesForRef","rerequestRun","rerequestSuite","setSuitesPreferences","update","codeScanning","deleteAnalysis","getAlert","renamedParameters","alert_id","getAnalysis","getCodeqlDatabase","getSarif","listAlertInstances","listAlertsForEnterprise","listAlertsForOrg","listAlertsForRepo","listAlertsInstances","listCodeqlDatabases","listRecentAnalyses","updateAlert","uploadSarif","codesOfConduct","getAllCodesOfConduct","getConductCode","codespaces","addRepositoryForSecretForAuthenticatedUser","codespaceMachinesForAuthenticatedUser","createForAuthenticatedUser","createOrUpdateSecretForAuthenticatedUser","createWithPrForAuthenticatedUser","createWithRepoForAuthenticatedUser","deleteForAuthenticatedUser","deleteFromOrganization","deleteSecretForAuthenticatedUser","exportForAuthenticatedUser","getExportDetailsForAuthenticatedUser","getForAuthenticatedUser","getPublicKeyForAuthenticatedUser","getSecretForAuthenticatedUser","listDevcontainersInRepositoryForAuthenticatedUser","listForAuthenticatedUser","listInOrganization","org_id","listInRepositoryForAuthenticatedUser","listRepositoriesForSecretForAuthenticatedUser","listSecretsForAuthenticatedUser","preFlightWithRepoForAuthenticatedUser","removeRepositoryForSecretForAuthenticatedUser","repoMachinesForAuthenticatedUser","setRepositoriesForSecretForAuthenticatedUser","startForAuthenticatedUser","stopForAuthenticatedUser","stopInOrganization","updateForAuthenticatedUser","dependabot","dependencyGraph","createRepositorySnapshot","diffRange","emojis","enterpriseAdmin","addCustomLabelsToSelfHostedRunnerForEnterprise","disableSelectedOrganizationGithubActionsEnterprise","enableSelectedOrganizationGithubActionsEnterprise","getAllowedActionsEnterprise","getGithubActionsPermissionsEnterprise","getServerStatistics","listLabelsForSelfHostedRunnerForEnterprise","listSelectedOrganizationsEnabledGithubActionsEnterprise","removeAllCustomLabelsFromSelfHostedRunnerForEnterprise","removeCustomLabelFromSelfHostedRunnerForEnterprise","setAllowedActionsEnterprise","setCustomLabelsForSelfHostedRunnerForEnterprise","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","listForOrg","listForRepo","listLabelsForMilestone","listLabelsForRepo","listLabelsOnIssue","listMilestones","lock","removeAllLabels","removeAssignees","removeLabel","setLabels","unlock","updateLabel","updateMilestone","licenses","getAllCommonlyUsed","getForRepo","markdown","render","renderRaw","meta","getOctocat","getZen","root","migrations","cancelImport","deleteArchiveForAuthenticatedUser","deleteArchiveForOrg","downloadArchiveForOrg","getArchiveForAuthenticatedUser","getCommitAuthors","getImportStatus","getLargeFiles","getStatusForAuthenticatedUser","getStatusForOrg","listReposForAuthenticatedUser","listReposForOrg","listReposForUser","mapCommitAuthor","setLfsPreference","startForOrg","startImport","unlockRepoForAuthenticatedUser","unlockRepoForOrg","updateImport","orgs","addSecurityManagerTeam","blockUser","cancelInvitation","checkBlockedUser","checkMembershipForUser","checkPublicMembershipForUser","convertMemberToOutsideCollaborator","createCustomRole","createInvitation","createWebhook","deleteCustomRole","deleteWebhook","enableOrDisableSecurityProductOnAllOrgRepos","getMembershipForAuthenticatedUser","getMembershipForUser","getWebhook","getWebhookConfigForOrg","listAppInstallations","listBlockedUsers","listCustomRoles","listFailedInvitations","listFineGrainedPermissions","listInvitationTeams","listMembers","listMembershipsForAuthenticatedUser","listOutsideCollaborators","listPendingInvitations","listPublicMembers","listSecurityManagerTeams","listWebhooks","pingWebhook","removeMember","removeMembershipForUser","removeOutsideCollaborator","removePublicMembershipForAuthenticatedUser","removeSecurityManagerTeam","setMembershipForUser","setPublicMembershipForAuthenticatedUser","unblockUser","updateCustomRole","updateMembershipForAuthenticatedUser","updateWebhook","updateWebhookConfigForOrg","packages","deletePackageForAuthenticatedUser","deletePackageForOrg","deletePackageForUser","deletePackageVersionForAuthenticatedUser","deletePackageVersionForOrg","deletePackageVersionForUser","getAllPackageVersionsForAPackageOwnedByAnOrg","getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser","getAllPackageVersionsForPackageOwnedByAuthenticatedUser","getAllPackageVersionsForPackageOwnedByOrg","getAllPackageVersionsForPackageOwnedByUser","getPackageForAuthenticatedUser","getPackageForOrganization","getPackageForUser","getPackageVersionForAuthenticatedUser","getPackageVersionForOrganization","getPackageVersionForUser","listPackagesForAuthenticatedUser","listPackagesForOrganization","listPackagesForUser","restorePackageForAuthenticatedUser","restorePackageForOrg","restorePackageForUser","restorePackageVersionForAuthenticatedUser","restorePackageVersionForOrg","restorePackageVersionForUser","projects","addCollaborator","createCard","createColumn","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","removeRequestedReviewers","requestReviewers","submitReview","updateBranch","updateReview","updateReviewComment","rateLimit","reactions","createForCommitComment","createForIssue","createForIssueComment","createForPullRequestReviewComment","createForRelease","createForTeamDiscussionCommentInOrg","createForTeamDiscussionInOrg","deleteForCommitComment","deleteForIssue","deleteForIssueComment","deleteForPullRequestComment","deleteForRelease","deleteForTeamDiscussion","deleteForTeamDiscussionComment","listForCommitComment","listForIssue","listForIssueComment","listForPullRequestReviewComment","listForRelease","listForTeamDiscussionCommentInOrg","listForTeamDiscussionInOrg","repos","acceptInvitation","acceptInvitationForAuthenticatedUser","addAppAccessRestrictions","mapToData","addStatusCheckContexts","addTeamAccessRestrictions","addUserAccessRestrictions","checkCollaborator","checkVulnerabilityAlerts","codeownersErrors","compareCommits","compareCommitsWithBasehead","createAutolink","createCommitComment","createCommitSignatureProtection","createCommitStatus","createDeployKey","createDeployment","createDeploymentBranchPolicy","createDeploymentStatus","createDispatchEvent","createFork","createInOrg","createOrUpdateEnvironment","createOrUpdateFileContents","createPagesDeployment","createPagesSite","createRelease","createTagProtection","createUsingTemplate","declineInvitation","declineInvitationForAuthenticatedUser","deleteAccessRestrictions","deleteAdminBranchProtection","deleteAnEnvironment","deleteAutolink","deleteBranchProtection","deleteCommitComment","deleteCommitSignatureProtection","deleteDeployKey","deleteDeployment","deleteDeploymentBranchPolicy","deleteFile","deleteInvitation","deletePagesSite","deletePullRequestReviewProtection","deleteRelease","deleteReleaseAsset","deleteTagProtection","disableAutomatedSecurityFixes","disableLfsForRepo","disableVulnerabilityAlerts","downloadArchive","downloadTarballArchive","downloadZipballArchive","enableAutomatedSecurityFixes","enableLfsForRepo","enableVulnerabilityAlerts","generateReleaseNotes","getAccessRestrictions","getAdminBranchProtection","getAllEnvironments","getAllStatusCheckContexts","getAllTopics","getAppsWithAccessToProtectedBranch","getAutolink","getBranch","getBranchProtection","getClones","getCodeFrequencyStats","getCollaboratorPermissionLevel","getCombinedStatusForRef","getCommitActivityStats","getCommitComment","getCommitSignatureProtection","getCommunityProfileMetrics","getContent","getContributorsStats","getDeployKey","getDeployment","getDeploymentBranchPolicy","getDeploymentStatus","getEnvironment","getLatestPagesBuild","getLatestRelease","getPages","getPagesBuild","getPagesHealthCheck","getParticipationStats","getPullRequestReviewProtection","getPunchCardStats","getReadme","getReadmeInDirectory","getRelease","getReleaseAsset","getReleaseByTag","getStatusChecksProtection","getTeamsWithAccessToProtectedBranch","getTopPaths","getTopReferrers","getUsersWithAccessToProtectedBranch","getViews","getWebhookConfigForRepo","listAutolinks","listBranches","listBranchesForHeadCommit","listCommentsForCommit","listCommitCommentsForRepo","listCommitStatusesForRef","listContributors","listDeployKeys","listDeploymentBranchPolicies","listDeploymentStatuses","listDeployments","listInvitations","listInvitationsForAuthenticatedUser","listLanguages","listPagesBuilds","listPullRequestsAssociatedWithCommit","listReleaseAssets","listReleases","listTagProtection","listTags","listTeams","mergeUpstream","removeAppAccessRestrictions","removeStatusCheckContexts","removeStatusCheckProtection","removeTeamAccessRestrictions","removeUserAccessRestrictions","renameBranch","replaceAllTopics","requestPagesBuild","setAdminBranchProtection","setAppAccessRestrictions","setStatusCheckContexts","setTeamAccessRestrictions","setUserAccessRestrictions","testPushWebhook","transfer","updateBranchProtection","updateCommitComment","updateDeploymentBranchPolicy","updateInformationAboutPagesSite","updateInvitation","updatePullRequestReviewProtection","updateRelease","updateReleaseAsset","updateStatusCheckPotection","updateStatusCheckProtection","updateWebhookConfigForRepo","uploadReleaseAsset","search","code","commits","issuesAndPullRequests","labels","topics","users","secretScanning","listLocationsForAlert","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","addEmailForAuthenticatedUser","block","checkBlocked","checkFollowingForUser","checkPersonIsFollowedByAuthenticated","createGpgKeyForAuthenticated","createGpgKeyForAuthenticatedUser","createPublicSshKeyForAuthenticated","createPublicSshKeyForAuthenticatedUser","createSshSigningKeyForAuthenticatedUser","deleteEmailForAuthenticated","deleteEmailForAuthenticatedUser","deleteGpgKeyForAuthenticated","deleteGpgKeyForAuthenticatedUser","deletePublicSshKeyForAuthenticated","deletePublicSshKeyForAuthenticatedUser","deleteSshSigningKeyForAuthenticatedUser","follow","getByUsername","getContextForUser","getGpgKeyForAuthenticated","getGpgKeyForAuthenticatedUser","getPublicSshKeyForAuthenticated","getPublicSshKeyForAuthenticatedUser","getSshSigningKeyForAuthenticatedUser","listBlockedByAuthenticated","listBlockedByAuthenticatedUser","listEmailsForAuthenticated","listEmailsForAuthenticatedUser","listFollowedByAuthenticated","listFollowedByAuthenticatedUser","listFollowersForAuthenticatedUser","listFollowersForUser","listFollowingForUser","listGpgKeysForAuthenticated","listGpgKeysForAuthenticatedUser","listGpgKeysForUser","listPublicEmailsForAuthenticated","listPublicEmailsForAuthenticatedUser","listPublicKeysForUser","listPublicSshKeysForAuthenticated","listPublicSshKeysForAuthenticatedUser","listSshSigningKeysForAuthenticatedUser","listSshSigningKeysForUser","setPrimaryEmailVisibilityForAuthenticated","setPrimaryEmailVisibilityForAuthenticatedUser","unblock","unfollow","updateAuthenticated","decorate","scope","methodName","decorations","requestWithDefaults","newScope","newMethodName","deprecated","alias","entries","legacyRestEndpointMethods","api","endpointsMap","newMethods","endpoints","endpointDefaults","endpointsToMethods","rest","register","addHook","removeHook","Function","bindable","bindApi","state","removeHookRef","apply","remove","kind","HookCollection","registry","collectionHookDeprecationMessageDisplayed","Hook","Singular","singularHookState","singularHook","module","exports","orig","resolve","result_","reverse","callback","registered","index","splice","createScanner","ignoreTrivia","len","pos","tokenOffset","lineNumber","lineStartOffset","tokenLineStartOffset","prevTokenLineStartOffset","scanError","scanHexDigits","count","exact","digits","ch","scanNext","isWhiteSpace","String","fromCharCode","isLineBreak","ch3","scanString","safeLength","commentClosed","isDigit","end","scanNumber","isUnknownContentCharacter","setPosition","newPosition","getPosition","scan","getToken","getTokenValue","getTokenOffset","getTokenLength","getTokenStartLine","getTokenStartCharacter","getTokenError","CharacterCodes","ParseOptions","documentText","range","initialIndentLevel","formatText","formatTextStart","rangeStart","rangeEnd","offset","isEOL","endOffset","content","i","nChars","tabSize","Math","floor","computeIndentLevel","eol","getEOL","indentValue","numberLineBreaks","indentLevel","insertSpaces","repeat","scanner","hasError","newLinesAndIndent","keepLines","editOperations","addEdit","startOffset","firstToken","firstTokenStart","firstTokenEnd","secondToken","replaceContent","needsLineBreak","insertFinalNewline","s","parseTree","DEFAULT","currentParent","children","parent","ensurePropertyComplete","onValue","valueNode","visit","onObjectBegin","onObjectProperty","onObjectEnd","onArrayBegin","onArrayEnd","onLiteralValue","getNodeType","onSeparator","sep","colonOffset","onError","findNodeAtLocation","node","segment","found","propertyNode","visitor","_scanner","_jsonPath","toNoArgVisit","visitFunction","toNoArgVisitWithPath","slice","toOneArgVisit","arg","toOneArgVisitWithPath","onComment","disallowComments","allowTrailingComma","handleError","skipUntilAfter","skipUntil","parseString","isValue","allowEmptyContent","parseValue","isFirstElement","needsComma","parseArray","parseObject","tokenValue","Number","isNaN","parseLiteral","withFormatting","edit","formattingOptions","newText","applyEdit","begin","edits","min","max","ScanError","SyntaxKind","position","segments","earlyReturnException","previousNode","previousNodeInst","isAtPropertyKey","setPreviousNode","last","pattern","currentProperty","previousParents","array","findNodeAtOffset","includeRightBound","contains","item","getNodePath","getNodeValue","prop","replaceCh","parts","ParseErrorCode","printParseErrorCode","modify","originalPath","lastSegment","existing","propertyIndex","removeBegin","removeEnd","previous","newProperty","getInsertionIndex","p","insertIndex","removalIndex","toRemove","isArrayInsertion","toModify","applyEdits","sortedEdits","sort","diff","lastModifiedOffset","globalObject","self","window","g","getGlobal","Headers","Request","Response","wrappy","once","fn","f","called","arguments","onceStrict","onceError","strict","proto","configurable","cb","TypeError","wrapper","ret","assertPath","normalizeStringPosix","allowAboveRoot","res","lastSegmentLength","lastSlash","dots","lastSlashIndex","lastIndexOf","posix","cwd","resolvedPath","resolvedAbsolute","normalize","isAbsolute","trailingSeparator","joined","relative","from","to","fromStart","fromEnd","fromLen","toStart","toLen","lastCommonSep","fromCode","out","_makeLong","dirname","hasRoot","matchedSlash","basename","ext","extIdx","firstNonSlashEnd","extname","startDot","startPart","preDotState","pathObject","dir","base","_format","delimiter","win32","agent","subscriptions","vscode","languages","registerCompletionItemProvider","language","provideCompletionItems","document","SettingsDocument","_token","location","getLocation","getText","offsetAt","getReplaceRange","extensionsContent","provideInstalledExtensionProposals","recommendations","registerVariableCompletions","paths","Map","isValidLocation","some","isCompletingInsidePropertyStringValue","replacing","getWordRangeAtPosition","Range","inserting","with","commands","executeCommand","isCancellationRequested","CompletionList","completion","CompletionItem","CompletionItemKind","Constant","detail","documentation","description","items","registerContextKeyCompletions","fileName","endsWith","isLocationInsideTopLevelProperty","isEqual","label","l10n","t","param","insertText","SnippetString","appendPlaceholder","appendText","nodeStart","positionAt","nodeEnd","isBeforeOrEqual","isAfterOrEqual","registerDocumentSymbolProvider","provideDocumentSymbols","lastProperty","depthInObjects","property","_offset","_length","SymbolInformation","SymbolKind","additionalText","includeBuiltinExtensions","knownExtensionProposals","extensions","all","id","startsWith","Value","filterText","example","extensionProposals","packageJSON","main","registerProfileContentHandler","getOctokit","_octokit","authentication","getSession","createIfNone","accessToken","saveProfile","public","files","html_url","Uri","getPublicOctokit","_public_octokit","readProfile","gist_id","gist","OVERRIDE_IDENTIFIER_REGEX","provideWindowTitleCompletionItems","provideFilesAssociationsCompletionItems","provideExcludeCompletionItems","provideLanguageCompletionItems","provideEditorLabelCompletionItems","ignoredExtensions","alreadyConfigured","providePortsAttributesCompletionItem","provideLanguageOverridesCompletionItems","isCompletingPropertyValue","completions","newSimpleCompletionItem","newSnippetCompletionItem","snippet","provideLanguageCompletionItemsForLanguageOverrides","getLanguages","l","completionItems","Property","startPosition","endPosition","translate","donotSuggestLanguages","languageOverridesRanges","lastLanguageOverrideRange","trim","lastLanguageOverrideEndPosition","isBefore","languageOverrideRange","find","require","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","n","getter","__esModule","d","definition","enumerable","r","toStringTag","__webpack_exports__"],"sourceRoot":""}
1
+ {"version":3,"file":"configurationEditingMain.js","mappings":"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kB,EAAI,KAAO,IAC5CA,EAAeA,EAAkB,EAAI,KAAO,IAC5CA,EAAeA,EAAkB,EAAI,KAAO,IAC5CA,EAAeA,EAAkB,EAAI,KAAO,IAC5CA,EAAeA,EAAkB,EAAI,KAAO,IAC5CA,EAAeA,EAAkB,EAAI,KAAO,IAC5CA,EAAeA,EAAkB,EAAI,KAAO,IAC5CA,EAAeA,EAAkB,EAAI,KAAO,IAC5CA,EAAeA,EAAkB,EAAI,KAAO,IAC5CA,EAAeA,EAAkB,EAAI,KAAO,IAC5CA,EAAeA,EAAkB,EAAI,KAAO,IAC5CA,EAAeA,EAAkB,EAAI,KAAO,IAC5CA,EAAeA,EAAkB,EAAI,KAAO,IAC5CA,EAAeA,EAAkB,EAAI,KAAO,IAC5CA,EAAeA,EAAkB,EAAI,KAAO,IAC5CA,EAAeA,EAAkB,EAAI,KAAO,IAC5CA,EAAeA,EAAkB,EAAI,KAAO,IAC5CA,EAAeA,EAAkB,EAAI,IAAM,IAC3CA,EAAeA,EAAkB,EAAI,IAAM,IAC3CA,EAAeA,EAAkB,EAAI,IAAM,IAC3CA,EAAeA,EAAkB,EAAI,IAAM,IAC3CA,EAAeA,EAAkB,EAAI,IAAM,IAC3CA,EAAeA,EAAkB,EAAI,IAAM,IAC3CA,EAAeA,EAAkB,EAAI,IAAM,IAC3CA,EAAeA,EAAkB,EAAI,IAAM,IAC3CA,EAAeA,EAAkB,EAAI,IAAM,IAC3CA,EAAeA,EAAkB,EAAI,IAAM,IAC3CA,EAAeA,EAAkB,EAAI,IAAM,IAC3CA,EAAeA,EAAkB,EAAI,IAAM,IAC3CA,EAAeA,EAAkB,EAAI,IAAM,IAC3CA,EAAeA,EAAkB,EAAI,IAAM,IAC3CA,EAAeA,EAAkB,EAAI,IAAM,IAC3CA,EAAeA,EAAkB,EAAI,IAAM,IAC3CA,EAAeA,EAAkB,EAAI,IAAM,IAC3CA,EAAeA,EAAkB,EAAI,IAAM,IAC3CA,EAAeA,EAAkB,EAAI,IAAM,IAC3CA,EAAeA,EAAkB,EAAI,IAAM,IAC3CA,EAAeA,EAAkB,EAAI,IAAM,IAC3CA,EAAeA,EAAkB,EAAI,IAAM,IAC3CA,EAAeA,EAAkB,EAAI,IAAM,IAC3CA,EAAeA,EAAkB,EAAI,IAAM,IAC3CA,EAAeA,EAAkB,EAAI,IAA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","sources":["webpack://configuration-editing/./node_modules/universal-user-agent/dist-web/index.js","webpack://configuration-editing/./node_modules/is-plain-object/dist/is-plain-object.mjs","webpack://configuration-editing/./node_modules/@octokit/endpoint/dist-web/index.js","webpack://configuration-editing/./node_modules/deprecation/dist-web/index.js","webpack://configuration-editing/./node_modules/@octokit/request-error/dist-web/index.js","webpack://configuration-editing/./node_modules/@octokit/request/dist-web/index.js","webpack://configuration-editing/./node_modules/@octokit/graphql/dist-web/index.js","webpack://configuration-editing/./node_modules/@octokit/auth-token/dist-web/index.js","webpack://configuration-editing/./node_modules/@octokit/core/dist-web/index.js","webpack://configuration-editing/./node_modules/@octokit/plugin-request-log/dist-web/index.js","webpack://configuration-editing/./node_modules/@octokit/plugin-paginate-rest/dist-web/index.js","webpack://configuration-editing/./node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js","webpack://configuration-editing/./node_modules/@octokit/rest/dist-web/index.js","webpack://configuration-editing/./node_modules/before-after-hook/index.js","webpack://configuration-editing/./node_modules/before-after-hook/lib/add.js","webpack://configuration-editing/./node_modules/before-after-hook/lib/register.js","webpack://configuration-editing/./node_modules/before-after-hook/lib/remove.js","webpack://configuration-editing/./node_modules/jsonc-parser/lib/esm/impl/scanner.js","webpack://configuration-editing/./node_modules/jsonc-parser/lib/esm/impl/parser.js","webpack://configuration-editing/./node_modules/jsonc-parser/lib/esm/impl/format.js","webpack://configuration-editing/./node_modules/jsonc-parser/lib/esm/impl/edit.js","webpack://configuration-editing/./node_modules/jsonc-parser/lib/esm/main.js","webpack://configuration-editing/./node_modules/node-fetch/browser.js","webpack://configuration-editing/./node_modules/once/once.js","webpack://configuration-editing/./node_modules/wrappy/wrappy.js","webpack://configuration-editing/../../node_modules/path-browserify/index.js","webpack://configuration-editing/./src/browser/net.ts","webpack://configuration-editing/./src/configurationEditingMain.ts","webpack://configuration-editing/./src/extensionsProposals.ts","webpack://configuration-editing/./src/importExportProfiles.ts","webpack://configuration-editing/./src/settingsDocumentHelper.ts","webpack://configuration-editing/external commonjs \"vscode\"","webpack://configuration-editing/webpack/bootstrap","webpack://configuration-editing/webpack/runtime/compat get default export","webpack://configuration-editing/webpack/runtime/define property getters","webpack://configuration-editing/webpack/runtime/global","webpack://configuration-editing/webpack/runtime/hasOwnProperty shorthand","webpack://configuration-editing/webpack/runtime/make namespace object","webpack://configuration-editing/webpack/startup"],"sourcesContent":["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 \"<environment undetectable>\";\n}\n\nexport { getUserAgent };\n//# sourceMappingURL=index.js.map\n","/*!\n * is-plain-object <https://github.com/jonschlinkert/is-plain-object>\n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */\n\nfunction isObject(o) {\n return Object.prototype.toString.call(o) === '[object Object]';\n}\n\nfunction isPlainObject(o) {\n var ctor,prot;\n\n if (isObject(o) === false) return false;\n\n // If has modified constructor\n ctor = o.constructor;\n if (ctor === undefined) return true;\n\n // If has modified prototype\n prot = ctor.prototype;\n if (isObject(prot) === false) return false;\n\n // If constructor does not have an Object-specific method\n if (prot.hasOwnProperty('isPrototypeOf') === false) {\n return false;\n }\n\n // Most likely a plain Object\n return true;\n}\n\nexport { isPlainObject };\n","// pkg/dist-src/util/lowercase-keys.js\nfunction 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\n// pkg/dist-src/util/merge-deep.js\nimport { isPlainObject } from \"is-plain-object\";\nfunction 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 } else {\n Object.assign(result, { [key]: options[key] });\n }\n });\n return result;\n}\n\n// pkg/dist-src/util/remove-undefined-properties.js\nfunction removeUndefinedProperties(obj) {\n for (const key in obj) {\n if (obj[key] === void 0) {\n delete obj[key];\n }\n }\n return obj;\n}\n\n// pkg/dist-src/merge.js\nfunction 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 } else {\n options = Object.assign({}, route);\n }\n options.headers = lowercaseKeys(options.headers);\n removeUndefinedProperties(options);\n removeUndefinedProperties(options.headers);\n const mergedOptions = mergeDeep(defaults || {}, options);\n if (defaults && defaults.mediaType.previews.length) {\n mergedOptions.mediaType.previews = defaults.mediaType.previews.filter((preview) => !mergedOptions.mediaType.previews.includes(preview)).concat(mergedOptions.mediaType.previews);\n }\n mergedOptions.mediaType.previews = mergedOptions.mediaType.previews.map(\n (preview) => preview.replace(/-preview/, \"\")\n );\n return mergedOptions;\n}\n\n// pkg/dist-src/util/add-query-parameters.js\nfunction 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 + separator + names.map((name) => {\n if (name === \"q\") {\n return \"q=\" + parameters.q.split(\"+\").map(encodeURIComponent).join(\"+\");\n }\n return `${name}=${encodeURIComponent(parameters[name])}`;\n }).join(\"&\");\n}\n\n// pkg/dist-src/util/extract-url-variable-names.js\nvar urlVariableRegex = /\\{[^}]+\\}/g;\nfunction removeNonChars(variableName) {\n return variableName.replace(/^\\W+|\\W+$/g, \"\").split(/,/);\n}\nfunction 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\n// pkg/dist-src/util/omit.js\nfunction omit(object, keysToOmit) {\n return Object.keys(object).filter((option) => !keysToOmit.includes(option)).reduce((obj, key) => {\n obj[key] = object[key];\n return obj;\n }, {});\n}\n\n// pkg/dist-src/util/url-template.js\nfunction encodeReserved(str) {\n return str.split(/(%[0-9A-Fa-f]{2})/g).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 }).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 = operator === \"+\" || operator === \"#\" ? encodeReserved(value) : encodeUnreserved(value);\n if (key) {\n return encodeUnreserved(key) + \"=\" + value;\n } else {\n return value;\n }\n}\nfunction isDefined(value) {\n return value !== void 0 && 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\" || typeof value === \"number\" || typeof value === \"boolean\") {\n value = value.toString();\n if (modifier && modifier !== \"*\") {\n value = value.substring(0, parseInt(modifier, 10));\n }\n result.push(\n encodeValue(operator, value, isKeyOperator(operator) ? key : \"\")\n );\n } else {\n if (modifier === \"*\") {\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function(value2) {\n result.push(\n encodeValue(operator, value2, 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 } else {\n const tmp = [];\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function(value2) {\n tmp.push(encodeValue(operator, value2));\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 } else if (tmp.length !== 0) {\n result.push(tmp.join(\",\"));\n }\n }\n }\n } else {\n if (operator === \";\") {\n if (isDefined(value)) {\n result.push(encodeUnreserved(key));\n }\n } else if (value === \"\" && (operator === \"&\" || operator === \"?\")) {\n result.push(encodeUnreserved(key) + \"=\");\n } else if (value === \"\") {\n result.push(\"\");\n }\n }\n return result;\n}\nfunction parseUrl(template) {\n return {\n expand: expand.bind(null, template)\n };\n}\nfunction expand(template, context) {\n var operators = [\"+\", \"#\", \".\", \"/\", \";\", \"?\", \"&\"];\n return template.replace(\n /\\{([^\\{\\}]+)\\}|([^\\{\\}]+)/g,\n 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 } else if (operator !== \"#\") {\n separator = operator;\n }\n return (values.length !== 0 ? operator : \"\") + values.join(separator);\n } else {\n return values.join(\",\");\n }\n } else {\n return encodeReserved(literal);\n }\n }\n );\n}\n\n// pkg/dist-src/parse.js\nfunction parse(options) {\n let method = options.method.toUpperCase();\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 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).filter((option) => urlVariableNames.includes(option)).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 headers.accept = headers.accept.split(/,/).map(\n (preview) => preview.replace(\n /application\\/vnd(\\.\\w+)(\\.v3)?(\\.\\w+)?(\\+json)?$/,\n `application/vnd$1$2.${options.mediaType.format}`\n )\n ).join(\",\");\n }\n if (options.mediaType.previews.length) {\n const previewsFromAcceptHeader = headers.accept.match(/[\\w-]+(?=-preview)/g) || [];\n headers.accept = previewsFromAcceptHeader.concat(options.mediaType.previews).map((preview) => {\n const format = options.mediaType.format ? `.${options.mediaType.format}` : \"+json\";\n return `application/vnd.github.${preview}-preview${format}`;\n }).join(\",\");\n }\n }\n if ([\"GET\", \"HEAD\"].includes(method)) {\n url = addQueryParameters(url, remainingParameters);\n } else {\n if (\"data\" in remainingParameters) {\n body = remainingParameters.data;\n } else {\n if (Object.keys(remainingParameters).length) {\n body = remainingParameters;\n }\n }\n }\n if (!headers[\"content-type\"] && typeof body !== \"undefined\") {\n headers[\"content-type\"] = \"application/json; charset=utf-8\";\n }\n if ([\"PATCH\", \"PUT\"].includes(method) && typeof body === \"undefined\") {\n body = \"\";\n }\n return Object.assign(\n { method, url, headers },\n typeof body !== \"undefined\" ? { body } : null,\n options.request ? { request: options.request } : null\n );\n}\n\n// pkg/dist-src/endpoint-with-defaults.js\nfunction endpointWithDefaults(defaults, route, options) {\n return parse(merge(defaults, route, options));\n}\n\n// pkg/dist-src/with-defaults.js\nfunction withDefaults(oldDefaults, newDefaults) {\n const DEFAULTS2 = merge(oldDefaults, newDefaults);\n const endpoint2 = endpointWithDefaults.bind(null, DEFAULTS2);\n return Object.assign(endpoint2, {\n DEFAULTS: DEFAULTS2,\n defaults: withDefaults.bind(null, DEFAULTS2),\n merge: merge.bind(null, DEFAULTS2),\n parse\n });\n}\n\n// pkg/dist-src/defaults.js\nimport { getUserAgent } from \"universal-user-agent\";\n\n// pkg/dist-src/version.js\nvar VERSION = \"7.0.6\";\n\n// pkg/dist-src/defaults.js\nvar userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`;\nvar 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\n// pkg/dist-src/index.js\nvar endpoint = withDefaults(null, DEFAULTS);\nexport {\n endpoint\n};\n","class Deprecation extends Error {\n constructor(message) {\n super(message); // Maintains proper stack trace (only available on V8)\n\n /* istanbul ignore next */\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n\n this.name = 'Deprecation';\n }\n\n}\n\nexport { Deprecation };\n","import { Deprecation } from 'deprecation';\nimport once from 'once';\n\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 */\nclass 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\nexport { RequestError };\n//# sourceMappingURL=index.js.map\n","// pkg/dist-src/index.js\nimport { endpoint } from \"@octokit/endpoint\";\nimport { getUserAgent } from \"universal-user-agent\";\n\n// pkg/dist-src/version.js\nvar VERSION = \"6.2.8\";\n\n// pkg/dist-src/fetch-wrapper.js\nimport { isPlainObject } from \"is-plain-object\";\nimport nodeFetch, {} from \"node-fetch\";\nimport { RequestError } from \"@octokit/request-error\";\n\n// pkg/dist-src/get-buffer-response.js\nfunction getBufferResponse(response) {\n return response.arrayBuffer();\n}\n\n// pkg/dist-src/fetch-wrapper.js\nfunction fetchWrapper(requestOptions) {\n const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console;\n if (isPlainObject(requestOptions.body) || 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 || globalThis.fetch || /* istanbul ignore next */\n nodeFetch;\n return fetch(\n requestOptions.url,\n Object.assign(\n {\n method: requestOptions.method,\n body: requestOptions.body,\n headers: requestOptions.headers,\n redirect: requestOptions.redirect,\n // duplex must be set if request.body is ReadableStream or Async Iterables.\n // See https://fetch.spec.whatwg.org/#dom-requestinit-duplex.\n ...requestOptions.body && { duplex: \"half\" }\n },\n // `requestOptions.request.agent` type is incompatible\n // see https://github.com/octokit/types.ts/pull/264\n requestOptions.request\n )\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(\n `[@octokit/request] \"${requestOptions.method} ${requestOptions.url}\" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : \"\"}`\n );\n }\n if (status === 204 || status === 205) {\n return;\n }\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: void 0\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 }).then((data) => {\n return {\n status,\n url,\n headers,\n data\n };\n }).catch((error) => {\n if (error instanceof RequestError)\n throw error;\n else if (error.name === \"AbortError\")\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 getBufferResponse(response);\n}\nfunction toErrorMessage(data) {\n if (typeof data === \"string\")\n return data;\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 return `Unknown error: ${JSON.stringify(data)}`;\n}\n\n// pkg/dist-src/with-defaults.js\nfunction withDefaults(oldEndpoint, newDefaults) {\n const endpoint2 = oldEndpoint.defaults(newDefaults);\n const newApi = function(route, parameters) {\n const endpointOptions = endpoint2.merge(route, parameters);\n if (!endpointOptions.request || !endpointOptions.request.hook) {\n return fetchWrapper(endpoint2.parse(endpointOptions));\n }\n const request2 = (route2, parameters2) => {\n return fetchWrapper(\n endpoint2.parse(endpoint2.merge(route2, parameters2))\n );\n };\n Object.assign(request2, {\n endpoint: endpoint2,\n defaults: withDefaults.bind(null, endpoint2)\n });\n return endpointOptions.request.hook(request2, endpointOptions);\n };\n return Object.assign(newApi, {\n endpoint: endpoint2,\n defaults: withDefaults.bind(null, endpoint2)\n });\n}\n\n// pkg/dist-src/index.js\nvar request = withDefaults(endpoint, {\n headers: {\n \"user-agent\": `octokit-request.js/${VERSION} ${getUserAgent()}`\n }\n});\nexport {\n request\n};\n","// pkg/dist-src/index.js\nimport { request } from \"@octokit/request\";\nimport { getUserAgent } from \"universal-user-agent\";\n\n// pkg/dist-src/version.js\nvar VERSION = \"5.0.6\";\n\n// pkg/dist-src/error.js\nfunction _buildMessageForResponseErrors(data) {\n return `Request failed due to following response errors:\n` + data.errors.map((e) => ` - ${e.message}`).join(\"\\n\");\n}\nvar GraphqlResponseError = class extends Error {\n constructor(request2, headers, response) {\n super(_buildMessageForResponseErrors(response));\n this.request = request2;\n this.headers = headers;\n this.response = response;\n this.name = \"GraphqlResponseError\";\n this.errors = response.errors;\n this.data = response.data;\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n }\n};\n\n// pkg/dist-src/graphql.js\nvar NON_VARIABLE_OPTIONS = [\n \"method\",\n \"baseUrl\",\n \"url\",\n \"headers\",\n \"request\",\n \"query\",\n \"mediaType\"\n];\nvar FORBIDDEN_VARIABLE_OPTIONS = [\"query\", \"method\", \"url\"];\nvar GHES_V3_SUFFIX_REGEX = /\\/api\\/v3\\/?$/;\nfunction graphql(request2, query, options) {\n if (options) {\n if (typeof query === \"string\" && \"query\" in options) {\n return Promise.reject(\n new Error(`[@octokit/graphql] \"query\" cannot be used as variable name`)\n );\n }\n for (const key in options) {\n if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key))\n continue;\n return Promise.reject(\n new Error(`[@octokit/graphql] \"${key}\" cannot be used as variable name`)\n );\n }\n }\n const parsedOptions = typeof query === \"string\" ? Object.assign({ query }, options) : query;\n const requestOptions = Object.keys(\n parsedOptions\n ).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 const baseUrl = parsedOptions.baseUrl || request2.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 request2(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(\n requestOptions,\n headers,\n response.data\n );\n }\n return response.data.data;\n });\n}\n\n// pkg/dist-src/with-defaults.js\nfunction withDefaults(request2, newDefaults) {\n const newRequest = request2.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: newRequest.endpoint\n });\n}\n\n// pkg/dist-src/index.js\nvar graphql2 = withDefaults(request, {\n headers: {\n \"user-agent\": `octokit-graphql.js/${VERSION} ${getUserAgent()}`\n },\n method: \"POST\",\n url: \"/graphql\"\n});\nfunction withCustomRequest(customRequest) {\n return withDefaults(customRequest, {\n method: \"POST\",\n url: \"/graphql\"\n });\n}\nexport {\n GraphqlResponseError,\n graphql2 as graphql,\n withCustomRequest\n};\n","// pkg/dist-src/auth.js\nvar REGEX_IS_INSTALLATION_LEGACY = /^v1\\./;\nvar REGEX_IS_INSTALLATION = /^ghs_/;\nvar REGEX_IS_USER_TO_SERVER = /^ghu_/;\nasync function auth(token) {\n const isApp = token.split(/\\./).length === 3;\n const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) || REGEX_IS_INSTALLATION.test(token);\n const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token);\n const tokenType = isApp ? \"app\" : isInstallation ? \"installation\" : isUserToServer ? \"user-to-server\" : \"oauth\";\n return {\n type: \"token\",\n token,\n tokenType\n };\n}\n\n// pkg/dist-src/with-authorization-prefix.js\nfunction withAuthorizationPrefix(token) {\n if (token.split(/\\./).length === 3) {\n return `bearer ${token}`;\n }\n return `token ${token}`;\n}\n\n// pkg/dist-src/hook.js\nasync function hook(token, request, route, parameters) {\n const endpoint = request.endpoint.merge(\n route,\n parameters\n );\n endpoint.headers.authorization = withAuthorizationPrefix(token);\n return request(endpoint);\n}\n\n// pkg/dist-src/index.js\nvar createTokenAuth = function createTokenAuth2(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(\n \"[@octokit/auth-token] Token passed to createTokenAuth is not a string\"\n );\n }\n token = token.replace(/^(token|bearer) +/i, \"\");\n return Object.assign(auth.bind(null, token), {\n hook: hook.bind(null, token)\n });\n};\nexport {\n createTokenAuth\n};\n","// pkg/dist-src/index.js\nimport { getUserAgent } from \"universal-user-agent\";\nimport { Collection } from \"before-after-hook\";\nimport { request } from \"@octokit/request\";\nimport { graphql, withCustomRequest } from \"@octokit/graphql\";\nimport { createTokenAuth } from \"@octokit/auth-token\";\n\n// pkg/dist-src/version.js\nvar VERSION = \"4.2.4\";\n\n// pkg/dist-src/index.js\nvar Octokit = class {\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(\n Object.assign(\n {},\n defaults,\n options,\n options.userAgent && defaults.userAgent ? {\n userAgent: `${options.userAgent} ${defaults.userAgent}`\n } : null\n )\n );\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 }, _a.plugins = currentPlugins.concat(\n newPlugins.filter((plugin) => !currentPlugins.includes(plugin))\n ), _a);\n return NewOctokit;\n }\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 requestDefaults.headers[\"user-agent\"] = [\n options.userAgent,\n `octokit-core.js/${VERSION} ${getUserAgent()}`\n ].filter(Boolean).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 {\n debug: () => {\n },\n info: () => {\n },\n warn: console.warn.bind(console),\n error: console.error.bind(console)\n },\n options.log\n );\n this.hook = hook;\n if (!options.authStrategy) {\n if (!options.auth) {\n this.auth = async () => ({\n type: \"unauthenticated\"\n });\n } else {\n const auth = createTokenAuth(options.auth);\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n } else {\n const { authStrategy, ...otherOptions } = options;\n const auth = authStrategy(\n Object.assign(\n {\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 },\n options.auth\n )\n );\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n const classConstructor = this.constructor;\n classConstructor.plugins.forEach((plugin) => {\n Object.assign(this, plugin(this, options));\n });\n }\n};\nOctokit.VERSION = VERSION;\nOctokit.plugins = [];\nexport {\n Octokit\n};\n","const VERSION = \"1.0.4\";\n\n/**\n * @param octokit Octokit instance\n * @param options Options passed to Octokit constructor\n */\nfunction requestLog(octokit) {\n octokit.hook.wrap(\"request\", (request, options) => {\n octokit.log.debug(\"request\", options);\n const start = Date.now();\n const requestOptions = octokit.request.endpoint.parse(options);\n const path = requestOptions.url.replace(options.baseUrl, \"\");\n return request(options)\n .then((response) => {\n octokit.log.info(`${requestOptions.method} ${path} - ${response.status} in ${Date.now() - start}ms`);\n return response;\n })\n .catch((error) => {\n octokit.log.info(`${requestOptions.method} ${path} - ${error.status} in ${Date.now() - start}ms`);\n throw error;\n });\n });\n}\nrequestLog.VERSION = VERSION;\n\nexport { requestLog };\n//# sourceMappingURL=index.js.map\n","const VERSION = \"4.3.1\";\n\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 */\nfunction 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\nfunction 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 // '<https://api.github.com/users/aseemk/followers?page=2>; rel=\"next\", <https://api.github.com/users/aseemk/followers?page=2>; 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\nfunction 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\nconst composePaginateRest = Object.assign(paginate, {\n iterator,\n});\n\nconst paginatingEndpoints = [\n \"GET /app/hook/deliveries\",\n \"GET /app/installations\",\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}/code-scanning/alerts\",\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}/environments/{environment_name}/deployment-branch-policies\",\n \"GET /repos/{owner}/{repo}/events\",\n \"GET /repos/{owner}/{repo}/forks\",\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}/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/ssh_signing_keys\",\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}/ssh_signing_keys\",\n \"GET /users/{username}/starred\",\n \"GET /users/{username}/subscriptions\",\n];\n\nfunction isPaginatingEndpoint(arg) {\n if (typeof arg === \"string\") {\n return paginatingEndpoints.includes(arg);\n }\n else {\n return false;\n }\n}\n\n/**\n * @param octokit Octokit instance\n * @param options Options passed to Octokit constructor\n */\nfunction 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\nexport { composePaginateRest, isPaginatingEndpoint, paginateRest, paginatingEndpoints };\n//# sourceMappingURL=index.js.map\n","const Endpoints = {\n actions: {\n addCustomLabelsToSelfHostedRunnerForOrg: [\n \"POST /orgs/{org}/actions/runners/{runner_id}/labels\",\n ],\n addCustomLabelsToSelfHostedRunnerForRepo: [\n \"POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\",\n ],\n addSelectedRepoToOrgSecret: [\n \"PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}\",\n ],\n approveWorkflowRun: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve\",\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 deleteActionsCacheById: [\n \"DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}\",\n ],\n deleteActionsCacheByKey: [\n \"DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}\",\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 downloadWorkflowRunAttemptLogs: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/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 getActionsCacheList: [\"GET /repos/{owner}/{repo}/actions/caches\"],\n getActionsCacheUsage: [\"GET /repos/{owner}/{repo}/actions/cache/usage\"],\n getActionsCacheUsageByRepoForOrg: [\n \"GET /orgs/{org}/actions/cache/usage-by-repository\",\n ],\n getActionsCacheUsageForEnterprise: [\n \"GET /enterprises/{enterprise}/actions/cache/usage\",\n ],\n getActionsCacheUsageForOrg: [\"GET /orgs/{org}/actions/cache/usage\"],\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 getGithubActionsDefaultWorkflowPermissionsEnterprise: [\n \"GET /enterprises/{enterprise}/actions/permissions/workflow\",\n ],\n getGithubActionsDefaultWorkflowPermissionsOrganization: [\n \"GET /orgs/{org}/actions/permissions/workflow\",\n ],\n getGithubActionsDefaultWorkflowPermissionsRepository: [\n \"GET /repos/{owner}/{repo}/actions/permissions/workflow\",\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 getWorkflowAccessToRepository: [\n \"GET /repos/{owner}/{repo}/actions/permissions/access\",\n ],\n getWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}\"],\n getWorkflowRunAttempt: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}\",\n ],\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 listJobsForWorkflowRunAttempt: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs\",\n ],\n listLabelsForSelfHostedRunnerForOrg: [\n \"GET /orgs/{org}/actions/runners/{runner_id}/labels\",\n ],\n listLabelsForSelfHostedRunnerForRepo: [\n \"GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\",\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 reRunJobForWorkflowRun: [\n \"POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun\",\n ],\n reRunWorkflow: [\"POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun\"],\n reRunWorkflowFailedJobs: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs\",\n ],\n removeAllCustomLabelsFromSelfHostedRunnerForOrg: [\n \"DELETE /orgs/{org}/actions/runners/{runner_id}/labels\",\n ],\n removeAllCustomLabelsFromSelfHostedRunnerForRepo: [\n \"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\",\n ],\n removeCustomLabelFromSelfHostedRunnerForOrg: [\n \"DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}\",\n ],\n removeCustomLabelFromSelfHostedRunnerForRepo: [\n \"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}\",\n ],\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 setCustomLabelsForSelfHostedRunnerForOrg: [\n \"PUT /orgs/{org}/actions/runners/{runner_id}/labels\",\n ],\n setCustomLabelsForSelfHostedRunnerForRepo: [\n \"PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\",\n ],\n setGithubActionsDefaultWorkflowPermissionsEnterprise: [\n \"PUT /enterprises/{enterprise}/actions/permissions/workflow\",\n ],\n setGithubActionsDefaultWorkflowPermissionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions/workflow\",\n ],\n setGithubActionsDefaultWorkflowPermissionsRepository: [\n \"PUT /repos/{owner}/{repo}/actions/permissions/workflow\",\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 setWorkflowAccessToRepository: [\n \"PUT /repos/{owner}/{repo}/actions/permissions/access\",\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 { renamed: [\"apps\", \"addRepoToInstallationForAuthenticatedUser\"] },\n ],\n addRepoToInstallationForAuthenticatedUser: [\n \"PUT /user/installations/{installation_id}/repositories/{repository_id}\",\n ],\n checkToken: [\"POST /applications/{client_id}/token\"],\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 getWebhookDelivery: [\"GET /app/hook/deliveries/{delivery_id}\"],\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 listWebhookDeliveries: [\"GET /app/hook/deliveries\"],\n redeliverWebhookDelivery: [\n \"POST /app/hook/deliveries/{delivery_id}/attempts\",\n ],\n removeRepoFromInstallation: [\n \"DELETE /user/installations/{installation_id}/repositories/{repository_id}\",\n {},\n { renamed: [\"apps\", \"removeRepoFromInstallationForAuthenticatedUser\"] },\n ],\n removeRepoFromInstallationForAuthenticatedUser: [\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 getGithubAdvancedSecurityBillingGhe: [\n \"GET /enterprises/{enterprise}/settings/billing/advanced-security\",\n ],\n getGithubAdvancedSecurityBillingOrg: [\n \"GET /orgs/{org}/settings/billing/advanced-security\",\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 rerequestRun: [\n \"POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest\",\n ],\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 getCodeqlDatabase: [\n \"GET /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}\",\n ],\n getSarif: [\"GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}\"],\n listAlertInstances: [\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\",\n ],\n listAlertsForEnterprise: [\n \"GET /enterprises/{enterprise}/code-scanning/alerts\",\n ],\n listAlertsForOrg: [\"GET /orgs/{org}/code-scanning/alerts\"],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/code-scanning/alerts\"],\n listAlertsInstances: [\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\",\n {},\n { renamed: [\"codeScanning\", \"listAlertInstances\"] },\n ],\n listCodeqlDatabases: [\n \"GET /repos/{owner}/{repo}/code-scanning/codeql/databases\",\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: [\"GET /codes_of_conduct\"],\n getConductCode: [\"GET /codes_of_conduct/{key}\"],\n },\n codespaces: {\n addRepositoryForSecretForAuthenticatedUser: [\n \"PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}\",\n ],\n addSelectedRepoToOrgSecret: [\n \"PUT /organizations/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}\",\n ],\n codespaceMachinesForAuthenticatedUser: [\n \"GET /user/codespaces/{codespace_name}/machines\",\n ],\n createForAuthenticatedUser: [\"POST /user/codespaces\"],\n createOrUpdateOrgSecret: [\n \"PUT /organizations/{org}/codespaces/secrets/{secret_name}\",\n ],\n createOrUpdateRepoSecret: [\n \"PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}\",\n ],\n createOrUpdateSecretForAuthenticatedUser: [\n \"PUT /user/codespaces/secrets/{secret_name}\",\n ],\n createWithPrForAuthenticatedUser: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces\",\n ],\n createWithRepoForAuthenticatedUser: [\n \"POST /repos/{owner}/{repo}/codespaces\",\n ],\n deleteForAuthenticatedUser: [\"DELETE /user/codespaces/{codespace_name}\"],\n deleteFromOrganization: [\n \"DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}\",\n ],\n deleteOrgSecret: [\n \"DELETE /organizations/{org}/codespaces/secrets/{secret_name}\",\n ],\n deleteRepoSecret: [\n \"DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}\",\n ],\n deleteSecretForAuthenticatedUser: [\n \"DELETE /user/codespaces/secrets/{secret_name}\",\n ],\n exportForAuthenticatedUser: [\n \"POST /user/codespaces/{codespace_name}/exports\",\n ],\n getExportDetailsForAuthenticatedUser: [\n \"GET /user/codespaces/{codespace_name}/exports/{export_id}\",\n ],\n getForAuthenticatedUser: [\"GET /user/codespaces/{codespace_name}\"],\n getOrgPublicKey: [\"GET /organizations/{org}/codespaces/secrets/public-key\"],\n getOrgSecret: [\"GET /organizations/{org}/codespaces/secrets/{secret_name}\"],\n getPublicKeyForAuthenticatedUser: [\n \"GET /user/codespaces/secrets/public-key\",\n ],\n getRepoPublicKey: [\n \"GET /repos/{owner}/{repo}/codespaces/secrets/public-key\",\n ],\n getRepoSecret: [\n \"GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}\",\n ],\n getSecretForAuthenticatedUser: [\n \"GET /user/codespaces/secrets/{secret_name}\",\n ],\n listDevcontainersInRepositoryForAuthenticatedUser: [\n \"GET /repos/{owner}/{repo}/codespaces/devcontainers\",\n ],\n listForAuthenticatedUser: [\"GET /user/codespaces\"],\n listInOrganization: [\n \"GET /orgs/{org}/codespaces\",\n {},\n { renamedParameters: { org_id: \"org\" } },\n ],\n listInRepositoryForAuthenticatedUser: [\n \"GET /repos/{owner}/{repo}/codespaces\",\n ],\n listOrgSecrets: [\"GET /organizations/{org}/codespaces/secrets\"],\n listRepoSecrets: [\"GET /repos/{owner}/{repo}/codespaces/secrets\"],\n listRepositoriesForSecretForAuthenticatedUser: [\n \"GET /user/codespaces/secrets/{secret_name}/repositories\",\n ],\n listSecretsForAuthenticatedUser: [\"GET /user/codespaces/secrets\"],\n listSelectedReposForOrgSecret: [\n \"GET /organizations/{org}/codespaces/secrets/{secret_name}/repositories\",\n ],\n preFlightWithRepoForAuthenticatedUser: [\n \"GET /repos/{owner}/{repo}/codespaces/new\",\n ],\n removeRepositoryForSecretForAuthenticatedUser: [\n \"DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}\",\n ],\n removeSelectedRepoFromOrgSecret: [\n \"DELETE /organizations/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}\",\n ],\n repoMachinesForAuthenticatedUser: [\n \"GET /repos/{owner}/{repo}/codespaces/machines\",\n ],\n setRepositoriesForSecretForAuthenticatedUser: [\n \"PUT /user/codespaces/secrets/{secret_name}/repositories\",\n ],\n setSelectedReposForOrgSecret: [\n \"PUT /organizations/{org}/codespaces/secrets/{secret_name}/repositories\",\n ],\n startForAuthenticatedUser: [\"POST /user/codespaces/{codespace_name}/start\"],\n stopForAuthenticatedUser: [\"POST /user/codespaces/{codespace_name}/stop\"],\n stopInOrganization: [\n \"POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop\",\n ],\n updateForAuthenticatedUser: [\"PATCH /user/codespaces/{codespace_name}\"],\n },\n dependabot: {\n addSelectedRepoToOrgSecret: [\n \"PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}\",\n ],\n createOrUpdateOrgSecret: [\n \"PUT /orgs/{org}/dependabot/secrets/{secret_name}\",\n ],\n createOrUpdateRepoSecret: [\n \"PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}\",\n ],\n deleteOrgSecret: [\"DELETE /orgs/{org}/dependabot/secrets/{secret_name}\"],\n deleteRepoSecret: [\n \"DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}\",\n ],\n getAlert: [\"GET /repos/{owner}/{repo}/dependabot/alerts/{alert_number}\"],\n getOrgPublicKey: [\"GET /orgs/{org}/dependabot/secrets/public-key\"],\n getOrgSecret: [\"GET /orgs/{org}/dependabot/secrets/{secret_name}\"],\n getRepoPublicKey: [\n \"GET /repos/{owner}/{repo}/dependabot/secrets/public-key\",\n ],\n getRepoSecret: [\n \"GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}\",\n ],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/dependabot/alerts\"],\n listOrgSecrets: [\"GET /orgs/{org}/dependabot/secrets\"],\n listRepoSecrets: [\"GET /repos/{owner}/{repo}/dependabot/secrets\"],\n listSelectedReposForOrgSecret: [\n \"GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories\",\n ],\n removeSelectedRepoFromOrgSecret: [\n \"DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}\",\n ],\n setSelectedReposForOrgSecret: [\n \"PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories\",\n ],\n updateAlert: [\n \"PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}\",\n ],\n },\n dependencyGraph: {\n createRepositorySnapshot: [\n \"POST /repos/{owner}/{repo}/dependency-graph/snapshots\",\n ],\n diffRange: [\n \"GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}\",\n ],\n },\n emojis: { get: [\"GET /emojis\"] },\n enterpriseAdmin: {\n addCustomLabelsToSelfHostedRunnerForEnterprise: [\n \"POST /enterprises/{enterprise}/actions/runners/{runner_id}/labels\",\n ],\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 getServerStatistics: [\n \"GET /enterprise-installation/{enterprise_or_org}/server-statistics\",\n ],\n listLabelsForSelfHostedRunnerForEnterprise: [\n \"GET /enterprises/{enterprise}/actions/runners/{runner_id}/labels\",\n ],\n listSelectedOrganizationsEnabledGithubActionsEnterprise: [\n \"GET /enterprises/{enterprise}/actions/permissions/organizations\",\n ],\n removeAllCustomLabelsFromSelfHostedRunnerForEnterprise: [\n \"DELETE /enterprises/{enterprise}/actions/runners/{runner_id}/labels\",\n ],\n removeCustomLabelFromSelfHostedRunnerForEnterprise: [\n \"DELETE /enterprises/{enterprise}/actions/runners/{runner_id}/labels/{name}\",\n ],\n setAllowedActionsEnterprise: [\n \"PUT /enterprises/{enterprise}/actions/permissions/selected-actions\",\n ],\n setCustomLabelsForSelfHostedRunnerForEnterprise: [\n \"PUT /enterprises/{enterprise}/actions/runners/{runner_id}/labels\",\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 ],\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 ],\n deleteArchiveForOrg: [\n \"DELETE /orgs/{org}/migrations/{migration_id}/archive\",\n ],\n downloadArchiveForOrg: [\n \"GET /orgs/{org}/migrations/{migration_id}/archive\",\n ],\n getArchiveForAuthenticatedUser: [\n \"GET /user/migrations/{migration_id}/archive\",\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: [\"GET /user/migrations/{migration_id}\"],\n getStatusForOrg: [\"GET /orgs/{org}/migrations/{migration_id}\"],\n listForAuthenticatedUser: [\"GET /user/migrations\"],\n listForOrg: [\"GET /orgs/{org}/migrations\"],\n listReposForAuthenticatedUser: [\n \"GET /user/migrations/{migration_id}/repositories\",\n ],\n listReposForOrg: [\"GET /orgs/{org}/migrations/{migration_id}/repositories\"],\n listReposForUser: [\n \"GET /user/migrations/{migration_id}/repositories\",\n {},\n { renamed: [\"migrations\", \"listReposForAuthenticatedUser\"] },\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 ],\n unlockRepoForOrg: [\n \"DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock\",\n ],\n updateImport: [\"PATCH /repos/{owner}/{repo}/import\"],\n },\n orgs: {\n addSecurityManagerTeam: [\n \"PUT /orgs/{org}/security-managers/teams/{team_slug}\",\n ],\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 createCustomRole: [\"POST /orgs/{org}/custom_roles\"],\n createInvitation: [\"POST /orgs/{org}/invitations\"],\n createWebhook: [\"POST /orgs/{org}/hooks\"],\n deleteCustomRole: [\"DELETE /orgs/{org}/custom_roles/{role_id}\"],\n deleteWebhook: [\"DELETE /orgs/{org}/hooks/{hook_id}\"],\n enableOrDisableSecurityProductOnAllOrgRepos: [\n \"POST /orgs/{org}/{security_product}/{enablement}\",\n ],\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 getWebhookDelivery: [\n \"GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}\",\n ],\n list: [\"GET /organizations\"],\n listAppInstallations: [\"GET /orgs/{org}/installations\"],\n listBlockedUsers: [\"GET /orgs/{org}/blocks\"],\n listCustomRoles: [\"GET /organizations/{organization_id}/custom_roles\"],\n listFailedInvitations: [\"GET /orgs/{org}/failed_invitations\"],\n listFineGrainedPermissions: [\"GET /orgs/{org}/fine_grained_permissions\"],\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 listSecurityManagerTeams: [\"GET /orgs/{org}/security-managers\"],\n listWebhookDeliveries: [\"GET /orgs/{org}/hooks/{hook_id}/deliveries\"],\n listWebhooks: [\"GET /orgs/{org}/hooks\"],\n pingWebhook: [\"POST /orgs/{org}/hooks/{hook_id}/pings\"],\n redeliverWebhookDelivery: [\n \"POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts\",\n ],\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 removeSecurityManagerTeam: [\n \"DELETE /orgs/{org}/security-managers/teams/{team_slug}\",\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 updateCustomRole: [\"PATCH /orgs/{org}/custom_roles/{role_id}\"],\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 deletePackageForUser: [\n \"DELETE /users/{username}/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 deletePackageVersionForUser: [\n \"DELETE /users/{username}/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 listPackagesForAuthenticatedUser: [\"GET /user/packages\"],\n listPackagesForOrganization: [\"GET /orgs/{org}/packages\"],\n listPackagesForUser: [\"GET /users/{username}/packages\"],\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 restorePackageForUser: [\n \"POST /users/{username}/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 restorePackageVersionForUser: [\n \"POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\",\n ],\n },\n projects: {\n addCollaborator: [\"PUT /projects/{project_id}/collaborators/{username}\"],\n createCard: [\"POST /projects/columns/{column_id}/cards\"],\n createColumn: [\"POST /projects/{project_id}/columns\"],\n createForAuthenticatedUser: [\"POST /user/projects\"],\n createForOrg: [\"POST /orgs/{org}/projects\"],\n createForRepo: [\"POST /repos/{owner}/{repo}/projects\"],\n delete: [\"DELETE /projects/{project_id}\"],\n deleteCard: [\"DELETE /projects/columns/cards/{card_id}\"],\n deleteColumn: [\"DELETE /projects/columns/{column_id}\"],\n get: [\"GET /projects/{project_id}\"],\n getCard: [\"GET /projects/columns/cards/{card_id}\"],\n getColumn: [\"GET /projects/columns/{column_id}\"],\n getPermissionForUser: [\n \"GET /projects/{project_id}/collaborators/{username}/permission\",\n ],\n listCards: [\"GET /projects/columns/{column_id}/cards\"],\n listCollaborators: [\"GET /projects/{project_id}/collaborators\"],\n listColumns: [\"GET /projects/{project_id}/columns\"],\n listForOrg: [\"GET /orgs/{org}/projects\"],\n listForRepo: [\"GET /repos/{owner}/{repo}/projects\"],\n listForUser: [\"GET /users/{username}/projects\"],\n moveCard: [\"POST /projects/columns/cards/{card_id}/moves\"],\n moveColumn: [\"POST /projects/columns/{column_id}/moves\"],\n removeCollaborator: [\n \"DELETE /projects/{project_id}/collaborators/{username}\",\n ],\n update: [\"PATCH /projects/{project_id}\"],\n updateCard: [\"PATCH /projects/columns/cards/{card_id}\"],\n updateColumn: [\"PATCH /projects/columns/{column_id}\"],\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 ],\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 ],\n createForIssue: [\n \"POST /repos/{owner}/{repo}/issues/{issue_number}/reactions\",\n ],\n createForIssueComment: [\n \"POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\",\n ],\n createForPullRequestReviewComment: [\n \"POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\",\n ],\n createForRelease: [\n \"POST /repos/{owner}/{repo}/releases/{release_id}/reactions\",\n ],\n createForTeamDiscussionCommentInOrg: [\n \"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\",\n ],\n createForTeamDiscussionInOrg: [\n \"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\",\n ],\n deleteForCommitComment: [\n \"DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}\",\n ],\n deleteForIssue: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}\",\n ],\n deleteForIssueComment: [\n \"DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}\",\n ],\n deleteForPullRequestComment: [\n \"DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}\",\n ],\n deleteForRelease: [\n \"DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}\",\n ],\n deleteForTeamDiscussion: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}\",\n ],\n deleteForTeamDiscussionComment: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}\",\n ],\n listForCommitComment: [\n \"GET /repos/{owner}/{repo}/comments/{comment_id}/reactions\",\n ],\n listForIssue: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/reactions\"],\n listForIssueComment: [\n \"GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\",\n ],\n listForPullRequestReviewComment: [\n \"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\",\n ],\n listForRelease: [\n \"GET /repos/{owner}/{repo}/releases/{release_id}/reactions\",\n ],\n listForTeamDiscussionCommentInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\",\n ],\n listForTeamDiscussionInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\",\n ],\n },\n repos: {\n acceptInvitation: [\n \"PATCH /user/repository_invitations/{invitation_id}\",\n {},\n { renamed: [\"repos\", \"acceptInvitationForAuthenticatedUser\"] },\n ],\n acceptInvitationForAuthenticatedUser: [\n \"PATCH /user/repository_invitations/{invitation_id}\",\n ],\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 ],\n codeownersErrors: [\"GET /repos/{owner}/{repo}/codeowners/errors\"],\n compareCommits: [\"GET /repos/{owner}/{repo}/compare/{base}...{head}\"],\n compareCommitsWithBasehead: [\n \"GET /repos/{owner}/{repo}/compare/{basehead}\",\n ],\n createAutolink: [\"POST /repos/{owner}/{repo}/autolinks\"],\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 ],\n createCommitStatus: [\"POST /repos/{owner}/{repo}/statuses/{sha}\"],\n createDeployKey: [\"POST /repos/{owner}/{repo}/keys\"],\n createDeployment: [\"POST /repos/{owner}/{repo}/deployments\"],\n createDeploymentBranchPolicy: [\n \"POST /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies\",\n ],\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 createPagesDeployment: [\"POST /repos/{owner}/{repo}/pages/deployment\"],\n createPagesSite: [\"POST /repos/{owner}/{repo}/pages\"],\n createRelease: [\"POST /repos/{owner}/{repo}/releases\"],\n createTagProtection: [\"POST /repos/{owner}/{repo}/tags/protection\"],\n createUsingTemplate: [\n \"POST /repos/{template_owner}/{template_repo}/generate\",\n ],\n createWebhook: [\"POST /repos/{owner}/{repo}/hooks\"],\n declineInvitation: [\n \"DELETE /user/repository_invitations/{invitation_id}\",\n {},\n { renamed: [\"repos\", \"declineInvitationForAuthenticatedUser\"] },\n ],\n declineInvitationForAuthenticatedUser: [\n \"DELETE /user/repository_invitations/{invitation_id}\",\n ],\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 deleteAutolink: [\"DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}\"],\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 ],\n deleteDeployKey: [\"DELETE /repos/{owner}/{repo}/keys/{key_id}\"],\n deleteDeployment: [\n \"DELETE /repos/{owner}/{repo}/deployments/{deployment_id}\",\n ],\n deleteDeploymentBranchPolicy: [\n \"DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}\",\n ],\n deleteFile: [\"DELETE /repos/{owner}/{repo}/contents/{path}\"],\n deleteInvitation: [\n \"DELETE /repos/{owner}/{repo}/invitations/{invitation_id}\",\n ],\n deletePagesSite: [\"DELETE /repos/{owner}/{repo}/pages\"],\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 deleteTagProtection: [\n \"DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_id}\",\n ],\n deleteWebhook: [\"DELETE /repos/{owner}/{repo}/hooks/{hook_id}\"],\n disableAutomatedSecurityFixes: [\n \"DELETE /repos/{owner}/{repo}/automated-security-fixes\",\n ],\n disableLfsForRepo: [\"DELETE /repos/{owner}/{repo}/lfs\"],\n disableVulnerabilityAlerts: [\n \"DELETE /repos/{owner}/{repo}/vulnerability-alerts\",\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 ],\n enableLfsForRepo: [\"PUT /repos/{owner}/{repo}/lfs\"],\n enableVulnerabilityAlerts: [\n \"PUT /repos/{owner}/{repo}/vulnerability-alerts\",\n ],\n generateReleaseNotes: [\n \"POST /repos/{owner}/{repo}/releases/generate-notes\",\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: [\"GET /repos/{owner}/{repo}/topics\"],\n getAppsWithAccessToProtectedBranch: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n ],\n getAutolink: [\"GET /repos/{owner}/{repo}/autolinks/{autolink_id}\"],\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 ],\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 getDeploymentBranchPolicy: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}\",\n ],\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 getPagesHealthCheck: [\"GET /repos/{owner}/{repo}/pages/health\"],\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 getWebhookDelivery: [\n \"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}\",\n ],\n listAutolinks: [\"GET /repos/{owner}/{repo}/autolinks\"],\n listBranches: [\"GET /repos/{owner}/{repo}/branches\"],\n listBranchesForHeadCommit: [\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head\",\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 listDeploymentBranchPolicies: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies\",\n ],\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 ],\n listReleaseAssets: [\n \"GET /repos/{owner}/{repo}/releases/{release_id}/assets\",\n ],\n listReleases: [\"GET /repos/{owner}/{repo}/releases\"],\n listTagProtection: [\"GET /repos/{owner}/{repo}/tags/protection\"],\n listTags: [\"GET /repos/{owner}/{repo}/tags\"],\n listTeams: [\"GET /repos/{owner}/{repo}/teams\"],\n listWebhookDeliveries: [\n \"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries\",\n ],\n listWebhooks: [\"GET /repos/{owner}/{repo}/hooks\"],\n merge: [\"POST /repos/{owner}/{repo}/merges\"],\n mergeUpstream: [\"POST /repos/{owner}/{repo}/merge-upstream\"],\n pingWebhook: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/pings\"],\n redeliverWebhookDelivery: [\n \"POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts\",\n ],\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: [\"PUT /repos/{owner}/{repo}/topics\"],\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 updateDeploymentBranchPolicy: [\n \"PUT /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}\",\n ],\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\"],\n issuesAndPullRequests: [\"GET /search/issues\"],\n labels: [\"GET /search/labels\"],\n repos: [\"GET /search/repositories\"],\n topics: [\"GET /search/topics\"],\n users: [\"GET /search/users\"],\n },\n secretScanning: {\n getAlert: [\n \"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}\",\n ],\n listAlertsForEnterprise: [\n \"GET /enterprises/{enterprise}/secret-scanning/alerts\",\n ],\n listAlertsForOrg: [\"GET /orgs/{org}/secret-scanning/alerts\"],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/secret-scanning/alerts\"],\n listLocationsForAlert: [\n \"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations\",\n ],\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 ],\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 ],\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: [\"GET /orgs/{org}/teams/{team_slug}/projects\"],\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: [\n \"POST /user/emails\",\n {},\n { renamed: [\"users\", \"addEmailForAuthenticatedUser\"] },\n ],\n addEmailForAuthenticatedUser: [\"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: [\n \"POST /user/gpg_keys\",\n {},\n { renamed: [\"users\", \"createGpgKeyForAuthenticatedUser\"] },\n ],\n createGpgKeyForAuthenticatedUser: [\"POST /user/gpg_keys\"],\n createPublicSshKeyForAuthenticated: [\n \"POST /user/keys\",\n {},\n { renamed: [\"users\", \"createPublicSshKeyForAuthenticatedUser\"] },\n ],\n createPublicSshKeyForAuthenticatedUser: [\"POST /user/keys\"],\n createSshSigningKeyForAuthenticatedUser: [\"POST /user/ssh_signing_keys\"],\n deleteEmailForAuthenticated: [\n \"DELETE /user/emails\",\n {},\n { renamed: [\"users\", \"deleteEmailForAuthenticatedUser\"] },\n ],\n deleteEmailForAuthenticatedUser: [\"DELETE /user/emails\"],\n deleteGpgKeyForAuthenticated: [\n \"DELETE /user/gpg_keys/{gpg_key_id}\",\n {},\n { renamed: [\"users\", \"deleteGpgKeyForAuthenticatedUser\"] },\n ],\n deleteGpgKeyForAuthenticatedUser: [\"DELETE /user/gpg_keys/{gpg_key_id}\"],\n deletePublicSshKeyForAuthenticated: [\n \"DELETE /user/keys/{key_id}\",\n {},\n { renamed: [\"users\", \"deletePublicSshKeyForAuthenticatedUser\"] },\n ],\n deletePublicSshKeyForAuthenticatedUser: [\"DELETE /user/keys/{key_id}\"],\n deleteSshSigningKeyForAuthenticatedUser: [\n \"DELETE /user/ssh_signing_keys/{ssh_signing_key_id}\",\n ],\n follow: [\"PUT /user/following/{username}\"],\n getAuthenticated: [\"GET /user\"],\n getByUsername: [\"GET /users/{username}\"],\n getContextForUser: [\"GET /users/{username}/hovercard\"],\n getGpgKeyForAuthenticated: [\n \"GET /user/gpg_keys/{gpg_key_id}\",\n {},\n { renamed: [\"users\", \"getGpgKeyForAuthenticatedUser\"] },\n ],\n getGpgKeyForAuthenticatedUser: [\"GET /user/gpg_keys/{gpg_key_id}\"],\n getPublicSshKeyForAuthenticated: [\n \"GET /user/keys/{key_id}\",\n {},\n { renamed: [\"users\", \"getPublicSshKeyForAuthenticatedUser\"] },\n ],\n getPublicSshKeyForAuthenticatedUser: [\"GET /user/keys/{key_id}\"],\n getSshSigningKeyForAuthenticatedUser: [\n \"GET /user/ssh_signing_keys/{ssh_signing_key_id}\",\n ],\n list: [\"GET /users\"],\n listBlockedByAuthenticated: [\n \"GET /user/blocks\",\n {},\n { renamed: [\"users\", \"listBlockedByAuthenticatedUser\"] },\n ],\n listBlockedByAuthenticatedUser: [\"GET /user/blocks\"],\n listEmailsForAuthenticated: [\n \"GET /user/emails\",\n {},\n { renamed: [\"users\", \"listEmailsForAuthenticatedUser\"] },\n ],\n listEmailsForAuthenticatedUser: [\"GET /user/emails\"],\n listFollowedByAuthenticated: [\n \"GET /user/following\",\n {},\n { renamed: [\"users\", \"listFollowedByAuthenticatedUser\"] },\n ],\n listFollowedByAuthenticatedUser: [\"GET /user/following\"],\n listFollowersForAuthenticatedUser: [\"GET /user/followers\"],\n listFollowersForUser: [\"GET /users/{username}/followers\"],\n listFollowingForUser: [\"GET /users/{username}/following\"],\n listGpgKeysForAuthenticated: [\n \"GET /user/gpg_keys\",\n {},\n { renamed: [\"users\", \"listGpgKeysForAuthenticatedUser\"] },\n ],\n listGpgKeysForAuthenticatedUser: [\"GET /user/gpg_keys\"],\n listGpgKeysForUser: [\"GET /users/{username}/gpg_keys\"],\n listPublicEmailsForAuthenticated: [\n \"GET /user/public_emails\",\n {},\n { renamed: [\"users\", \"listPublicEmailsForAuthenticatedUser\"] },\n ],\n listPublicEmailsForAuthenticatedUser: [\"GET /user/public_emails\"],\n listPublicKeysForUser: [\"GET /users/{username}/keys\"],\n listPublicSshKeysForAuthenticated: [\n \"GET /user/keys\",\n {},\n { renamed: [\"users\", \"listPublicSshKeysForAuthenticatedUser\"] },\n ],\n listPublicSshKeysForAuthenticatedUser: [\"GET /user/keys\"],\n listSshSigningKeysForAuthenticatedUser: [\"GET /user/ssh_signing_keys\"],\n listSshSigningKeysForUser: [\"GET /users/{username}/ssh_signing_keys\"],\n setPrimaryEmailVisibilityForAuthenticated: [\n \"PATCH /user/email/visibility\",\n {},\n { renamed: [\"users\", \"setPrimaryEmailVisibilityForAuthenticatedUser\"] },\n ],\n setPrimaryEmailVisibilityForAuthenticatedUser: [\n \"PATCH /user/email/visibility\",\n ],\n unblock: [\"DELETE /user/blocks/{username}\"],\n unfollow: [\"DELETE /user/following/{username}\"],\n updateAuthenticated: [\"PATCH /user\"],\n },\n};\n\nconst VERSION = \"6.8.1\";\n\nfunction 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\nfunction restEndpointMethods(octokit) {\n const api = endpointsToMethods(octokit, Endpoints);\n return {\n rest: api,\n };\n}\nrestEndpointMethods.VERSION = VERSION;\nfunction legacyRestEndpointMethods(octokit) {\n const api = endpointsToMethods(octokit, Endpoints);\n return {\n ...api,\n rest: api,\n };\n}\nlegacyRestEndpointMethods.VERSION = VERSION;\n\nexport { legacyRestEndpointMethods, restEndpointMethods };\n//# sourceMappingURL=index.js.map\n","import { Octokit as Octokit$1 } from '@octokit/core';\nimport { requestLog } from '@octokit/plugin-request-log';\nimport { paginateRest } from '@octokit/plugin-paginate-rest';\nimport { legacyRestEndpointMethods } from '@octokit/plugin-rest-endpoint-methods';\n\nconst VERSION = \"19.0.4\";\n\nconst Octokit = Octokit$1.plugin(requestLog, legacyRestEndpointMethods, paginateRest).defaults({\n userAgent: `octokit-rest.js/${VERSION}`,\n});\n\nexport { Octokit };\n//# sourceMappingURL=index.js.map\n","var register = require(\"./lib/register\");\nvar addHook = require(\"./lib/add\");\nvar removeHook = require(\"./lib/remove\");\n\n// bind with array of arguments: https://stackoverflow.com/a/21792913\nvar bind = Function.bind;\nvar bindable = bind.bind(bind);\n\nfunction bindApi(hook, state, name) {\n var removeHookRef = bindable(removeHook, null).apply(\n null,\n name ? [state, name] : [state]\n );\n hook.api = { remove: removeHookRef };\n hook.remove = removeHookRef;\n [\"before\", \"error\", \"after\", \"wrap\"].forEach(function (kind) {\n var args = name ? [state, kind, name] : [state, kind];\n hook[kind] = hook.api[kind] = bindable(addHook, null).apply(null, args);\n });\n}\n\nfunction HookSingular() {\n var singularHookName = \"h\";\n var singularHookState = {\n registry: {},\n };\n var singularHook = register.bind(null, singularHookState, singularHookName);\n bindApi(singularHook, singularHookState, singularHookName);\n return singularHook;\n}\n\nfunction HookCollection() {\n var state = {\n registry: {},\n };\n\n var hook = register.bind(null, state);\n bindApi(hook, state);\n\n return hook;\n}\n\nvar collectionHookDeprecationMessageDisplayed = false;\nfunction Hook() {\n if (!collectionHookDeprecationMessageDisplayed) {\n console.warn(\n '[before-after-hook]: \"Hook()\" repurposing warning, use \"Hook.Collection()\". Read more: https://git.io/upgrade-before-after-hook-to-1.4'\n );\n collectionHookDeprecationMessageDisplayed = true;\n }\n return HookCollection();\n}\n\nHook.Singular = HookSingular.bind();\nHook.Collection = HookCollection.bind();\n\nmodule.exports = Hook;\n// expose constructors as a named property for TypeScript\nmodule.exports.Hook = Hook;\nmodule.exports.Singular = Hook.Singular;\nmodule.exports.Collection = Hook.Collection;\n","module.exports = addHook;\n\nfunction addHook(state, kind, name, hook) {\n var orig = hook;\n if (!state.registry[name]) {\n state.registry[name] = [];\n }\n\n if (kind === \"before\") {\n hook = function (method, options) {\n return Promise.resolve()\n .then(orig.bind(null, options))\n .then(method.bind(null, options));\n };\n }\n\n if (kind === \"after\") {\n hook = function (method, options) {\n var result;\n return Promise.resolve()\n .then(method.bind(null, options))\n .then(function (result_) {\n result = result_;\n return orig(result, options);\n })\n .then(function () {\n return result;\n });\n };\n }\n\n if (kind === \"error\") {\n hook = function (method, options) {\n return Promise.resolve()\n .then(method.bind(null, options))\n .catch(function (error) {\n return orig(error, options);\n });\n };\n }\n\n state.registry[name].push({\n hook: hook,\n orig: orig,\n });\n}\n","module.exports = register;\n\nfunction register(state, name, method, options) {\n if (typeof method !== \"function\") {\n throw new Error(\"method for before hook must be a function\");\n }\n\n if (!options) {\n options = {};\n }\n\n if (Array.isArray(name)) {\n return name.reverse().reduce(function (callback, name) {\n return register.bind(null, state, name, callback, options);\n }, method)();\n }\n\n return Promise.resolve().then(function () {\n if (!state.registry[name]) {\n return method(options);\n }\n\n return state.registry[name].reduce(function (method, registered) {\n return registered.hook.bind(null, method, options);\n }, method)();\n });\n}\n","module.exports = removeHook;\n\nfunction removeHook(state, name, method) {\n if (!state.registry[name]) {\n return;\n }\n\n var index = state.registry[name]\n .map(function (registered) {\n return registered.orig;\n })\n .indexOf(method);\n\n if (index === -1) {\n return;\n }\n\n state.registry[name].splice(index, 1);\n}\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n'use strict';\n/**\n * Creates a JSON scanner on the given text.\n * If ignoreTrivia is set, whitespaces or comments are ignored.\n */\nexport function createScanner(text, ignoreTrivia = false) {\n const len = text.length;\n let pos = 0, value = '', tokenOffset = 0, token = 16 /* SyntaxKind.Unknown */, lineNumber = 0, lineStartOffset = 0, tokenLineStartOffset = 0, prevTokenLineStartOffset = 0, scanError = 0 /* ScanError.None */;\n function scanHexDigits(count, exact) {\n let digits = 0;\n let value = 0;\n while (digits < count || !exact) {\n let ch = text.charCodeAt(pos);\n if (ch >= 48 /* CharacterCodes._0 */ && ch <= 57 /* CharacterCodes._9 */) {\n value = value * 16 + ch - 48 /* CharacterCodes._0 */;\n }\n else if (ch >= 65 /* CharacterCodes.A */ && ch <= 70 /* CharacterCodes.F */) {\n value = value * 16 + ch - 65 /* CharacterCodes.A */ + 10;\n }\n else if (ch >= 97 /* CharacterCodes.a */ && ch <= 102 /* CharacterCodes.f */) {\n value = value * 16 + ch - 97 /* CharacterCodes.a */ + 10;\n }\n else {\n break;\n }\n pos++;\n digits++;\n }\n if (digits < count) {\n value = -1;\n }\n return value;\n }\n function setPosition(newPosition) {\n pos = newPosition;\n value = '';\n tokenOffset = 0;\n token = 16 /* SyntaxKind.Unknown */;\n scanError = 0 /* ScanError.None */;\n }\n function scanNumber() {\n let start = pos;\n if (text.charCodeAt(pos) === 48 /* CharacterCodes._0 */) {\n pos++;\n }\n else {\n pos++;\n while (pos < text.length && isDigit(text.charCodeAt(pos))) {\n pos++;\n }\n }\n if (pos < text.length && text.charCodeAt(pos) === 46 /* CharacterCodes.dot */) {\n pos++;\n if (pos < text.length && isDigit(text.charCodeAt(pos))) {\n pos++;\n while (pos < text.length && isDigit(text.charCodeAt(pos))) {\n pos++;\n }\n }\n else {\n scanError = 3 /* ScanError.UnexpectedEndOfNumber */;\n return text.substring(start, pos);\n }\n }\n let end = pos;\n if (pos < text.length && (text.charCodeAt(pos) === 69 /* CharacterCodes.E */ || text.charCodeAt(pos) === 101 /* CharacterCodes.e */)) {\n pos++;\n if (pos < text.length && text.charCodeAt(pos) === 43 /* CharacterCodes.plus */ || text.charCodeAt(pos) === 45 /* CharacterCodes.minus */) {\n pos++;\n }\n if (pos < text.length && isDigit(text.charCodeAt(pos))) {\n pos++;\n while (pos < text.length && isDigit(text.charCodeAt(pos))) {\n pos++;\n }\n end = pos;\n }\n else {\n scanError = 3 /* ScanError.UnexpectedEndOfNumber */;\n }\n }\n return text.substring(start, end);\n }\n function scanString() {\n let result = '', start = pos;\n while (true) {\n if (pos >= len) {\n result += text.substring(start, pos);\n scanError = 2 /* ScanError.UnexpectedEndOfString */;\n break;\n }\n const ch = text.charCodeAt(pos);\n if (ch === 34 /* CharacterCodes.doubleQuote */) {\n result += text.substring(start, pos);\n pos++;\n break;\n }\n if (ch === 92 /* CharacterCodes.backslash */) {\n result += text.substring(start, pos);\n pos++;\n if (pos >= len) {\n scanError = 2 /* ScanError.UnexpectedEndOfString */;\n break;\n }\n const ch2 = text.charCodeAt(pos++);\n switch (ch2) {\n case 34 /* CharacterCodes.doubleQuote */:\n result += '\\\"';\n break;\n case 92 /* CharacterCodes.backslash */:\n result += '\\\\';\n break;\n case 47 /* CharacterCodes.slash */:\n result += '/';\n break;\n case 98 /* CharacterCodes.b */:\n result += '\\b';\n break;\n case 102 /* CharacterCodes.f */:\n result += '\\f';\n break;\n case 110 /* CharacterCodes.n */:\n result += '\\n';\n break;\n case 114 /* CharacterCodes.r */:\n result += '\\r';\n break;\n case 116 /* CharacterCodes.t */:\n result += '\\t';\n break;\n case 117 /* CharacterCodes.u */:\n const ch3 = scanHexDigits(4, true);\n if (ch3 >= 0) {\n result += String.fromCharCode(ch3);\n }\n else {\n scanError = 4 /* ScanError.InvalidUnicode */;\n }\n break;\n default:\n scanError = 5 /* ScanError.InvalidEscapeCharacter */;\n }\n start = pos;\n continue;\n }\n if (ch >= 0 && ch <= 0x1f) {\n if (isLineBreak(ch)) {\n result += text.substring(start, pos);\n scanError = 2 /* ScanError.UnexpectedEndOfString */;\n break;\n }\n else {\n scanError = 6 /* ScanError.InvalidCharacter */;\n // mark as error but continue with string\n }\n }\n pos++;\n }\n return result;\n }\n function scanNext() {\n value = '';\n scanError = 0 /* ScanError.None */;\n tokenOffset = pos;\n lineStartOffset = lineNumber;\n prevTokenLineStartOffset = tokenLineStartOffset;\n if (pos >= len) {\n // at the end\n tokenOffset = len;\n return token = 17 /* SyntaxKind.EOF */;\n }\n let code = text.charCodeAt(pos);\n // trivia: whitespace\n if (isWhiteSpace(code)) {\n do {\n pos++;\n value += String.fromCharCode(code);\n code = text.charCodeAt(pos);\n } while (isWhiteSpace(code));\n return token = 15 /* SyntaxKind.Trivia */;\n }\n // trivia: newlines\n if (isLineBreak(code)) {\n pos++;\n value += String.fromCharCode(code);\n if (code === 13 /* CharacterCodes.carriageReturn */ && text.charCodeAt(pos) === 10 /* CharacterCodes.lineFeed */) {\n pos++;\n value += '\\n';\n }\n lineNumber++;\n tokenLineStartOffset = pos;\n return token = 14 /* SyntaxKind.LineBreakTrivia */;\n }\n switch (code) {\n // tokens: []{}:,\n case 123 /* CharacterCodes.openBrace */:\n pos++;\n return token = 1 /* SyntaxKind.OpenBraceToken */;\n case 125 /* CharacterCodes.closeBrace */:\n pos++;\n return token = 2 /* SyntaxKind.CloseBraceToken */;\n case 91 /* CharacterCodes.openBracket */:\n pos++;\n return token = 3 /* SyntaxKind.OpenBracketToken */;\n case 93 /* CharacterCodes.closeBracket */:\n pos++;\n return token = 4 /* SyntaxKind.CloseBracketToken */;\n case 58 /* CharacterCodes.colon */:\n pos++;\n return token = 6 /* SyntaxKind.ColonToken */;\n case 44 /* CharacterCodes.comma */:\n pos++;\n return token = 5 /* SyntaxKind.CommaToken */;\n // strings\n case 34 /* CharacterCodes.doubleQuote */:\n pos++;\n value = scanString();\n return token = 10 /* SyntaxKind.StringLiteral */;\n // comments\n case 47 /* CharacterCodes.slash */:\n const start = pos - 1;\n // Single-line comment\n if (text.charCodeAt(pos + 1) === 47 /* CharacterCodes.slash */) {\n pos += 2;\n while (pos < len) {\n if (isLineBreak(text.charCodeAt(pos))) {\n break;\n }\n pos++;\n }\n value = text.substring(start, pos);\n return token = 12 /* SyntaxKind.LineCommentTrivia */;\n }\n // Multi-line comment\n if (text.charCodeAt(pos + 1) === 42 /* CharacterCodes.asterisk */) {\n pos += 2;\n const safeLength = len - 1; // For lookahead.\n let commentClosed = false;\n while (pos < safeLength) {\n const ch = text.charCodeAt(pos);\n if (ch === 42 /* CharacterCodes.asterisk */ && text.charCodeAt(pos + 1) === 47 /* CharacterCodes.slash */) {\n pos += 2;\n commentClosed = true;\n break;\n }\n pos++;\n if (isLineBreak(ch)) {\n if (ch === 13 /* CharacterCodes.carriageReturn */ && text.charCodeAt(pos) === 10 /* CharacterCodes.lineFeed */) {\n pos++;\n }\n lineNumber++;\n tokenLineStartOffset = pos;\n }\n }\n if (!commentClosed) {\n pos++;\n scanError = 1 /* ScanError.UnexpectedEndOfComment */;\n }\n value = text.substring(start, pos);\n return token = 13 /* SyntaxKind.BlockCommentTrivia */;\n }\n // just a single slash\n value += String.fromCharCode(code);\n pos++;\n return token = 16 /* SyntaxKind.Unknown */;\n // numbers\n case 45 /* CharacterCodes.minus */:\n value += String.fromCharCode(code);\n pos++;\n if (pos === len || !isDigit(text.charCodeAt(pos))) {\n return token = 16 /* SyntaxKind.Unknown */;\n }\n // found a minus, followed by a number so\n // we fall through to proceed with scanning\n // numbers\n case 48 /* CharacterCodes._0 */:\n case 49 /* CharacterCodes._1 */:\n case 50 /* CharacterCodes._2 */:\n case 51 /* CharacterCodes._3 */:\n case 52 /* CharacterCodes._4 */:\n case 53 /* CharacterCodes._5 */:\n case 54 /* CharacterCodes._6 */:\n case 55 /* CharacterCodes._7 */:\n case 56 /* CharacterCodes._8 */:\n case 57 /* CharacterCodes._9 */:\n value += scanNumber();\n return token = 11 /* SyntaxKind.NumericLiteral */;\n // literals and unknown symbols\n default:\n // is a literal? Read the full word.\n while (pos < len && isUnknownContentCharacter(code)) {\n pos++;\n code = text.charCodeAt(pos);\n }\n if (tokenOffset !== pos) {\n value = text.substring(tokenOffset, pos);\n // keywords: true, false, null\n switch (value) {\n case 'true': return token = 8 /* SyntaxKind.TrueKeyword */;\n case 'false': return token = 9 /* SyntaxKind.FalseKeyword */;\n case 'null': return token = 7 /* SyntaxKind.NullKeyword */;\n }\n return token = 16 /* SyntaxKind.Unknown */;\n }\n // some\n value += String.fromCharCode(code);\n pos++;\n return token = 16 /* SyntaxKind.Unknown */;\n }\n }\n function isUnknownContentCharacter(code) {\n if (isWhiteSpace(code) || isLineBreak(code)) {\n return false;\n }\n switch (code) {\n case 125 /* CharacterCodes.closeBrace */:\n case 93 /* CharacterCodes.closeBracket */:\n case 123 /* CharacterCodes.openBrace */:\n case 91 /* CharacterCodes.openBracket */:\n case 34 /* CharacterCodes.doubleQuote */:\n case 58 /* CharacterCodes.colon */:\n case 44 /* CharacterCodes.comma */:\n case 47 /* CharacterCodes.slash */:\n return false;\n }\n return true;\n }\n function scanNextNonTrivia() {\n let result;\n do {\n result = scanNext();\n } while (result >= 12 /* SyntaxKind.LineCommentTrivia */ && result <= 15 /* SyntaxKind.Trivia */);\n return result;\n }\n return {\n setPosition: setPosition,\n getPosition: () => pos,\n scan: ignoreTrivia ? scanNextNonTrivia : scanNext,\n getToken: () => token,\n getTokenValue: () => value,\n getTokenOffset: () => tokenOffset,\n getTokenLength: () => pos - tokenOffset,\n getTokenStartLine: () => lineStartOffset,\n getTokenStartCharacter: () => tokenOffset - prevTokenLineStartOffset,\n getTokenError: () => scanError,\n };\n}\nfunction isWhiteSpace(ch) {\n return ch === 32 /* CharacterCodes.space */ || ch === 9 /* CharacterCodes.tab */;\n}\nfunction isLineBreak(ch) {\n return ch === 10 /* CharacterCodes.lineFeed */ || ch === 13 /* CharacterCodes.carriageReturn */;\n}\nfunction isDigit(ch) {\n return ch >= 48 /* CharacterCodes._0 */ && ch <= 57 /* CharacterCodes._9 */;\n}\nvar CharacterCodes;\n(function (CharacterCodes) {\n CharacterCodes[CharacterCodes[\"lineFeed\"] = 10] = \"lineFeed\";\n CharacterCodes[CharacterCodes[\"carriageReturn\"] = 13] = \"carriageReturn\";\n CharacterCodes[CharacterCodes[\"space\"] = 32] = \"space\";\n CharacterCodes[CharacterCodes[\"_0\"] = 48] = \"_0\";\n CharacterCodes[CharacterCodes[\"_1\"] = 49] = \"_1\";\n CharacterCodes[CharacterCodes[\"_2\"] = 50] = \"_2\";\n CharacterCodes[CharacterCodes[\"_3\"] = 51] = \"_3\";\n CharacterCodes[CharacterCodes[\"_4\"] = 52] = \"_4\";\n CharacterCodes[CharacterCodes[\"_5\"] = 53] = \"_5\";\n CharacterCodes[CharacterCodes[\"_6\"] = 54] = \"_6\";\n CharacterCodes[CharacterCodes[\"_7\"] = 55] = \"_7\";\n CharacterCodes[CharacterCodes[\"_8\"] = 56] = \"_8\";\n CharacterCodes[CharacterCodes[\"_9\"] = 57] = \"_9\";\n CharacterCodes[CharacterCodes[\"a\"] = 97] = \"a\";\n CharacterCodes[CharacterCodes[\"b\"] = 98] = \"b\";\n CharacterCodes[CharacterCodes[\"c\"] = 99] = \"c\";\n CharacterCodes[CharacterCodes[\"d\"] = 100] = \"d\";\n CharacterCodes[CharacterCodes[\"e\"] = 101] = \"e\";\n CharacterCodes[CharacterCodes[\"f\"] = 102] = \"f\";\n CharacterCodes[CharacterCodes[\"g\"] = 103] = \"g\";\n CharacterCodes[CharacterCodes[\"h\"] = 104] = \"h\";\n CharacterCodes[CharacterCodes[\"i\"] = 105] = \"i\";\n CharacterCodes[CharacterCodes[\"j\"] = 106] = \"j\";\n CharacterCodes[CharacterCodes[\"k\"] = 107] = \"k\";\n CharacterCodes[CharacterCodes[\"l\"] = 108] = \"l\";\n CharacterCodes[CharacterCodes[\"m\"] = 109] = \"m\";\n CharacterCodes[CharacterCodes[\"n\"] = 110] = \"n\";\n CharacterCodes[CharacterCodes[\"o\"] = 111] = \"o\";\n CharacterCodes[CharacterCodes[\"p\"] = 112] = \"p\";\n CharacterCodes[CharacterCodes[\"q\"] = 113] = \"q\";\n CharacterCodes[CharacterCodes[\"r\"] = 114] = \"r\";\n CharacterCodes[CharacterCodes[\"s\"] = 115] = \"s\";\n CharacterCodes[CharacterCodes[\"t\"] = 116] = \"t\";\n CharacterCodes[CharacterCodes[\"u\"] = 117] = \"u\";\n CharacterCodes[CharacterCodes[\"v\"] = 118] = \"v\";\n CharacterCodes[CharacterCodes[\"w\"] = 119] = \"w\";\n CharacterCodes[CharacterCodes[\"x\"] = 120] = \"x\";\n CharacterCodes[CharacterCodes[\"y\"] = 121] = \"y\";\n CharacterCodes[CharacterCodes[\"z\"] = 122] = \"z\";\n CharacterCodes[CharacterCodes[\"A\"] = 65] = \"A\";\n CharacterCodes[CharacterCodes[\"B\"] = 66] = \"B\";\n CharacterCodes[CharacterCodes[\"C\"] = 67] = \"C\";\n CharacterCodes[CharacterCodes[\"D\"] = 68] = \"D\";\n CharacterCodes[CharacterCodes[\"E\"] = 69] = \"E\";\n CharacterCodes[CharacterCodes[\"F\"] = 70] = \"F\";\n CharacterCodes[CharacterCodes[\"G\"] = 71] = \"G\";\n CharacterCodes[CharacterCodes[\"H\"] = 72] = \"H\";\n CharacterCodes[CharacterCodes[\"I\"] = 73] = \"I\";\n CharacterCodes[CharacterCodes[\"J\"] = 74] = \"J\";\n CharacterCodes[CharacterCodes[\"K\"] = 75] = \"K\";\n CharacterCodes[CharacterCodes[\"L\"] = 76] = \"L\";\n CharacterCodes[CharacterCodes[\"M\"] = 77] = \"M\";\n CharacterCodes[CharacterCodes[\"N\"] = 78] = \"N\";\n CharacterCodes[CharacterCodes[\"O\"] = 79] = \"O\";\n CharacterCodes[CharacterCodes[\"P\"] = 80] = \"P\";\n CharacterCodes[CharacterCodes[\"Q\"] = 81] = \"Q\";\n CharacterCodes[CharacterCodes[\"R\"] = 82] = \"R\";\n CharacterCodes[CharacterCodes[\"S\"] = 83] = \"S\";\n CharacterCodes[CharacterCodes[\"T\"] = 84] = \"T\";\n CharacterCodes[CharacterCodes[\"U\"] = 85] = \"U\";\n CharacterCodes[CharacterCodes[\"V\"] = 86] = \"V\";\n CharacterCodes[CharacterCodes[\"W\"] = 87] = \"W\";\n CharacterCodes[CharacterCodes[\"X\"] = 88] = \"X\";\n CharacterCodes[CharacterCodes[\"Y\"] = 89] = \"Y\";\n CharacterCodes[CharacterCodes[\"Z\"] = 90] = \"Z\";\n CharacterCodes[CharacterCodes[\"asterisk\"] = 42] = \"asterisk\";\n CharacterCodes[CharacterCodes[\"backslash\"] = 92] = \"backslash\";\n CharacterCodes[CharacterCodes[\"closeBrace\"] = 125] = \"closeBrace\";\n CharacterCodes[CharacterCodes[\"closeBracket\"] = 93] = \"closeBracket\";\n CharacterCodes[CharacterCodes[\"colon\"] = 58] = \"colon\";\n CharacterCodes[CharacterCodes[\"comma\"] = 44] = \"comma\";\n CharacterCodes[CharacterCodes[\"dot\"] = 46] = \"dot\";\n CharacterCodes[CharacterCodes[\"doubleQuote\"] = 34] = \"doubleQuote\";\n CharacterCodes[CharacterCodes[\"minus\"] = 45] = \"minus\";\n CharacterCodes[CharacterCodes[\"openBrace\"] = 123] = \"openBrace\";\n CharacterCodes[CharacterCodes[\"openBracket\"] = 91] = \"openBracket\";\n CharacterCodes[CharacterCodes[\"plus\"] = 43] = \"plus\";\n CharacterCodes[CharacterCodes[\"slash\"] = 47] = \"slash\";\n CharacterCodes[CharacterCodes[\"formFeed\"] = 12] = \"formFeed\";\n CharacterCodes[CharacterCodes[\"tab\"] = 9] = \"tab\";\n})(CharacterCodes || (CharacterCodes = {}));\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n'use strict';\nimport { createScanner } from './scanner';\nvar ParseOptions;\n(function (ParseOptions) {\n ParseOptions.DEFAULT = {\n allowTrailingComma: false\n };\n})(ParseOptions || (ParseOptions = {}));\n/**\n * For a given offset, evaluate the location in the JSON document. Each segment in the location path is either a property name or an array index.\n */\nexport function getLocation(text, position) {\n const segments = []; // strings or numbers\n const earlyReturnException = new Object();\n let previousNode = undefined;\n const previousNodeInst = {\n value: {},\n offset: 0,\n length: 0,\n type: 'object',\n parent: undefined\n };\n let isAtPropertyKey = false;\n function setPreviousNode(value, offset, length, type) {\n previousNodeInst.value = value;\n previousNodeInst.offset = offset;\n previousNodeInst.length = length;\n previousNodeInst.type = type;\n previousNodeInst.colonOffset = undefined;\n previousNode = previousNodeInst;\n }\n try {\n visit(text, {\n onObjectBegin: (offset, length) => {\n if (position <= offset) {\n throw earlyReturnException;\n }\n previousNode = undefined;\n isAtPropertyKey = position > offset;\n segments.push(''); // push a placeholder (will be replaced)\n },\n onObjectProperty: (name, offset, length) => {\n if (position < offset) {\n throw earlyReturnException;\n }\n setPreviousNode(name, offset, length, 'property');\n segments[segments.length - 1] = name;\n if (position <= offset + length) {\n throw earlyReturnException;\n }\n },\n onObjectEnd: (offset, length) => {\n if (position <= offset) {\n throw earlyReturnException;\n }\n previousNode = undefined;\n segments.pop();\n },\n onArrayBegin: (offset, length) => {\n if (position <= offset) {\n throw earlyReturnException;\n }\n previousNode = undefined;\n segments.push(0);\n },\n onArrayEnd: (offset, length) => {\n if (position <= offset) {\n throw earlyReturnException;\n }\n previousNode = undefined;\n segments.pop();\n },\n onLiteralValue: (value, offset, length) => {\n if (position < offset) {\n throw earlyReturnException;\n }\n setPreviousNode(value, offset, length, getNodeType(value));\n if (position <= offset + length) {\n throw earlyReturnException;\n }\n },\n onSeparator: (sep, offset, length) => {\n if (position <= offset) {\n throw earlyReturnException;\n }\n if (sep === ':' && previousNode && previousNode.type === 'property') {\n previousNode.colonOffset = offset;\n isAtPropertyKey = false;\n previousNode = undefined;\n }\n else if (sep === ',') {\n const last = segments[segments.length - 1];\n if (typeof last === 'number') {\n segments[segments.length - 1] = last + 1;\n }\n else {\n isAtPropertyKey = true;\n segments[segments.length - 1] = '';\n }\n previousNode = undefined;\n }\n }\n });\n }\n catch (e) {\n if (e !== earlyReturnException) {\n throw e;\n }\n }\n return {\n path: segments,\n previousNode,\n isAtPropertyKey,\n matches: (pattern) => {\n let k = 0;\n for (let i = 0; k < pattern.length && i < segments.length; i++) {\n if (pattern[k] === segments[i] || pattern[k] === '*') {\n k++;\n }\n else if (pattern[k] !== '**') {\n return false;\n }\n }\n return k === pattern.length;\n }\n };\n}\n/**\n * Parses the given text and returns the object the JSON content represents. On invalid input, the parser tries to be as fault tolerant as possible, but still return a result.\n * Therefore always check the errors list to find out if the input was valid.\n */\nexport function parse(text, errors = [], options = ParseOptions.DEFAULT) {\n let currentProperty = null;\n let currentParent = [];\n const previousParents = [];\n function onValue(value) {\n if (Array.isArray(currentParent)) {\n currentParent.push(value);\n }\n else if (currentProperty !== null) {\n currentParent[currentProperty] = value;\n }\n }\n const visitor = {\n onObjectBegin: () => {\n const object = {};\n onValue(object);\n previousParents.push(currentParent);\n currentParent = object;\n currentProperty = null;\n },\n onObjectProperty: (name) => {\n currentProperty = name;\n },\n onObjectEnd: () => {\n currentParent = previousParents.pop();\n },\n onArrayBegin: () => {\n const array = [];\n onValue(array);\n previousParents.push(currentParent);\n currentParent = array;\n currentProperty = null;\n },\n onArrayEnd: () => {\n currentParent = previousParents.pop();\n },\n onLiteralValue: onValue,\n onError: (error, offset, length) => {\n errors.push({ error, offset, length });\n }\n };\n visit(text, visitor, options);\n return currentParent[0];\n}\n/**\n * Parses the given text and returns a tree representation the JSON content. On invalid input, the parser tries to be as fault tolerant as possible, but still return a result.\n */\nexport function parseTree(text, errors = [], options = ParseOptions.DEFAULT) {\n let currentParent = { type: 'array', offset: -1, length: -1, children: [], parent: undefined }; // artificial root\n function ensurePropertyComplete(endOffset) {\n if (currentParent.type === 'property') {\n currentParent.length = endOffset - currentParent.offset;\n currentParent = currentParent.parent;\n }\n }\n function onValue(valueNode) {\n currentParent.children.push(valueNode);\n return valueNode;\n }\n const visitor = {\n onObjectBegin: (offset) => {\n currentParent = onValue({ type: 'object', offset, length: -1, parent: currentParent, children: [] });\n },\n onObjectProperty: (name, offset, length) => {\n currentParent = onValue({ type: 'property', offset, length: -1, parent: currentParent, children: [] });\n currentParent.children.push({ type: 'string', value: name, offset, length, parent: currentParent });\n },\n onObjectEnd: (offset, length) => {\n ensurePropertyComplete(offset + length); // in case of a missing value for a property: make sure property is complete\n currentParent.length = offset + length - currentParent.offset;\n currentParent = currentParent.parent;\n ensurePropertyComplete(offset + length);\n },\n onArrayBegin: (offset, length) => {\n currentParent = onValue({ type: 'array', offset, length: -1, parent: currentParent, children: [] });\n },\n onArrayEnd: (offset, length) => {\n currentParent.length = offset + length - currentParent.offset;\n currentParent = currentParent.parent;\n ensurePropertyComplete(offset + length);\n },\n onLiteralValue: (value, offset, length) => {\n onValue({ type: getNodeType(value), offset, length, parent: currentParent, value });\n ensurePropertyComplete(offset + length);\n },\n onSeparator: (sep, offset, length) => {\n if (currentParent.type === 'property') {\n if (sep === ':') {\n currentParent.colonOffset = offset;\n }\n else if (sep === ',') {\n ensurePropertyComplete(offset);\n }\n }\n },\n onError: (error, offset, length) => {\n errors.push({ error, offset, length });\n }\n };\n visit(text, visitor, options);\n const result = currentParent.children[0];\n if (result) {\n delete result.parent;\n }\n return result;\n}\n/**\n * Finds the node at the given path in a JSON DOM.\n */\nexport function findNodeAtLocation(root, path) {\n if (!root) {\n return undefined;\n }\n let node = root;\n for (let segment of path) {\n if (typeof segment === 'string') {\n if (node.type !== 'object' || !Array.isArray(node.children)) {\n return undefined;\n }\n let found = false;\n for (const propertyNode of node.children) {\n if (Array.isArray(propertyNode.children) && propertyNode.children[0].value === segment && propertyNode.children.length === 2) {\n node = propertyNode.children[1];\n found = true;\n break;\n }\n }\n if (!found) {\n return undefined;\n }\n }\n else {\n const index = segment;\n if (node.type !== 'array' || index < 0 || !Array.isArray(node.children) || index >= node.children.length) {\n return undefined;\n }\n node = node.children[index];\n }\n }\n return node;\n}\n/**\n * Gets the JSON path of the given JSON DOM node\n */\nexport function getNodePath(node) {\n if (!node.parent || !node.parent.children) {\n return [];\n }\n const path = getNodePath(node.parent);\n if (node.parent.type === 'property') {\n const key = node.parent.children[0].value;\n path.push(key);\n }\n else if (node.parent.type === 'array') {\n const index = node.parent.children.indexOf(node);\n if (index !== -1) {\n path.push(index);\n }\n }\n return path;\n}\n/**\n * Evaluates the JavaScript object of the given JSON DOM node\n */\nexport function getNodeValue(node) {\n switch (node.type) {\n case 'array':\n return node.children.map(getNodeValue);\n case 'object':\n const obj = Object.create(null);\n for (let prop of node.children) {\n const valueNode = prop.children[1];\n if (valueNode) {\n obj[prop.children[0].value] = getNodeValue(valueNode);\n }\n }\n return obj;\n case 'null':\n case 'string':\n case 'number':\n case 'boolean':\n return node.value;\n default:\n return undefined;\n }\n}\nexport function contains(node, offset, includeRightBound = false) {\n return (offset >= node.offset && offset < (node.offset + node.length)) || includeRightBound && (offset === (node.offset + node.length));\n}\n/**\n * Finds the most inner node at the given offset. If includeRightBound is set, also finds nodes that end at the given offset.\n */\nexport function findNodeAtOffset(node, offset, includeRightBound = false) {\n if (contains(node, offset, includeRightBound)) {\n const children = node.children;\n if (Array.isArray(children)) {\n for (let i = 0; i < children.length && children[i].offset <= offset; i++) {\n const item = findNodeAtOffset(children[i], offset, includeRightBound);\n if (item) {\n return item;\n }\n }\n }\n return node;\n }\n return undefined;\n}\n/**\n * Parses the given text and invokes the visitor functions for each object, array and literal reached.\n */\nexport function visit(text, visitor, options = ParseOptions.DEFAULT) {\n const _scanner = createScanner(text, false);\n // Important: Only pass copies of this to visitor functions to prevent accidental modification, and\n // to not affect visitor functions which stored a reference to a previous JSONPath\n const _jsonPath = [];\n function toNoArgVisit(visitFunction) {\n return visitFunction ? () => visitFunction(_scanner.getTokenOffset(), _scanner.getTokenLength(), _scanner.getTokenStartLine(), _scanner.getTokenStartCharacter()) : () => true;\n }\n function toNoArgVisitWithPath(visitFunction) {\n return visitFunction ? () => visitFunction(_scanner.getTokenOffset(), _scanner.getTokenLength(), _scanner.getTokenStartLine(), _scanner.getTokenStartCharacter(), () => _jsonPath.slice()) : () => true;\n }\n function toOneArgVisit(visitFunction) {\n return visitFunction ? (arg) => visitFunction(arg, _scanner.getTokenOffset(), _scanner.getTokenLength(), _scanner.getTokenStartLine(), _scanner.getTokenStartCharacter()) : () => true;\n }\n function toOneArgVisitWithPath(visitFunction) {\n return visitFunction ? (arg) => visitFunction(arg, _scanner.getTokenOffset(), _scanner.getTokenLength(), _scanner.getTokenStartLine(), _scanner.getTokenStartCharacter(), () => _jsonPath.slice()) : () => true;\n }\n const onObjectBegin = toNoArgVisitWithPath(visitor.onObjectBegin), onObjectProperty = toOneArgVisitWithPath(visitor.onObjectProperty), onObjectEnd = toNoArgVisit(visitor.onObjectEnd), onArrayBegin = toNoArgVisitWithPath(visitor.onArrayBegin), onArrayEnd = toNoArgVisit(visitor.onArrayEnd), onLiteralValue = toOneArgVisitWithPath(visitor.onLiteralValue), onSeparator = toOneArgVisit(visitor.onSeparator), onComment = toNoArgVisit(visitor.onComment), onError = toOneArgVisit(visitor.onError);\n const disallowComments = options && options.disallowComments;\n const allowTrailingComma = options && options.allowTrailingComma;\n function scanNext() {\n while (true) {\n const token = _scanner.scan();\n switch (_scanner.getTokenError()) {\n case 4 /* ScanError.InvalidUnicode */:\n handleError(14 /* ParseErrorCode.InvalidUnicode */);\n break;\n case 5 /* ScanError.InvalidEscapeCharacter */:\n handleError(15 /* ParseErrorCode.InvalidEscapeCharacter */);\n break;\n case 3 /* ScanError.UnexpectedEndOfNumber */:\n handleError(13 /* ParseErrorCode.UnexpectedEndOfNumber */);\n break;\n case 1 /* ScanError.UnexpectedEndOfComment */:\n if (!disallowComments) {\n handleError(11 /* ParseErrorCode.UnexpectedEndOfComment */);\n }\n break;\n case 2 /* ScanError.UnexpectedEndOfString */:\n handleError(12 /* ParseErrorCode.UnexpectedEndOfString */);\n break;\n case 6 /* ScanError.InvalidCharacter */:\n handleError(16 /* ParseErrorCode.InvalidCharacter */);\n break;\n }\n switch (token) {\n case 12 /* SyntaxKind.LineCommentTrivia */:\n case 13 /* SyntaxKind.BlockCommentTrivia */:\n if (disallowComments) {\n handleError(10 /* ParseErrorCode.InvalidCommentToken */);\n }\n else {\n onComment();\n }\n break;\n case 16 /* SyntaxKind.Unknown */:\n handleError(1 /* ParseErrorCode.InvalidSymbol */);\n break;\n case 15 /* SyntaxKind.Trivia */:\n case 14 /* SyntaxKind.LineBreakTrivia */:\n break;\n default:\n return token;\n }\n }\n }\n function handleError(error, skipUntilAfter = [], skipUntil = []) {\n onError(error);\n if (skipUntilAfter.length + skipUntil.length > 0) {\n let token = _scanner.getToken();\n while (token !== 17 /* SyntaxKind.EOF */) {\n if (skipUntilAfter.indexOf(token) !== -1) {\n scanNext();\n break;\n }\n else if (skipUntil.indexOf(token) !== -1) {\n break;\n }\n token = scanNext();\n }\n }\n }\n function parseString(isValue) {\n const value = _scanner.getTokenValue();\n if (isValue) {\n onLiteralValue(value);\n }\n else {\n onObjectProperty(value);\n // add property name afterwards\n _jsonPath.push(value);\n }\n scanNext();\n return true;\n }\n function parseLiteral() {\n switch (_scanner.getToken()) {\n case 11 /* SyntaxKind.NumericLiteral */:\n const tokenValue = _scanner.getTokenValue();\n let value = Number(tokenValue);\n if (isNaN(value)) {\n handleError(2 /* ParseErrorCode.InvalidNumberFormat */);\n value = 0;\n }\n onLiteralValue(value);\n break;\n case 7 /* SyntaxKind.NullKeyword */:\n onLiteralValue(null);\n break;\n case 8 /* SyntaxKind.TrueKeyword */:\n onLiteralValue(true);\n break;\n case 9 /* SyntaxKind.FalseKeyword */:\n onLiteralValue(false);\n break;\n default:\n return false;\n }\n scanNext();\n return true;\n }\n function parseProperty() {\n if (_scanner.getToken() !== 10 /* SyntaxKind.StringLiteral */) {\n handleError(3 /* ParseErrorCode.PropertyNameExpected */, [], [2 /* SyntaxKind.CloseBraceToken */, 5 /* SyntaxKind.CommaToken */]);\n return false;\n }\n parseString(false);\n if (_scanner.getToken() === 6 /* SyntaxKind.ColonToken */) {\n onSeparator(':');\n scanNext(); // consume colon\n if (!parseValue()) {\n handleError(4 /* ParseErrorCode.ValueExpected */, [], [2 /* SyntaxKind.CloseBraceToken */, 5 /* SyntaxKind.CommaToken */]);\n }\n }\n else {\n handleError(5 /* ParseErrorCode.ColonExpected */, [], [2 /* SyntaxKind.CloseBraceToken */, 5 /* SyntaxKind.CommaToken */]);\n }\n _jsonPath.pop(); // remove processed property name\n return true;\n }\n function parseObject() {\n onObjectBegin();\n scanNext(); // consume open brace\n let needsComma = false;\n while (_scanner.getToken() !== 2 /* SyntaxKind.CloseBraceToken */ && _scanner.getToken() !== 17 /* SyntaxKind.EOF */) {\n if (_scanner.getToken() === 5 /* SyntaxKind.CommaToken */) {\n if (!needsComma) {\n handleError(4 /* ParseErrorCode.ValueExpected */, [], []);\n }\n onSeparator(',');\n scanNext(); // consume comma\n if (_scanner.getToken() === 2 /* SyntaxKind.CloseBraceToken */ && allowTrailingComma) {\n break;\n }\n }\n else if (needsComma) {\n handleError(6 /* ParseErrorCode.CommaExpected */, [], []);\n }\n if (!parseProperty()) {\n handleError(4 /* ParseErrorCode.ValueExpected */, [], [2 /* SyntaxKind.CloseBraceToken */, 5 /* SyntaxKind.CommaToken */]);\n }\n needsComma = true;\n }\n onObjectEnd();\n if (_scanner.getToken() !== 2 /* SyntaxKind.CloseBraceToken */) {\n handleError(7 /* ParseErrorCode.CloseBraceExpected */, [2 /* SyntaxKind.CloseBraceToken */], []);\n }\n else {\n scanNext(); // consume close brace\n }\n return true;\n }\n function parseArray() {\n onArrayBegin();\n scanNext(); // consume open bracket\n let isFirstElement = true;\n let needsComma = false;\n while (_scanner.getToken() !== 4 /* SyntaxKind.CloseBracketToken */ && _scanner.getToken() !== 17 /* SyntaxKind.EOF */) {\n if (_scanner.getToken() === 5 /* SyntaxKind.CommaToken */) {\n if (!needsComma) {\n handleError(4 /* ParseErrorCode.ValueExpected */, [], []);\n }\n onSeparator(',');\n scanNext(); // consume comma\n if (_scanner.getToken() === 4 /* SyntaxKind.CloseBracketToken */ && allowTrailingComma) {\n break;\n }\n }\n else if (needsComma) {\n handleError(6 /* ParseErrorCode.CommaExpected */, [], []);\n }\n if (isFirstElement) {\n _jsonPath.push(0);\n isFirstElement = false;\n }\n else {\n _jsonPath[_jsonPath.length - 1]++;\n }\n if (!parseValue()) {\n handleError(4 /* ParseErrorCode.ValueExpected */, [], [4 /* SyntaxKind.CloseBracketToken */, 5 /* SyntaxKind.CommaToken */]);\n }\n needsComma = true;\n }\n onArrayEnd();\n if (!isFirstElement) {\n _jsonPath.pop(); // remove array index\n }\n if (_scanner.getToken() !== 4 /* SyntaxKind.CloseBracketToken */) {\n handleError(8 /* ParseErrorCode.CloseBracketExpected */, [4 /* SyntaxKind.CloseBracketToken */], []);\n }\n else {\n scanNext(); // consume close bracket\n }\n return true;\n }\n function parseValue() {\n switch (_scanner.getToken()) {\n case 3 /* SyntaxKind.OpenBracketToken */:\n return parseArray();\n case 1 /* SyntaxKind.OpenBraceToken */:\n return parseObject();\n case 10 /* SyntaxKind.StringLiteral */:\n return parseString(true);\n default:\n return parseLiteral();\n }\n }\n scanNext();\n if (_scanner.getToken() === 17 /* SyntaxKind.EOF */) {\n if (options.allowEmptyContent) {\n return true;\n }\n handleError(4 /* ParseErrorCode.ValueExpected */, [], []);\n return false;\n }\n if (!parseValue()) {\n handleError(4 /* ParseErrorCode.ValueExpected */, [], []);\n return false;\n }\n if (_scanner.getToken() !== 17 /* SyntaxKind.EOF */) {\n handleError(9 /* ParseErrorCode.EndOfFileExpected */, [], []);\n }\n return true;\n}\n/**\n * Takes JSON with JavaScript-style comments and remove\n * them. Optionally replaces every none-newline character\n * of comments with a replaceCharacter\n */\nexport function stripComments(text, replaceCh) {\n let _scanner = createScanner(text), parts = [], kind, offset = 0, pos;\n do {\n pos = _scanner.getPosition();\n kind = _scanner.scan();\n switch (kind) {\n case 12 /* SyntaxKind.LineCommentTrivia */:\n case 13 /* SyntaxKind.BlockCommentTrivia */:\n case 17 /* SyntaxKind.EOF */:\n if (offset !== pos) {\n parts.push(text.substring(offset, pos));\n }\n if (replaceCh !== undefined) {\n parts.push(_scanner.getTokenValue().replace(/[^\\r\\n]/g, replaceCh));\n }\n offset = _scanner.getPosition();\n break;\n }\n } while (kind !== 17 /* SyntaxKind.EOF */);\n return parts.join('');\n}\nexport function getNodeType(value) {\n switch (typeof value) {\n case 'boolean': return 'boolean';\n case 'number': return 'number';\n case 'string': return 'string';\n case 'object': {\n if (!value) {\n return 'null';\n }\n else if (Array.isArray(value)) {\n return 'array';\n }\n return 'object';\n }\n default: return 'null';\n }\n}\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n'use strict';\nimport { createScanner } from './scanner';\nexport function format(documentText, range, options) {\n let initialIndentLevel;\n let formatText;\n let formatTextStart;\n let rangeStart;\n let rangeEnd;\n if (range) {\n rangeStart = range.offset;\n rangeEnd = rangeStart + range.length;\n formatTextStart = rangeStart;\n while (formatTextStart > 0 && !isEOL(documentText, formatTextStart - 1)) {\n formatTextStart--;\n }\n let endOffset = rangeEnd;\n while (endOffset < documentText.length && !isEOL(documentText, endOffset)) {\n endOffset++;\n }\n formatText = documentText.substring(formatTextStart, endOffset);\n initialIndentLevel = computeIndentLevel(formatText, options);\n }\n else {\n formatText = documentText;\n initialIndentLevel = 0;\n formatTextStart = 0;\n rangeStart = 0;\n rangeEnd = documentText.length;\n }\n const eol = getEOL(options, documentText);\n let numberLineBreaks = 0;\n let indentLevel = 0;\n let indentValue;\n if (options.insertSpaces) {\n indentValue = repeat(' ', options.tabSize || 4);\n }\n else {\n indentValue = '\\t';\n }\n let scanner = createScanner(formatText, false);\n let hasError = false;\n function newLinesAndIndent() {\n if (numberLineBreaks > 1) {\n return repeat(eol, numberLineBreaks) + repeat(indentValue, initialIndentLevel + indentLevel);\n }\n else {\n return eol + repeat(indentValue, initialIndentLevel + indentLevel);\n }\n }\n function scanNext() {\n let token = scanner.scan();\n numberLineBreaks = 0;\n while (token === 15 /* SyntaxKind.Trivia */ || token === 14 /* SyntaxKind.LineBreakTrivia */) {\n if (token === 14 /* SyntaxKind.LineBreakTrivia */ && options.keepLines) {\n numberLineBreaks += 1;\n }\n else if (token === 14 /* SyntaxKind.LineBreakTrivia */) {\n numberLineBreaks = 1;\n }\n token = scanner.scan();\n }\n hasError = token === 16 /* SyntaxKind.Unknown */ || scanner.getTokenError() !== 0 /* ScanError.None */;\n return token;\n }\n const editOperations = [];\n function addEdit(text, startOffset, endOffset) {\n if (!hasError && (!range || (startOffset < rangeEnd && endOffset > rangeStart)) && documentText.substring(startOffset, endOffset) !== text) {\n editOperations.push({ offset: startOffset, length: endOffset - startOffset, content: text });\n }\n }\n let firstToken = scanNext();\n if (options.keepLines && numberLineBreaks > 0) {\n addEdit(repeat(eol, numberLineBreaks), 0, 0);\n }\n if (firstToken !== 17 /* SyntaxKind.EOF */) {\n let firstTokenStart = scanner.getTokenOffset() + formatTextStart;\n let initialIndent = repeat(indentValue, initialIndentLevel);\n addEdit(initialIndent, formatTextStart, firstTokenStart);\n }\n while (firstToken !== 17 /* SyntaxKind.EOF */) {\n let firstTokenEnd = scanner.getTokenOffset() + scanner.getTokenLength() + formatTextStart;\n let secondToken = scanNext();\n let replaceContent = '';\n let needsLineBreak = false;\n while (numberLineBreaks === 0 && (secondToken === 12 /* SyntaxKind.LineCommentTrivia */ || secondToken === 13 /* SyntaxKind.BlockCommentTrivia */)) {\n let commentTokenStart = scanner.getTokenOffset() + formatTextStart;\n addEdit(' ', firstTokenEnd, commentTokenStart);\n firstTokenEnd = scanner.getTokenOffset() + scanner.getTokenLength() + formatTextStart;\n needsLineBreak = secondToken === 12 /* SyntaxKind.LineCommentTrivia */;\n replaceContent = needsLineBreak ? newLinesAndIndent() : '';\n secondToken = scanNext();\n }\n if (secondToken === 2 /* SyntaxKind.CloseBraceToken */) {\n if (firstToken !== 1 /* SyntaxKind.OpenBraceToken */) {\n indentLevel--;\n }\n ;\n if (options.keepLines && numberLineBreaks > 0 || !options.keepLines && firstToken !== 1 /* SyntaxKind.OpenBraceToken */) {\n replaceContent = newLinesAndIndent();\n }\n else if (options.keepLines) {\n replaceContent = ' ';\n }\n }\n else if (secondToken === 4 /* SyntaxKind.CloseBracketToken */) {\n if (firstToken !== 3 /* SyntaxKind.OpenBracketToken */) {\n indentLevel--;\n }\n ;\n if (options.keepLines && numberLineBreaks > 0 || !options.keepLines && firstToken !== 3 /* SyntaxKind.OpenBracketToken */) {\n replaceContent = newLinesAndIndent();\n }\n else if (options.keepLines) {\n replaceContent = ' ';\n }\n }\n else {\n switch (firstToken) {\n case 3 /* SyntaxKind.OpenBracketToken */:\n case 1 /* SyntaxKind.OpenBraceToken */:\n indentLevel++;\n if (options.keepLines && numberLineBreaks > 0 || !options.keepLines) {\n replaceContent = newLinesAndIndent();\n }\n else {\n replaceContent = ' ';\n }\n break;\n case 5 /* SyntaxKind.CommaToken */:\n if (options.keepLines && numberLineBreaks > 0 || !options.keepLines) {\n replaceContent = newLinesAndIndent();\n }\n else {\n replaceContent = ' ';\n }\n break;\n case 12 /* SyntaxKind.LineCommentTrivia */:\n replaceContent = newLinesAndIndent();\n break;\n case 13 /* SyntaxKind.BlockCommentTrivia */:\n if (numberLineBreaks > 0) {\n replaceContent = newLinesAndIndent();\n }\n else if (!needsLineBreak) {\n replaceContent = ' ';\n }\n break;\n case 6 /* SyntaxKind.ColonToken */:\n if (options.keepLines && numberLineBreaks > 0) {\n replaceContent = newLinesAndIndent();\n }\n else if (!needsLineBreak) {\n replaceContent = ' ';\n }\n break;\n case 10 /* SyntaxKind.StringLiteral */:\n if (options.keepLines && numberLineBreaks > 0) {\n replaceContent = newLinesAndIndent();\n }\n else if (secondToken === 6 /* SyntaxKind.ColonToken */ && !needsLineBreak) {\n replaceContent = '';\n }\n break;\n case 7 /* SyntaxKind.NullKeyword */:\n case 8 /* SyntaxKind.TrueKeyword */:\n case 9 /* SyntaxKind.FalseKeyword */:\n case 11 /* SyntaxKind.NumericLiteral */:\n case 2 /* SyntaxKind.CloseBraceToken */:\n case 4 /* SyntaxKind.CloseBracketToken */:\n if (options.keepLines && numberLineBreaks > 0) {\n replaceContent = newLinesAndIndent();\n }\n else {\n if ((secondToken === 12 /* SyntaxKind.LineCommentTrivia */ || secondToken === 13 /* SyntaxKind.BlockCommentTrivia */) && !needsLineBreak) {\n replaceContent = ' ';\n }\n else if (secondToken !== 5 /* SyntaxKind.CommaToken */ && secondToken !== 17 /* SyntaxKind.EOF */) {\n hasError = true;\n }\n }\n break;\n case 16 /* SyntaxKind.Unknown */:\n hasError = true;\n break;\n }\n if (numberLineBreaks > 0 && (secondToken === 12 /* SyntaxKind.LineCommentTrivia */ || secondToken === 13 /* SyntaxKind.BlockCommentTrivia */)) {\n replaceContent = newLinesAndIndent();\n }\n }\n if (secondToken === 17 /* SyntaxKind.EOF */) {\n if (options.keepLines && numberLineBreaks > 0) {\n replaceContent = newLinesAndIndent();\n }\n else {\n replaceContent = options.insertFinalNewline ? eol : '';\n }\n }\n const secondTokenStart = scanner.getTokenOffset() + formatTextStart;\n addEdit(replaceContent, firstTokenEnd, secondTokenStart);\n firstToken = secondToken;\n }\n return editOperations;\n}\nfunction repeat(s, count) {\n let result = '';\n for (let i = 0; i < count; i++) {\n result += s;\n }\n return result;\n}\nfunction computeIndentLevel(content, options) {\n let i = 0;\n let nChars = 0;\n const tabSize = options.tabSize || 4;\n while (i < content.length) {\n let ch = content.charAt(i);\n if (ch === ' ') {\n nChars++;\n }\n else if (ch === '\\t') {\n nChars += tabSize;\n }\n else {\n break;\n }\n i++;\n }\n return Math.floor(nChars / tabSize);\n}\nfunction getEOL(options, text) {\n for (let i = 0; i < text.length; i++) {\n const ch = text.charAt(i);\n if (ch === '\\r') {\n if (i + 1 < text.length && text.charAt(i + 1) === '\\n') {\n return '\\r\\n';\n }\n return '\\r';\n }\n else if (ch === '\\n') {\n return '\\n';\n }\n }\n return (options && options.eol) || '\\n';\n}\nexport function isEOL(text, offset) {\n return '\\r\\n'.indexOf(text.charAt(offset)) !== -1;\n}\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n'use strict';\nimport { format, isEOL } from './format';\nimport { parseTree, findNodeAtLocation } from './parser';\nexport function removeProperty(text, path, options) {\n return setProperty(text, path, void 0, options);\n}\nexport function setProperty(text, originalPath, value, options) {\n const path = originalPath.slice();\n const errors = [];\n const root = parseTree(text, errors);\n let parent = void 0;\n let lastSegment = void 0;\n while (path.length > 0) {\n lastSegment = path.pop();\n parent = findNodeAtLocation(root, path);\n if (parent === void 0 && value !== void 0) {\n if (typeof lastSegment === 'string') {\n value = { [lastSegment]: value };\n }\n else {\n value = [value];\n }\n }\n else {\n break;\n }\n }\n if (!parent) {\n // empty document\n if (value === void 0) { // delete\n throw new Error('Can not delete in empty document');\n }\n return withFormatting(text, { offset: root ? root.offset : 0, length: root ? root.length : 0, content: JSON.stringify(value) }, options);\n }\n else if (parent.type === 'object' && typeof lastSegment === 'string' && Array.isArray(parent.children)) {\n const existing = findNodeAtLocation(parent, [lastSegment]);\n if (existing !== void 0) {\n if (value === void 0) { // delete\n if (!existing.parent) {\n throw new Error('Malformed AST');\n }\n const propertyIndex = parent.children.indexOf(existing.parent);\n let removeBegin;\n let removeEnd = existing.parent.offset + existing.parent.length;\n if (propertyIndex > 0) {\n // remove the comma of the previous node\n let previous = parent.children[propertyIndex - 1];\n removeBegin = previous.offset + previous.length;\n }\n else {\n removeBegin = parent.offset + 1;\n if (parent.children.length > 1) {\n // remove the comma of the next node\n let next = parent.children[1];\n removeEnd = next.offset;\n }\n }\n return withFormatting(text, { offset: removeBegin, length: removeEnd - removeBegin, content: '' }, options);\n }\n else {\n // set value of existing property\n return withFormatting(text, { offset: existing.offset, length: existing.length, content: JSON.stringify(value) }, options);\n }\n }\n else {\n if (value === void 0) { // delete\n return []; // property does not exist, nothing to do\n }\n const newProperty = `${JSON.stringify(lastSegment)}: ${JSON.stringify(value)}`;\n const index = options.getInsertionIndex ? options.getInsertionIndex(parent.children.map(p => p.children[0].value)) : parent.children.length;\n let edit;\n if (index > 0) {\n let previous = parent.children[index - 1];\n edit = { offset: previous.offset + previous.length, length: 0, content: ',' + newProperty };\n }\n else if (parent.children.length === 0) {\n edit = { offset: parent.offset + 1, length: 0, content: newProperty };\n }\n else {\n edit = { offset: parent.offset + 1, length: 0, content: newProperty + ',' };\n }\n return withFormatting(text, edit, options);\n }\n }\n else if (parent.type === 'array' && typeof lastSegment === 'number' && Array.isArray(parent.children)) {\n const insertIndex = lastSegment;\n if (insertIndex === -1) {\n // Insert\n const newProperty = `${JSON.stringify(value)}`;\n let edit;\n if (parent.children.length === 0) {\n edit = { offset: parent.offset + 1, length: 0, content: newProperty };\n }\n else {\n const previous = parent.children[parent.children.length - 1];\n edit = { offset: previous.offset + previous.length, length: 0, content: ',' + newProperty };\n }\n return withFormatting(text, edit, options);\n }\n else if (value === void 0 && parent.children.length >= 0) {\n // Removal\n const removalIndex = lastSegment;\n const toRemove = parent.children[removalIndex];\n let edit;\n if (parent.children.length === 1) {\n // only item\n edit = { offset: parent.offset + 1, length: parent.length - 2, content: '' };\n }\n else if (parent.children.length - 1 === removalIndex) {\n // last item\n let previous = parent.children[removalIndex - 1];\n let offset = previous.offset + previous.length;\n let parentEndOffset = parent.offset + parent.length;\n edit = { offset, length: parentEndOffset - 2 - offset, content: '' };\n }\n else {\n edit = { offset: toRemove.offset, length: parent.children[removalIndex + 1].offset - toRemove.offset, content: '' };\n }\n return withFormatting(text, edit, options);\n }\n else if (value !== void 0) {\n let edit;\n const newProperty = `${JSON.stringify(value)}`;\n if (!options.isArrayInsertion && parent.children.length > lastSegment) {\n const toModify = parent.children[lastSegment];\n edit = { offset: toModify.offset, length: toModify.length, content: newProperty };\n }\n else if (parent.children.length === 0 || lastSegment === 0) {\n edit = { offset: parent.offset + 1, length: 0, content: parent.children.length === 0 ? newProperty : newProperty + ',' };\n }\n else {\n const index = lastSegment > parent.children.length ? parent.children.length : lastSegment;\n const previous = parent.children[index - 1];\n edit = { offset: previous.offset + previous.length, length: 0, content: ',' + newProperty };\n }\n return withFormatting(text, edit, options);\n }\n else {\n throw new Error(`Can not ${value === void 0 ? 'remove' : (options.isArrayInsertion ? 'insert' : 'modify')} Array index ${insertIndex} as length is not sufficient`);\n }\n }\n else {\n throw new Error(`Can not add ${typeof lastSegment !== 'number' ? 'index' : 'property'} to parent of type ${parent.type}`);\n }\n}\nfunction withFormatting(text, edit, options) {\n if (!options.formattingOptions) {\n return [edit];\n }\n // apply the edit\n let newText = applyEdit(text, edit);\n // format the new text\n let begin = edit.offset;\n let end = edit.offset + edit.content.length;\n if (edit.length === 0 || edit.content.length === 0) { // insert or remove\n while (begin > 0 && !isEOL(newText, begin - 1)) {\n begin--;\n }\n while (end < newText.length && !isEOL(newText, end)) {\n end++;\n }\n }\n const edits = format(newText, { offset: begin, length: end - begin }, { ...options.formattingOptions, keepLines: false });\n // apply the formatting edits and track the begin and end offsets of the changes\n for (let i = edits.length - 1; i >= 0; i--) {\n const edit = edits[i];\n newText = applyEdit(newText, edit);\n begin = Math.min(begin, edit.offset);\n end = Math.max(end, edit.offset + edit.length);\n end += edit.content.length - edit.length;\n }\n // create a single edit with all changes\n const editLength = text.length - (newText.length - end) - begin;\n return [{ offset: begin, length: editLength, content: newText.substring(begin, end) }];\n}\nexport function applyEdit(text, edit) {\n return text.substring(0, edit.offset) + edit.content + text.substring(edit.offset + edit.length);\n}\nexport function isWS(text, offset) {\n return '\\r\\n \\t'.indexOf(text.charAt(offset)) !== -1;\n}\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n'use strict';\nimport * as formatter from './impl/format';\nimport * as edit from './impl/edit';\nimport * as scanner from './impl/scanner';\nimport * as parser from './impl/parser';\n/**\n * Creates a JSON scanner on the given text.\n * If ignoreTrivia is set, whitespaces or comments are ignored.\n */\nexport const createScanner = scanner.createScanner;\nexport var ScanError;\n(function (ScanError) {\n ScanError[ScanError[\"None\"] = 0] = \"None\";\n ScanError[ScanError[\"UnexpectedEndOfComment\"] = 1] = \"UnexpectedEndOfComment\";\n ScanError[ScanError[\"UnexpectedEndOfString\"] = 2] = \"UnexpectedEndOfString\";\n ScanError[ScanError[\"UnexpectedEndOfNumber\"] = 3] = \"UnexpectedEndOfNumber\";\n ScanError[ScanError[\"InvalidUnicode\"] = 4] = \"InvalidUnicode\";\n ScanError[ScanError[\"InvalidEscapeCharacter\"] = 5] = \"InvalidEscapeCharacter\";\n ScanError[ScanError[\"InvalidCharacter\"] = 6] = \"InvalidCharacter\";\n})(ScanError || (ScanError = {}));\nexport var SyntaxKind;\n(function (SyntaxKind) {\n SyntaxKind[SyntaxKind[\"OpenBraceToken\"] = 1] = \"OpenBraceToken\";\n SyntaxKind[SyntaxKind[\"CloseBraceToken\"] = 2] = \"CloseBraceToken\";\n SyntaxKind[SyntaxKind[\"OpenBracketToken\"] = 3] = \"OpenBracketToken\";\n SyntaxKind[SyntaxKind[\"CloseBracketToken\"] = 4] = \"CloseBracketToken\";\n SyntaxKind[SyntaxKind[\"CommaToken\"] = 5] = \"CommaToken\";\n SyntaxKind[SyntaxKind[\"ColonToken\"] = 6] = \"ColonToken\";\n SyntaxKind[SyntaxKind[\"NullKeyword\"] = 7] = \"NullKeyword\";\n SyntaxKind[SyntaxKind[\"TrueKeyword\"] = 8] = \"TrueKeyword\";\n SyntaxKind[SyntaxKind[\"FalseKeyword\"] = 9] = \"FalseKeyword\";\n SyntaxKind[SyntaxKind[\"StringLiteral\"] = 10] = \"StringLiteral\";\n SyntaxKind[SyntaxKind[\"NumericLiteral\"] = 11] = \"NumericLiteral\";\n SyntaxKind[SyntaxKind[\"LineCommentTrivia\"] = 12] = \"LineCommentTrivia\";\n SyntaxKind[SyntaxKind[\"BlockCommentTrivia\"] = 13] = \"BlockCommentTrivia\";\n SyntaxKind[SyntaxKind[\"LineBreakTrivia\"] = 14] = \"LineBreakTrivia\";\n SyntaxKind[SyntaxKind[\"Trivia\"] = 15] = \"Trivia\";\n SyntaxKind[SyntaxKind[\"Unknown\"] = 16] = \"Unknown\";\n SyntaxKind[SyntaxKind[\"EOF\"] = 17] = \"EOF\";\n})(SyntaxKind || (SyntaxKind = {}));\n/**\n * For a given offset, evaluate the location in the JSON document. Each segment in the location path is either a property name or an array index.\n */\nexport const getLocation = parser.getLocation;\n/**\n * Parses the given text and returns the object the JSON content represents. On invalid input, the parser tries to be as fault tolerant as possible, but still return a result.\n * Therefore, always check the errors list to find out if the input was valid.\n */\nexport const parse = parser.parse;\n/**\n * Parses the given text and returns a tree representation the JSON content. On invalid input, the parser tries to be as fault tolerant as possible, but still return a result.\n */\nexport const parseTree = parser.parseTree;\n/**\n * Finds the node at the given path in a JSON DOM.\n */\nexport const findNodeAtLocation = parser.findNodeAtLocation;\n/**\n * Finds the innermost node at the given offset. If includeRightBound is set, also finds nodes that end at the given offset.\n */\nexport const findNodeAtOffset = parser.findNodeAtOffset;\n/**\n * Gets the JSON path of the given JSON DOM node\n */\nexport const getNodePath = parser.getNodePath;\n/**\n * Evaluates the JavaScript object of the given JSON DOM node\n */\nexport const getNodeValue = parser.getNodeValue;\n/**\n * Parses the given text and invokes the visitor functions for each object, array and literal reached.\n */\nexport const visit = parser.visit;\n/**\n * Takes JSON with JavaScript-style comments and remove\n * them. Optionally replaces every none-newline character\n * of comments with a replaceCharacter\n */\nexport const stripComments = parser.stripComments;\nexport var ParseErrorCode;\n(function (ParseErrorCode) {\n ParseErrorCode[ParseErrorCode[\"InvalidSymbol\"] = 1] = \"InvalidSymbol\";\n ParseErrorCode[ParseErrorCode[\"InvalidNumberFormat\"] = 2] = \"InvalidNumberFormat\";\n ParseErrorCode[ParseErrorCode[\"PropertyNameExpected\"] = 3] = \"PropertyNameExpected\";\n ParseErrorCode[ParseErrorCode[\"ValueExpected\"] = 4] = \"ValueExpected\";\n ParseErrorCode[ParseErrorCode[\"ColonExpected\"] = 5] = \"ColonExpected\";\n ParseErrorCode[ParseErrorCode[\"CommaExpected\"] = 6] = \"CommaExpected\";\n ParseErrorCode[ParseErrorCode[\"CloseBraceExpected\"] = 7] = \"CloseBraceExpected\";\n ParseErrorCode[ParseErrorCode[\"CloseBracketExpected\"] = 8] = \"CloseBracketExpected\";\n ParseErrorCode[ParseErrorCode[\"EndOfFileExpected\"] = 9] = \"EndOfFileExpected\";\n ParseErrorCode[ParseErrorCode[\"InvalidCommentToken\"] = 10] = \"InvalidCommentToken\";\n ParseErrorCode[ParseErrorCode[\"UnexpectedEndOfComment\"] = 11] = \"UnexpectedEndOfComment\";\n ParseErrorCode[ParseErrorCode[\"UnexpectedEndOfString\"] = 12] = \"UnexpectedEndOfString\";\n ParseErrorCode[ParseErrorCode[\"UnexpectedEndOfNumber\"] = 13] = \"UnexpectedEndOfNumber\";\n ParseErrorCode[ParseErrorCode[\"InvalidUnicode\"] = 14] = \"InvalidUnicode\";\n ParseErrorCode[ParseErrorCode[\"InvalidEscapeCharacter\"] = 15] = \"InvalidEscapeCharacter\";\n ParseErrorCode[ParseErrorCode[\"InvalidCharacter\"] = 16] = \"InvalidCharacter\";\n})(ParseErrorCode || (ParseErrorCode = {}));\nexport function printParseErrorCode(code) {\n switch (code) {\n case 1 /* ParseErrorCode.InvalidSymbol */: return 'InvalidSymbol';\n case 2 /* ParseErrorCode.InvalidNumberFormat */: return 'InvalidNumberFormat';\n case 3 /* ParseErrorCode.PropertyNameExpected */: return 'PropertyNameExpected';\n case 4 /* ParseErrorCode.ValueExpected */: return 'ValueExpected';\n case 5 /* ParseErrorCode.ColonExpected */: return 'ColonExpected';\n case 6 /* ParseErrorCode.CommaExpected */: return 'CommaExpected';\n case 7 /* ParseErrorCode.CloseBraceExpected */: return 'CloseBraceExpected';\n case 8 /* ParseErrorCode.CloseBracketExpected */: return 'CloseBracketExpected';\n case 9 /* ParseErrorCode.EndOfFileExpected */: return 'EndOfFileExpected';\n case 10 /* ParseErrorCode.InvalidCommentToken */: return 'InvalidCommentToken';\n case 11 /* ParseErrorCode.UnexpectedEndOfComment */: return 'UnexpectedEndOfComment';\n case 12 /* ParseErrorCode.UnexpectedEndOfString */: return 'UnexpectedEndOfString';\n case 13 /* ParseErrorCode.UnexpectedEndOfNumber */: return 'UnexpectedEndOfNumber';\n case 14 /* ParseErrorCode.InvalidUnicode */: return 'InvalidUnicode';\n case 15 /* ParseErrorCode.InvalidEscapeCharacter */: return 'InvalidEscapeCharacter';\n case 16 /* ParseErrorCode.InvalidCharacter */: return 'InvalidCharacter';\n }\n return '<unknown ParseErrorCode>';\n}\n/**\n * Computes the edit operations needed to format a JSON document.\n *\n * @param documentText The input text\n * @param range The range to format or `undefined` to format the full content\n * @param options The formatting options\n * @returns The edit operations describing the formatting changes to the original document following the format described in {@linkcode EditResult}.\n * To apply the edit operations to the input, use {@linkcode applyEdits}.\n */\nexport function format(documentText, range, options) {\n return formatter.format(documentText, range, options);\n}\n/**\n * Computes the edit operations needed to modify a value in the JSON document.\n *\n * @param documentText The input text\n * @param path The path of the value to change. The path represents either to the document root, a property or an array item.\n * If the path points to an non-existing property or item, it will be created.\n * @param value The new value for the specified property or item. If the value is undefined,\n * the property or item will be removed.\n * @param options Options\n * @returns The edit operations describing the changes to the original document, following the format described in {@linkcode EditResult}.\n * To apply the edit operations to the input, use {@linkcode applyEdits}.\n */\nexport function modify(text, path, value, options) {\n return edit.setProperty(text, path, value, options);\n}\n/**\n * Applies edits to an input string.\n * @param text The input text\n * @param edits Edit operations following the format described in {@linkcode EditResult}.\n * @returns The text with the applied edits.\n * @throws An error if the edit operations are not well-formed as described in {@linkcode EditResult}.\n */\nexport function applyEdits(text, edits) {\n let sortedEdits = edits.slice(0).sort((a, b) => {\n const diff = a.offset - b.offset;\n if (diff === 0) {\n return a.length - b.length;\n }\n return diff;\n });\n let lastModifiedOffset = text.length;\n for (let i = sortedEdits.length - 1; i >= 0; i--) {\n let e = sortedEdits[i];\n if (e.offset + e.length <= lastModifiedOffset) {\n text = edit.applyEdit(text, e);\n }\n else {\n throw new Error('Overlapping edit');\n }\n lastModifiedOffset = e.offset;\n }\n return text;\n}\n","\"use strict\";\n\n// ref: https://github.com/tc39/proposal-global\nvar getGlobal = function () {\n\t// the only reliable means to get the global object is\n\t// `Function('return this')()`\n\t// However, this causes CSP violations in Chrome apps.\n\tif (typeof self !== 'undefined') { return self; }\n\tif (typeof window !== 'undefined') { return window; }\n\tif (typeof global !== 'undefined') { return global; }\n\tthrow new Error('unable to locate global object');\n}\n\nvar globalObject = getGlobal();\n\nmodule.exports = exports = globalObject.fetch;\n\n// Needed for TypeScript and Webpack.\nif (globalObject.fetch) {\n\texports.default = globalObject.fetch.bind(globalObject);\n}\n\nexports.Headers = globalObject.Headers;\nexports.Request = globalObject.Request;\nexports.Response = globalObject.Response;\n","var wrappy = require('wrappy')\nmodule.exports = wrappy(once)\nmodule.exports.strict = wrappy(onceStrict)\n\nonce.proto = once(function () {\n Object.defineProperty(Function.prototype, 'once', {\n value: function () {\n return once(this)\n },\n configurable: true\n })\n\n Object.defineProperty(Function.prototype, 'onceStrict', {\n value: function () {\n return onceStrict(this)\n },\n configurable: true\n })\n})\n\nfunction once (fn) {\n var f = function () {\n if (f.called) return f.value\n f.called = true\n return f.value = fn.apply(this, arguments)\n }\n f.called = false\n return f\n}\n\nfunction onceStrict (fn) {\n var f = function () {\n if (f.called)\n throw new Error(f.onceError)\n f.called = true\n return f.value = fn.apply(this, arguments)\n }\n var name = fn.name || 'Function wrapped with `once`'\n f.onceError = name + \" shouldn't be called more than once\"\n f.called = false\n return f\n}\n","// Returns a wrapper function that returns a wrapped callback\n// The wrapper function should do some stuff, and return a\n// presumably different callback function.\n// This makes sure that own properties are retained, so that\n// decorations and such are not lost along the way.\nmodule.exports = wrappy\nfunction wrappy (fn, cb) {\n if (fn && cb) return wrappy(fn)(cb)\n\n if (typeof fn !== 'function')\n throw new TypeError('need wrapper function')\n\n Object.keys(fn).forEach(function (k) {\n wrapper[k] = fn[k]\n })\n\n return wrapper\n\n function wrapper() {\n var args = new Array(arguments.length)\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i]\n }\n var ret = fn.apply(this, args)\n var cb = args[args.length-1]\n if (typeof ret === 'function' && ret !== cb) {\n Object.keys(cb).forEach(function (k) {\n ret[k] = cb[k]\n })\n }\n return ret\n }\n}\n","// 'path' module extracted from Node.js v8.11.1 (only the posix part)\n// transplited with Babel\n\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nfunction assertPath(path) {\n if (typeof path !== 'string') {\n throw new TypeError('Path must be a string. Received ' + JSON.stringify(path));\n }\n}\n\n// Resolves . and .. elements in a path with directory names\nfunction normalizeStringPosix(path, allowAboveRoot) {\n var res = '';\n var lastSegmentLength = 0;\n var lastSlash = -1;\n var dots = 0;\n var code;\n for (var i = 0; i <= path.length; ++i) {\n if (i < path.length)\n code = path.charCodeAt(i);\n else if (code === 47 /*/*/)\n break;\n else\n code = 47 /*/*/;\n if (code === 47 /*/*/) {\n if (lastSlash === i - 1 || dots === 1) {\n // NOOP\n } else if (lastSlash !== i - 1 && dots === 2) {\n if (res.length < 2 || lastSegmentLength !== 2 || res.charCodeAt(res.length - 1) !== 46 /*.*/ || res.charCodeAt(res.length - 2) !== 46 /*.*/) {\n if (res.length > 2) {\n var lastSlashIndex = res.lastIndexOf('/');\n if (lastSlashIndex !== res.length - 1) {\n if (lastSlashIndex === -1) {\n res = '';\n lastSegmentLength = 0;\n } else {\n res = res.slice(0, lastSlashIndex);\n lastSegmentLength = res.length - 1 - res.lastIndexOf('/');\n }\n lastSlash = i;\n dots = 0;\n continue;\n }\n } else if (res.length === 2 || res.length === 1) {\n res = '';\n lastSegmentLength = 0;\n lastSlash = i;\n dots = 0;\n continue;\n }\n }\n if (allowAboveRoot) {\n if (res.length > 0)\n res += '/..';\n else\n res = '..';\n lastSegmentLength = 2;\n }\n } else {\n if (res.length > 0)\n res += '/' + path.slice(lastSlash + 1, i);\n else\n res = path.slice(lastSlash + 1, i);\n lastSegmentLength = i - lastSlash - 1;\n }\n lastSlash = i;\n dots = 0;\n } else if (code === 46 /*.*/ && dots !== -1) {\n ++dots;\n } else {\n dots = -1;\n }\n }\n return res;\n}\n\nfunction _format(sep, pathObject) {\n var dir = pathObject.dir || pathObject.root;\n var base = pathObject.base || (pathObject.name || '') + (pathObject.ext || '');\n if (!dir) {\n return base;\n }\n if (dir === pathObject.root) {\n return dir + base;\n }\n return dir + sep + base;\n}\n\nvar posix = {\n // path.resolve([from ...], to)\n resolve: function resolve() {\n var resolvedPath = '';\n var resolvedAbsolute = false;\n var cwd;\n\n for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n var path;\n if (i >= 0)\n path = arguments[i];\n else {\n if (cwd === undefined)\n cwd = process.cwd();\n path = cwd;\n }\n\n assertPath(path);\n\n // Skip empty entries\n if (path.length === 0) {\n continue;\n }\n\n resolvedPath = path + '/' + resolvedPath;\n resolvedAbsolute = path.charCodeAt(0) === 47 /*/*/;\n }\n\n // At this point the path should be resolved to a full absolute path, but\n // handle relative paths to be safe (might happen when process.cwd() fails)\n\n // Normalize the path\n resolvedPath = normalizeStringPosix(resolvedPath, !resolvedAbsolute);\n\n if (resolvedAbsolute) {\n if (resolvedPath.length > 0)\n return '/' + resolvedPath;\n else\n return '/';\n } else if (resolvedPath.length > 0) {\n return resolvedPath;\n } else {\n return '.';\n }\n },\n\n normalize: function normalize(path) {\n assertPath(path);\n\n if (path.length === 0) return '.';\n\n var isAbsolute = path.charCodeAt(0) === 47 /*/*/;\n var trailingSeparator = path.charCodeAt(path.length - 1) === 47 /*/*/;\n\n // Normalize the path\n path = normalizeStringPosix(path, !isAbsolute);\n\n if (path.length === 0 && !isAbsolute) path = '.';\n if (path.length > 0 && trailingSeparator) path += '/';\n\n if (isAbsolute) return '/' + path;\n return path;\n },\n\n isAbsolute: function isAbsolute(path) {\n assertPath(path);\n return path.length > 0 && path.charCodeAt(0) === 47 /*/*/;\n },\n\n join: function join() {\n if (arguments.length === 0)\n return '.';\n var joined;\n for (var i = 0; i < arguments.length; ++i) {\n var arg = arguments[i];\n assertPath(arg);\n if (arg.length > 0) {\n if (joined === undefined)\n joined = arg;\n else\n joined += '/' + arg;\n }\n }\n if (joined === undefined)\n return '.';\n return posix.normalize(joined);\n },\n\n relative: function relative(from, to) {\n assertPath(from);\n assertPath(to);\n\n if (from === to) return '';\n\n from = posix.resolve(from);\n to = posix.resolve(to);\n\n if (from === to) return '';\n\n // Trim any leading backslashes\n var fromStart = 1;\n for (; fromStart < from.length; ++fromStart) {\n if (from.charCodeAt(fromStart) !== 47 /*/*/)\n break;\n }\n var fromEnd = from.length;\n var fromLen = fromEnd - fromStart;\n\n // Trim any leading backslashes\n var toStart = 1;\n for (; toStart < to.length; ++toStart) {\n if (to.charCodeAt(toStart) !== 47 /*/*/)\n break;\n }\n var toEnd = to.length;\n var toLen = toEnd - toStart;\n\n // Compare paths to find the longest common path from root\n var length = fromLen < toLen ? fromLen : toLen;\n var lastCommonSep = -1;\n var i = 0;\n for (; i <= length; ++i) {\n if (i === length) {\n if (toLen > length) {\n if (to.charCodeAt(toStart + i) === 47 /*/*/) {\n // We get here if `from` is the exact base path for `to`.\n // For example: from='/foo/bar'; to='/foo/bar/baz'\n return to.slice(toStart + i + 1);\n } else if (i === 0) {\n // We get here if `from` is the root\n // For example: from='/'; to='/foo'\n return to.slice(toStart + i);\n }\n } else if (fromLen > length) {\n if (from.charCodeAt(fromStart + i) === 47 /*/*/) {\n // We get here if `to` is the exact base path for `from`.\n // For example: from='/foo/bar/baz'; to='/foo/bar'\n lastCommonSep = i;\n } else if (i === 0) {\n // We get here if `to` is the root.\n // For example: from='/foo'; to='/'\n lastCommonSep = 0;\n }\n }\n break;\n }\n var fromCode = from.charCodeAt(fromStart + i);\n var toCode = to.charCodeAt(toStart + i);\n if (fromCode !== toCode)\n break;\n else if (fromCode === 47 /*/*/)\n lastCommonSep = i;\n }\n\n var out = '';\n // Generate the relative path based on the path difference between `to`\n // and `from`\n for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) {\n if (i === fromEnd || from.charCodeAt(i) === 47 /*/*/) {\n if (out.length === 0)\n out += '..';\n else\n out += '/..';\n }\n }\n\n // Lastly, append the rest of the destination (`to`) path that comes after\n // the common path parts\n if (out.length > 0)\n return out + to.slice(toStart + lastCommonSep);\n else {\n toStart += lastCommonSep;\n if (to.charCodeAt(toStart) === 47 /*/*/)\n ++toStart;\n return to.slice(toStart);\n }\n },\n\n _makeLong: function _makeLong(path) {\n return path;\n },\n\n dirname: function dirname(path) {\n assertPath(path);\n if (path.length === 0) return '.';\n var code = path.charCodeAt(0);\n var hasRoot = code === 47 /*/*/;\n var end = -1;\n var matchedSlash = true;\n for (var i = path.length - 1; i >= 1; --i) {\n code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n if (!matchedSlash) {\n end = i;\n break;\n }\n } else {\n // We saw the first non-path separator\n matchedSlash = false;\n }\n }\n\n if (end === -1) return hasRoot ? '/' : '.';\n if (hasRoot && end === 1) return '//';\n return path.slice(0, end);\n },\n\n basename: function basename(path, ext) {\n if (ext !== undefined && typeof ext !== 'string') throw new TypeError('\"ext\" argument must be a string');\n assertPath(path);\n\n var start = 0;\n var end = -1;\n var matchedSlash = true;\n var i;\n\n if (ext !== undefined && ext.length > 0 && ext.length <= path.length) {\n if (ext.length === path.length && ext === path) return '';\n var extIdx = ext.length - 1;\n var firstNonSlashEnd = -1;\n for (i = path.length - 1; i >= 0; --i) {\n var code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else {\n if (firstNonSlashEnd === -1) {\n // We saw the first non-path separator, remember this index in case\n // we need it if the extension ends up not matching\n matchedSlash = false;\n firstNonSlashEnd = i + 1;\n }\n if (extIdx >= 0) {\n // Try to match the explicit extension\n if (code === ext.charCodeAt(extIdx)) {\n if (--extIdx === -1) {\n // We matched the extension, so mark this as the end of our path\n // component\n end = i;\n }\n } else {\n // Extension does not match, so our result is the entire path\n // component\n extIdx = -1;\n end = firstNonSlashEnd;\n }\n }\n }\n }\n\n if (start === end) end = firstNonSlashEnd;else if (end === -1) end = path.length;\n return path.slice(start, end);\n } else {\n for (i = path.length - 1; i >= 0; --i) {\n if (path.charCodeAt(i) === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // path component\n matchedSlash = false;\n end = i + 1;\n }\n }\n\n if (end === -1) return '';\n return path.slice(start, end);\n }\n },\n\n extname: function extname(path) {\n assertPath(path);\n var startDot = -1;\n var startPart = 0;\n var end = -1;\n var matchedSlash = true;\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n var preDotState = 0;\n for (var i = path.length - 1; i >= 0; --i) {\n var code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n if (code === 46 /*.*/) {\n // If this is our first dot, mark it as the start of our extension\n if (startDot === -1)\n startDot = i;\n else if (preDotState !== 1)\n preDotState = 1;\n } else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n\n if (startDot === -1 || end === -1 ||\n // We saw a non-dot character immediately before the dot\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly '..'\n preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {\n return '';\n }\n return path.slice(startDot, end);\n },\n\n format: function format(pathObject) {\n if (pathObject === null || typeof pathObject !== 'object') {\n throw new TypeError('The \"pathObject\" argument must be of type Object. Received type ' + typeof pathObject);\n }\n return _format('/', pathObject);\n },\n\n parse: function parse(path) {\n assertPath(path);\n\n var ret = { root: '', dir: '', base: '', ext: '', name: '' };\n if (path.length === 0) return ret;\n var code = path.charCodeAt(0);\n var isAbsolute = code === 47 /*/*/;\n var start;\n if (isAbsolute) {\n ret.root = '/';\n start = 1;\n } else {\n start = 0;\n }\n var startDot = -1;\n var startPart = 0;\n var end = -1;\n var matchedSlash = true;\n var i = path.length - 1;\n\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n var preDotState = 0;\n\n // Get non-dir info\n for (; i >= start; --i) {\n code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n if (code === 46 /*.*/) {\n // If this is our first dot, mark it as the start of our extension\n if (startDot === -1) startDot = i;else if (preDotState !== 1) preDotState = 1;\n } else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n\n if (startDot === -1 || end === -1 ||\n // We saw a non-dot character immediately before the dot\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly '..'\n preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {\n if (end !== -1) {\n if (startPart === 0 && isAbsolute) ret.base = ret.name = path.slice(1, end);else ret.base = ret.name = path.slice(startPart, end);\n }\n } else {\n if (startPart === 0 && isAbsolute) {\n ret.name = path.slice(1, startDot);\n ret.base = path.slice(1, end);\n } else {\n ret.name = path.slice(startPart, startDot);\n ret.base = path.slice(startPart, end);\n }\n ret.ext = path.slice(startDot, end);\n }\n\n if (startPart > 0) ret.dir = path.slice(0, startPart - 1);else if (isAbsolute) ret.dir = '/';\n\n return ret;\n },\n\n sep: '/',\n delimiter: ':',\n win32: null,\n posix: null\n};\n\nposix.posix = posix;\n\nmodule.exports = posix;\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nexport const agent = undefined;\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport { getLocation, JSONPath, parse, visit, Location } from 'jsonc-parser';\nimport * as vscode from 'vscode';\nimport { SettingsDocument } from './settingsDocumentHelper';\nimport { provideInstalledExtensionProposals } from './extensionsProposals';\nimport './importExportProfiles';\n\nexport function activate(context: vscode.ExtensionContext): void {\n\t//settings.json suggestions\n\tcontext.subscriptions.push(registerSettingsCompletions());\n\n\t//extensions suggestions\n\tcontext.subscriptions.push(...registerExtensionsCompletions());\n\n\t// launch.json variable suggestions\n\tcontext.subscriptions.push(registerVariableCompletions('**/launch.json'));\n\n\t// task.json variable suggestions\n\tcontext.subscriptions.push(registerVariableCompletions('**/tasks.json'));\n\n\t// Workspace file launch/tasks variable completions\n\tcontext.subscriptions.push(registerVariableCompletions('**/*.code-workspace'));\n\n\t// keybindings.json/package.json context key suggestions\n\tcontext.subscriptions.push(registerContextKeyCompletions());\n}\n\nfunction registerSettingsCompletions(): vscode.Disposable {\n\treturn vscode.languages.registerCompletionItemProvider({ language: 'jsonc', pattern: '**/settings.json' }, {\n\t\tprovideCompletionItems(document, position, token) {\n\t\t\treturn new SettingsDocument(document).provideCompletionItems(position, token);\n\t\t}\n\t});\n}\n\nfunction registerVariableCompletions(pattern: string): vscode.Disposable {\n\treturn vscode.languages.registerCompletionItemProvider({ language: 'jsonc', pattern }, {\n\t\tprovideCompletionItems(document, position, _token) {\n\t\t\tconst location = getLocation(document.getText(), document.offsetAt(position));\n\t\t\tif (isCompletingInsidePropertyStringValue(document, location, position)) {\n\t\t\t\tif (document.fileName.endsWith('.code-workspace') && !isLocationInsideTopLevelProperty(location, ['launch', 'tasks'])) {\n\t\t\t\t\treturn [];\n\t\t\t\t}\n\n\t\t\t\tlet range = document.getWordRangeAtPosition(position, /\\$\\{[^\"\\}]*\\}?/);\n\t\t\t\tif (!range || range.start.isEqual(position) || range.end.isEqual(position) && document.getText(range).endsWith('}')) {\n\t\t\t\t\trange = new vscode.Range(position, position);\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t{ label: 'workspaceFolder', detail: vscode.l10n.t(\"The path of the folder opened in VS Code\") },\n\t\t\t\t\t{ label: 'workspaceFolderBasename', detail: vscode.l10n.t(\"The name of the folder opened in VS Code without any slashes (/)\") },\n\t\t\t\t\t{ label: 'fileWorkspaceFolderBasename', detail: vscode.l10n.t(\"The current opened file workspace folder name without any slashes (/)\") },\n\t\t\t\t\t{ label: 'relativeFile', detail: vscode.l10n.t(\"The current opened file relative to ${workspaceFolder}\") },\n\t\t\t\t\t{ label: 'relativeFileDirname', detail: vscode.l10n.t(\"The current opened file's dirname relative to ${workspaceFolder}\") },\n\t\t\t\t\t{ label: 'file', detail: vscode.l10n.t(\"The current opened file\") },\n\t\t\t\t\t{ label: 'cwd', detail: vscode.l10n.t(\"The task runner's current working directory on startup\") },\n\t\t\t\t\t{ label: 'lineNumber', detail: vscode.l10n.t(\"The current selected line number in the active file\") },\n\t\t\t\t\t{ label: 'selectedText', detail: vscode.l10n.t(\"The current selected text in the active file\") },\n\t\t\t\t\t{ label: 'fileDirname', detail: vscode.l10n.t(\"The current opened file's dirname\") },\n\t\t\t\t\t{ label: 'fileExtname', detail: vscode.l10n.t(\"The current opened file's extension\") },\n\t\t\t\t\t{ label: 'fileBasename', detail: vscode.l10n.t(\"The current opened file's basename\") },\n\t\t\t\t\t{ label: 'fileBasenameNoExtension', detail: vscode.l10n.t(\"The current opened file's basename with no file extension\") },\n\t\t\t\t\t{ label: 'defaultBuildTask', detail: vscode.l10n.t(\"The name of the default build task. If there is not a single default build task then a quick pick is shown to choose the build task.\") },\n\t\t\t\t\t{ label: 'pathSeparator', detail: vscode.l10n.t(\"The character used by the operating system to separate components in file paths. Is also aliased to '/'.\") },\n\t\t\t\t\t{ label: 'extensionInstallFolder', detail: vscode.l10n.t(\"The path where an extension is installed.\"), param: 'publisher.extension' },\n\t\t\t\t].map(variable => ({\n\t\t\t\t\tlabel: `\\${${variable.label}}`,\n\t\t\t\t\trange,\n\t\t\t\t\tinsertText: variable.param ? new vscode.SnippetString(`\\${${variable.label}:`).appendPlaceholder(variable.param).appendText('}') : (`\\${${variable.label}}`),\n\t\t\t\t\tdetail: variable.detail\n\t\t\t\t}));\n\t\t\t}\n\n\t\t\treturn [];\n\t\t}\n\t});\n}\n\nfunction isCompletingInsidePropertyStringValue(document: vscode.TextDocument, location: Location, pos: vscode.Position) {\n\tif (location.isAtPropertyKey) {\n\t\treturn false;\n\t}\n\tconst previousNode = location.previousNode;\n\tif (previousNode && previousNode.type === 'string') {\n\t\tconst offset = document.offsetAt(pos);\n\t\treturn offset > previousNode.offset && offset < previousNode.offset + previousNode.length;\n\t}\n\treturn false;\n}\n\nfunction isLocationInsideTopLevelProperty(location: Location, values: string[]) {\n\treturn values.includes(location.path[0] as string);\n}\n\ninterface IExtensionsContent {\n\trecommendations: string[];\n}\n\nfunction registerExtensionsCompletions(): vscode.Disposable[] {\n\treturn [registerExtensionsCompletionsInExtensionsDocument(), registerExtensionsCompletionsInWorkspaceConfigurationDocument()];\n}\n\nfunction registerExtensionsCompletionsInExtensionsDocument(): vscode.Disposable {\n\treturn vscode.languages.registerCompletionItemProvider({ pattern: '**/extensions.json' }, {\n\t\tprovideCompletionItems(document, position, _token) {\n\t\t\tconst location = getLocation(document.getText(), document.offsetAt(position));\n\t\t\tif (location.path[0] === 'recommendations') {\n\t\t\t\tconst range = getReplaceRange(document, location, position);\n\t\t\t\tconst extensionsContent = <IExtensionsContent>parse(document.getText());\n\t\t\t\treturn provideInstalledExtensionProposals(extensionsContent && extensionsContent.recommendations || [], '', range, false);\n\t\t\t}\n\t\t\treturn [];\n\t\t}\n\t});\n}\n\nfunction registerExtensionsCompletionsInWorkspaceConfigurationDocument(): vscode.Disposable {\n\treturn vscode.languages.registerCompletionItemProvider({ pattern: '**/*.code-workspace' }, {\n\t\tprovideCompletionItems(document, position, _token) {\n\t\t\tconst location = getLocation(document.getText(), document.offsetAt(position));\n\t\t\tif (location.path[0] === 'extensions' && location.path[1] === 'recommendations') {\n\t\t\t\tconst range = getReplaceRange(document, location, position);\n\t\t\t\tconst extensionsContent = <IExtensionsContent>parse(document.getText())['extensions'];\n\t\t\t\treturn provideInstalledExtensionProposals(extensionsContent && extensionsContent.recommendations || [], '', range, false);\n\t\t\t}\n\t\t\treturn [];\n\t\t}\n\t});\n}\n\nfunction getReplaceRange(document: vscode.TextDocument, location: Location, position: vscode.Position) {\n\tconst node = location.previousNode;\n\tif (node) {\n\t\tconst nodeStart = document.positionAt(node.offset), nodeEnd = document.positionAt(node.offset + node.length);\n\t\tif (nodeStart.isBeforeOrEqual(position) && nodeEnd.isAfterOrEqual(position)) {\n\t\t\treturn new vscode.Range(nodeStart, nodeEnd);\n\t\t}\n\t}\n\treturn new vscode.Range(position, position);\n}\n\nvscode.languages.registerDocumentSymbolProvider({ pattern: '**/launch.json', language: 'jsonc' }, {\n\tprovideDocumentSymbols(document: vscode.TextDocument, _token: vscode.CancellationToken): vscode.ProviderResult<vscode.SymbolInformation[]> {\n\t\tconst result: vscode.SymbolInformation[] = [];\n\t\tlet name: string = '';\n\t\tlet lastProperty = '';\n\t\tlet startOffset = 0;\n\t\tlet depthInObjects = 0;\n\n\t\tvisit(document.getText(), {\n\t\t\tonObjectProperty: (property, _offset, _length) => {\n\t\t\t\tlastProperty = property;\n\t\t\t},\n\t\t\tonLiteralValue: (value: any, _offset: number, _length: number) => {\n\t\t\t\tif (lastProperty === 'name') {\n\t\t\t\t\tname = value;\n\t\t\t\t}\n\t\t\t},\n\t\t\tonObjectBegin: (offset: number, _length: number) => {\n\t\t\t\tdepthInObjects++;\n\t\t\t\tif (depthInObjects === 2) {\n\t\t\t\t\tstartOffset = offset;\n\t\t\t\t}\n\t\t\t},\n\t\t\tonObjectEnd: (offset: number, _length: number) => {\n\t\t\t\tif (name && depthInObjects === 2) {\n\t\t\t\t\tresult.push(new vscode.SymbolInformation(name, vscode.SymbolKind.Object, new vscode.Range(document.positionAt(startOffset), document.positionAt(offset))));\n\t\t\t\t}\n\t\t\t\tdepthInObjects--;\n\t\t\t},\n\t\t});\n\n\t\treturn result;\n\t}\n}, { label: 'Launch Targets' });\n\nfunction registerContextKeyCompletions(): vscode.Disposable {\n\ttype ContextKeyInfo = { key: string; type?: string; description?: string };\n\n\tconst paths = new Map<vscode.DocumentFilter, JSONPath[]>([\n\t\t[{ language: 'jsonc', pattern: '**/keybindings.json' }, [\n\t\t\t['*', 'when']\n\t\t]],\n\t\t[{ language: 'json', pattern: '**/package.json' }, [\n\t\t\t['contributes', 'menus', '*', '*', 'when'],\n\t\t\t['contributes', 'views', '*', '*', 'when'],\n\t\t\t['contributes', 'viewsWelcome', '*', 'when'],\n\t\t\t['contributes', 'keybindings', '*', 'when'],\n\t\t\t['contributes', 'keybindings', 'when'],\n\t\t]]\n\t]);\n\n\treturn vscode.languages.registerCompletionItemProvider(\n\t\t[...paths.keys()],\n\t\t{\n\t\t\tasync provideCompletionItems(document: vscode.TextDocument, position: vscode.Position, token: vscode.CancellationToken) {\n\n\t\t\t\tconst location = getLocation(document.getText(), document.offsetAt(position));\n\n\t\t\t\tif (location.isAtPropertyKey) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tlet isValidLocation = false;\n\t\t\t\tfor (const [key, value] of paths) {\n\t\t\t\t\tif (vscode.languages.match(key, document)) {\n\t\t\t\t\t\tif (value.some(location.matches.bind(location))) {\n\t\t\t\t\t\t\tisValidLocation = true;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (!isValidLocation || !isCompletingInsidePropertyStringValue(document, location, position)) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst replacing = document.getWordRangeAtPosition(position, /[a-zA-Z.]+/) || new vscode.Range(position, position);\n\t\t\t\tconst inserting = replacing.with(undefined, position);\n\n\t\t\t\tconst data = await vscode.commands.executeCommand<ContextKeyInfo[]>('getContextKeyInfo');\n\t\t\t\tif (token.isCancellationRequested || !data) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst result = new vscode.CompletionList();\n\t\t\t\tfor (const item of data) {\n\t\t\t\t\tconst completion = new vscode.CompletionItem(item.key, vscode.CompletionItemKind.Constant);\n\t\t\t\t\tcompletion.detail = item.type;\n\t\t\t\t\tcompletion.range = { replacing, inserting };\n\t\t\t\t\tcompletion.documentation = item.description;\n\t\t\t\t\tresult.items.push(completion);\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t}\n\t\t}\n\t);\n}\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport * as vscode from 'vscode';\n\n\nexport async function provideInstalledExtensionProposals(existing: string[], additionalText: string, range: vscode.Range, includeBuiltinExtensions: boolean): Promise<vscode.CompletionItem[] | vscode.CompletionList> {\n\tif (Array.isArray(existing)) {\n\t\tconst extensions = includeBuiltinExtensions ? vscode.extensions.all : vscode.extensions.all.filter(e => !(e.id.startsWith('vscode.') || e.id === 'Microsoft.vscode-markdown'));\n\t\tconst knownExtensionProposals = extensions.filter(e => existing.indexOf(e.id) === -1);\n\t\tif (knownExtensionProposals.length) {\n\t\t\treturn knownExtensionProposals.map(e => {\n\t\t\t\tconst item = new vscode.CompletionItem(e.id);\n\t\t\t\tconst insertText = `\"${e.id}\"${additionalText}`;\n\t\t\t\titem.kind = vscode.CompletionItemKind.Value;\n\t\t\t\titem.insertText = insertText;\n\t\t\t\titem.range = range;\n\t\t\t\titem.filterText = insertText;\n\t\t\t\treturn item;\n\t\t\t});\n\t\t} else {\n\t\t\tconst example = new vscode.CompletionItem(vscode.l10n.t(\"Example\"));\n\t\t\texample.insertText = '\"vscode.csharp\"';\n\t\t\texample.kind = vscode.CompletionItemKind.Value;\n\t\t\texample.range = range;\n\t\t\treturn [example];\n\t\t}\n\t}\n\treturn [];\n}\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport { Octokit } from '@octokit/rest';\nimport * as vscode from 'vscode';\nimport { basename } from 'path';\nimport { agent } from './node/net';\n\nclass GitHubGistProfileContentHandler implements vscode.ProfileContentHandler {\n\n\treadonly name = vscode.l10n.t('GitHub');\n\treadonly description = vscode.l10n.t('gist');\n\n\tprivate _octokit: Promise<Octokit> | undefined;\n\tprivate getOctokit(): Promise<Octokit> {\n\t\tif (!this._octokit) {\n\t\t\tthis._octokit = (async () => {\n\t\t\t\tconst session = await vscode.authentication.getSession('github', ['gist', 'user:email'], { createIfNone: true });\n\t\t\t\tconst token = session.accessToken;\n\n\t\t\t\tconst { Octokit } = await import('@octokit/rest');\n\n\t\t\t\treturn new Octokit({\n\t\t\t\t\trequest: { agent },\n\t\t\t\t\tuserAgent: 'GitHub VSCode',\n\t\t\t\t\tauth: `token ${token}`\n\t\t\t\t});\n\t\t\t})();\n\t\t}\n\t\treturn this._octokit;\n\t}\n\n\tasync saveProfile(name: string, content: string): Promise<{ readonly id: string; readonly link: vscode.Uri } | null> {\n\t\tconst octokit = await this.getOctokit();\n\t\tconst result = await octokit.gists.create({\n\t\t\tpublic: false,\n\t\t\tfiles: {\n\t\t\t\t[name]: {\n\t\t\t\t\tcontent\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\tif (result.data.id && result.data.html_url) {\n\t\t\tconst link = vscode.Uri.parse(result.data.html_url);\n\t\t\treturn { id: result.data.id, link };\n\t\t}\n\t\treturn null;\n\t}\n\n\tprivate _public_octokit: Promise<Octokit> | undefined;\n\tprivate getPublicOctokit(): Promise<Octokit> {\n\t\tif (!this._public_octokit) {\n\t\t\tthis._public_octokit = (async () => {\n\t\t\t\tconst { Octokit } = await import('@octokit/rest');\n\t\t\t\treturn new Octokit({ request: { agent }, userAgent: 'GitHub VSCode' });\n\t\t\t})();\n\t\t}\n\t\treturn this._public_octokit;\n\t}\n\n\tasync readProfile(id: string): Promise<string | null>;\n\tasync readProfile(uri: vscode.Uri): Promise<string | null>;\n\tasync readProfile(arg: string | vscode.Uri): Promise<string | null> {\n\t\tconst gist_id = typeof arg === 'string' ? arg : basename(arg.path);\n\t\tconst octokit = await this.getPublicOctokit();\n\t\ttry {\n\t\t\tconst gist = await octokit.gists.get({ gist_id });\n\t\t\tif (gist.data.files) {\n\t\t\t\treturn gist.data.files[Object.keys(gist.data.files)[0]]?.content ?? null;\n\t\t\t}\n\t\t} catch (error) {\n\t\t\t// ignore\n\t\t}\n\t\treturn null;\n\t}\n\n}\n\nvscode.window.registerProfileContentHandler('github', new GitHubGistProfileContentHandler());\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport * as vscode from 'vscode';\nimport { getLocation, Location, parse } from 'jsonc-parser';\nimport { provideInstalledExtensionProposals } from './extensionsProposals';\n\nconst OVERRIDE_IDENTIFIER_REGEX = /\\[([^\\[\\]]*)\\]/g;\n\nexport class SettingsDocument {\n\n\tconstructor(private document: vscode.TextDocument) { }\n\n\tpublic async provideCompletionItems(position: vscode.Position, _token: vscode.CancellationToken): Promise<vscode.CompletionItem[] | vscode.CompletionList> {\n\t\tconst location = getLocation(this.document.getText(), this.document.offsetAt(position));\n\n\t\t// window.title\n\t\tif (location.path[0] === 'window.title') {\n\t\t\treturn this.provideWindowTitleCompletionItems(location, position);\n\t\t}\n\n\t\t// files.association\n\t\tif (location.path[0] === 'files.associations') {\n\t\t\treturn this.provideFilesAssociationsCompletionItems(location, position);\n\t\t}\n\n\t\t// files.exclude, search.exclude, explorer.autoRevealExclude\n\t\tif (location.path[0] === 'files.exclude' || location.path[0] === 'search.exclude' || location.path[0] === 'explorer.autoRevealExclude') {\n\t\t\treturn this.provideExcludeCompletionItems(location, position);\n\t\t}\n\n\t\t// files.defaultLanguage\n\t\tif (location.path[0] === 'files.defaultLanguage') {\n\t\t\treturn this.provideLanguageCompletionItems(location, position);\n\t\t}\n\n\t\t// workbench.editor.label\n\t\tif (location.path[0] === 'workbench.editor.label.patterns') {\n\t\t\treturn this.provideEditorLabelCompletionItems(location, position);\n\t\t}\n\n\t\t// settingsSync.ignoredExtensions\n\t\tif (location.path[0] === 'settingsSync.ignoredExtensions') {\n\t\t\tlet ignoredExtensions = [];\n\t\t\ttry {\n\t\t\t\tignoredExtensions = parse(this.document.getText())['settingsSync.ignoredExtensions'];\n\t\t\t} catch (e) {/* ignore error */ }\n\t\t\tconst range = this.getReplaceRange(location, position);\n\t\t\treturn provideInstalledExtensionProposals(ignoredExtensions, '', range, true);\n\t\t}\n\n\t\t// remote.extensionKind\n\t\tif (location.path[0] === 'remote.extensionKind' && location.path.length === 2 && location.isAtPropertyKey) {\n\t\t\tlet alreadyConfigured: string[] = [];\n\t\t\ttry {\n\t\t\t\talreadyConfigured = Object.keys(parse(this.document.getText())['remote.extensionKind']);\n\t\t\t} catch (e) {/* ignore error */ }\n\t\t\tconst range = this.getReplaceRange(location, position);\n\t\t\treturn provideInstalledExtensionProposals(alreadyConfigured, location.previousNode ? '' : `: [\\n\\t\"ui\"\\n]`, range, true);\n\t\t}\n\n\t\t// remote.portsAttributes\n\t\tif (location.path[0] === 'remote.portsAttributes' && location.path.length === 2 && location.isAtPropertyKey) {\n\t\t\treturn this.providePortsAttributesCompletionItem(this.getReplaceRange(location, position));\n\t\t}\n\n\t\treturn this.provideLanguageOverridesCompletionItems(location, position);\n\t}\n\n\tprivate getReplaceRange(location: Location, position: vscode.Position) {\n\t\tconst node = location.previousNode;\n\t\tif (node) {\n\t\t\tconst nodeStart = this.document.positionAt(node.offset), nodeEnd = this.document.positionAt(node.offset + node.length);\n\t\t\tif (nodeStart.isBeforeOrEqual(position) && nodeEnd.isAfterOrEqual(position)) {\n\t\t\t\treturn new vscode.Range(nodeStart, nodeEnd);\n\t\t\t}\n\t\t}\n\t\treturn new vscode.Range(position, position);\n\t}\n\n\tprivate isCompletingPropertyValue(location: Location, pos: vscode.Position) {\n\t\tif (location.isAtPropertyKey) {\n\t\t\treturn false;\n\t\t}\n\t\tconst previousNode = location.previousNode;\n\t\tif (previousNode) {\n\t\t\tconst offset = this.document.offsetAt(pos);\n\t\t\treturn offset >= previousNode.offset && offset <= previousNode.offset + previousNode.length;\n\t\t}\n\t\treturn true;\n\t}\n\n\tprivate async provideWindowTitleCompletionItems(location: Location, pos: vscode.Position): Promise<vscode.CompletionItem[]> {\n\t\tconst completions: vscode.CompletionItem[] = [];\n\n\t\tif (!this.isCompletingPropertyValue(location, pos)) {\n\t\t\treturn completions;\n\t\t}\n\n\t\tlet range = this.document.getWordRangeAtPosition(pos, /\\$\\{[^\"\\}]*\\}?/);\n\t\tif (!range || range.start.isEqual(pos) || range.end.isEqual(pos) && this.document.getText(range).endsWith('}')) {\n\t\t\trange = new vscode.Range(pos, pos);\n\t\t}\n\n\t\tconst getText = (variable: string) => {\n\t\t\tconst text = '${' + variable + '}';\n\t\t\treturn location.previousNode ? text : JSON.stringify(text);\n\t\t};\n\n\n\t\tcompletions.push(this.newSimpleCompletionItem(getText('activeEditorShort'), range, vscode.l10n.t(\"the file name (e.g. myFile.txt)\")));\n\t\tcompletions.push(this.newSimpleCompletionItem(getText('activeEditorMedium'), range, vscode.l10n.t(\"the path of the file relative to the workspace folder (e.g. myFolder/myFileFolder/myFile.txt)\")));\n\t\tcompletions.push(this.newSimpleCompletionItem(getText('activeEditorLong'), range, vscode.l10n.t(\"the full path of the file (e.g. /Users/Development/myFolder/myFileFolder/myFile.txt)\")));\n\t\tcompletions.push(this.newSimpleCompletionItem(getText('activeFolderShort'), range, vscode.l10n.t(\"the name of the folder the file is contained in (e.g. myFileFolder)\")));\n\t\tcompletions.push(this.newSimpleCompletionItem(getText('activeFolderMedium'), range, vscode.l10n.t(\"the path of the folder the file is contained in, relative to the workspace folder (e.g. myFolder/myFileFolder)\")));\n\t\tcompletions.push(this.newSimpleCompletionItem(getText('activeFolderLong'), range, vscode.l10n.t(\"the full path of the folder the file is contained in (e.g. /Users/Development/myFolder/myFileFolder)\")));\n\t\tcompletions.push(this.newSimpleCompletionItem(getText('rootName'), range, vscode.l10n.t(\"name of the workspace with optional remote name and workspace indicator if applicable (e.g. myFolder, myRemoteFolder [SSH] or myWorkspace (Workspace))\")));\n\t\tcompletions.push(this.newSimpleCompletionItem(getText('rootNameShort'), range, vscode.l10n.t(\"shortened name of the workspace without suffixes (e.g. myFolder or myWorkspace)\")));\n\t\tcompletions.push(this.newSimpleCompletionItem(getText('rootPath'), range, vscode.l10n.t(\"file path of the workspace (e.g. /Users/Development/myWorkspace)\")));\n\t\tcompletions.push(this.newSimpleCompletionItem(getText('folderName'), range, vscode.l10n.t(\"name of the workspace folder the file is contained in (e.g. myFolder)\")));\n\t\tcompletions.push(this.newSimpleCompletionItem(getText('folderPath'), range, vscode.l10n.t(\"file path of the workspace folder the file is contained in (e.g. /Users/Development/myFolder)\")));\n\t\tcompletions.push(this.newSimpleCompletionItem(getText('appName'), range, vscode.l10n.t(\"e.g. VS Code\")));\n\t\tcompletions.push(this.newSimpleCompletionItem(getText('remoteName'), range, vscode.l10n.t(\"e.g. SSH\")));\n\t\tcompletions.push(this.newSimpleCompletionItem(getText('dirty'), range, vscode.l10n.t(\"an indicator for when the active editor has unsaved changes\")));\n\t\tcompletions.push(this.newSimpleCompletionItem(getText('separator'), range, vscode.l10n.t(\"a conditional separator (' - ') that only shows when surrounded by variables with values\")));\n\t\tcompletions.push(this.newSimpleCompletionItem(getText('activeRepositoryName'), range, vscode.l10n.t(\"the name of the active repository (e.g. vscode)\")));\n\t\tcompletions.push(this.newSimpleCompletionItem(getText('activeRepositoryBranchName'), range, vscode.l10n.t(\"the name of the active branch in the active repository (e.g. main)\")));\n\n\t\treturn completions;\n\t}\n\n\tprivate async provideEditorLabelCompletionItems(location: Location, pos: vscode.Position): Promise<vscode.CompletionItem[]> {\n\t\tconst completions: vscode.CompletionItem[] = [];\n\n\t\tif (!this.isCompletingPropertyValue(location, pos)) {\n\t\t\treturn completions;\n\t\t}\n\n\t\tlet range = this.document.getWordRangeAtPosition(pos, /\\$\\{[^\"\\}]*\\}?/);\n\t\tif (!range || range.start.isEqual(pos) || range.end.isEqual(pos) && this.document.getText(range).endsWith('}')) {\n\t\t\trange = new vscode.Range(pos, pos);\n\t\t}\n\n\t\tconst getText = (variable: string) => {\n\t\t\tconst text = '${' + variable + '}';\n\t\t\treturn location.previousNode ? text : JSON.stringify(text);\n\t\t};\n\n\n\t\tcompletions.push(this.newSimpleCompletionItem(getText('dirname'), range, vscode.l10n.t(\"The parent folder name of the editor (e.g. myFileFolder)\")));\n\t\tcompletions.push(this.newSimpleCompletionItem(getText('dirname(1)'), range, vscode.l10n.t(\"The nth parent folder name of the editor\")));\n\t\tcompletions.push(this.newSimpleCompletionItem(getText('filename'), range, vscode.l10n.t(\"The file name of the editor without its directory or extension (e.g. myFile)\")));\n\t\tcompletions.push(this.newSimpleCompletionItem(getText('extname'), range, vscode.l10n.t(\"The file extension of the editor (e.g. txt)\")));\n\t\treturn completions;\n\t}\n\n\tprivate async provideFilesAssociationsCompletionItems(location: Location, position: vscode.Position): Promise<vscode.CompletionItem[]> {\n\t\tconst completions: vscode.CompletionItem[] = [];\n\n\t\tif (location.path.length === 2) {\n\t\t\t// Key\n\t\t\tif (location.path[1] === '') {\n\t\t\t\tconst range = this.getReplaceRange(location, position);\n\n\t\t\t\tcompletions.push(this.newSnippetCompletionItem({\n\t\t\t\t\tlabel: vscode.l10n.t(\"Files with Extension\"),\n\t\t\t\t\tdocumentation: vscode.l10n.t(\"Map all files matching the glob pattern in their filename to the language with the given identifier.\"),\n\t\t\t\t\tsnippet: location.isAtPropertyKey ? '\"*.${1:extension}\": \"${2:language}\"' : '{ \"*.${1:extension}\": \"${2:language}\" }',\n\t\t\t\t\trange\n\t\t\t\t}));\n\n\t\t\t\tcompletions.push(this.newSnippetCompletionItem({\n\t\t\t\t\tlabel: vscode.l10n.t(\"Files with Path\"),\n\t\t\t\t\tdocumentation: vscode.l10n.t(\"Map all files matching the absolute path glob pattern in their path to the language with the given identifier.\"),\n\t\t\t\t\tsnippet: location.isAtPropertyKey ? '\"/${1:path to file}/*.${2:extension}\": \"${3:language}\"' : '{ \"/${1:path to file}/*.${2:extension}\": \"${3:language}\" }',\n\t\t\t\t\trange\n\t\t\t\t}));\n\t\t\t} else if (this.isCompletingPropertyValue(location, position)) {\n\t\t\t\t// Value\n\t\t\t\treturn this.provideLanguageCompletionItemsForLanguageOverrides(this.getReplaceRange(location, position));\n\t\t\t}\n\t\t}\n\n\t\treturn completions;\n\t}\n\n\tprivate async provideExcludeCompletionItems(location: Location, position: vscode.Position): Promise<vscode.CompletionItem[]> {\n\t\tconst completions: vscode.CompletionItem[] = [];\n\n\t\t// Key\n\t\tif (location.path.length === 1 || (location.path.length === 2 && location.path[1] === '')) {\n\t\t\tconst range = this.getReplaceRange(location, position);\n\n\t\t\tcompletions.push(this.newSnippetCompletionItem({\n\t\t\t\tlabel: vscode.l10n.t(\"Files by Extension\"),\n\t\t\t\tdocumentation: vscode.l10n.t(\"Match all files of a specific file extension.\"),\n\t\t\t\tsnippet: location.path.length === 2 ? '\"**/*.${1:extension}\": true' : '{ \"**/*.${1:extension}\": true }',\n\t\t\t\trange\n\t\t\t}));\n\n\t\t\tcompletions.push(this.newSnippetCompletionItem({\n\t\t\t\tlabel: vscode.l10n.t(\"Files with Multiple Extensions\"),\n\t\t\t\tdocumentation: vscode.l10n.t(\"Match all files with any of the file extensions.\"),\n\t\t\t\tsnippet: location.path.length === 2 ? '\"**/*.{ext1,ext2,ext3}\": true' : '{ \"**/*.{ext1,ext2,ext3}\": true }',\n\t\t\t\trange\n\t\t\t}));\n\n\t\t\tcompletions.push(this.newSnippetCompletionItem({\n\t\t\t\tlabel: vscode.l10n.t(\"Files with Siblings by Name\"),\n\t\t\t\tdocumentation: vscode.l10n.t(\"Match files that have siblings with the same name but a different extension.\"),\n\t\t\t\tsnippet: location.path.length === 2 ? '\"**/*.${1:source-extension}\": { \"when\": \"$(basename).${2:target-extension}\" }' : '{ \"**/*.${1:source-extension}\": { \"when\": \"$(basename).${2:target-extension}\" } }',\n\t\t\t\trange\n\t\t\t}));\n\n\t\t\tcompletions.push(this.newSnippetCompletionItem({\n\t\t\t\tlabel: vscode.l10n.t(\"Folder by Name (Top Level)\"),\n\t\t\t\tdocumentation: vscode.l10n.t(\"Match a top level folder with a specific name.\"),\n\t\t\t\tsnippet: location.path.length === 2 ? '\"${1:name}\": true' : '{ \"${1:name}\": true }',\n\t\t\t\trange\n\t\t\t}));\n\n\t\t\tcompletions.push(this.newSnippetCompletionItem({\n\t\t\t\tlabel: vscode.l10n.t(\"Folders with Multiple Names (Top Level)\"),\n\t\t\t\tdocumentation: vscode.l10n.t(\"Match multiple top level folders.\"),\n\t\t\t\tsnippet: location.path.length === 2 ? '\"{folder1,folder2,folder3}\": true' : '{ \"{folder1,folder2,folder3}\": true }',\n\t\t\t\trange\n\t\t\t}));\n\n\t\t\tcompletions.push(this.newSnippetCompletionItem({\n\t\t\t\tlabel: vscode.l10n.t(\"Folder by Name (Any Location)\"),\n\t\t\t\tdocumentation: vscode.l10n.t(\"Match a folder with a specific name in any location.\"),\n\t\t\t\tsnippet: location.path.length === 2 ? '\"**/${1:name}\": true' : '{ \"**/${1:name}\": true }',\n\t\t\t\trange\n\t\t\t}));\n\t\t}\n\n\t\t// Value\n\t\telse if (location.path.length === 2 && this.isCompletingPropertyValue(location, position)) {\n\t\t\tconst range = this.getReplaceRange(location, position);\n\t\t\tcompletions.push(this.newSnippetCompletionItem({\n\t\t\t\tlabel: vscode.l10n.t(\"Files with Siblings by Name\"),\n\t\t\t\tdocumentation: vscode.l10n.t(\"Match files that have siblings with the same name but a different extension.\"),\n\t\t\t\tsnippet: '{ \"when\": \"$(basename).${1:extension}\" }',\n\t\t\t\trange\n\t\t\t}));\n\t\t}\n\n\t\treturn completions;\n\t}\n\n\tprivate async provideLanguageCompletionItems(location: Location, position: vscode.Position): Promise<vscode.CompletionItem[]> {\n\t\tif (location.path.length === 1 && this.isCompletingPropertyValue(location, position)) {\n\t\t\tconst range = this.getReplaceRange(location, position);\n\t\t\tconst languages = await vscode.languages.getLanguages();\n\t\t\treturn [\n\t\t\t\tthis.newSimpleCompletionItem(JSON.stringify('${activeEditorLanguage}'), range, vscode.l10n.t(\"Use the language of the currently active text editor if any\")),\n\t\t\t\t...languages.map(l => this.newSimpleCompletionItem(JSON.stringify(l), range))\n\t\t\t];\n\t\t}\n\t\treturn [];\n\t}\n\n\tprivate async provideLanguageCompletionItemsForLanguageOverrides(range: vscode.Range): Promise<vscode.CompletionItem[]> {\n\t\tconst languages = await vscode.languages.getLanguages();\n\t\tconst completionItems = [];\n\t\tfor (const language of languages) {\n\t\t\tconst item = new vscode.CompletionItem(JSON.stringify(language));\n\t\t\titem.kind = vscode.CompletionItemKind.Property;\n\t\t\titem.range = range;\n\t\t\tcompletionItems.push(item);\n\t\t}\n\t\treturn completionItems;\n\t}\n\n\tprivate async provideLanguageOverridesCompletionItems(location: Location, position: vscode.Position): Promise<vscode.CompletionItem[]> {\n\t\tif (location.path.length === 1 && location.isAtPropertyKey && location.previousNode && typeof location.previousNode.value === 'string' && location.previousNode.value.startsWith('[')) {\n\t\t\tconst startPosition = this.document.positionAt(location.previousNode.offset + 1);\n\t\t\tconst endPosition = startPosition.translate(undefined, location.previousNode.value.length);\n\t\t\tconst donotSuggestLanguages: string[] = [];\n\t\t\tconst languageOverridesRanges: vscode.Range[] = [];\n\t\t\tlet matches = OVERRIDE_IDENTIFIER_REGEX.exec(location.previousNode.value);\n\t\t\tlet lastLanguageOverrideRange: vscode.Range | undefined;\n\t\t\twhile (matches?.length) {\n\t\t\t\tlastLanguageOverrideRange = new vscode.Range(this.document.positionAt(location.previousNode.offset + 1 + matches.index), this.document.positionAt(location.previousNode.offset + 1 + matches.index + matches[0].length));\n\t\t\t\tlanguageOverridesRanges.push(lastLanguageOverrideRange);\n\t\t\t\t/* Suggest the configured language if the position is in the match range */\n\t\t\t\tif (!lastLanguageOverrideRange.contains(position)) {\n\t\t\t\t\tdonotSuggestLanguages.push(matches[1].trim());\n\t\t\t\t}\n\t\t\t\tmatches = OVERRIDE_IDENTIFIER_REGEX.exec(location.previousNode.value);\n\t\t\t}\n\t\t\tconst lastLanguageOverrideEndPosition = lastLanguageOverrideRange ? lastLanguageOverrideRange.end : startPosition;\n\t\t\tif (lastLanguageOverrideEndPosition.isBefore(endPosition)) {\n\t\t\t\tlanguageOverridesRanges.push(new vscode.Range(lastLanguageOverrideEndPosition, endPosition));\n\t\t\t}\n\t\t\tconst languageOverrideRange = languageOverridesRanges.find(range => range.contains(position));\n\n\t\t\t/**\n\t\t\t * Skip if suggestions are for first language override range\n\t\t\t * Since VSCode registers language overrides to the schema, JSON language server does suggestions for first language override.\n\t\t\t */\n\t\t\tif (languageOverrideRange && !languageOverrideRange.isEqual(languageOverridesRanges[0])) {\n\t\t\t\tconst languages = await vscode.languages.getLanguages();\n\t\t\t\tconst completionItems = [];\n\t\t\t\tfor (const language of languages) {\n\t\t\t\t\tif (!donotSuggestLanguages.includes(language)) {\n\t\t\t\t\t\tconst item = new vscode.CompletionItem(`[${language}]`);\n\t\t\t\t\t\titem.kind = vscode.CompletionItemKind.Property;\n\t\t\t\t\t\titem.range = languageOverrideRange;\n\t\t\t\t\t\tcompletionItems.push(item);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn completionItems;\n\t\t\t}\n\t\t}\n\t\treturn [];\n\t}\n\n\tprivate providePortsAttributesCompletionItem(range: vscode.Range): vscode.CompletionItem[] {\n\t\treturn [this.newSnippetCompletionItem(\n\t\t\t{\n\t\t\t\tlabel: '\\\"3000\\\"',\n\t\t\t\tdocumentation: 'Single Port Attribute',\n\t\t\t\trange,\n\t\t\t\tsnippet: '\\n \\\"${1:3000}\\\": {\\n \\\"label\\\": \\\"${2:Application}\\\",\\n \\\"onAutoForward\\\": \\\"${3:openPreview}\\\"\\n }\\n'\n\t\t\t}),\n\t\tthis.newSnippetCompletionItem(\n\t\t\t{\n\t\t\t\tlabel: '\\\"5000-6000\\\"',\n\t\t\t\tdocumentation: 'Ranged Port Attribute',\n\t\t\t\trange,\n\t\t\t\tsnippet: '\\n \\\"${1:40000-55000}\\\": {\\n \\\"onAutoForward\\\": \\\"${2:ignore}\\\"\\n }\\n'\n\t\t\t}),\n\t\tthis.newSnippetCompletionItem(\n\t\t\t{\n\t\t\t\tlabel: '\\\".+\\\\\\\\/server.js\\\"',\n\t\t\t\tdocumentation: 'Command Match Port Attribute',\n\t\t\t\trange,\n\t\t\t\tsnippet: '\\n \\\"${1:.+\\\\\\\\/server.js\\}\\\": {\\n \\\"label\\\": \\\"${2:Application}\\\",\\n \\\"onAutoForward\\\": \\\"${3:openPreview}\\\"\\n }\\n'\n\t\t\t})\n\t\t];\n\t}\n\n\tprivate newSimpleCompletionItem(text: string, range: vscode.Range, description?: string, insertText?: string): vscode.CompletionItem {\n\t\tconst item = new vscode.CompletionItem(text);\n\t\titem.kind = vscode.CompletionItemKind.Value;\n\t\titem.detail = description;\n\t\titem.insertText = insertText ? insertText : text;\n\t\titem.range = range;\n\t\treturn item;\n\t}\n\n\tprivate newSnippetCompletionItem(o: { label: string; documentation?: string; snippet: string; range: vscode.Range }): vscode.CompletionItem {\n\t\tconst item = new vscode.CompletionItem(o.label);\n\t\titem.kind = vscode.CompletionItemKind.Value;\n\t\titem.documentation = o.documentation;\n\t\titem.insertText = new vscode.SnippetString(o.snippet);\n\t\titem.range = o.range;\n\t\treturn item;\n\t}\n}\n","module.exports = require(\"vscode\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(670);\n"],"names":["getUserAgent","navigator","userAgent","process","version","substr","arch","isObject","o","Object","prototype","toString","call","isPlainObject","ctor","prot","undefined","constructor","hasOwnProperty","mergeDeep","defaults","options","result","assign","keys","forEach","key","removeUndefinedProperties","obj","merge","route","method","url","split","object","headers","reduce","newObj","toLowerCase","mergedOptions","mediaType","previews","length","filter","preview","includes","concat","map","replace","urlVariableRegex","removeNonChars","variableName","omit","keysToOmit","option","encodeReserved","str","part","test","encodeURI","join","encodeUnreserved","encodeURIComponent","c","charCodeAt","toUpperCase","encodeValue","operator","value","isDefined","isKeyOperator","expand","template","context","operators","_","expression","literal","values","indexOf","charAt","variable","tmp","exec","push","modifier","substring","parseInt","Array","isArray","value2","k","getValues","separator","parse","body","parameters","urlVariableNames","matches","match","a","b","extractUrlVariableNames","bind","baseUrl","remainingParameters","accept","format","previewsFromAcceptHeader","names","name","q","addQueryParameters","data","request","endpointWithDefaults","endpoint","withDefaults","oldDefaults","newDefaults","DEFAULTS2","endpoint2","DEFAULTS","Deprecation","Error","message","super","captureStackTrace","this","logOnceCode","deprecation","console","warn","logOnceHeaders","RequestError","statusCode","status","response","requestCopy","authorization","defineProperty","get","fetchWrapper","requestOptions","log","JSON","stringify","fetch","globalThis","redirect","duplex","then","async","keyAndValue","link","deprecationLink","pop","sunset","statusText","getResponseData","error","errors","toErrorMessage","catch","contentType","json","text","arrayBuffer","getBufferResponse","oldEndpoint","endpointOptions","hook","request2","route2","parameters2","GraphqlResponseError","e","NON_VARIABLE_OPTIONS","FORBIDDEN_VARIABLE_OPTIONS","GHES_V3_SUFFIX_REGEX","newRequest","query","Promise","reject","parsedOptions","variables","graphql","REGEX_IS_INSTALLATION_LEGACY","REGEX_IS_INSTALLATION","REGEX_IS_USER_TO_SERVER","auth","token","isApp","isInstallation","isUserToServer","type","tokenType","withAuthorizationPrefix","createTokenAuth","Octokit","args","plugin","newPlugins","_a","currentPlugins","plugins","Collection","requestDefaults","customRequest","Boolean","timeZone","debug","info","authStrategy","otherOptions","octokit","octokitOptions","wrap","requestLog","start","Date","now","path","iterator","requestMethod","Symbol","asyncIterator","next","done","normalizedResponse","incompleteResults","incomplete_results","repositorySelection","repository_selection","totalCount","total_count","namespaceKey","normalizePaginatedListResponse","paginate","mapFn","gather","results","earlyExit","paginateRest","VERSION","Endpoints","actions","addCustomLabelsToSelfHostedRunnerForOrg","addCustomLabelsToSelfHostedRunnerForRepo","addSelectedRepoToOrgSecret","approveWorkflowRun","cancelWorkflowRun","createOrUpdateEnvironmentSecret","createOrUpdateOrgSecret","createOrUpdateRepoSecret","createRegistrationTokenForOrg","createRegistrationTokenForRepo","createRemoveTokenForOrg","createRemoveTokenForRepo","createWorkflowDispatch","deleteActionsCacheById","deleteActionsCacheByKey","deleteArtifact","deleteEnvironmentSecret","deleteOrgSecret","deleteRepoSecret","deleteSelfHostedRunnerFromOrg","deleteSelfHostedRunnerFromRepo","deleteWorkflowRun","deleteWorkflowRunLogs","disableSelectedRepositoryGithubActionsOrganization","disableWorkflow","downloadArtifact","downloadJobLogsForWorkflowRun","downloadWorkflowRunAttemptLogs","downloadWorkflowRunLogs","enableSelectedRepositoryGithubActionsOrganization","enableWorkflow","getActionsCacheList","getActionsCacheUsage","getActionsCacheUsageByRepoForOrg","getActionsCacheUsageForEnterprise","getActionsCacheUsageForOrg","getAllowedActionsOrganization","getAllowedActionsRepository","getArtifact","getEnvironmentPublicKey","getEnvironmentSecret","getGithubActionsDefaultWorkflowPermissionsEnterprise","getGithubActionsDefaultWorkflowPermissionsOrganization","getGithubActionsDefaultWorkflowPermissionsRepository","getGithubActionsPermissionsOrganization","getGithubActionsPermissionsRepository","getJobForWorkflowRun","getOrgPublicKey","getOrgSecret","getPendingDeploymentsForRun","getRepoPermissions","renamed","getRepoPublicKey","getRepoSecret","getReviewsForRun","getSelfHostedRunnerForOrg","getSelfHostedRunnerForRepo","getWorkflow","getWorkflowAccessToRepository","getWorkflowRun","getWorkflowRunAttempt","getWorkflowRunUsage","getWorkflowUsage","listArtifactsForRepo","listEnvironmentSecrets","listJobsForWorkflowRun","listJobsForWorkflowRunAttempt","listLabelsForSelfHostedRunnerForOrg","listLabelsForSelfHostedRunnerForRepo","listOrgSecrets","listRepoSecrets","listRepoWorkflows","listRunnerApplicationsForOrg","listRunnerApplicationsForRepo","listSelectedReposForOrgSecret","listSelectedRepositoriesEnabledGithubActionsOrganization","listSelfHostedRunnersForOrg","listSelfHostedRunnersForRepo","listWorkflowRunArtifacts","listWorkflowRuns","listWorkflowRunsForRepo","reRunJobForWorkflowRun","reRunWorkflow","reRunWorkflowFailedJobs","removeAllCustomLabelsFromSelfHostedRunnerForOrg","removeAllCustomLabelsFromSelfHostedRunnerForRepo","removeCustomLabelFromSelfHostedRunnerForOrg","removeCustomLabelFromSelfHostedRunnerForRepo","removeSelectedRepoFromOrgSecret","reviewPendingDeploymentsForRun","setAllowedActionsOrganization","setAllowedActionsRepository","setCustomLabelsForSelfHostedRunnerForOrg","setCustomLabelsForSelfHostedRunnerForRepo","setGithubActionsDefaultWorkflowPermissionsEnterprise","setGithubActionsDefaultWorkflowPermissionsOrganization","setGithubActionsDefaultWorkflowPermissionsRepository","setGithubActionsPermissionsOrganization","setGithubActionsPermissionsRepository","setSelectedReposForOrgSecret","setSelectedRepositoriesEnabledGithubActionsOrganization","setWorkflowAccessToRepository","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","addRepoToInstallationForAuthenticatedUser","checkToken","createFromManifest","createInstallationAccessToken","deleteAuthorization","deleteInstallation","deleteToken","getAuthenticated","getBySlug","getInstallation","getOrgInstallation","getRepoInstallation","getSubscriptionPlanForAccount","getSubscriptionPlanForAccountStubbed","getUserInstallation","getWebhookConfigForApp","getWebhookDelivery","listAccountsForPlan","listAccountsForPlanStubbed","listInstallationReposForAuthenticatedUser","listInstallations","listInstallationsForAuthenticatedUser","listPlans","listPlansStubbed","listReposAccessibleToInstallation","listSubscriptionsForAuthenticatedUser","listSubscriptionsForAuthenticatedUserStubbed","listWebhookDeliveries","redeliverWebhookDelivery","removeRepoFromInstallation","removeRepoFromInstallationForAuthenticatedUser","resetToken","revokeInstallationAccessToken","scopeToken","suspendInstallation","unsuspendInstallation","updateWebhookConfigForApp","billing","getGithubActionsBillingOrg","getGithubActionsBillingUser","getGithubAdvancedSecurityBillingGhe","getGithubAdvancedSecurityBillingOrg","getGithubPackagesBillingOrg","getGithubPackagesBillingUser","getSharedStorageBillingOrg","getSharedStorageBillingUser","checks","create","createSuite","getSuite","listAnnotations","listForRef","listForSuite","listSuitesForRef","rerequestRun","rerequestSuite","setSuitesPreferences","update","codeScanning","deleteAnalysis","getAlert","renamedParameters","alert_id","getAnalysis","getCodeqlDatabase","getSarif","listAlertInstances","listAlertsForEnterprise","listAlertsForOrg","listAlertsForRepo","listAlertsInstances","listCodeqlDatabases","listRecentAnalyses","updateAlert","uploadSarif","codesOfConduct","getAllCodesOfConduct","getConductCode","codespaces","addRepositoryForSecretForAuthenticatedUser","codespaceMachinesForAuthenticatedUser","createForAuthenticatedUser","createOrUpdateSecretForAuthenticatedUser","createWithPrForAuthenticatedUser","createWithRepoForAuthenticatedUser","deleteForAuthenticatedUser","deleteFromOrganization","deleteSecretForAuthenticatedUser","exportForAuthenticatedUser","getExportDetailsForAuthenticatedUser","getForAuthenticatedUser","getPublicKeyForAuthenticatedUser","getSecretForAuthenticatedUser","listDevcontainersInRepositoryForAuthenticatedUser","listForAuthenticatedUser","listInOrganization","org_id","listInRepositoryForAuthenticatedUser","listRepositoriesForSecretForAuthenticatedUser","listSecretsForAuthenticatedUser","preFlightWithRepoForAuthenticatedUser","removeRepositoryForSecretForAuthenticatedUser","repoMachinesForAuthenticatedUser","setRepositoriesForSecretForAuthenticatedUser","startForAuthenticatedUser","stopForAuthenticatedUser","stopInOrganization","updateForAuthenticatedUser","dependabot","dependencyGraph","createRepositorySnapshot","diffRange","emojis","enterpriseAdmin","addCustomLabelsToSelfHostedRunnerForEnterprise","disableSelectedOrganizationGithubActionsEnterprise","enableSelectedOrganizationGithubActionsEnterprise","getAllowedActionsEnterprise","getGithubActionsPermissionsEnterprise","getServerStatistics","listLabelsForSelfHostedRunnerForEnterprise","listSelectedOrganizationsEnabledGithubActionsEnterprise","removeAllCustomLabelsFromSelfHostedRunnerForEnterprise","removeCustomLabelFromSelfHostedRunnerForEnterprise","setAllowedActionsEnterprise","setCustomLabelsForSelfHostedRunnerForEnterprise","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","listForOrg","listForRepo","listLabelsForMilestone","listLabelsForRepo","listLabelsOnIssue","listMilestones","lock","removeAllLabels","removeAssignees","removeLabel","setLabels","unlock","updateLabel","updateMilestone","licenses","getAllCommonlyUsed","getForRepo","markdown","render","renderRaw","meta","getOctocat","getZen","root","migrations","cancelImport","deleteArchiveForAuthenticatedUser","deleteArchiveForOrg","downloadArchiveForOrg","getArchiveForAuthenticatedUser","getCommitAuthors","getImportStatus","getLargeFiles","getStatusForAuthenticatedUser","getStatusForOrg","listReposForAuthenticatedUser","listReposForOrg","listReposForUser","mapCommitAuthor","setLfsPreference","startForOrg","startImport","unlockRepoForAuthenticatedUser","unlockRepoForOrg","updateImport","orgs","addSecurityManagerTeam","blockUser","cancelInvitation","checkBlockedUser","checkMembershipForUser","checkPublicMembershipForUser","convertMemberToOutsideCollaborator","createCustomRole","createInvitation","createWebhook","deleteCustomRole","deleteWebhook","enableOrDisableSecurityProductOnAllOrgRepos","getMembershipForAuthenticatedUser","getMembershipForUser","getWebhook","getWebhookConfigForOrg","listAppInstallations","listBlockedUsers","listCustomRoles","listFailedInvitations","listFineGrainedPermissions","listInvitationTeams","listMembers","listMembershipsForAuthenticatedUser","listOutsideCollaborators","listPendingInvitations","listPublicMembers","listSecurityManagerTeams","listWebhooks","pingWebhook","removeMember","removeMembershipForUser","removeOutsideCollaborator","removePublicMembershipForAuthenticatedUser","removeSecurityManagerTeam","setMembershipForUser","setPublicMembershipForAuthenticatedUser","unblockUser","updateCustomRole","updateMembershipForAuthenticatedUser","updateWebhook","updateWebhookConfigForOrg","packages","deletePackageForAuthenticatedUser","deletePackageForOrg","deletePackageForUser","deletePackageVersionForAuthenticatedUser","deletePackageVersionForOrg","deletePackageVersionForUser","getAllPackageVersionsForAPackageOwnedByAnOrg","getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser","getAllPackageVersionsForPackageOwnedByAuthenticatedUser","getAllPackageVersionsForPackageOwnedByOrg","getAllPackageVersionsForPackageOwnedByUser","getPackageForAuthenticatedUser","getPackageForOrganization","getPackageForUser","getPackageVersionForAuthenticatedUser","getPackageVersionForOrganization","getPackageVersionForUser","listPackagesForAuthenticatedUser","listPackagesForOrganization","listPackagesForUser","restorePackageForAuthenticatedUser","restorePackageForOrg","restorePackageForUser","restorePackageVersionForAuthenticatedUser","restorePackageVersionForOrg","restorePackageVersionForUser","projects","addCollaborator","createCard","createColumn","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","removeRequestedReviewers","requestReviewers","submitReview","updateBranch","updateReview","updateReviewComment","rateLimit","reactions","createForCommitComment","createForIssue","createForIssueComment","createForPullRequestReviewComment","createForRelease","createForTeamDiscussionCommentInOrg","createForTeamDiscussionInOrg","deleteForCommitComment","deleteForIssue","deleteForIssueComment","deleteForPullRequestComment","deleteForRelease","deleteForTeamDiscussion","deleteForTeamDiscussionComment","listForCommitComment","listForIssue","listForIssueComment","listForPullRequestReviewComment","listForRelease","listForTeamDiscussionCommentInOrg","listForTeamDiscussionInOrg","repos","acceptInvitation","acceptInvitationForAuthenticatedUser","addAppAccessRestrictions","mapToData","addStatusCheckContexts","addTeamAccessRestrictions","addUserAccessRestrictions","checkCollaborator","checkVulnerabilityAlerts","codeownersErrors","compareCommits","compareCommitsWithBasehead","createAutolink","createCommitComment","createCommitSignatureProtection","createCommitStatus","createDeployKey","createDeployment","createDeploymentBranchPolicy","createDeploymentStatus","createDispatchEvent","createFork","createInOrg","createOrUpdateEnvironment","createOrUpdateFileContents","createPagesDeployment","createPagesSite","createRelease","createTagProtection","createUsingTemplate","declineInvitation","declineInvitationForAuthenticatedUser","deleteAccessRestrictions","deleteAdminBranchProtection","deleteAnEnvironment","deleteAutolink","deleteBranchProtection","deleteCommitComment","deleteCommitSignatureProtection","deleteDeployKey","deleteDeployment","deleteDeploymentBranchPolicy","deleteFile","deleteInvitation","deletePagesSite","deletePullRequestReviewProtection","deleteRelease","deleteReleaseAsset","deleteTagProtection","disableAutomatedSecurityFixes","disableLfsForRepo","disableVulnerabilityAlerts","downloadArchive","downloadTarballArchive","downloadZipballArchive","enableAutomatedSecurityFixes","enableLfsForRepo","enableVulnerabilityAlerts","generateReleaseNotes","getAccessRestrictions","getAdminBranchProtection","getAllEnvironments","getAllStatusCheckContexts","getAllTopics","getAppsWithAccessToProtectedBranch","getAutolink","getBranch","getBranchProtection","getClones","getCodeFrequencyStats","getCollaboratorPermissionLevel","getCombinedStatusForRef","getCommitActivityStats","getCommitComment","getCommitSignatureProtection","getCommunityProfileMetrics","getContent","getContributorsStats","getDeployKey","getDeployment","getDeploymentBranchPolicy","getDeploymentStatus","getEnvironment","getLatestPagesBuild","getLatestRelease","getPages","getPagesBuild","getPagesHealthCheck","getParticipationStats","getPullRequestReviewProtection","getPunchCardStats","getReadme","getReadmeInDirectory","getRelease","getReleaseAsset","getReleaseByTag","getStatusChecksProtection","getTeamsWithAccessToProtectedBranch","getTopPaths","getTopReferrers","getUsersWithAccessToProtectedBranch","getViews","getWebhookConfigForRepo","listAutolinks","listBranches","listBranchesForHeadCommit","listCommentsForCommit","listCommitCommentsForRepo","listCommitStatusesForRef","listContributors","listDeployKeys","listDeploymentBranchPolicies","listDeploymentStatuses","listDeployments","listInvitations","listInvitationsForAuthenticatedUser","listLanguages","listPagesBuilds","listPullRequestsAssociatedWithCommit","listReleaseAssets","listReleases","listTagProtection","listTags","listTeams","mergeUpstream","removeAppAccessRestrictions","removeStatusCheckContexts","removeStatusCheckProtection","removeTeamAccessRestrictions","removeUserAccessRestrictions","renameBranch","replaceAllTopics","requestPagesBuild","setAdminBranchProtection","setAppAccessRestrictions","setStatusCheckContexts","setTeamAccessRestrictions","setUserAccessRestrictions","testPushWebhook","transfer","updateBranchProtection","updateCommitComment","updateDeploymentBranchPolicy","updateInformationAboutPagesSite","updateInvitation","updatePullRequestReviewProtection","updateRelease","updateReleaseAsset","updateStatusCheckPotection","updateStatusCheckProtection","updateWebhookConfigForRepo","uploadReleaseAsset","search","code","commits","issuesAndPullRequests","labels","topics","users","secretScanning","listLocationsForAlert","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","addEmailForAuthenticatedUser","block","checkBlocked","checkFollowingForUser","checkPersonIsFollowedByAuthenticated","createGpgKeyForAuthenticated","createGpgKeyForAuthenticatedUser","createPublicSshKeyForAuthenticated","createPublicSshKeyForAuthenticatedUser","createSshSigningKeyForAuthenticatedUser","deleteEmailForAuthenticated","deleteEmailForAuthenticatedUser","deleteGpgKeyForAuthenticated","deleteGpgKeyForAuthenticatedUser","deletePublicSshKeyForAuthenticated","deletePublicSshKeyForAuthenticatedUser","deleteSshSigningKeyForAuthenticatedUser","follow","getByUsername","getContextForUser","getGpgKeyForAuthenticated","getGpgKeyForAuthenticatedUser","getPublicSshKeyForAuthenticated","getPublicSshKeyForAuthenticatedUser","getSshSigningKeyForAuthenticatedUser","listBlockedByAuthenticated","listBlockedByAuthenticatedUser","listEmailsForAuthenticated","listEmailsForAuthenticatedUser","listFollowedByAuthenticated","listFollowedByAuthenticatedUser","listFollowersForAuthenticatedUser","listFollowersForUser","listFollowingForUser","listGpgKeysForAuthenticated","listGpgKeysForAuthenticatedUser","listGpgKeysForUser","listPublicEmailsForAuthenticated","listPublicEmailsForAuthenticatedUser","listPublicKeysForUser","listPublicSshKeysForAuthenticated","listPublicSshKeysForAuthenticatedUser","listSshSigningKeysForAuthenticatedUser","listSshSigningKeysForUser","setPrimaryEmailVisibilityForAuthenticated","setPrimaryEmailVisibilityForAuthenticatedUser","unblock","unfollow","updateAuthenticated","decorate","scope","methodName","decorations","requestWithDefaults","newScope","newMethodName","deprecated","alias","entries","legacyRestEndpointMethods","api","endpointsMap","newMethods","endpoints","endpointDefaults","endpointsToMethods","rest","register","addHook","removeHook","Function","bindable","bindApi","state","removeHookRef","apply","remove","kind","HookCollection","registry","collectionHookDeprecationMessageDisplayed","Hook","Singular","singularHookState","singularHook","module","exports","orig","resolve","result_","reverse","callback","registered","index","splice","createScanner","ignoreTrivia","len","pos","tokenOffset","lineNumber","lineStartOffset","tokenLineStartOffset","prevTokenLineStartOffset","scanError","scanHexDigits","count","exact","digits","ch","scanNext","isWhiteSpace","String","fromCharCode","isLineBreak","ch3","scanString","safeLength","commentClosed","isDigit","end","scanNumber","isUnknownContentCharacter","setPosition","newPosition","getPosition","scan","getToken","getTokenValue","getTokenOffset","getTokenLength","getTokenStartLine","getTokenStartCharacter","getTokenError","CharacterCodes","ParseOptions","documentText","range","initialIndentLevel","formatText","formatTextStart","rangeStart","rangeEnd","offset","isEOL","endOffset","content","i","nChars","tabSize","Math","floor","computeIndentLevel","eol","getEOL","indentValue","numberLineBreaks","indentLevel","insertSpaces","repeat","scanner","hasError","newLinesAndIndent","keepLines","editOperations","addEdit","startOffset","firstToken","firstTokenStart","firstTokenEnd","secondToken","replaceContent","needsLineBreak","insertFinalNewline","s","parseTree","DEFAULT","currentParent","children","parent","ensurePropertyComplete","onValue","valueNode","visit","onObjectBegin","onObjectProperty","onObjectEnd","onArrayBegin","onArrayEnd","onLiteralValue","getNodeType","onSeparator","sep","colonOffset","onError","findNodeAtLocation","node","segment","found","propertyNode","visitor","_scanner","_jsonPath","toNoArgVisit","visitFunction","toNoArgVisitWithPath","slice","toOneArgVisit","arg","toOneArgVisitWithPath","onComment","disallowComments","allowTrailingComma","handleError","skipUntilAfter","skipUntil","parseString","isValue","allowEmptyContent","parseValue","isFirstElement","needsComma","parseArray","parseObject","tokenValue","Number","isNaN","parseLiteral","withFormatting","edit","formattingOptions","newText","applyEdit","begin","edits","min","max","ScanError","SyntaxKind","position","segments","earlyReturnException","previousNode","previousNodeInst","isAtPropertyKey","setPreviousNode","last","pattern","currentProperty","previousParents","array","findNodeAtOffset","includeRightBound","contains","item","getNodePath","getNodeValue","prop","replaceCh","parts","ParseErrorCode","printParseErrorCode","modify","originalPath","lastSegment","existing","propertyIndex","removeBegin","removeEnd","previous","newProperty","getInsertionIndex","p","insertIndex","removalIndex","toRemove","isArrayInsertion","toModify","applyEdits","sortedEdits","sort","diff","lastModifiedOffset","globalObject","self","window","g","getGlobal","Headers","Request","Response","wrappy","once","fn","f","called","arguments","onceStrict","onceError","strict","proto","configurable","cb","TypeError","wrapper","ret","assertPath","normalizeStringPosix","allowAboveRoot","res","lastSegmentLength","lastSlash","dots","lastSlashIndex","lastIndexOf","posix","cwd","resolvedPath","resolvedAbsolute","normalize","isAbsolute","trailingSeparator","joined","relative","from","to","fromStart","fromEnd","fromLen","toStart","toLen","lastCommonSep","fromCode","out","_makeLong","dirname","hasRoot","matchedSlash","basename","ext","extIdx","firstNonSlashEnd","extname","startDot","startPart","preDotState","pathObject","dir","base","_format","delimiter","win32","agent","subscriptions","vscode","languages","registerCompletionItemProvider","language","provideCompletionItems","document","SettingsDocument","_token","location","getLocation","getText","offsetAt","getReplaceRange","extensionsContent","provideInstalledExtensionProposals","recommendations","registerVariableCompletions","paths","Map","isValidLocation","some","isCompletingInsidePropertyStringValue","replacing","getWordRangeAtPosition","Range","inserting","with","commands","executeCommand","isCancellationRequested","CompletionList","completion","CompletionItem","CompletionItemKind","Constant","detail","documentation","description","items","registerContextKeyCompletions","fileName","endsWith","isLocationInsideTopLevelProperty","isEqual","label","l10n","t","param","insertText","SnippetString","appendPlaceholder","appendText","nodeStart","positionAt","nodeEnd","isBeforeOrEqual","isAfterOrEqual","registerDocumentSymbolProvider","provideDocumentSymbols","lastProperty","depthInObjects","property","_offset","_length","SymbolInformation","SymbolKind","additionalText","includeBuiltinExtensions","knownExtensionProposals","extensions","all","id","startsWith","Value","filterText","example","registerProfileContentHandler","getOctokit","_octokit","authentication","getSession","createIfNone","accessToken","saveProfile","public","files","html_url","Uri","getPublicOctokit","_public_octokit","readProfile","gist_id","gist","OVERRIDE_IDENTIFIER_REGEX","provideWindowTitleCompletionItems","provideFilesAssociationsCompletionItems","provideExcludeCompletionItems","provideLanguageCompletionItems","provideEditorLabelCompletionItems","ignoredExtensions","alreadyConfigured","providePortsAttributesCompletionItem","provideLanguageOverridesCompletionItems","isCompletingPropertyValue","completions","newSimpleCompletionItem","newSnippetCompletionItem","snippet","provideLanguageCompletionItemsForLanguageOverrides","getLanguages","l","completionItems","Property","startPosition","endPosition","translate","donotSuggestLanguages","languageOverridesRanges","lastLanguageOverrideRange","trim","lastLanguageOverrideEndPosition","isBefore","languageOverrideRange","find","require","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","n","getter","__esModule","d","definition","enumerable","r","toStringTag","__webpack_exports__"],"sourceRoot":""}