main repo

This commit is contained in:
Basilosaurusrex
2025-11-24 18:09:40 +01:00
parent b636ee5e70
commit f027651f9b
34146 changed files with 4436636 additions and 0 deletions

49
node_modules/eslint-plugin-import/lib/core/fsWalk.js generated vendored Normal file
View File

@@ -0,0 +1,49 @@
'use strict';Object.defineProperty(exports, "__esModule", { value: true });exports.
walkSync = walkSync;var _path = require('path');var _path2 = _interopRequireDefault(_path);var _fs = require('fs');function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { 'default': obj };} /** @typedef {{ name: string, path: string, dirent: import('fs').Dirent }} Entry */ /**
* Do a comprehensive walk of the provided src directory, and collect all entries. Filter out
* any directories or entries using the optional filter functions.
* @param {string} root - path to the root of the folder we're walking
* @param {{ deepFilter?: (entry: Entry) => boolean, entryFilter?: (entry: Entry) => boolean }} options
* @param {Entry} currentEntry - entry for the current directory we're working in
* @param {Entry[]} existingEntries - list of all entries so far
* @returns {Entry[]} an array of directory entries
*/ /**
* This is intended to provide similar capability as the sync api from @nodelib/fs.walk, until `eslint-plugin-import`
* is willing to modernize and update their minimum node version to at least v16. I intentionally made the
* shape of the API (for the part we're using) the same as @nodelib/fs.walk so that that can be swapped in
* when the repo is ready for it.
*/function walkSync(root, options, currentEntry, existingEntries) {// Extract the filter functions. Default to evaluating true, if no filter passed in.
var _options$deepFilter = options.deepFilter,deepFilter = _options$deepFilter === undefined ? function () {return true;} : _options$deepFilter,_options$entryFilter = options.entryFilter,entryFilter = _options$entryFilter === undefined ? function () {return true;} : _options$entryFilter;var entryList = existingEntries || [];var currentRelativePath = currentEntry ? currentEntry.path : '.';var fullPath = currentEntry ? _path2['default'].join(root, currentEntry.path) : root;var dirents = (0, _fs.readdirSync)(fullPath, { withFileTypes: true });dirents.forEach(function (dirent) {/** @type {Entry} */var entry = { name: dirent.name, path: _path2['default'].join(currentRelativePath, dirent.name), dirent: dirent };
if (dirent.isDirectory() && deepFilter(entry)) {
entryList.push(entry);
entryList = walkSync(root, options, entry, entryList);
} else if (dirent.isFile() && entryFilter(entry)) {
entryList.push(entry);
}
});
return entryList;
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb3JlL2ZzV2Fsay5qcyJdLCJuYW1lcyI6WyJ3YWxrU3luYyIsInJvb3QiLCJvcHRpb25zIiwiY3VycmVudEVudHJ5IiwiZXhpc3RpbmdFbnRyaWVzIiwiZGVlcEZpbHRlciIsImVudHJ5RmlsdGVyIiwiZW50cnlMaXN0IiwiY3VycmVudFJlbGF0aXZlUGF0aCIsInBhdGgiLCJmdWxsUGF0aCIsImpvaW4iLCJkaXJlbnRzIiwid2l0aEZpbGVUeXBlcyIsImZvckVhY2giLCJkaXJlbnQiLCJlbnRyeSIsIm5hbWUiLCJpc0RpcmVjdG9yeSIsInB1c2giLCJpc0ZpbGUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXFCZ0JBLFEsR0FBQUEsUSxDQWRoQiw0QiwyQ0FDQSx3QixnR0FFQSxtRixDQUVBOzs7Ozs7OzsyU0FaQTs7Ozs7OFNBcUJPLFNBQVNBLFFBQVQsQ0FBa0JDLElBQWxCLEVBQXdCQyxPQUF4QixFQUFpQ0MsWUFBakMsRUFBK0NDLGVBQS9DLEVBQWdFLENBQ3JFO0FBRHFFLDRCQUVQRixPQUZPLENBRTdERyxVQUY2RCxDQUU3REEsVUFGNkQsdUNBRWhELG9CQUFNLElBQU4sRUFGZ0QsOENBRVBILE9BRk8sQ0FFcENJLFdBRm9DLENBRXBDQSxXQUZvQyx3Q0FFdEIsb0JBQU0sSUFBTixFQUZzQix3QkFJckUsSUFBSUMsWUFBWUgsbUJBQW1CLEVBQW5DLENBQ0EsSUFBTUksc0JBQXNCTCxlQUFlQSxhQUFhTSxJQUE1QixHQUFtQyxHQUEvRCxDQUNBLElBQU1DLFdBQVdQLGVBQWVNLGtCQUFLRSxJQUFMLENBQVVWLElBQVYsRUFBZ0JFLGFBQWFNLElBQTdCLENBQWYsR0FBb0RSLElBQXJFLENBRUEsSUFBTVcsVUFBVSxxQkFBWUYsUUFBWixFQUFzQixFQUFFRyxlQUFlLElBQWpCLEVBQXRCLENBQWhCLENBQ0FELFFBQVFFLE9BQVIsQ0FBZ0IsVUFBQ0MsTUFBRCxFQUFZLENBQzFCLG9CQUNBLElBQU1DLFFBQVEsRUFDWkMsTUFBTUYsT0FBT0UsSUFERCxFQUVaUixNQUFNQSxrQkFBS0UsSUFBTCxDQUFVSCxtQkFBVixFQUErQk8sT0FBT0UsSUFBdEMsQ0FGTSxFQUdaRixjQUhZLEVBQWQ7OztBQU1BLFFBQUlBLE9BQU9HLFdBQVAsTUFBd0JiLFdBQVdXLEtBQVgsQ0FBNUIsRUFBK0M7QUFDN0NULGdCQUFVWSxJQUFWLENBQWVILEtBQWY7QUFDQVQsa0JBQVlQLFNBQVNDLElBQVQsRUFBZUMsT0FBZixFQUF3QmMsS0FBeEIsRUFBK0JULFNBQS9CLENBQVo7QUFDRCxLQUhELE1BR08sSUFBSVEsT0FBT0ssTUFBUCxNQUFtQmQsWUFBWVUsS0FBWixDQUF2QixFQUEyQztBQUNoRFQsZ0JBQVVZLElBQVYsQ0FBZUgsS0FBZjtBQUNEO0FBQ0YsR0FkRDs7QUFnQkEsU0FBT1QsU0FBUDtBQUNEIiwiZmlsZSI6ImZzV2Fsay5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGhpcyBpcyBpbnRlbmRlZCB0byBwcm92aWRlIHNpbWlsYXIgY2FwYWJpbGl0eSBhcyB0aGUgc3luYyBhcGkgZnJvbSBAbm9kZWxpYi9mcy53YWxrLCB1bnRpbCBgZXNsaW50LXBsdWdpbi1pbXBvcnRgXG4gKiBpcyB3aWxsaW5nIHRvIG1vZGVybml6ZSBhbmQgdXBkYXRlIHRoZWlyIG1pbmltdW0gbm9kZSB2ZXJzaW9uIHRvIGF0IGxlYXN0IHYxNi4gIEkgaW50ZW50aW9uYWxseSBtYWRlIHRoZVxuICogc2hhcGUgb2YgdGhlIEFQSSAoZm9yIHRoZSBwYXJ0IHdlJ3JlIHVzaW5nKSB0aGUgc2FtZSBhcyBAbm9kZWxpYi9mcy53YWxrIHNvIHRoYXQgdGhhdCBjYW4gYmUgc3dhcHBlZCBpblxuICogd2hlbiB0aGUgcmVwbyBpcyByZWFkeSBmb3IgaXQuXG4gKi9cblxuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyByZWFkZGlyU3luYyB9IGZyb20gJ2ZzJztcblxuLyoqIEB0eXBlZGVmIHt7IG5hbWU6IHN0cmluZywgcGF0aDogc3RyaW5nLCBkaXJlbnQ6IGltcG9ydCgnZnMnKS5EaXJlbnQgfX0gRW50cnkgKi9cblxuLyoqXG4gKiBEbyBhIGNvbXByZWhlbnNpdmUgd2FsayBvZiB0aGUgcHJvdmlkZWQgc3JjIGRpcmVjdG9yeSwgYW5kIGNvbGxlY3QgYWxsIGVudHJpZXMuICBGaWx0ZXIgb3V0XG4gKiBhbnkgZGlyZWN0b3JpZXMgb3IgZW50cmllcyB1c2luZyB0aGUgb3B0aW9uYWwgZmlsdGVyIGZ1bmN0aW9ucy5cbiAqIEBwYXJhbSB7c3RyaW5nfSByb290IC0gcGF0aCB0byB0aGUgcm9vdCBvZiB0aGUgZm9sZGVyIHdlJ3JlIHdhbGtpbmdcbiAqIEBwYXJhbSB7eyBkZWVwRmlsdGVyPzogKGVudHJ5OiBFbnRyeSkgPT4gYm9vbGVhbiwgZW50cnlGaWx0ZXI/OiAoZW50cnk6IEVudHJ5KSA9PiBib29sZWFuIH19IG9wdGlvbnNcbiAqIEBwYXJhbSB7RW50cnl9IGN1cnJlbnRFbnRyeSAtIGVudHJ5IGZvciB0aGUgY3VycmVudCBkaXJlY3Rvcnkgd2UncmUgd29ya2luZyBpblxuICogQHBhcmFtIHtFbnRyeVtdfSBleGlzdGluZ0VudHJpZXMgLSBsaXN0IG9mIGFsbCBlbnRyaWVzIHNvIGZhclxuICogQHJldHVybnMge0VudHJ5W119IGFuIGFycmF5IG9mIGRpcmVjdG9yeSBlbnRyaWVzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3YWxrU3luYyhyb290LCBvcHRpb25zLCBjdXJyZW50RW50cnksIGV4aXN0aW5nRW50cmllcykge1xuICAvLyBFeHRyYWN0IHRoZSBmaWx0ZXIgZnVuY3Rpb25zLiBEZWZhdWx0IHRvIGV2YWx1YXRpbmcgdHJ1ZSwgaWYgbm8gZmlsdGVyIHBhc3NlZCBpbi5cbiAgY29uc3QgeyBkZWVwRmlsdGVyID0gKCkgPT4gdHJ1ZSwgZW50cnlGaWx0ZXIgPSAoKSA9PiB0cnVlIH0gPSBvcHRpb25zO1xuXG4gIGxldCBlbnRyeUxpc3QgPSBleGlzdGluZ0VudHJpZXMgfHwgW107XG4gIGNvbnN0IGN1cnJlbnRSZWxhdGl2ZVBhdGggPSBjdXJyZW50RW50cnkgPyBjdXJyZW50RW50cnkucGF0aCA6ICcuJztcbiAgY29uc3QgZnVsbFBhdGggPSBjdXJyZW50RW50cnkgPyBwYXRoLmpvaW4ocm9vdCwgY3VycmVudEVudHJ5LnBhdGgpIDogcm9vdDtcblxuICBjb25zdCBkaXJlbnRzID0gcmVhZGRpclN5bmMoZnVsbFBhdGgsIHsgd2l0aEZpbGVUeXBlczogdHJ1ZSB9KTtcbiAgZGlyZW50cy5mb3JFYWNoKChkaXJlbnQpID0+IHtcbiAgICAvKiogQHR5cGUge0VudHJ5fSAqL1xuICAgIGNvbnN0IGVudHJ5ID0ge1xuICAgICAgbmFtZTogZGlyZW50Lm5hbWUsXG4gICAgICBwYXRoOiBwYXRoLmpvaW4oY3VycmVudFJlbGF0aXZlUGF0aCwgZGlyZW50Lm5hbWUpLFxuICAgICAgZGlyZW50LFxuICAgIH07XG5cbiAgICBpZiAoZGlyZW50LmlzRGlyZWN0b3J5KCkgJiYgZGVlcEZpbHRlcihlbnRyeSkpIHtcbiAgICAgIGVudHJ5TGlzdC5wdXNoKGVudHJ5KTtcbiAgICAgIGVudHJ5TGlzdCA9IHdhbGtTeW5jKHJvb3QsIG9wdGlvbnMsIGVudHJ5LCBlbnRyeUxpc3QpO1xuICAgIH0gZWxzZSBpZiAoZGlyZW50LmlzRmlsZSgpICYmIGVudHJ5RmlsdGVyKGVudHJ5KSkge1xuICAgICAgZW50cnlMaXN0LnB1c2goZW50cnkpO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIGVudHJ5TGlzdDtcbn1cbiJdfQ==

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,23 @@
'use strict';Object.defineProperty(exports, "__esModule", { value: true });exports.
getFilePackagePath = getFilePackagePath;exports.
getContextPackagePath = getContextPackagePath;exports.
getFilePackageName = getFilePackageName;var _path = require('path');var _contextCompat = require('eslint-module-utils/contextCompat');var _pkgUp = require('eslint-module-utils/pkgUp');var _pkgUp2 = _interopRequireDefault(_pkgUp);var _readPkgUp2 = require('eslint-module-utils/readPkgUp');var _readPkgUp3 = _interopRequireDefault(_readPkgUp2);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { 'default': obj };}function getFilePackagePath(filePath) {var fp = (0, _pkgUp2['default'])({ cwd: filePath });return (0, _path.dirname)(fp);}function getContextPackagePath(context) {return getFilePackagePath((0, _contextCompat.getPhysicalFilename)(context));}function getFilePackageName(filePath) {var _readPkgUp =
(0, _readPkgUp3['default'])({ cwd: filePath, normalize: false }),pkg = _readPkgUp.pkg,path = _readPkgUp.path;
if (pkg) {
// recursion in case of intermediate esm package.json without name found
return pkg.name || getFilePackageName((0, _path.dirname)((0, _path.dirname)(path)));
}
return null;
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb3JlL3BhY2thZ2VQYXRoLmpzIl0sIm5hbWVzIjpbImdldEZpbGVQYWNrYWdlUGF0aCIsImdldENvbnRleHRQYWNrYWdlUGF0aCIsImdldEZpbGVQYWNrYWdlTmFtZSIsImZpbGVQYXRoIiwiZnAiLCJjd2QiLCJjb250ZXh0Iiwibm9ybWFsaXplIiwicGtnIiwicGF0aCIsIm5hbWUiXSwibWFwcGluZ3MiOiI7Ozs7O0FBS2dCQSxrQixHQUFBQSxrQjs7Ozs7QUFLQUMscUIsR0FBQUEscUI7Ozs7QUFJQUMsa0IsR0FBQUEsa0IsQ0FkaEIsNEJBQ0Esa0VBQ0Esa0QsNkNBQ0EsMkQscUpBRU8sU0FBU0Ysa0JBQVQsQ0FBNEJHLFFBQTVCLEVBQXNDLENBQzNDLElBQU1DLEtBQUssd0JBQU0sRUFBRUMsS0FBS0YsUUFBUCxFQUFOLENBQVgsQ0FDQSxPQUFPLG1CQUFRQyxFQUFSLENBQVAsQ0FDRCxDQUVNLFNBQVNILHFCQUFULENBQStCSyxPQUEvQixFQUF3QyxDQUM3QyxPQUFPTixtQkFBbUIsd0NBQW9CTSxPQUFwQixDQUFuQixDQUFQLENBQ0QsQ0FFTSxTQUFTSixrQkFBVCxDQUE0QkMsUUFBNUIsRUFBc0M7QUFDckIsOEJBQVUsRUFBRUUsS0FBS0YsUUFBUCxFQUFpQkksV0FBVyxLQUE1QixFQUFWLENBRHFCLENBQ25DQyxHQURtQyxjQUNuQ0EsR0FEbUMsQ0FDOUJDLElBRDhCLGNBQzlCQSxJQUQ4QjtBQUUzQyxNQUFJRCxHQUFKLEVBQVM7QUFDUDtBQUNBLFdBQU9BLElBQUlFLElBQUosSUFBWVIsbUJBQW1CLG1CQUFRLG1CQUFRTyxJQUFSLENBQVIsQ0FBbkIsQ0FBbkI7QUFDRDtBQUNELFNBQU8sSUFBUDtBQUNEIiwiZmlsZSI6InBhY2thZ2VQYXRoLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZGlybmFtZSB9IGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgZ2V0UGh5c2ljYWxGaWxlbmFtZSB9IGZyb20gJ2VzbGludC1tb2R1bGUtdXRpbHMvY29udGV4dENvbXBhdCc7XG5pbXBvcnQgcGtnVXAgZnJvbSAnZXNsaW50LW1vZHVsZS11dGlscy9wa2dVcCc7XG5pbXBvcnQgcmVhZFBrZ1VwIGZyb20gJ2VzbGludC1tb2R1bGUtdXRpbHMvcmVhZFBrZ1VwJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZpbGVQYWNrYWdlUGF0aChmaWxlUGF0aCkge1xuICBjb25zdCBmcCA9IHBrZ1VwKHsgY3dkOiBmaWxlUGF0aCB9KTtcbiAgcmV0dXJuIGRpcm5hbWUoZnApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q29udGV4dFBhY2thZ2VQYXRoKGNvbnRleHQpIHtcbiAgcmV0dXJuIGdldEZpbGVQYWNrYWdlUGF0aChnZXRQaHlzaWNhbEZpbGVuYW1lKGNvbnRleHQpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZpbGVQYWNrYWdlTmFtZShmaWxlUGF0aCkge1xuICBjb25zdCB7IHBrZywgcGF0aCB9ID0gcmVhZFBrZ1VwKHsgY3dkOiBmaWxlUGF0aCwgbm9ybWFsaXplOiBmYWxzZSB9KTtcbiAgaWYgKHBrZykge1xuICAgIC8vIHJlY3Vyc2lvbiBpbiBjYXNlIG9mIGludGVybWVkaWF0ZSBlc20gcGFja2FnZS5qc29uIHdpdGhvdXQgbmFtZSBmb3VuZFxuICAgIHJldHVybiBwa2cubmFtZSB8fCBnZXRGaWxlUGFja2FnZU5hbWUoZGlybmFtZShkaXJuYW1lKHBhdGgpKSk7XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59XG4iXX0=

View File

@@ -0,0 +1,13 @@
'use strict';Object.defineProperty(exports, "__esModule", { value: true });exports['default'] =
sourceType; /**
* @param {import('eslint').Rule.RuleContext} context
* @returns 'module' | 'script' | 'commonjs' | undefined
*/function sourceType(context) {if ('sourceType' in context.parserOptions) {return context.parserOptions.sourceType;}
if ('languageOptions' in context && context.languageOptions) {
return context.languageOptions.sourceType;
}
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb3JlL3NvdXJjZVR5cGUuanMiXSwibmFtZXMiOlsic291cmNlVHlwZSIsImNvbnRleHQiLCJwYXJzZXJPcHRpb25zIiwibGFuZ3VhZ2VPcHRpb25zIl0sIm1hcHBpbmdzIjoiOzs7O0FBSXdCQSxVLEVBSnhCOzs7ZUFJZSxTQUFTQSxVQUFULENBQW9CQyxPQUFwQixFQUE2QixDQUMxQyxJQUFJLGdCQUFnQkEsUUFBUUMsYUFBNUIsRUFBMkMsQ0FDekMsT0FBT0QsUUFBUUMsYUFBUixDQUFzQkYsVUFBN0IsQ0FDRDtBQUNELE1BQUkscUJBQXFCQyxPQUFyQixJQUFnQ0EsUUFBUUUsZUFBNUMsRUFBNkQ7QUFDM0QsV0FBT0YsUUFBUUUsZUFBUixDQUF3QkgsVUFBL0I7QUFDRDtBQUNGIiwiZmlsZSI6InNvdXJjZVR5cGUuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwYXJhbSB7aW1wb3J0KCdlc2xpbnQnKS5SdWxlLlJ1bGVDb250ZXh0fSBjb250ZXh0XG4gKiBAcmV0dXJucyAnbW9kdWxlJyB8ICdzY3JpcHQnIHwgJ2NvbW1vbmpzJyB8IHVuZGVmaW5lZFxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBzb3VyY2VUeXBlKGNvbnRleHQpIHtcbiAgaWYgKCdzb3VyY2VUeXBlJyBpbiBjb250ZXh0LnBhcnNlck9wdGlvbnMpIHtcbiAgICByZXR1cm4gY29udGV4dC5wYXJzZXJPcHRpb25zLnNvdXJjZVR5cGU7XG4gIH1cbiAgaWYgKCdsYW5ndWFnZU9wdGlvbnMnIGluIGNvbnRleHQgJiYgY29udGV4dC5sYW5ndWFnZU9wdGlvbnMpIHtcbiAgICByZXR1cm4gY29udGV4dC5sYW5ndWFnZU9wdGlvbnMuc291cmNlVHlwZTtcbiAgfVxufVxuIl19

View File

@@ -0,0 +1,11 @@
'use strict';Object.defineProperty(exports, "__esModule", { value: true });exports['default'] =
isStaticRequire; // todo: merge with module visitor
function isStaticRequire(node) {return node &&
node.callee &&
node.callee.type === 'Identifier' &&
node.callee.name === 'require' &&
node.arguments.length === 1 &&
node.arguments[0].type === 'Literal' &&
typeof node.arguments[0].value === 'string';
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb3JlL3N0YXRpY1JlcXVpcmUuanMiXSwibmFtZXMiOlsiaXNTdGF0aWNSZXF1aXJlIiwibm9kZSIsImNhbGxlZSIsInR5cGUiLCJuYW1lIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidmFsdWUiXSwibWFwcGluZ3MiOiI7QUFDd0JBLGUsRUFEeEI7QUFDZSxTQUFTQSxlQUFULENBQXlCQyxJQUF6QixFQUErQixDQUM1QyxPQUFPQTtBQUNGQSxPQUFLQyxNQURIO0FBRUZELE9BQUtDLE1BQUwsQ0FBWUMsSUFBWixLQUFxQixZQUZuQjtBQUdGRixPQUFLQyxNQUFMLENBQVlFLElBQVosS0FBcUIsU0FIbkI7QUFJRkgsT0FBS0ksU0FBTCxDQUFlQyxNQUFmLEtBQTBCLENBSnhCO0FBS0ZMLE9BQUtJLFNBQUwsQ0FBZSxDQUFmLEVBQWtCRixJQUFsQixLQUEyQixTQUx6QjtBQU1GLFNBQU9GLEtBQUtJLFNBQUwsQ0FBZSxDQUFmLEVBQWtCRSxLQUF6QixLQUFtQyxRQU54QztBQU9EIiwiZmlsZSI6InN0YXRpY1JlcXVpcmUuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB0b2RvOiBtZXJnZSB3aXRoIG1vZHVsZSB2aXNpdG9yXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBpc1N0YXRpY1JlcXVpcmUobm9kZSkge1xuICByZXR1cm4gbm9kZVxuICAgICYmIG5vZGUuY2FsbGVlXG4gICAgJiYgbm9kZS5jYWxsZWUudHlwZSA9PT0gJ0lkZW50aWZpZXInXG4gICAgJiYgbm9kZS5jYWxsZWUubmFtZSA9PT0gJ3JlcXVpcmUnXG4gICAgJiYgbm9kZS5hcmd1bWVudHMubGVuZ3RoID09PSAxXG4gICAgJiYgbm9kZS5hcmd1bWVudHNbMF0udHlwZSA9PT0gJ0xpdGVyYWwnXG4gICAgJiYgdHlwZW9mIG5vZGUuYXJndW1lbnRzWzBdLnZhbHVlID09PSAnc3RyaW5nJztcbn1cbiJdfQ==