diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000..4742b401 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,5 @@ +.node/package-lock.json -diff -merge +.node/package-lock.json linguist-generated=true + +Resources/all.min.css -diff -merge +Resources/all.min.css linguist-generated=true diff --git a/.gitignore b/.gitignore index 0b90dbe0..ea9a9fb2 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,68 @@ /*.xcodeproj xcuserdata/ .swiftpm + +# NodeJS +## Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* + +## Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json + +## Runtime data +pids +*.pid +*.seed +*.pid.lock + +## Dependency directories +node_modules/ +jspm_packages/ + +## Snowpack dependency directory (https://snowpack.dev/) +web_modules/ + +## Optional npm cache directory +.npm + +## Optional eslint cache +.eslintcache + +## Yarn Integrity file +.yarn-integrity + +## pnpm lockfile +pnpm-lock.yaml + +## dotenv environment variables file +.env +.env.test + +## parcel-bundler cache (https://parceljs.org/) +.cache +.parcel-cache + +## Gatsby files +.cache/ + +## yarn v2 +.yarn/cache +.yarn/unplugged +.yarn/build-state.yml +.pnp.* + +# VS Code +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +*.code-workspace + +## Local History for Visual Studio Code +.history/ diff --git a/.node/package-lock.json b/.node/package-lock.json new file mode 100644 index 00000000..4c916cf5 --- /dev/null +++ b/.node/package-lock.json @@ -0,0 +1,2651 @@ +{ + "name": "swift-doc", + "requires": true, + "lockfileVersion": 1, + "dependencies": { + "@csstools/convert-colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@csstools/convert-colors/-/convert-colors-1.4.0.tgz", + "integrity": "sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw==" + }, + "@nodelib/fs.scandir": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz", + "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==", + "requires": { + "@nodelib/fs.stat": "2.0.3", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", + "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==" + }, + "@nodelib/fs.walk": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz", + "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==", + "requires": { + "@nodelib/fs.scandir": "2.1.3", + "fastq": "^1.6.0" + } + }, + "@types/color-name": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", + "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==" + }, + "@types/events": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", + "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==" + }, + "@types/glob": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz", + "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==", + "requires": { + "@types/events": "*", + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==" + }, + "@types/node": { + "version": "13.11.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-13.11.1.tgz", + "integrity": "sha512-eWQGP3qtxwL8FGneRrC5DwrJLGN4/dH1clNTuLfN81HCrxVtxRjygDTUoZJ5ASlDEeo0ppYFQjQIlXhtXpOn6g==" + }, + "@types/q": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.2.tgz", + "integrity": "sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw==" + }, + "alphanum-sort": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", + "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=" + }, + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" + }, + "autoprefixer": { + "version": "9.7.6", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.7.6.tgz", + "integrity": "sha512-F7cYpbN7uVVhACZTeeIeealwdGM6wMtfWARVLTy5xmKtgVdBNJvbDRoCK3YO1orcs7gv/KwYlb3iXwu9Ug9BkQ==", + "requires": { + "browserslist": "^4.11.1", + "caniuse-lite": "^1.0.30001039", + "chalk": "^2.4.2", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "postcss": "^7.0.27", + "postcss-value-parser": "^4.0.3" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "binary-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz", + "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==" + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "browserslist": { + "version": "4.11.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.11.1.tgz", + "integrity": "sha512-DCTr3kDrKEYNw6Jb9HFxVLQNaue8z+0ZfRBRjmCunKDEXEBajKDj2Y+Uelg+Pi29OnvaSGwjOsnRyNEkXzHg5g==", + "requires": { + "caniuse-lite": "^1.0.30001038", + "electron-to-chromium": "^1.3.390", + "node-releases": "^1.1.53", + "pkg-up": "^2.0.0" + } + }, + "caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "requires": { + "callsites": "^2.0.0" + } + }, + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "requires": { + "caller-callsite": "^2.0.0" + } + }, + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=" + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + }, + "caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "requires": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "caniuse-lite": { + "version": "1.0.30001042", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001042.tgz", + "integrity": "sha512-igMQ4dlqnf4tWv0xjaaE02op9AJ2oQzXKjWf4EuAHFN694Uo9/EfPVIPJcmn2WkU9RqozCxx5e2KPcVClHDbDw==" + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "chokidar": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.1.tgz", + "integrity": "sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==", + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.3.0" + } + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "requires": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "color": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/color/-/color-3.1.2.tgz", + "integrity": "sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==", + "requires": { + "color-convert": "^1.9.1", + "color-string": "^1.5.2" + }, + "dependencies": { + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + } + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "color-string": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz", + "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==", + "requires": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "requires": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + } + }, + "css-blank-pseudo": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz", + "integrity": "sha512-LHz35Hr83dnFeipc7oqFDmsjHdljj3TQtxGGiNWSOsTLIAubSm4TEz8qCaKFpk7idaQ1GfWscF4E6mgpBysA1w==", + "requires": { + "postcss": "^7.0.5" + } + }, + "css-color-names": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", + "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=" + }, + "css-declaration-sorter": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz", + "integrity": "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==", + "requires": { + "postcss": "^7.0.1", + "timsort": "^0.3.0" + } + }, + "css-has-pseudo": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-0.10.0.tgz", + "integrity": "sha512-Z8hnfsZu4o/kt+AuFzeGpLVhFOGO9mluyHBaA2bA8aCGTwah5sT3WV/fTHH8UNZUytOIImuGPrl/prlb4oX4qQ==", + "requires": { + "postcss": "^7.0.6", + "postcss-selector-parser": "^5.0.0-rc.4" + } + }, + "css-prefers-color-scheme": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-3.1.1.tgz", + "integrity": "sha512-MTu6+tMs9S3EUqzmqLXEcgNRbNkkD/TGFvowpeoWJn5Vfq7FMgsmRQs9X5NXAURiOBmOxm/lLjsDNXDE6k9bhg==", + "requires": { + "postcss": "^7.0.5" + } + }, + "css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "requires": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" + }, + "css-tree": { + "version": "1.0.0-alpha.37", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", + "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "requires": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + } + }, + "css-what": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.2.1.tgz", + "integrity": "sha512-WwOrosiQTvyms+Ti5ZC5vGEK0Vod3FTt1ca+payZqvKuGJF+dq7bG63DstxtN0dpm6FxY27a/zS3Wten+gEtGw==" + }, + "cssdb": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-4.4.0.tgz", + "integrity": "sha512-LsTAR1JPEM9TpGhl/0p3nQecC2LJ0kD8X5YARu1hk/9I1gril5vDtMZyNxcEpxxDj34YNck/ucjuoUd66K03oQ==" + }, + "cssesc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", + "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==" + }, + "cssnano": { + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.10.tgz", + "integrity": "sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==", + "requires": { + "cosmiconfig": "^5.0.0", + "cssnano-preset-default": "^4.0.7", + "is-resolvable": "^1.0.0", + "postcss": "^7.0.0" + } + }, + "cssnano-preset-default": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz", + "integrity": "sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==", + "requires": { + "css-declaration-sorter": "^4.0.1", + "cssnano-util-raw-cache": "^4.0.1", + "postcss": "^7.0.0", + "postcss-calc": "^7.0.1", + "postcss-colormin": "^4.0.3", + "postcss-convert-values": "^4.0.1", + "postcss-discard-comments": "^4.0.2", + "postcss-discard-duplicates": "^4.0.2", + "postcss-discard-empty": "^4.0.1", + "postcss-discard-overridden": "^4.0.1", + "postcss-merge-longhand": "^4.0.11", + "postcss-merge-rules": "^4.0.3", + "postcss-minify-font-values": "^4.0.2", + "postcss-minify-gradients": "^4.0.2", + "postcss-minify-params": "^4.0.2", + "postcss-minify-selectors": "^4.0.2", + "postcss-normalize-charset": "^4.0.1", + "postcss-normalize-display-values": "^4.0.2", + "postcss-normalize-positions": "^4.0.2", + "postcss-normalize-repeat-style": "^4.0.2", + "postcss-normalize-string": "^4.0.2", + "postcss-normalize-timing-functions": "^4.0.2", + "postcss-normalize-unicode": "^4.0.1", + "postcss-normalize-url": "^4.0.1", + "postcss-normalize-whitespace": "^4.0.2", + "postcss-ordered-values": "^4.1.2", + "postcss-reduce-initial": "^4.0.3", + "postcss-reduce-transforms": "^4.0.2", + "postcss-svgo": "^4.0.2", + "postcss-unique-selectors": "^4.0.1" + } + }, + "cssnano-util-get-arguments": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz", + "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=" + }, + "cssnano-util-get-match": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz", + "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=" + }, + "cssnano-util-raw-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz", + "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==", + "requires": { + "postcss": "^7.0.0" + } + }, + "cssnano-util-same-parent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz", + "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==" + }, + "csso": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.0.3.tgz", + "integrity": "sha512-NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ==", + "requires": { + "css-tree": "1.0.0-alpha.39" + }, + "dependencies": { + "css-tree": { + "version": "1.0.0-alpha.39", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.39.tgz", + "integrity": "sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA==", + "requires": { + "mdn-data": "2.0.6", + "source-map": "^0.6.1" + } + }, + "mdn-data": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.6.tgz", + "integrity": "sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA==" + } + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "requires": { + "object-keys": "^1.0.12" + } + }, + "dependency-graph": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.8.1.tgz", + "integrity": "sha512-g213uqF8fyk40W8SBjm079n3CZB4qSpCrA2ye1fLGzH/4HEgB6tzuW2CbLE7leb4t45/6h44Ud59Su1/ROTfqw==" + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "requires": { + "path-type": "^4.0.0" + } + }, + "dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "requires": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + }, + "dependencies": { + "domelementtype": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz", + "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==" + } + } + }, + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + }, + "domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "dot-prop": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.2.0.tgz", + "integrity": "sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==", + "requires": { + "is-obj": "^2.0.0" + } + }, + "electron-to-chromium": { + "version": "1.3.412", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.412.tgz", + "integrity": "sha512-4bVdSeJScR8fT7ERveLWbxemY5uXEHVseqMRyORosiKcTUSGtVwBkV8uLjXCqoFLeImA57Z9hbz3TOid01U4Hw==" + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "entities": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.0.tgz", + "integrity": "sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw==" + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-abstract": { + "version": "1.17.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz", + "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==", + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.1.5", + "is-regex": "^1.0.5", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimleft": "^2.1.1", + "string.prototype.trimright": "^2.1.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + }, + "fast-glob": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.2.tgz", + "integrity": "sha512-UDV82o4uQyljznxwMxyVRJgZZt3O5wENYojjzbaGEGZgeOxkLFf+V4cnUD+krzb2F72E18RhamkMZ7AdeggF7A==", + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.0", + "merge2": "^1.3.0", + "micromatch": "^4.0.2", + "picomatch": "^2.2.1" + } + }, + "fastq": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.7.0.tgz", + "integrity": "sha512-YOadQRnHd5q6PogvAR/x62BGituF2ufiEA6s8aavQANw5YKHERI4AREboX6KotzP8oX2klxYF2wcV/7bn1clfQ==", + "requires": { + "reusify": "^1.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "flatten": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.3.tgz", + "integrity": "sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==" + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fsevents": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.2.tgz", + "integrity": "sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA==", + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + }, + "get-stdin": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-7.0.0.tgz", + "integrity": "sha512-zRKcywvrXlXsA0v0i9Io4KDRaAw7+a1ZpjRwl9Wox8PFlVCCHra7E9c4kqXCoCM9nR5tBkaTTZRBoCm60bFqTQ==" + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "requires": { + "is-glob": "^4.0.1" + } + }, + "globby": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", + "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", + "requires": { + "@types/glob": "^7.1.1", + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.0.3", + "glob": "^7.1.3", + "ignore": "^5.1.1", + "merge2": "^1.2.3", + "slash": "^3.0.0" + } + }, + "graceful-fs": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", + "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==" + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" + }, + "hex-color-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", + "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==" + }, + "hsl-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", + "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=" + }, + "hsla-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", + "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=" + }, + "html-comment-regex": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz", + "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==" + }, + "ignore": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.4.tgz", + "integrity": "sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A==" + }, + "import-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", + "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", + "requires": { + "import-from": "^2.1.0" + } + }, + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + } + }, + "import-from": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", + "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", + "requires": { + "resolve-from": "^3.0.0" + } + }, + "indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "is-absolute-url": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", + "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=" + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-callable": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", + "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==" + }, + "is-color-stop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", + "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", + "requires": { + "css-color-names": "^0.0.4", + "hex-color-regex": "^1.1.0", + "hsl-regex": "^1.0.0", + "hsla-regex": "^1.0.0", + "rgb-regex": "^1.0.1", + "rgba-regex": "^1.0.0" + } + }, + "is-date-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==" + }, + "is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=" + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==" + }, + "is-regex": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", + "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", + "requires": { + "has": "^1.0.3" + } + }, + "is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==" + }, + "is-svg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz", + "integrity": "sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==", + "requires": { + "html-comment-regex": "^1.1.0" + } + }, + "is-symbol": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "requires": { + "has-symbols": "^1.0.1" + } + }, + "js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "requires": { + "p-locate": "^4.1.0" + } + }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" + }, + "lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=" + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=" + }, + "lodash.template": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", + "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", + "requires": { + "lodash._reinterpolate": "^3.0.0", + "lodash.templatesettings": "^4.0.0" + } + }, + "lodash.templatesettings": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", + "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", + "requires": { + "lodash._reinterpolate": "^3.0.0" + } + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" + }, + "log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "requires": { + "chalk": "^2.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" + }, + "merge2": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.3.0.tgz", + "integrity": "sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw==" + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "requires": { + "minimist": "^1.2.5" + } + }, + "node-releases": { + "version": "1.1.53", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.53.tgz", + "integrity": "sha512-wp8zyQVwef2hpZ/dJH7SfSrIPD6YoJz6BDQDpGEkcA0s3LpAQoxBIYmfIq6QAhC1DhwsyCgTaTTcONwX8qzCuQ==" + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=" + }, + "normalize-url": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", + "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==" + }, + "nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "requires": { + "boolbase": "~1.0.0" + } + }, + "num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=" + }, + "object-inspect": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", + "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==" + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + }, + "object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "requires": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + } + }, + "object.getownpropertydescriptors": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", + "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + } + }, + "object.values": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz", + "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1", + "has": "^1.0.3" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" + }, + "picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==" + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + }, + "pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", + "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", + "requires": { + "find-up": "^2.1.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + } + } + }, + "postcss": { + "version": "7.0.27", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.27.tgz", + "integrity": "sha512-WuQETPMcW9Uf1/22HWUWP9lgsIC+KEHg2kozMflKjbeUtw9ujvFX6QmIfozaErDkmLWS9WEnEdEe6Uo9/BNTdQ==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-attribute-case-insensitive": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.2.tgz", + "integrity": "sha512-clkFxk/9pcdb4Vkn0hAHq3YnxBQ2p0CGD1dy24jN+reBck+EWxMbxSUqN4Yj7t0w8csl87K6p0gxBe1utkJsYA==", + "requires": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^6.0.2" + }, + "dependencies": { + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" + }, + "postcss-selector-parser": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz", + "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==", + "requires": { + "cssesc": "^3.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "postcss-calc": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.2.tgz", + "integrity": "sha512-rofZFHUg6ZIrvRwPeFktv06GdbDYLcGqh9EwiMutZg+a0oePCCw1zHOEiji6LCpyRcjTREtPASuUqeAvYlEVvQ==", + "requires": { + "postcss": "^7.0.27", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.0.2" + }, + "dependencies": { + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" + }, + "postcss-selector-parser": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz", + "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==", + "requires": { + "cssesc": "^3.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "postcss-cli": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-cli/-/postcss-cli-7.1.0.tgz", + "integrity": "sha512-tCGK0GO2reu644dUHxks8U2SAtKnzftQTAXN1dwzFPoKXZr0b7VX4vTkQ2Pl2Lunas6+o8uHR56hlcYBm1srZg==", + "requires": { + "chalk": "^3.0.0", + "chokidar": "^3.3.0", + "dependency-graph": "^0.8.0", + "fs-extra": "^8.1.0", + "get-stdin": "^7.0.0", + "globby": "^10.0.1", + "postcss": "^7.0.0", + "postcss-load-config": "^2.0.0", + "postcss-reporter": "^6.0.0", + "pretty-hrtime": "^1.0.3", + "read-cache": "^1.0.0", + "yargs": "^15.0.2" + } + }, + "postcss-color-functional-notation": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz", + "integrity": "sha512-ZBARCypjEDofW4P6IdPVTLhDNXPRn8T2s1zHbZidW6rPaaZvcnCS2soYFIQJrMZSxiePJ2XIYTlcb2ztr/eT2g==", + "requires": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + } + }, + "postcss-color-gray": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-color-gray/-/postcss-color-gray-5.0.0.tgz", + "integrity": "sha512-q6BuRnAGKM/ZRpfDascZlIZPjvwsRye7UDNalqVz3s7GDxMtqPY6+Q871liNxsonUw8oC61OG+PSaysYpl1bnw==", + "requires": { + "@csstools/convert-colors": "^1.4.0", + "postcss": "^7.0.5", + "postcss-values-parser": "^2.0.0" + } + }, + "postcss-color-hex-alpha": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-5.0.3.tgz", + "integrity": "sha512-PF4GDel8q3kkreVXKLAGNpHKilXsZ6xuu+mOQMHWHLPNyjiUBOr75sp5ZKJfmv1MCus5/DWUGcK9hm6qHEnXYw==", + "requires": { + "postcss": "^7.0.14", + "postcss-values-parser": "^2.0.1" + } + }, + "postcss-color-mod-function": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/postcss-color-mod-function/-/postcss-color-mod-function-3.0.3.tgz", + "integrity": "sha512-YP4VG+xufxaVtzV6ZmhEtc+/aTXH3d0JLpnYfxqTvwZPbJhWqp8bSY3nfNzNRFLgB4XSaBA82OE4VjOOKpCdVQ==", + "requires": { + "@csstools/convert-colors": "^1.4.0", + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + } + }, + "postcss-color-rebeccapurple": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-4.0.1.tgz", + "integrity": "sha512-aAe3OhkS6qJXBbqzvZth2Au4V3KieR5sRQ4ptb2b2O8wgvB3SJBsdG+jsn2BZbbwekDG8nTfcCNKcSfe/lEy8g==", + "requires": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + } + }, + "postcss-colormin": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz", + "integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==", + "requires": { + "browserslist": "^4.0.0", + "color": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + } + } + }, + "postcss-convert-values": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz", + "integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==", + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + } + } + }, + "postcss-custom-media": { + "version": "7.0.8", + "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-7.0.8.tgz", + "integrity": "sha512-c9s5iX0Ge15o00HKbuRuTqNndsJUbaXdiNsksnVH8H4gdc+zbLzr/UasOwNG6CTDpLFekVY4672eWdiiWu2GUg==", + "requires": { + "postcss": "^7.0.14" + } + }, + "postcss-custom-properties": { + "version": "8.0.11", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-8.0.11.tgz", + "integrity": "sha512-nm+o0eLdYqdnJ5abAJeXp4CEU1c1k+eB2yMCvhgzsds/e0umabFrN6HoTy/8Q4K5ilxERdl/JD1LO5ANoYBeMA==", + "requires": { + "postcss": "^7.0.17", + "postcss-values-parser": "^2.0.1" + } + }, + "postcss-custom-selectors": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-5.1.2.tgz", + "integrity": "sha512-DSGDhqinCqXqlS4R7KGxL1OSycd1lydugJ1ky4iRXPHdBRiozyMHrdu0H3o7qNOCiZwySZTUI5MV0T8QhCLu+w==", + "requires": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^5.0.0-rc.3" + } + }, + "postcss-dir-pseudo-class": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-5.0.0.tgz", + "integrity": "sha512-3pm4oq8HYWMZePJY+5ANriPs3P07q+LW6FAdTlkFH2XqDdP4HeeJYMOzn0HYLhRSjBO3fhiqSwwU9xEULSrPgw==", + "requires": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^5.0.0-rc.3" + } + }, + "postcss-discard-comments": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz", + "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==", + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-discard-duplicates": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz", + "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==", + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-discard-empty": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz", + "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==", + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-discard-overridden": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz", + "integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==", + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-double-position-gradients": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-1.0.0.tgz", + "integrity": "sha512-G+nV8EnQq25fOI8CH/B6krEohGWnF5+3A6H/+JEpOncu5dCnkS1QQ6+ct3Jkaepw1NGVqqOZH6lqrm244mCftA==", + "requires": { + "postcss": "^7.0.5", + "postcss-values-parser": "^2.0.0" + } + }, + "postcss-env-function": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-2.0.2.tgz", + "integrity": "sha512-rwac4BuZlITeUbiBq60h/xbLzXY43qOsIErngWa4l7Mt+RaSkT7QBjXVGTcBHupykkblHMDrBFh30zchYPaOUw==", + "requires": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + } + }, + "postcss-focus-visible": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-4.0.0.tgz", + "integrity": "sha512-Z5CkWBw0+idJHSV6+Bgf2peDOFf/x4o+vX/pwcNYrWpXFrSfTkQ3JQ1ojrq9yS+upnAlNRHeg8uEwFTgorjI8g==", + "requires": { + "postcss": "^7.0.2" + } + }, + "postcss-focus-within": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-3.0.0.tgz", + "integrity": "sha512-W0APui8jQeBKbCGZudW37EeMCjDeVxKgiYfIIEo8Bdh5SpB9sxds/Iq8SEuzS0Q4YFOlG7EPFulbbxujpkrV2w==", + "requires": { + "postcss": "^7.0.2" + } + }, + "postcss-font-variant": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-4.0.0.tgz", + "integrity": "sha512-M8BFYKOvCrI2aITzDad7kWuXXTm0YhGdP9Q8HanmN4EF1Hmcgs1KK5rSHylt/lUJe8yLxiSwWAHdScoEiIxztg==", + "requires": { + "postcss": "^7.0.2" + } + }, + "postcss-gap-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-2.0.0.tgz", + "integrity": "sha512-QZSqDaMgXCHuHTEzMsS2KfVDOq7ZFiknSpkrPJY6jmxbugUPTuSzs/vuE5I3zv0WAS+3vhrlqhijiprnuQfzmg==", + "requires": { + "postcss": "^7.0.2" + } + }, + "postcss-image-set-function": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-3.0.1.tgz", + "integrity": "sha512-oPTcFFip5LZy8Y/whto91L9xdRHCWEMs3e1MdJxhgt4jy2WYXfhkng59fH5qLXSCPN8k4n94p1Czrfe5IOkKUw==", + "requires": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + } + }, + "postcss-initial": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-3.0.2.tgz", + "integrity": "sha512-ugA2wKonC0xeNHgirR4D3VWHs2JcU08WAi1KFLVcnb7IN89phID6Qtg2RIctWbnvp1TM2BOmDtX8GGLCKdR8YA==", + "requires": { + "lodash.template": "^4.5.0", + "postcss": "^7.0.2" + } + }, + "postcss-lab-function": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-2.0.1.tgz", + "integrity": "sha512-whLy1IeZKY+3fYdqQFuDBf8Auw+qFuVnChWjmxm/UhHWqNHZx+B99EwxTvGYmUBqe3Fjxs4L1BoZTJmPu6usVg==", + "requires": { + "@csstools/convert-colors": "^1.4.0", + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + } + }, + "postcss-load-config": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.0.tgz", + "integrity": "sha512-4pV3JJVPLd5+RueiVVB+gFOAa7GWc25XQcMp86Zexzke69mKf6Nx9LRcQywdz7yZI9n1udOxmLuAwTBypypF8Q==", + "requires": { + "cosmiconfig": "^5.0.0", + "import-cwd": "^2.0.0" + } + }, + "postcss-logical": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-3.0.0.tgz", + "integrity": "sha512-1SUKdJc2vuMOmeItqGuNaC+N8MzBWFWEkAnRnLpFYj1tGGa7NqyVBujfRtgNa2gXR+6RkGUiB2O5Vmh7E2RmiA==", + "requires": { + "postcss": "^7.0.2" + } + }, + "postcss-media-minmax": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-4.0.0.tgz", + "integrity": "sha512-fo9moya6qyxsjbFAYl97qKO9gyre3qvbMnkOZeZwlsW6XYFsvs2DMGDlchVLfAd8LHPZDxivu/+qW2SMQeTHBw==", + "requires": { + "postcss": "^7.0.2" + } + }, + "postcss-merge-longhand": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz", + "integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==", + "requires": { + "css-color-names": "0.0.4", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "stylehacks": "^4.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + } + } + }, + "postcss-merge-rules": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz", + "integrity": "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==", + "requires": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "cssnano-util-same-parent": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0", + "vendors": "^1.0.0" + }, + "dependencies": { + "postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "postcss-minify-font-values": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz", + "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==", + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + } + } + }, + "postcss-minify-gradients": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz", + "integrity": "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==", + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "is-color-stop": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + } + } + }, + "postcss-minify-params": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz", + "integrity": "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==", + "requires": { + "alphanum-sort": "^1.0.0", + "browserslist": "^4.0.0", + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "uniqs": "^2.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + } + } + }, + "postcss-minify-selectors": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz", + "integrity": "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==", + "requires": { + "alphanum-sort": "^1.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "dependencies": { + "postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "postcss-nesting": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-7.0.1.tgz", + "integrity": "sha512-FrorPb0H3nuVq0Sff7W2rnc3SmIcruVC6YwpcS+k687VxyxO33iE1amna7wHuRVzM8vfiYofXSBHNAZ3QhLvYg==", + "requires": { + "postcss": "^7.0.2" + } + }, + "postcss-normalize-charset": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz", + "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==", + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-normalize-display-values": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz", + "integrity": "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==", + "requires": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + } + } + }, + "postcss-normalize-positions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz", + "integrity": "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==", + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + } + } + }, + "postcss-normalize-repeat-style": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz", + "integrity": "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==", + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + } + } + }, + "postcss-normalize-string": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz", + "integrity": "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==", + "requires": { + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + } + } + }, + "postcss-normalize-timing-functions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz", + "integrity": "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==", + "requires": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + } + } + }, + "postcss-normalize-unicode": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz", + "integrity": "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==", + "requires": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + } + } + }, + "postcss-normalize-url": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz", + "integrity": "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==", + "requires": { + "is-absolute-url": "^2.0.0", + "normalize-url": "^3.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + } + } + }, + "postcss-normalize-whitespace": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz", + "integrity": "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==", + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + } + } + }, + "postcss-ordered-values": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz", + "integrity": "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==", + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + } + } + }, + "postcss-overflow-shorthand": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-2.0.0.tgz", + "integrity": "sha512-aK0fHc9CBNx8jbzMYhshZcEv8LtYnBIRYQD5i7w/K/wS9c2+0NSR6B3OVMu5y0hBHYLcMGjfU+dmWYNKH0I85g==", + "requires": { + "postcss": "^7.0.2" + } + }, + "postcss-page-break": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-2.0.0.tgz", + "integrity": "sha512-tkpTSrLpfLfD9HvgOlJuigLuk39wVTbbd8RKcy8/ugV2bNBUW3xU+AIqyxhDrQr1VUj1RmyJrBn1YWrqUm9zAQ==", + "requires": { + "postcss": "^7.0.2" + } + }, + "postcss-place": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-4.0.1.tgz", + "integrity": "sha512-Zb6byCSLkgRKLODj/5mQugyuj9bvAAw9LqJJjgwz5cYryGeXfFZfSXoP1UfveccFmeq0b/2xxwcTEVScnqGxBg==", + "requires": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + } + }, + "postcss-preset-env": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-6.7.0.tgz", + "integrity": "sha512-eU4/K5xzSFwUFJ8hTdTQzo2RBLbDVt83QZrAvI07TULOkmyQlnYlpwep+2yIK+K+0KlZO4BvFcleOCCcUtwchg==", + "requires": { + "autoprefixer": "^9.6.1", + "browserslist": "^4.6.4", + "caniuse-lite": "^1.0.30000981", + "css-blank-pseudo": "^0.1.4", + "css-has-pseudo": "^0.10.0", + "css-prefers-color-scheme": "^3.1.1", + "cssdb": "^4.4.0", + "postcss": "^7.0.17", + "postcss-attribute-case-insensitive": "^4.0.1", + "postcss-color-functional-notation": "^2.0.1", + "postcss-color-gray": "^5.0.0", + "postcss-color-hex-alpha": "^5.0.3", + "postcss-color-mod-function": "^3.0.3", + "postcss-color-rebeccapurple": "^4.0.1", + "postcss-custom-media": "^7.0.8", + "postcss-custom-properties": "^8.0.11", + "postcss-custom-selectors": "^5.1.2", + "postcss-dir-pseudo-class": "^5.0.0", + "postcss-double-position-gradients": "^1.0.0", + "postcss-env-function": "^2.0.2", + "postcss-focus-visible": "^4.0.0", + "postcss-focus-within": "^3.0.0", + "postcss-font-variant": "^4.0.0", + "postcss-gap-properties": "^2.0.0", + "postcss-image-set-function": "^3.0.1", + "postcss-initial": "^3.0.0", + "postcss-lab-function": "^2.0.1", + "postcss-logical": "^3.0.0", + "postcss-media-minmax": "^4.0.0", + "postcss-nesting": "^7.0.0", + "postcss-overflow-shorthand": "^2.0.0", + "postcss-page-break": "^2.0.0", + "postcss-place": "^4.0.1", + "postcss-pseudo-class-any-link": "^6.0.0", + "postcss-replace-overflow-wrap": "^3.0.0", + "postcss-selector-matches": "^4.0.0", + "postcss-selector-not": "^4.0.0" + } + }, + "postcss-pseudo-class-any-link": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-6.0.0.tgz", + "integrity": "sha512-lgXW9sYJdLqtmw23otOzrtbDXofUdfYzNm4PIpNE322/swES3VU9XlXHeJS46zT2onFO7V1QFdD4Q9LiZj8mew==", + "requires": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^5.0.0-rc.3" + } + }, + "postcss-reduce-initial": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz", + "integrity": "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==", + "requires": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0" + } + }, + "postcss-reduce-transforms": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz", + "integrity": "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==", + "requires": { + "cssnano-util-get-match": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + } + } + }, + "postcss-replace-overflow-wrap": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-3.0.0.tgz", + "integrity": "sha512-2T5hcEHArDT6X9+9dVSPQdo7QHzG4XKclFT8rU5TzJPDN7RIRTbO9c4drUISOVemLj03aezStHCR2AIcr8XLpw==", + "requires": { + "postcss": "^7.0.2" + } + }, + "postcss-reporter": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-6.0.1.tgz", + "integrity": "sha512-LpmQjfRWyabc+fRygxZjpRxfhRf9u/fdlKf4VHG4TSPbV2XNsuISzYW1KL+1aQzx53CAppa1bKG4APIB/DOXXw==", + "requires": { + "chalk": "^2.4.1", + "lodash": "^4.17.11", + "log-symbols": "^2.2.0", + "postcss": "^7.0.7" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-selector-matches": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz", + "integrity": "sha512-LgsHwQR/EsRYSqlwdGzeaPKVT0Ml7LAT6E75T8W8xLJY62CE4S/l03BWIt3jT8Taq22kXP08s2SfTSzaraoPww==", + "requires": { + "balanced-match": "^1.0.0", + "postcss": "^7.0.2" + } + }, + "postcss-selector-not": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-4.0.0.tgz", + "integrity": "sha512-W+bkBZRhqJaYN8XAnbbZPLWMvZD1wKTu0UxtFKdhtGjWYmxhkUneoeOhRJKdAE5V7ZTlnbHfCR+6bNwK9e1dTQ==", + "requires": { + "balanced-match": "^1.0.0", + "postcss": "^7.0.2" + } + }, + "postcss-selector-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", + "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", + "requires": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "postcss-svgo": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.2.tgz", + "integrity": "sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw==", + "requires": { + "is-svg": "^3.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "svgo": "^1.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + } + } + }, + "postcss-unique-selectors": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz", + "integrity": "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==", + "requires": { + "alphanum-sort": "^1.0.0", + "postcss": "^7.0.0", + "uniqs": "^2.0.0" + } + }, + "postcss-value-parser": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.0.3.tgz", + "integrity": "sha512-N7h4pG+Nnu5BEIzyeaaIYWs0LI5XC40OrRh5L60z0QjFsqGWcHcbkBvpe1WYpcIS9yQ8sOi/vIPt1ejQCrMVrg==" + }, + "postcss-values-parser": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz", + "integrity": "sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg==", + "requires": { + "flatten": "^1.0.2", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "pretty-hrtime": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=" + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" + }, + "read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=", + "requires": { + "pify": "^2.3.0" + } + }, + "readdirp": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.3.0.tgz", + "integrity": "sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==", + "requires": { + "picomatch": "^2.0.7" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=" + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" + }, + "rgb-regex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", + "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=" + }, + "rgba-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", + "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=" + }, + "run-parallel": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz", + "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==" + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + }, + "simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "requires": { + "is-arrayish": "^0.3.1" + }, + "dependencies": { + "is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" + } + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "string.prototype.trimend": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", + "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "string.prototype.trimleft": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz", + "integrity": "sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5", + "string.prototype.trimstart": "^1.0.0" + } + }, + "string.prototype.trimright": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz", + "integrity": "sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5", + "string.prototype.trimend": "^1.0.0" + } + }, + "string.prototype.trimstart": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", + "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "stylehacks": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz", + "integrity": "sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==", + "requires": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "dependencies": { + "postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "svgo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", + "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "requires": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "timsort": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", + "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=" + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + }, + "uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=" + }, + "uniqs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", + "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=" + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + }, + "unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=" + }, + "util.promisify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", + "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" + } + }, + "vendors": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", + "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==" + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" + }, + "yargs": { + "version": "15.3.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.1.tgz", + "integrity": "sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA==", + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.1" + } + }, + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } +} diff --git a/.node/package.json b/.node/package.json new file mode 100644 index 00000000..3cb7b1eb --- /dev/null +++ b/.node/package.json @@ -0,0 +1,16 @@ +{ + "name": "swift-doc", + "browserslist": [ + "> 1%", + "not dead" + ], + "scripts": { + "build": "postcss ../Assets/css/all.css -o ../Resources/all.min.css --config ./postcss.config.js -u cssnano", + "watch": "postcss -w ../Assets/**/*.css --dir ../Resources --config ./postcss.config.js " + }, + "dependencies": { + "cssnano": "^4.1.10", + "postcss-cli": "^7.1.0", + "postcss-preset-env": "^6.7.0" + } +} diff --git a/.node/postcss.config.js b/.node/postcss.config.js new file mode 100644 index 00000000..7bf45330 --- /dev/null +++ b/.node/postcss.config.js @@ -0,0 +1,10 @@ +module.exports = { + plugins: [ + require('postcss-preset-env')({ + stage: 0, + features: { + 'matches-pseudo-class': false, + }, + }), + ], +}; diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..6b8394ec --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,5 @@ +{ + "files.associations": { + "*.css": "postcss" + } +} diff --git a/Assets/css/all.css b/Assets/css/all.css new file mode 100644 index 00000000..4dc808d2 --- /dev/null +++ b/Assets/css/all.css @@ -0,0 +1,1063 @@ +:root { + --system-red: rgb(255, 59, 48); + --system-orange: rgb(255, 149, 0); + --system-yellow: rgb(255, 204, 0); + --system-green: rgb(52, 199, 89); + --system-teal: rgb(90, 200, 250); + --system-blue: rgb(0, 122, 255); + --system-indigo: rgb(88, 86, 214); + --system-purple: rgb(175, 82, 222); + --system-pink: rgb(255, 45, 85); + --system-gray: rgb(142, 142, 147); + --system-gray2: rgb(174, 174, 178); + --system-gray3: rgb(199, 199, 204); + --system-gray4: rgb(209, 209, 214); + --system-gray5: rgb(229, 229, 234); + --system-gray6: rgb(242, 242, 247); + + --label: rgb(0, 0, 0); + --secondary-label: rgb(60, 60, 67); + --tertiary-label: rgb(72, 72, 74); + --quaternary-label: rgb(99, 99, 102); + --placeholder-text: rgb(142, 142, 147); + --link: rgb(0, 122, 255); + --separator: rgb(229, 229, 234); + --opaque-separator: rgb(198, 198, 200); + --system-fill: rgb(120, 120, 128); + --secondary-system-fill: rgb(120, 120, 128); + --tertiary-system-fill: rgb(118, 118, 128); + --quaternary-system-fill: rgb(116, 116, 128); + --system-background: rgb(255, 255, 255); + --secondary-system-background: rgb(242, 242, 247); + --tertiary-system-background: rgb(255, 255, 255); + --system-grouped-background: rgb(242, 242, 247); + --secondary-system-grouped-background: rgb(255, 255, 255); + --tertiary-system-grouped-background: rgb(242, 242, 247); +} + +@supports (color: color(display-p3 1 1 1)) { + :root { + --system-red: color(display-p3 1 0.2314 0.1882); + --system-orange: color(display-p3 1 0.5843 0); + --system-yellow: color(display-p3 1 0.8 0); + --system-green: color(display-p3 0.2039 0.7804 0.349); + --system-teal: color(display-p3 0.3529 0.7843 0.9804); + --system-blue: color(display-p3 0 0.4784 1); + --system-indigo: color(display-p3 0.3451 0.3373 0.8392); + --system-purple: color(display-p3 0.6863 0.3216 0.8706); + --system-pink: color(display-p3 1 0.1765 0.3333); + --system-gray: color(display-p3 0.5569 0.5569 0.5765); + --system-gray2: color(display-p3 0.6824 0.6824 0.698); + --system-gray3: color(display-p3 0.7804 0.7804 0.8); + --system-gray4: color(display-p3 0.8196 0.8196 0.8392); + --system-gray5: color(display-p3 0.898 0.898 0.9176); + --system-gray6: color(display-p3 0.949 0.949 0.9686); + + --label: color(display-p3 0 0 0); + --secondary-label: color(display-p3 0.2353 0.2353 0.2627); + --tertiary-label: color(display-p3 0.2823 0.2823 0.2901); + --quaternary-label: color(display-p3 0.4627 0.4627 0.5019); + --placeholder-text: color(display-p3 0.5568 0.5568 0.5764); + --link: color(display-p3 0 0.4784 1); + --separator: color(display-p3 0.898 0.898 0.9176); + --opaque-separator: color(display-p3 0.7765 0.7765 0.7843); + --system-fill: color(display-p3 0.4706 0.4706 0.502); + --secondary-system-fill: color(display-p3 0.4706 0.4706 0.502); + --tertiary-system-fill: color(display-p3 0.4627 0.4627 0.502); + --quaternary-system-fill: color(display-p3 0.4549 0.4549 0.502); + --system-background: color(display-p3 1 1 1); + --secondary-system-background: color(display-p3 0.949 0.949 0.9686); + --tertiary-system-background: color(display-p3 1 1 1); + --system-grouped-background: color(display-p3 0.949 0.949 0.9686); + --secondary-system-grouped-background: color(display-p3 1 1 1); + --tertiary-system-grouped-background: color(display-p3 0.949 0.949 0.9686); + } +} + +/* +@media (prefers-color-scheme: dark) { + :root { + --system-red: rgb(255, 69, 58); + --system-orange: rgb(255, 159, 10); + --system-yellow: rgb(255, 214, 10); + --system-green: rgb(48, 209, 88); + --system-teal: rgb(100, 210, 255); + --system-blue: rgb(10, 132, 255); + --system-indigo: rgb(94, 92, 230); + --system-purple: rgb(191, 90, 242); + --system-pink: rgb(255, 55, 95); + --system-gray: rgb(142, 142, 147); + --system-gray2: rgb(99, 99, 102); + --system-gray3: rgb(72, 72, 74); + --system-gray4: rgb(58, 58, 60); + --system-gray5: rgb(44, 44, 46); + --system-gray6: rgb(28, 28, 30); + + --label: rgb(255, 255, 255); + --secondary-label: rgb(235, 235, 245); + --tertiary-label: rgb(235, 235, 245); + --quaternary-label: rgb(235, 235, 245); + --placeholder-text: rgb(235, 235, 245); + --link: rgb(9, 132, 255); + --separator: rgb(44, 44, 46); + --opaque-separator: rgb(56, 56, 58); + --system-fill: rgb(120, 120, 128); + --secondary-system-fill: rgb(120, 120, 128); + --tertiary-system-fill: rgb(118, 118, 128); + --quaternary-system-fill: rgb(118, 118, 128); + --system-background: rgb(0, 0, 0); + --secondary-system-background: rgb(28, 28, 30); + --tertiary-system-background: rgb(44, 44, 46); + --system-grouped-background: rgb(0, 0, 0); + --secondary-system-grouped-background: rgb(28, 28, 30); + --tertiary-system-grouped-background: rgb(44, 44, 46); + } + + @supports (color: color(display-p3 1 1 1)) { + :root { + --system-red: color(display-p3 1 0.4118 0.3804); + --system-orange: color(display-p3 1 0.702 0.251); + --system-yellow: color(display-p3 1 0.8314 0.149); + --system-green: color(display-p3 0.1882 0.8588 0.3569); + --system-teal: color(display-p3 0.4392 0.8431 1); + --system-blue: color(display-p3 0.251 0.6118 1); + --system-indigo: color(display-p3 0.4902 0.4784 1); + --system-purple: color(display-p3 0.8549 0.5608 1); + --system-pink: color(display-p3 1 0.3922 0.5098); + --system-gray: color(display-p3 0.6824 0.6824 0.698); + --system-gray2: color(display-p3 0.4863 0.4863 0.502); + --system-gray3: color(display-p3 0.3294 0.3294 0.3373); + --system-gray4: color(display-p3 0.2667 0.2667 0.2745); + --system-gray5: color(display-p3 0.2118 0.2118 0.2196); + --system-gray6: color(display-p3 0.1412 0.1412 0.149); + + --label: color(display-p3 1 1 1); + --secondary-label: color(display-p3 0.9216 0.9216 0.9608); + --tertiary-label: color(display-p3 0.9216 0.9216 0.9608); + --quaternary-label: color(display-p3 0.9216 0.9216 0.9608); + --placeholder-text: color(display-p3 0.9216 0.9216 0.9608); + --link: color(display-p3 0.03529 0.5176 1); + --separator: color(display-p3 0.2118 0.2118 0.2196); + --opaque-separator: color(display-p3 0.2196 0.2196 0.2275); + --system-fill: color(display-p3 0.4706 0.4706 0.502); + --secondary-system-fill: color(display-p3 0.4706 0.4706 0.502); + --tertiary-system-fill: color(display-p3 0.4627 0.4627 0.502); + --quaternary-system-fill: color(display-p3 0.4627 0.4627 0.502); + --system-background: color(display-p3 0 0 0); + --secondary-system-background: color( + display-p3 0.1412 0.1412 0.149 + ); + --tertiary-system-background: color( + display-p3 0.2118 0.2118 0.2196 + ); + --system-grouped-background: color(display-p3 0 0 0); + --secondary-system-grouped-background: color( + display-p3 0.1412 0.1412 0.149 + ); + --tertiary-system-grouped-background: color( + display-p3 0.2118 0.2118 0.2196 + ); + } + } +} */ + +:root { + --large-title: 600 32pt / 39pt sans-serif; + --title-1: 600 26pt / 32pt sans-serif; + --title-2: 600 20pt / 25pt sans-serif; + --title-3: 500 18pt / 23pt sans-serif; + --headline: 500 15pt / 20pt sans-serif; + --body: 300 15pt / 20pt sans-serif; + --callout: 300 14pt / 19pt sans-serif; + --subhead: 300 13pt / 18pt sans-serif; + --footnote: 300 12pt / 16pt sans-serif; + --caption-1: 300 11pt / 13pt sans-serif; + --caption-2: 300 11pt / 13pt sans-serif; +} + +:root { + --icon-case: url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Crect fill='%2389c5e6' height='90' rx='8' stroke='%236bb7e1' stroke-miterlimit='10' stroke-width='4' width='90' x='5' y='5'/%3E%3Cpath d='m20.21 50c0-20.7 11.9-32.79 30.8-32.79 16 0 28.21 10.33 28.7 25.32h-15.52c-.79-7.53-6.1-12.42-13.19-12.42-8.79 0-14.37 7.52-14.37 19.82s5.54 20 14.41 20c7.08 0 12.22-4.66 13.23-12.09h15.52c-.74 15.07-12.43 25-28.78 25-19.01-.03-30.8-12.12-30.8-32.84z' fill='%23fff'/%3E%3C/svg%3E%0A"); + --icon-class: url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Crect fill='%239b98e6' height='90' rx='8' stroke='%235856d6' stroke-miterlimit='10' stroke-width='4' width='90' x='5' y='5'/%3E%3Cpath d='m20.21 50c0-20.7 11.9-32.79 30.8-32.79 16 0 28.21 10.33 28.7 25.32h-15.52c-.79-7.53-6.1-12.42-13.19-12.42-8.79 0-14.37 7.52-14.37 19.82s5.54 20 14.41 20c7.08 0 12.22-4.66 13.23-12.09h15.52c-.74 15.07-12.43 25-28.78 25-19.01-.03-30.8-12.12-30.8-32.84z' fill='%23fff'/%3E%3C/svg%3E"); + --icon-enumeration: url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Crect fill='%23eca95b' height='90' rx='8' stroke='%23e89234' stroke-miterlimit='10' stroke-width='4' width='90' x='5.17' y='5'/%3E%3Cpath d='m71.9 81.71h-43.47v-63.42h43.47v13h-27.34v12.62h25.71v11.87h-25.71v12.92h27.34z' fill='%23fff'/%3E%3C/svg%3E%0A"); + --icon-extension: url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Crect fill='%23eca95b' height='90' rx='8' stroke='%23e89234' stroke-miterlimit='10' stroke-width='4' width='90' x='5' y='5'/%3E%3Cg fill='%23fff'%3E%3Cpath d='m54.43 81.93h-33.92v-63.86h33.92v12.26h-21.82v13.8h20.45v11.32h-20.45v14.22h21.82z'/%3E%3Cpath d='m68.74 74.58h-.27l-2.78 7.35h-7.28l5.59-12.61-6-12.54h8l2.74 7.3h.27l2.76-7.3h7.64l-6.14 12.54 5.89 12.61h-7.64z'/%3E%3C/g%3E%3C/svg%3E%0A"); + --icon-function: url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Crect fill='%237ac673' height='90' rx='8' stroke='%235bb74f' stroke-miterlimit='10' stroke-width='4' width='90' x='5' y='5'/%3E%3Cpath d='m24.25 75.66a5.47 5.47 0 0 1 5.75-5.73c1.55 0 3.55.41 6.46.41 3.19 0 4.78-1.55 5.46-6.65l1.5-10.14h-9.34a6 6 0 1 1 0-12h11.1l1.09-7.27c1.55-10.89 8.01-16.58 17.73-16.58 6.69 0 11.74 1.77 11.74 6.64a5.47 5.47 0 0 1 -5.74 5.73c-1.55 0-3.55-.41-6.46-.41-3.14 0-4.73 1.51-5.46 6.65l-.78 5.27h11.44a6 6 0 1 1 .05 12h-13.19l-1.78 12.11c-1.59 10.92-8.1 16.61-17.82 16.61-6.7 0-11.75-1.77-11.75-6.64z' fill='%23fff'/%3E%3C/svg%3E%0A"); + --icon-method: url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Crect fill='%235a98f8' height='90' rx='8' stroke='%232974ed' stroke-miterlimit='10' stroke-width='4' width='90' x='5' y='5'/%3E%3Cpath d='m70.61 81.71v-39.6h-.31l-15.69 39.6h-9.22l-15.65-39.6h-.35v39.6h-14.19v-63.42h18.63l16 41.44h.36l16-41.44h18.61v63.42z' fill='%23fff'/%3E%3C/svg%3E%0A"); + --icon-property: url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Crect fill='%2389c5e6' height='90' rx='8' stroke='%236bb7e1' stroke-miterlimit='10' stroke-width='4' width='90' x='5' y='5'/%3E%3Cpath d='m52.31 18.29c13.62 0 22.85 8.84 22.85 22.46s-9.71 22.37-23.82 22.37h-10.34v18.59h-16.16v-63.42zm-11.31 32.71h7c6.85 0 10.89-3.56 10.89-10.2s-4.08-10.16-10.89-10.16h-7z' fill='%23fff'/%3E%3C/svg%3E%0A"); + --icon-protocol: url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Crect fill='%23ff6682' height='90' rx='8' stroke='%23ff2d55' stroke-miterlimit='10' stroke-width='4' width='90' x='5' y='5'/%3E%3Cg fill='%23fff'%3E%3Cpath d='m46.28 18.29c11.84 0 20 8.66 20 21.71s-8.44 21.71-20.6 21.71h-10.81v20h-12.09v-63.42zm-11.41 33.05h8.13c6.93 0 11-4 11-11.29s-4-11.25-10.93-11.25h-8.2z'/%3E%3Cpath d='m62 57.45h8v4.77h.16c.84-3.45 2.54-5.12 5.17-5.12a5.06 5.06 0 0 1 1.92.35v7.55a5.69 5.69 0 0 0 -2.39-.51c-3.08 0-4.66 1.74-4.66 5.12v12.1h-8.2z'/%3E%3C/g%3E%3C/svg%3E%0A"); + --icon-structure: url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Crect fill='%23b57edf' height='90' rx='8' stroke='%239454c2' stroke-miterlimit='10' stroke-width='4' width='90' x='5' y='5'/%3E%3Cpath d='m38.38 63c.74 4.53 5.62 7.16 11.82 7.16s10.37-2.81 10.37-6.68c0-3.51-2.73-5.31-10.24-6.76l-6.5-1.23c-12.66-2.35-19.21-8.49-19.21-18.21 0-12.22 10.59-20.09 25.18-20.09 16 0 25.36 7.83 25.53 19.91h-15c-.26-4.57-4.57-7.29-10.42-7.29s-9.31 2.63-9.31 6.37c0 3.34 2.9 5.18 9.8 6.5l6.5 1.23c13.56 2.6 19.71 8.09 19.71 18.09 0 12.74-10 20.83-26.72 20.83-15.82 0-26.28-7.3-26.5-19.78z' fill='%23fff'/%3E%3C/svg%3E%0A"); + --icon-typealias: url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Crect fill='%237ac673' height='90' rx='8' stroke='%235bb74f' stroke-miterlimit='10' stroke-width='4' width='90' x='5' y='5'/%3E%3Cpath d='m42 81.71v-50.41h-17.53v-13h51.06v13h-17.53v50.41z' fill='%23fff'/%3E%3C/svg%3E%0A"); + --icon-variable: url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Crect fill='%237ac673' height='90' rx='8' stroke='%235bb74f' stroke-miterlimit='10' stroke-width='4' width='90' x='5' y='5'/%3E%3Cpath d='m39.85 81.71-20.22-63.42h18.37l12.18 47.64h.35l12.17-47.64h17.67l-20.22 63.42z' fill='%23fff'/%3E%3C/svg%3E%0A"); +} + +/************/ + +body, +input, +textarea, +select, +button { + -moz-font-feature-settings: "kern"; + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + direction: ltr; + font-synthesis: none; + text-align: left; +} + +@custom-selector :--heading h1, h2, h3, h4, h5, h6; +@custom-selector :--text-input + input[type="text"], + input[type="email"], + input[type="number"], + input[type="password"], + input[type="tel"], + input[type="url"], + textarea; + +:--heading { + &:first-of-type { + margin-top: 0; + } + + & code { + font-family: inherit; + font-weight: inherit; + } + + & img { + margin: 0 0.5em 0.2em 0; + vertical-align: middle; + display: inline-block; + } + + & + * { + margin-top: 0.8em; + } +} + +img + h1 { + margin-top: 0.5em; +} + +img + :--heading { + margin-top: 0.3em; +} + +:is(:--heading) + :is(:--heading) { + margin-top: 0.4em; +} + +:matches(:--heading) + :matches(:--heading) { + margin-top: 0.4em; +} + +:is(p, ul, ol) + :is(:--heading) { + margin-top: 1.6em; +} + +:matches(p, ul, ol) + :matches(:--heading) { + margin-top: 1.6em; +} + +:is(p, ul, ol) + * { + margin-top: 0.8em; +} + +:matches(p, ul, ol) + * { + margin-top: 0.8em; +} + +ul, +ol { + margin-left: 1.17647em; +} + +:matches(ul, ol) :matches(ul, ol) { + margin-bottom: 0; + margin-top: 0; +} + +nav { + & h2 { + color: var(--secondary-label); + font-size: 1rem; + font-variant: small-caps; + font-weight: 600; + text-transform: uppercase; + } + + & ul, + & ol { + margin: 0; + list-style: none; + } + + & li li { + font-size: smaller; + } +} + +a { + &:link, + &:visited { + text-decoration: none; + } + &:hover { + text-decoration: underline; + } + &:active { + text-decoration: none; + } + + & + a { + display: inline-block; + } +} + +b, +strong { + font-weight: 600; +} + +.summary, +.discussion { + font: var(--callout); +} + +article > .discussion { + margin-bottom: 2em; +} + +.discussion .highlight { + background: transparent; + border: 1px var(--separator) solid; + font: var(--caption-1); +} + +em, +i, +cite, +dfn { + font-style: italic; +} + +/* sup { + font-size: 0.6em; + vertical-align: top; + position: relative; + bottom: -0.2em; +} */ + +:matches(h1, h2, h3) sup { + font-size: 0.4em; +} + +sup a { + color: inherit; + vertical-align: inherit; + + &:hover { + color: var(--link); + text-decoration: none; + } +} + +sub { + line-height: 1; +} + +abbr { + border: 0; +} + +:lang(ja), +:lang(ko), +:lang(th), +:lang(zh) { + font-style: normal; +} + +:lang(ko) { + word-break: keep-all; +} + +form { + & fieldset { + margin: 1em auto; + max-width: 450px; + width: 95%; + } + + & label { + display: block; + font-size: 1em; + font-weight: 400; + line-height: 1.5em; + margin-bottom: 14px; + position: relative; + width: 100%; + } +} + +:--text-input { + border-radius: 4px; + border: 1px solid var(--separator); + color: #333333; + font-family: inherit; + font-size: 100%; + font-weight: 400; + height: 34px; + margin: 0; + padding: 0 1em 0; + position: relative; + vertical-align: top; + width: 100%; + z-index: 1; + + &, + &:focus { + appearance: none; + } + + &:focus { + border-color: #0088cc; + box-shadow: 0 0 0 3px rgba(0, 136, 204, 0.3); + outline: 0; + z-index: 9; + } + + &:read-only { + background: none; + border: none; + box-shadow: none; + padding-left: 0; + } +} + +::placeholder { + color: var(--placeholder-text); +} + +textarea { + -webkit-overflow-scrolling: touch; + line-height: 1.4737; + min-height: 134px; + overflow-y: auto; + resize: vertical; + transform: translate3d(0, 0, 0); + + &, + &:focus { + appearance: none; + } +} + +select { + background: transparent; + border-radius: 4px; + border: none; + cursor: pointer; + font-family: inherit; + font-size: 1em; + height: 34px; + margin: 0; + padding: 0 1em; + width: 100%; + + &, + &:focus { + appearance: none; + } + + &:focus { + border-color: #0088cc; + box-shadow: 0 0 0 3px rgba(0, 136, 204, 0.3); + outline: 0; + z-index: 9; + } +} + +input[type="file"] { + background: #fafafa; + border-radius: 4px; + color: #333333; + cursor: pointer; + font-family: inherit; + font-size: 100%; + height: 34px; + margin: 0; + padding: 6px 1em; + position: relative; + vertical-align: top; + width: 100%; + z-index: 1; + + &:focus { + border-color: #0088cc; + outline: 0; + -webkit-box-shadow: 0 0 0 3px rgba(0, 136, 204, 0.3); + box-shadow: 0 0 0 3px rgba(0, 136, 204, 0.3); + z-index: 9; + } + + &:focus, + &:focus:focus { + appearance: none; + } +} + +button, +input[type="reset"], +input[type="submit"] { + &, + &:focus { + appearance: none; + } +} + +:matches(button, input[type="reset"], input[type="submit"]) { + background-color: #e3e3e3; + background: linear-gradient(white, #e3e3e3); + border-color: #d6d6d6; + color: #0070c9; +} +:matches(button, input[type="reset"], input[type="submit"]):hover { + background-color: #eeeeee; + background: linear-gradient(white, #eeeeee); + border-color: #d9d9d9; +} +:matches(button, input[type="reset"], input[type="submit"]):active { + background-color: gainsboro; + background: linear-gradient(#f7f7f7, gainsboro); + border-color: #d0d0d0; +} +:matches(button, input[type="reset"], input[type="submit"]):disabled { + background-color: #e3e3e3; + background: linear-gradient(white, #e3e3e3); + border-color: #d6d6d6; + color: #0070c9; +} + +/* */ + +body { + background: var(--system-grouped-background); + color: var(--label); + font-family: ui-system, -apple-system, BlinkMacSystemFont, sans-serif; + font: var(--body); +} + +h1 { + font: var(--large-title); +} + +h2 { + font: var(--title-2); +} + +h3 { + font: var(--title-3); +} + +h4, +h5, +h6 { + font: var(--headline); +} + +/* strong, + th, + dt { + font: var(--headline); + } */ + +a { + color: var(--link); +} + +label { + font: var(--callout); +} + +label, +input { + display: block; +} + +input { + margin-bottom: 1em; +} + +/* button, + input[type="submit"] { + color: var(--link); + background: transparent; + border: none; + padding: 0.5em; + } */ + +/*********************/ + +hr { + border: none; + border-top: 1px var(--separator) solid; + margin: 1em 0; +} + +table { + width: 100%; + font: var(--caption-1); + caption-side: bottom; + margin-bottom: 2em; +} + +th, +td { + padding: 0 1em; +} + +th { + font-weight: 600; + text-align: left; +} + +thead th { + border-bottom: 1px var(--separator) solid; +} + +tr:last-of-type td, +tr:last-of-type th { + border-bottom: none; +} + +th, +td { + border-bottom: 1px var(--separator) solid; + color: var(--secondary-label); +} + +caption { + color: var(--tertiary-label); + font: var(--caption-2); + margin-top: 2em; + text-align: left; +} + +code, +.graph text { + font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", + "Courier New", monospace; + font-weight: 300; +} + +.graph { + & > polygon { + display: none; + } + + & text { + fill: currentColor !important; + } + + & path, + & ellipse, + & rect, + & polygon { + stroke: currentColor !important; + } +} + +body { + width: 90vw; + max-width: 1280px; + margin: 1em auto; + + & > header { + font: var(--title-1); + padding: 0.5em 0; + + & a { + color: var(--label); + } + + & span { + font-weight: normal; + } + + & sup { + text-transform: uppercase; + font-size: small; + font-weight: 300; + color: var(--secondary-label); + letter-spacing: 0.1ch; + } + } + + & > footer { + clear: both; + padding: 1em 0; + font: var(--caption-1); + color: var(--secondary-label); + } + + @media screen and (max-width: 768px) { + width: 96vw; + max-width: 100%; + + & > header { + font: var(--title-3); + text-align: left; + padding: 1em 0; + } + + & > nav { + display: none; + } + + & > main { + padding: 0 1em; + } + } +} + +@media screen and (max-width: 768px) { + #relationships figure { + display: none; + } + + section > [role="article"][class] pre { + margin-left: -2.5em; + } + + section > [role="article"][class] div { + margin-left: -2em; + } +} + +main, +nav { + overflow-x: scroll; +} + +main { + background: var(--system-background); + border-radius: 8px; + padding: 0 2em; + + & section { + border-bottom: 1px var(--separator) solid; + margin-bottom: 2em; + padding-bottom: 1em; + } + + & section:last-of-type { + border-bottom: none; + margin-bottom: 0; + } +} + +form.search { +} + +nav { + float: right; + margin-left: 1em; + max-height: 100vh; + overflow: scroll; + padding: 0 1em 3em 1em; + position: sticky; + top: 1em; + width: 20vw; + + & a { + color: var(--secondary-label); + } + + & ul a { + color: var(--tertiary-label); + } + + & ol { + padding: 0; + } + + & ul { + font: var(--callout); + margin-bottom: 1em; + padding: 0; + } + + & ol > li > a { + display: block; + font-size: smaller; + font: var(--headline); + margin: 0.5em 0; + } + + & li { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } +} + +/* main :matches(h1, h2, h3) { + position: sticky; + top: 0px; +} + +main h1 { + z-index: 1; +} + +main h2 { + z-index: 2; +} + +main h3 { + z-index: 3; +} */ + +blockquote { + --link: var(--secondary-label); + border-left: 4px var(--separator) solid; + color: var(--secondary-label); + font-size: smaller; + margin-left: 0; + padding-left: 2em; + + & a { + text-decoration: underline; + } +} + +article { + padding: 2em 0 1em 0; + + & > .summary { + border-bottom: 1px var(--separator) solid; + margin-bottom: 2em; + padding-bottom: 1em; + } + + & > .summary:last-child { + border-bottom: none; + } +} + +.parameters { + & th { + text-align: right; + } + + & td { + color: var(--secondary-label); + } + + & th + td { + text-align: center; + } +} + +dl { + padding-top: 1em; +} + +dt { + font: var(--headline); +} + +dd { + margin-left: 2em; + margin-bottom: 1em; + + & p { + margin-top: 0; + } +} + +.highlight { + background: var(--secondary-system-background); + border-radius: 8px; + font-size: smaller; + margin-bottom: 2em; + overflow-x: scroll; + padding: 1em; + padding-left: 3em; + text-indent: -2em; + white-space: pre-line; + + & .p { + white-space: nowrap; + } + + & .placeholder { + color: var(--label); + } + + & a { + text-decoration: underline; + color: var(--placeholder-text); + } + + & .literal, + & .keyword, + & .attribute { + color: var(--system-purple); + } + + & .number { + color: var(--system-blue); + } + + & .declaration { + color: var(--system-teal); + } + + & .type { + color: var(--system-indigo); + } + + & .directive { + color: var(--system-orange); + } + + & .comment { + color: var(--system-gray); + } +} + +main summary:hover { + text-decoration: underline; +} + +figure { + margin: 2em 0; + padding: 1em 0; + + & svg { + max-width: 100%; + height: auto !important; + margin: 0 auto; + display: block; + } +} + +h1 small { + font-size: 0.5em; + line-height: 1.5; + display: block; + font-weight: normal; + color: var(--quaternary-label); +} + +p code, +dd code, +li code { + font-size: smaller; + color: var(--secondary-label); +} + +a code { + text-decoration: underline; +} + +section > [role="article"][class], +nav li[class], +dl dt[class] { + background-image: var(--background-image); + background-size: 1em; + background-repeat: no-repeat; + background-position: left 0.25em; + padding-left: 3em; +} + +dl dt[class] { + background-position-y: 0.125em; +} + +section > [role="article"] { + margin-bottom: 1em; + padding-bottom: 1em; + border-bottom: 1px var(--separator) solid; + padding-left: 2em !important; +} + +section > [role="article"]:last-of-type { + margin-bottom: 0; + padding-bottom: 0; + border-bottom: none; +} + +nav li[class], +dl dt[class] { + list-style: none; + text-indent: -1em; + margin-bottom: 0.5em; +} + +nav li[class] { + padding-left: 2.5em; +} + +.case, +.enumeration_case { + --background-image: var(--icon-case); + --link: var(--system-teal); +} + +.class { + --background-image: var(--icon-class); + --link: var(--system-indigo); +} + +.enumeration { + --background-image: var(--icon-enumeration); + --link: var(--system-orange); +} + +.extension { + --background-image: var(--icon-extension); + --link: var(--system-orange); +} + +.function { + --background-image: var(--icon-function); + --link: var(--system-green); +} + +.method, +.initializer { + --background-image: var(--icon-method); + --link: var(--system-blue); +} + +.property { + --background-image: var(--icon-property); + --link: var(--system-teal); +} + +.protocol { + --background-image: var(--icon-protocol); + --link: var(--system-pink); +} + +.structure { + --background-image: var(--icon-structure); + --link: var(--system-purple); +} + +.typealias { + --background-image: var(--icon-typealias); + --link: var(--system-green); +} + +.variable { + --background-image: var(--icon-variable); + --link: var(--system-green); +} + +.unknown { + --link: var(--quaternary-label); + color: var(--link); +} diff --git a/Changelog.md b/Changelog.md index 05bbd5d5..d8765bd3 100644 --- a/Changelog.md +++ b/Changelog.md @@ -11,6 +11,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Added `--base-url` option. #65 by @kean. +- Added asset pipeline for CSS assets. + #49 by @kaishin. ### Fixed @@ -20,7 +22,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 #62 by @victor-pavlychko. - Fixed rendering of protocol requirements in the HTML version. #76 by @victor-pavlychko. - ## [1.0.0-beta.2] - 2020-04-08 diff --git a/README.md b/README.md index b086809a..80d23add 100644 --- a/README.md +++ b/README.md @@ -243,6 +243,57 @@ jobs: GH_PERSONAL_ACCESS_TOKEN: ${{ secrets.GH_PERSONAL_ACCESS_TOKEN }} ``` +## Development + +### Web Assets + +CSS assets used by the HTML output format +are processed and generated by [PostCSS](https://postcss.org). +To make changes to these assets, +you'll need to have [Node.js](https://nodejs.org/en/) +and a package manager, such as [`npm`](https://www.npmjs.com), +installed on your machine. + +Navigate to the `.node` directory +and run `npm install` to download the required tools and libraries. + +```terminal +$ cd .node +$ npm install +``` + +> **Note**: +> `package.json` is located at a hidden `.node` subdirectory +> to prevent Xcode from displaying or indexing the contents of `node_modules` +> when opening the main project. + +From the `.node` directory, +run the `watch` script +to start watching for changes to files in the `Assets` folder. +Whenever an asset source file is added, removed, or updated, +its corresponding (unoptimized) product is automatically generated +in the `Resouces` folder. + +```terminal +$ npm run watch +``` + +When you're happy with the results, +run the `build` script to generate production-ready assets. + +```terminal +$ npm run build +``` + +Finally, +commit any changes to the source files in `Assets` +as well as the generated files in `Resources`. + +```terminal +$ git add Assets Resources +$ git commit +``` + ## License MIT diff --git a/Resources/all.css b/Resources/all.css new file mode 100644 index 00000000..b49674b8 --- /dev/null +++ b/Resources/all.css @@ -0,0 +1,1149 @@ +:root { + --system-red: rgb(255, 59, 48); + --system-orange: rgb(255, 149, 0); + --system-yellow: rgb(255, 204, 0); + --system-green: rgb(52, 199, 89); + --system-teal: rgb(90, 200, 250); + --system-blue: rgb(0, 122, 255); + --system-indigo: rgb(88, 86, 214); + --system-purple: rgb(175, 82, 222); + --system-pink: rgb(255, 45, 85); + --system-gray: rgb(142, 142, 147); + --system-gray2: rgb(174, 174, 178); + --system-gray3: rgb(199, 199, 204); + --system-gray4: rgb(209, 209, 214); + --system-gray5: rgb(229, 229, 234); + --system-gray6: rgb(242, 242, 247); + + --label: rgb(0, 0, 0); + --secondary-label: rgb(60, 60, 67); + --tertiary-label: rgb(72, 72, 74); + --quaternary-label: rgb(99, 99, 102); + --placeholder-text: rgb(142, 142, 147); + --link: rgb(0, 122, 255); + --separator: rgb(229, 229, 234); + --opaque-separator: rgb(198, 198, 200); + --system-fill: rgb(120, 120, 128); + --secondary-system-fill: rgb(120, 120, 128); + --tertiary-system-fill: rgb(118, 118, 128); + --quaternary-system-fill: rgb(116, 116, 128); + --system-background: rgb(255, 255, 255); + --secondary-system-background: rgb(242, 242, 247); + --tertiary-system-background: rgb(255, 255, 255); + --system-grouped-background: rgb(242, 242, 247); + --secondary-system-grouped-background: rgb(255, 255, 255); + --tertiary-system-grouped-background: rgb(242, 242, 247); +} + +@supports (color: color(display-p3 1 1 1)) { + :root { + --system-red: color(display-p3 1 0.2314 0.1882); + --system-orange: color(display-p3 1 0.5843 0); + --system-yellow: color(display-p3 1 0.8 0); + --system-green: color(display-p3 0.2039 0.7804 0.349); + --system-teal: color(display-p3 0.3529 0.7843 0.9804); + --system-blue: color(display-p3 0 0.4784 1); + --system-indigo: color(display-p3 0.3451 0.3373 0.8392); + --system-purple: color(display-p3 0.6863 0.3216 0.8706); + --system-pink: color(display-p3 1 0.1765 0.3333); + --system-gray: color(display-p3 0.5569 0.5569 0.5765); + --system-gray2: color(display-p3 0.6824 0.6824 0.698); + --system-gray3: color(display-p3 0.7804 0.7804 0.8); + --system-gray4: color(display-p3 0.8196 0.8196 0.8392); + --system-gray5: color(display-p3 0.898 0.898 0.9176); + --system-gray6: color(display-p3 0.949 0.949 0.9686); + + --label: color(display-p3 0 0 0); + --secondary-label: color(display-p3 0.2353 0.2353 0.2627); + --tertiary-label: color(display-p3 0.2823 0.2823 0.2901); + --quaternary-label: color(display-p3 0.4627 0.4627 0.5019); + --placeholder-text: color(display-p3 0.5568 0.5568 0.5764); + --link: color(display-p3 0 0.4784 1); + --separator: color(display-p3 0.898 0.898 0.9176); + --opaque-separator: color(display-p3 0.7765 0.7765 0.7843); + --system-fill: color(display-p3 0.4706 0.4706 0.502); + --secondary-system-fill: color(display-p3 0.4706 0.4706 0.502); + --tertiary-system-fill: color(display-p3 0.4627 0.4627 0.502); + --quaternary-system-fill: color(display-p3 0.4549 0.4549 0.502); + --system-background: color(display-p3 1 1 1); + --secondary-system-background: color(display-p3 0.949 0.949 0.9686); + --tertiary-system-background: color(display-p3 1 1 1); + --system-grouped-background: color(display-p3 0.949 0.949 0.9686); + --secondary-system-grouped-background: color(display-p3 1 1 1); + --tertiary-system-grouped-background: color(display-p3 0.949 0.949 0.9686); + } +} + +/* +@media (prefers-color-scheme: dark) { + :root { + --system-red: rgb(255, 69, 58); + --system-orange: rgb(255, 159, 10); + --system-yellow: rgb(255, 214, 10); + --system-green: rgb(48, 209, 88); + --system-teal: rgb(100, 210, 255); + --system-blue: rgb(10, 132, 255); + --system-indigo: rgb(94, 92, 230); + --system-purple: rgb(191, 90, 242); + --system-pink: rgb(255, 55, 95); + --system-gray: rgb(142, 142, 147); + --system-gray2: rgb(99, 99, 102); + --system-gray3: rgb(72, 72, 74); + --system-gray4: rgb(58, 58, 60); + --system-gray5: rgb(44, 44, 46); + --system-gray6: rgb(28, 28, 30); + + --label: rgb(255, 255, 255); + --secondary-label: rgb(235, 235, 245); + --tertiary-label: rgb(235, 235, 245); + --quaternary-label: rgb(235, 235, 245); + --placeholder-text: rgb(235, 235, 245); + --link: rgb(9, 132, 255); + --separator: rgb(44, 44, 46); + --opaque-separator: rgb(56, 56, 58); + --system-fill: rgb(120, 120, 128); + --secondary-system-fill: rgb(120, 120, 128); + --tertiary-system-fill: rgb(118, 118, 128); + --quaternary-system-fill: rgb(118, 118, 128); + --system-background: rgb(0, 0, 0); + --secondary-system-background: rgb(28, 28, 30); + --tertiary-system-background: rgb(44, 44, 46); + --system-grouped-background: rgb(0, 0, 0); + --secondary-system-grouped-background: rgb(28, 28, 30); + --tertiary-system-grouped-background: rgb(44, 44, 46); + } + + @supports (color: color(display-p3 1 1 1)) { + :root { + --system-red: color(display-p3 1 0.4118 0.3804); + --system-orange: color(display-p3 1 0.702 0.251); + --system-yellow: color(display-p3 1 0.8314 0.149); + --system-green: color(display-p3 0.1882 0.8588 0.3569); + --system-teal: color(display-p3 0.4392 0.8431 1); + --system-blue: color(display-p3 0.251 0.6118 1); + --system-indigo: color(display-p3 0.4902 0.4784 1); + --system-purple: color(display-p3 0.8549 0.5608 1); + --system-pink: color(display-p3 1 0.3922 0.5098); + --system-gray: color(display-p3 0.6824 0.6824 0.698); + --system-gray2: color(display-p3 0.4863 0.4863 0.502); + --system-gray3: color(display-p3 0.3294 0.3294 0.3373); + --system-gray4: color(display-p3 0.2667 0.2667 0.2745); + --system-gray5: color(display-p3 0.2118 0.2118 0.2196); + --system-gray6: color(display-p3 0.1412 0.1412 0.149); + + --label: color(display-p3 1 1 1); + --secondary-label: color(display-p3 0.9216 0.9216 0.9608); + --tertiary-label: color(display-p3 0.9216 0.9216 0.9608); + --quaternary-label: color(display-p3 0.9216 0.9216 0.9608); + --placeholder-text: color(display-p3 0.9216 0.9216 0.9608); + --link: color(display-p3 0.03529 0.5176 1); + --separator: color(display-p3 0.2118 0.2118 0.2196); + --opaque-separator: color(display-p3 0.2196 0.2196 0.2275); + --system-fill: color(display-p3 0.4706 0.4706 0.502); + --secondary-system-fill: color(display-p3 0.4706 0.4706 0.502); + --tertiary-system-fill: color(display-p3 0.4627 0.4627 0.502); + --quaternary-system-fill: color(display-p3 0.4627 0.4627 0.502); + --system-background: color(display-p3 0 0 0); + --secondary-system-background: color( + display-p3 0.1412 0.1412 0.149 + ); + --tertiary-system-background: color( + display-p3 0.2118 0.2118 0.2196 + ); + --system-grouped-background: color(display-p3 0 0 0); + --secondary-system-grouped-background: color( + display-p3 0.1412 0.1412 0.149 + ); + --tertiary-system-grouped-background: color( + display-p3 0.2118 0.2118 0.2196 + ); + } + } +} */ + +:root { + --large-title: 600 32pt / 39pt sans-serif; + --title-1: 600 26pt / 32pt sans-serif; + --title-2: 600 20pt / 25pt sans-serif; + --title-3: 500 18pt / 23pt sans-serif; + --headline: 500 15pt / 20pt sans-serif; + --body: 300 15pt / 20pt sans-serif; + --callout: 300 14pt / 19pt sans-serif; + --subhead: 300 13pt / 18pt sans-serif; + --footnote: 300 12pt / 16pt sans-serif; + --caption-1: 300 11pt / 13pt sans-serif; + --caption-2: 300 11pt / 13pt sans-serif; +} + +:root { + --icon-case: url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Crect fill='%2389c5e6' height='90' rx='8' stroke='%236bb7e1' stroke-miterlimit='10' stroke-width='4' width='90' x='5' y='5'/%3E%3Cpath d='m20.21 50c0-20.7 11.9-32.79 30.8-32.79 16 0 28.21 10.33 28.7 25.32h-15.52c-.79-7.53-6.1-12.42-13.19-12.42-8.79 0-14.37 7.52-14.37 19.82s5.54 20 14.41 20c7.08 0 12.22-4.66 13.23-12.09h15.52c-.74 15.07-12.43 25-28.78 25-19.01-.03-30.8-12.12-30.8-32.84z' fill='%23fff'/%3E%3C/svg%3E%0A"); + --icon-class: url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Crect fill='%239b98e6' height='90' rx='8' stroke='%235856d6' stroke-miterlimit='10' stroke-width='4' width='90' x='5' y='5'/%3E%3Cpath d='m20.21 50c0-20.7 11.9-32.79 30.8-32.79 16 0 28.21 10.33 28.7 25.32h-15.52c-.79-7.53-6.1-12.42-13.19-12.42-8.79 0-14.37 7.52-14.37 19.82s5.54 20 14.41 20c7.08 0 12.22-4.66 13.23-12.09h15.52c-.74 15.07-12.43 25-28.78 25-19.01-.03-30.8-12.12-30.8-32.84z' fill='%23fff'/%3E%3C/svg%3E"); + --icon-enumeration: url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Crect fill='%23eca95b' height='90' rx='8' stroke='%23e89234' stroke-miterlimit='10' stroke-width='4' width='90' x='5.17' y='5'/%3E%3Cpath d='m71.9 81.71h-43.47v-63.42h43.47v13h-27.34v12.62h25.71v11.87h-25.71v12.92h27.34z' fill='%23fff'/%3E%3C/svg%3E%0A"); + --icon-extension: url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Crect fill='%23eca95b' height='90' rx='8' stroke='%23e89234' stroke-miterlimit='10' stroke-width='4' width='90' x='5' y='5'/%3E%3Cg fill='%23fff'%3E%3Cpath d='m54.43 81.93h-33.92v-63.86h33.92v12.26h-21.82v13.8h20.45v11.32h-20.45v14.22h21.82z'/%3E%3Cpath d='m68.74 74.58h-.27l-2.78 7.35h-7.28l5.59-12.61-6-12.54h8l2.74 7.3h.27l2.76-7.3h7.64l-6.14 12.54 5.89 12.61h-7.64z'/%3E%3C/g%3E%3C/svg%3E%0A"); + --icon-function: url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Crect fill='%237ac673' height='90' rx='8' stroke='%235bb74f' stroke-miterlimit='10' stroke-width='4' width='90' x='5' y='5'/%3E%3Cpath d='m24.25 75.66a5.47 5.47 0 0 1 5.75-5.73c1.55 0 3.55.41 6.46.41 3.19 0 4.78-1.55 5.46-6.65l1.5-10.14h-9.34a6 6 0 1 1 0-12h11.1l1.09-7.27c1.55-10.89 8.01-16.58 17.73-16.58 6.69 0 11.74 1.77 11.74 6.64a5.47 5.47 0 0 1 -5.74 5.73c-1.55 0-3.55-.41-6.46-.41-3.14 0-4.73 1.51-5.46 6.65l-.78 5.27h11.44a6 6 0 1 1 .05 12h-13.19l-1.78 12.11c-1.59 10.92-8.1 16.61-17.82 16.61-6.7 0-11.75-1.77-11.75-6.64z' fill='%23fff'/%3E%3C/svg%3E%0A"); + --icon-method: url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Crect fill='%235a98f8' height='90' rx='8' stroke='%232974ed' stroke-miterlimit='10' stroke-width='4' width='90' x='5' y='5'/%3E%3Cpath d='m70.61 81.71v-39.6h-.31l-15.69 39.6h-9.22l-15.65-39.6h-.35v39.6h-14.19v-63.42h18.63l16 41.44h.36l16-41.44h18.61v63.42z' fill='%23fff'/%3E%3C/svg%3E%0A"); + --icon-property: url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Crect fill='%2389c5e6' height='90' rx='8' stroke='%236bb7e1' stroke-miterlimit='10' stroke-width='4' width='90' x='5' y='5'/%3E%3Cpath d='m52.31 18.29c13.62 0 22.85 8.84 22.85 22.46s-9.71 22.37-23.82 22.37h-10.34v18.59h-16.16v-63.42zm-11.31 32.71h7c6.85 0 10.89-3.56 10.89-10.2s-4.08-10.16-10.89-10.16h-7z' fill='%23fff'/%3E%3C/svg%3E%0A"); + --icon-protocol: url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Crect fill='%23ff6682' height='90' rx='8' stroke='%23ff2d55' stroke-miterlimit='10' stroke-width='4' width='90' x='5' y='5'/%3E%3Cg fill='%23fff'%3E%3Cpath d='m46.28 18.29c11.84 0 20 8.66 20 21.71s-8.44 21.71-20.6 21.71h-10.81v20h-12.09v-63.42zm-11.41 33.05h8.13c6.93 0 11-4 11-11.29s-4-11.25-10.93-11.25h-8.2z'/%3E%3Cpath d='m62 57.45h8v4.77h.16c.84-3.45 2.54-5.12 5.17-5.12a5.06 5.06 0 0 1 1.92.35v7.55a5.69 5.69 0 0 0 -2.39-.51c-3.08 0-4.66 1.74-4.66 5.12v12.1h-8.2z'/%3E%3C/g%3E%3C/svg%3E%0A"); + --icon-structure: url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Crect fill='%23b57edf' height='90' rx='8' stroke='%239454c2' stroke-miterlimit='10' stroke-width='4' width='90' x='5' y='5'/%3E%3Cpath d='m38.38 63c.74 4.53 5.62 7.16 11.82 7.16s10.37-2.81 10.37-6.68c0-3.51-2.73-5.31-10.24-6.76l-6.5-1.23c-12.66-2.35-19.21-8.49-19.21-18.21 0-12.22 10.59-20.09 25.18-20.09 16 0 25.36 7.83 25.53 19.91h-15c-.26-4.57-4.57-7.29-10.42-7.29s-9.31 2.63-9.31 6.37c0 3.34 2.9 5.18 9.8 6.5l6.5 1.23c13.56 2.6 19.71 8.09 19.71 18.09 0 12.74-10 20.83-26.72 20.83-15.82 0-26.28-7.3-26.5-19.78z' fill='%23fff'/%3E%3C/svg%3E%0A"); + --icon-typealias: url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Crect fill='%237ac673' height='90' rx='8' stroke='%235bb74f' stroke-miterlimit='10' stroke-width='4' width='90' x='5' y='5'/%3E%3Cpath d='m42 81.71v-50.41h-17.53v-13h51.06v13h-17.53v50.41z' fill='%23fff'/%3E%3C/svg%3E%0A"); + --icon-variable: url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Crect fill='%237ac673' height='90' rx='8' stroke='%235bb74f' stroke-miterlimit='10' stroke-width='4' width='90' x='5' y='5'/%3E%3Cpath d='m39.85 81.71-20.22-63.42h18.37l12.18 47.64h.35l12.17-47.64h17.67l-20.22 63.42z' fill='%23fff'/%3E%3C/svg%3E%0A"); +} + +/************/ + +body, +input, +textarea, +select, +button { + -moz-font-feature-settings: "kern"; + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + direction: ltr; + font-synthesis: none; + text-align: left; +} + +h1:first-of-type,h2:first-of-type,h3:first-of-type,h4:first-of-type,h5:first-of-type,h6:first-of-type { + margin-top: 0; + } + +h1 code,h2 code,h3 code,h4 code,h5 code,h6 code { + font-family: inherit; + font-weight: inherit; + } + +h1 img,h2 img,h3 img,h4 img,h5 img,h6 img { + margin: 0 0.5em 0.2em 0; + vertical-align: middle; + display: inline-block; + } + +h1 + *,h2 + *,h3 + *,h4 + *,h5 + *,h6 + * { + margin-top: 0.8em; + } + +img + h1 { + margin-top: 0.5em; +} + +img + h1,img + h2,img + h3,img + h4,img + h5,img + h6 { + margin-top: 0.3em; +} + +:is(h1,h2,h3,h4,h5,h6) + :is(h1,h2,h3,h4,h5,h6) { + margin-top: 0.4em; +} + +:matches(h1,h2,h3,h4,h5,h6) + :matches(h1,h2,h3,h4,h5,h6) { + margin-top: 0.4em; +} + +:is(p, ul, ol) + :is(h1,h2,h3,h4,h5,h6) { + margin-top: 1.6em; +} + +:matches(p, ul, ol) + :matches(h1,h2,h3,h4,h5,h6) { + margin-top: 1.6em; +} + +:is(p, ul, ol) + * { + margin-top: 0.8em; +} + +:matches(p, ul, ol) + * { + margin-top: 0.8em; +} + +ul, +ol { + margin-left: 1.17647em; +} + +:matches(ul, ol) :matches(ul, ol) { + margin-bottom: 0; + margin-top: 0; +} + +nav h2 { + color: rgb(60, 60, 67); + color: var(--secondary-label); + font-size: 1rem; + font-feature-settings: "c2sc"; + font-variant: small-caps; + font-weight: 600; + text-transform: uppercase; + } + +nav ul, + nav ol { + margin: 0; + list-style: none; + } + +nav li li { + font-size: smaller; + } + +a:link, + a:visited { + text-decoration: none; + } + +a:hover { + text-decoration: underline; + } + +a:active { + text-decoration: none; + } + +a + a { + display: inline-block; + } + +b, +strong { + font-weight: 600; +} + +.summary, +.discussion { + font: 300 14pt / 19pt sans-serif; + font: var(--callout); +} + +article > .discussion { + margin-bottom: 2em; +} + +.discussion .highlight { + background: transparent; + border: 1px rgb(229, 229, 234) solid; + border: 1px var(--separator) solid; + font: 300 11pt / 13pt sans-serif; + font: var(--caption-1); +} + +em, +i, +cite, +dfn { + font-style: italic; +} + +/* sup { + font-size: 0.6em; + vertical-align: top; + position: relative; + bottom: -0.2em; +} */ + +:matches(h1, h2, h3) sup { + font-size: 0.4em; +} + +sup a { + color: inherit; + vertical-align: inherit +} + +sup a:hover { + color: rgb(0, 122, 255); + color: var(--link); + text-decoration: none; + } + +sub { + line-height: 1; +} + +abbr { + border: 0; +} + +:lang(ja), +:lang(ko), +:lang(th), +:lang(zh) { + font-style: normal; +} + +:lang(ko) { + word-break: keep-all; +} + +form fieldset { + margin: 1em auto; + max-width: 450px; + width: 95%; + } + +form label { + display: block; + font-size: 1em; + font-weight: 400; + line-height: 1.5em; + margin-bottom: 14px; + position: relative; + width: 100%; + } + +input[type="text"],input[type="email"],input[type="number"],input[type="password"],input[type="tel"],input[type="url"],textarea { + border-radius: 4px; + border: 1px solid rgb(229, 229, 234); + border: 1px solid var(--separator); + color: #333333; + font-family: inherit; + font-size: 100%; + font-weight: 400; + height: 34px; + margin: 0; + padding: 0 1em 0; + position: relative; + vertical-align: top; + width: 100%; + z-index: 1 +} + +input[type="text"],input[type="email"],input[type="number"],input[type="password"],input[type="tel"],input[type="url"],textarea, + input + [type="text"]:focus, + input + [type="email"]:focus, + input + [type="number"]:focus, + input + [type="password"]:focus, + input + [type="tel"]:focus, + input + [type="url"]:focus, + textarea:focus { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + } + +input[type="text"]:focus,input[type="email"]:focus,input[type="number"]:focus,input[type="password"]:focus,input[type="tel"]:focus,input[type="url"]:focus,textarea:focus { + border-color: #0088cc; + box-shadow: 0 0 0 3px rgba(0, 136, 204, 0.3); + outline: 0; + z-index: 9; + } + +input[type="text"]:-moz-read-only, input[type="email"]:-moz-read-only, input[type="number"]:-moz-read-only, input[type="password"]:-moz-read-only, input[type="tel"]:-moz-read-only, input[type="url"]:-moz-read-only, textarea:-moz-read-only { + background: none; + border: none; + box-shadow: none; + padding-left: 0; + } + +input[type="text"]:read-only,input[type="email"]:read-only,input[type="number"]:read-only,input[type="password"]:read-only,input[type="tel"]:read-only,input[type="url"]:read-only,textarea:read-only { + background: none; + border: none; + box-shadow: none; + padding-left: 0; + } + +::-webkit-input-placeholder { + color: rgb(142, 142, 147); + color: var(--placeholder-text); +} + +::-moz-placeholder { + color: rgb(142, 142, 147); + color: var(--placeholder-text); +} + +:-ms-input-placeholder { + color: rgb(142, 142, 147); + color: var(--placeholder-text); +} + +::-ms-input-placeholder { + color: rgb(142, 142, 147); + color: var(--placeholder-text); +} + +::placeholder { + color: rgb(142, 142, 147); + color: var(--placeholder-text); +} + +textarea { + -webkit-overflow-scrolling: touch; + line-height: 1.4737; + min-height: 134px; + overflow-y: auto; + resize: vertical; + transform: translate3d(0, 0, 0) +} + +textarea, + textarea:focus { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + } + +select { + background: transparent; + border-radius: 4px; + border: none; + cursor: pointer; + font-family: inherit; + font-size: 1em; + height: 34px; + margin: 0; + padding: 0 1em; + width: 100% +} + +select, + select:focus { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + } + +select:focus { + border-color: #0088cc; + box-shadow: 0 0 0 3px rgba(0, 136, 204, 0.3); + outline: 0; + z-index: 9; + } + +input[type="file"] { + background: #fafafa; + border-radius: 4px; + color: #333333; + cursor: pointer; + font-family: inherit; + font-size: 100%; + height: 34px; + margin: 0; + padding: 6px 1em; + position: relative; + vertical-align: top; + width: 100%; + z-index: 1 +} + +input[type="file"]:focus { + border-color: #0088cc; + outline: 0; + box-shadow: 0 0 0 3px rgba(0, 136, 204, 0.3); + z-index: 9; + } + +input[type="file"]:focus, + input[type="file"]:focus:focus { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + } + +button, + button:focus, + input[type="reset"], + input[type="reset"]:focus, + input[type="submit"], + input[type="submit"]:focus { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + } + +:matches(button, input[type="reset"], input[type="submit"]) { + background-color: #e3e3e3; + background: linear-gradient(white, #e3e3e3); + border-color: #d6d6d6; + color: #0070c9; +} +:matches(button, input[type="reset"], input[type="submit"]):hover { + background-color: #eeeeee; + background: linear-gradient(white, #eeeeee); + border-color: #d9d9d9; +} +:matches(button, input[type="reset"], input[type="submit"]):active { + background-color: gainsboro; + background: linear-gradient(#f7f7f7, gainsboro); + border-color: #d0d0d0; +} +:matches(button, input[type="reset"], input[type="submit"]):disabled { + background-color: #e3e3e3; + background: linear-gradient(white, #e3e3e3); + border-color: #d6d6d6; + color: #0070c9; +} + +/* */ + +body { + background: rgb(242, 242, 247); + background: var(--system-grouped-background); + color: rgb(0, 0, 0); + color: var(--label); + font-family: ui-system, -apple-system, BlinkMacSystemFont, sans-serif; + font: 300 15pt / 20pt sans-serif; + font: var(--body); +} + +h1 { + font: 600 32pt / 39pt sans-serif; + font: var(--large-title); +} + +h2 { + font: 600 20pt / 25pt sans-serif; + font: var(--title-2); +} + +h3 { + font: 500 18pt / 23pt sans-serif; + font: var(--title-3); +} + +h4, +h5, +h6 { + font: 500 15pt / 20pt sans-serif; + font: var(--headline); +} + +/* strong, + th, + dt { + font: var(--headline); + } */ + +a { + color: rgb(0, 122, 255); + color: var(--link); +} + +label { + font: 300 14pt / 19pt sans-serif; + font: var(--callout); +} + +label, +input { + display: block; +} + +input { + margin-bottom: 1em; +} + +/* button, + input[type="submit"] { + color: var(--link); + background: transparent; + border: none; + padding: 0.5em; + } */ + +/*********************/ + +hr { + border: none; + border-top: 1px rgb(229, 229, 234) solid; + border-top: 1px var(--separator) solid; + margin: 1em 0; +} + +table { + width: 100%; + font: 300 11pt / 13pt sans-serif; + font: var(--caption-1); + caption-side: bottom; + margin-bottom: 2em; +} + +th, +td { + padding: 0 1em; +} + +th { + font-weight: 600; + text-align: left; +} + +thead th { + border-bottom: 1px rgb(229, 229, 234) solid; + border-bottom: 1px var(--separator) solid; +} + +tr:last-of-type td, +tr:last-of-type th { + border-bottom: none; +} + +th, +td { + border-bottom: 1px rgb(229, 229, 234) solid; + border-bottom: 1px var(--separator) solid; + color: rgb(60, 60, 67); + color: var(--secondary-label); +} + +caption { + color: rgb(72, 72, 74); + color: var(--tertiary-label); + font: 300 11pt / 13pt sans-serif; + font: var(--caption-2); + margin-top: 2em; + text-align: left; +} + +code, +.graph text { + font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", + "Courier New", monospace; + font-weight: 300; +} + +.graph > polygon { + display: none; + } + +.graph text { + fill: currentColor !important; + } + +.graph path, + .graph ellipse, + .graph rect, + .graph polygon { + stroke: currentColor !important; + } + +body { + width: 90vw; + max-width: 1280px; + margin: 1em auto +} + +body > header { + font: 600 26pt / 32pt sans-serif; + font: var(--title-1); + padding: 0.5em 0 + } + +body > header a { + color: rgb(0, 0, 0); + color: var(--label); + } + +body > header span { + font-weight: normal; + } + +body > header sup { + text-transform: uppercase; + font-size: small; + font-weight: 300; + color: rgb(60, 60, 67); + color: var(--secondary-label); + letter-spacing: 0.1ch; + } + +body > footer { + clear: both; + padding: 1em 0; + font: 300 11pt / 13pt sans-serif; + font: var(--caption-1); + color: rgb(60, 60, 67); + color: var(--secondary-label); + } + +@media screen and (max-width: 768px) { + +body { + width: 96vw; + max-width: 100% +} + + body > header { + font: 500 18pt / 23pt sans-serif; + font: var(--title-3); + text-align: left; + padding: 1em 0; + } + + body > nav { + display: none; + } + + body > main { + padding: 0 1em; + } + } + +@media screen and (max-width: 768px) { + #relationships figure { + display: none; + } + + section > [role="article"][class] pre { + margin-left: -2.5em; + } + + section > [role="article"][class] div { + margin-left: -2em; + } +} + +main, +nav { + overflow-x: scroll; +} + +main { + background: rgb(255, 255, 255); + background: var(--system-background); + border-radius: 8px; + padding: 0 2em +} + +main section { + border-bottom: 1px rgb(229, 229, 234) solid; + border-bottom: 1px var(--separator) solid; + margin-bottom: 2em; + padding-bottom: 1em; + } + +main section:last-of-type { + border-bottom: none; + margin-bottom: 0; + } + +form.search { +} + +nav { + float: right; + margin-left: 1em; + max-height: 100vh; + overflow: scroll; + padding: 0 1em 3em 1em; + position: -webkit-sticky; + position: sticky; + top: 1em; + width: 20vw +} + +nav a { + color: rgb(60, 60, 67); + color: var(--secondary-label); + } + +nav ul a { + color: rgb(72, 72, 74); + color: var(--tertiary-label); + } + +nav ol { + padding: 0; + } + +nav ul { + font: 300 14pt / 19pt sans-serif; + font: var(--callout); + margin-bottom: 1em; + padding: 0; + } + +nav ol > li > a { + display: block; + font-size: smaller; + font: 500 15pt / 20pt sans-serif; + font: var(--headline); + margin: 0.5em 0; + } + +nav li { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + +/* main :matches(h1, h2, h3) { + position: sticky; + top: 0px; +} + +main h1 { + z-index: 1; +} + +main h2 { + z-index: 2; +} + +main h3 { + z-index: 3; +} */ + +blockquote { + --link: var(--secondary-label); + border-left: 4px rgb(229, 229, 234) solid; + border-left: 4px var(--separator) solid; + color: rgb(60, 60, 67); + color: var(--secondary-label); + font-size: smaller; + margin-left: 0; + padding-left: 2em +} + +blockquote a { + text-decoration: underline; + } + +article { + padding: 2em 0 1em 0 +} + +article > .summary { + border-bottom: 1px rgb(229, 229, 234) solid; + border-bottom: 1px var(--separator) solid; + margin-bottom: 2em; + padding-bottom: 1em; + } + +article > .summary:last-child { + border-bottom: none; + } + +.parameters th { + text-align: right; + } + +.parameters td { + color: rgb(60, 60, 67); + color: var(--secondary-label); + } + +.parameters th + td { + text-align: center; + } + +dl { + padding-top: 1em; +} + +dt { + font: 500 15pt / 20pt sans-serif; + font: var(--headline); +} + +dd { + margin-left: 2em; + margin-bottom: 1em +} + +dd p { + margin-top: 0; + } + +.highlight { + background: rgb(242, 242, 247); + background: var(--secondary-system-background); + border-radius: 8px; + font-size: smaller; + margin-bottom: 2em; + overflow-x: scroll; + padding: 1em; + padding-left: 3em; + text-indent: -2em; + white-space: pre-line +} + +.highlight .p { + white-space: nowrap; + } + +.highlight .placeholder { + color: rgb(0, 0, 0); + color: var(--label); + } + +.highlight a { + text-decoration: underline; + color: rgb(142, 142, 147); + color: var(--placeholder-text); + } + +.highlight .literal, + .highlight .keyword, + .highlight .attribute { + color: rgb(175, 82, 222); + color: var(--system-purple); + } + +.highlight .number { + color: rgb(0, 122, 255); + color: var(--system-blue); + } + +.highlight .declaration { + color: rgb(90, 200, 250); + color: var(--system-teal); + } + +.highlight .type { + color: rgb(88, 86, 214); + color: var(--system-indigo); + } + +.highlight .directive { + color: rgb(255, 149, 0); + color: var(--system-orange); + } + +.highlight .comment { + color: rgb(142, 142, 147); + color: var(--system-gray); + } + +main summary:hover { + text-decoration: underline; +} + +figure { + margin: 2em 0; + padding: 1em 0 +} + +figure svg { + max-width: 100%; + height: auto !important; + margin: 0 auto; + display: block; + } + +h1 small { + font-size: 0.5em; + line-height: 1.5; + display: block; + font-weight: normal; + color: rgb(99, 99, 102); + color: var(--quaternary-label); +} + +p code, +dd code, +li code { + font-size: smaller; + color: rgb(60, 60, 67); + color: var(--secondary-label); +} + +a code { + text-decoration: underline; +} + +section > [role="article"][class], +nav li[class], +dl dt[class] { + background-image: var(--background-image); + background-size: 1em; + background-repeat: no-repeat; + background-position: left 0.25em; + padding-left: 3em; +} + +dl dt[class] { + background-position-y: 0.125em; +} + +section > [role="article"] { + margin-bottom: 1em; + padding-bottom: 1em; + border-bottom: 1px rgb(229, 229, 234) solid; + border-bottom: 1px var(--separator) solid; + padding-left: 2em !important; +} + +section > [role="article"]:last-of-type { + margin-bottom: 0; + padding-bottom: 0; + border-bottom: none; +} + +nav li[class], +dl dt[class] { + list-style: none; + text-indent: -1em; + margin-bottom: 0.5em; +} + +nav li[class] { + padding-left: 2.5em; +} + +.case, +.enumeration_case { + --background-image: var(--icon-case); + --link: var(--system-teal); +} + +.class { + --background-image: var(--icon-class); + --link: var(--system-indigo); +} + +.enumeration { + --background-image: var(--icon-enumeration); + --link: var(--system-orange); +} + +.extension { + --background-image: var(--icon-extension); + --link: var(--system-orange); +} + +.function { + --background-image: var(--icon-function); + --link: var(--system-green); +} + +.method, +.initializer { + --background-image: var(--icon-method); + --link: var(--system-blue); +} + +.property { + --background-image: var(--icon-property); + --link: var(--system-teal); +} + +.protocol { + --background-image: var(--icon-protocol); + --link: var(--system-pink); +} + +.structure { + --background-image: var(--icon-structure); + --link: var(--system-purple); +} + +.typealias { + --background-image: var(--icon-typealias); + --link: var(--system-green); +} + +.variable { + --background-image: var(--icon-variable); + --link: var(--system-green); +} + +.unknown { + --link: var(--quaternary-label); + color: rgb(0, 122, 255); + color: var(--link); +} diff --git a/Resources/all.min.css b/Resources/all.min.css new file mode 100644 index 00000000..1da87242 --- /dev/null +++ b/Resources/all.min.css @@ -0,0 +1,8 @@ +:root{--system-red:#ff3b30;--system-orange:#ff9500;--system-yellow:#fc0;--system-green:#34c759;--system-teal:#5ac8fa;--system-blue:#007aff;--system-indigo:#5856d6;--system-purple:#af52de;--system-pink:#ff2d55;--system-gray:#8e8e93;--system-gray2:#aeaeb2;--system-gray3:#c7c7cc;--system-gray4:#d1d1d6;--system-gray5:#e5e5ea;--system-gray6:#f2f2f7;--label:#000;--secondary-label:#3c3c43;--tertiary-label:#48484a;--quaternary-label:#636366;--placeholder-text:#8e8e93;--link:#007aff;--separator:#e5e5ea;--opaque-separator:#c6c6c8;--system-fill:#787880;--secondary-system-fill:#787880;--tertiary-system-fill:#767680;--quaternary-system-fill:#747480;--system-background:#fff;--secondary-system-background:#f2f2f7;--tertiary-system-background:#fff;--system-grouped-background:#f2f2f7;--secondary-system-grouped-background:#fff;--tertiary-system-grouped-background:#f2f2f7}@supports (color:color(display-p3 1 1 1)){:root{--system-red:color(display-p3 1 0.2314 0.1882);--system-orange:color(display-p3 1 0.5843 0);--system-yellow:color(display-p3 1 0.8 0);--system-green:color(display-p3 0.2039 0.7804 0.349);--system-teal:color(display-p3 0.3529 0.7843 0.9804);--system-blue:color(display-p3 0 0.4784 1);--system-indigo:color(display-p3 0.3451 0.3373 0.8392);--system-purple:color(display-p3 0.6863 0.3216 0.8706);--system-pink:color(display-p3 1 0.1765 0.3333);--system-gray:color(display-p3 0.5569 0.5569 0.5765);--system-gray2:color(display-p3 0.6824 0.6824 0.698);--system-gray3:color(display-p3 0.7804 0.7804 0.8);--system-gray4:color(display-p3 0.8196 0.8196 0.8392);--system-gray5:color(display-p3 0.898 0.898 0.9176);--system-gray6:color(display-p3 0.949 0.949 0.9686);--label:color(display-p3 0 0 0);--secondary-label:color(display-p3 0.2353 0.2353 0.2627);--tertiary-label:color(display-p3 0.2823 0.2823 0.2901);--quaternary-label:color(display-p3 0.4627 0.4627 0.5019);--placeholder-text:color(display-p3 0.5568 0.5568 0.5764);--link:color(display-p3 0 0.4784 1);--separator:color(display-p3 0.898 0.898 0.9176);--opaque-separator:color(display-p3 0.7765 0.7765 0.7843);--system-fill:color(display-p3 0.4706 0.4706 0.502);--secondary-system-fill:color(display-p3 0.4706 0.4706 0.502);--tertiary-system-fill:color(display-p3 0.4627 0.4627 0.502);--quaternary-system-fill:color(display-p3 0.4549 0.4549 0.502);--system-background:color(display-p3 1 1 1);--secondary-system-background:color(display-p3 0.949 0.949 0.9686);--tertiary-system-background:color(display-p3 1 1 1);--system-grouped-background:color(display-p3 0.949 0.949 0.9686);--secondary-system-grouped-background:color(display-p3 1 1 1);--tertiary-system-grouped-background:color(display-p3 0.949 0.949 0.9686)}}:root{--large-title:600 32pt/39pt sans-serif;--title-1:600 26pt/32pt sans-serif;--title-2:600 20pt/25pt sans-serif;--title-3:500 18pt/23pt sans-serif;--headline:500 15pt/20pt sans-serif;--body:300 15pt/20pt sans-serif;--callout:300 14pt/19pt sans-serif;--subhead:300 13pt/18pt sans-serif;--footnote:300 12pt/16pt sans-serif;--caption-1:300 11pt/13pt sans-serif;--caption-2:300 11pt/13pt sans-serif;--icon-case:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Crect fill='%2389c5e6' height='90' rx='8' stroke='%236bb7e1' stroke-miterlimit='10' stroke-width='4' width='90' x='5' y='5'/%3E%3Cpath d='M20.21 50c0-20.7 11.9-32.79 30.8-32.79 16 0 28.21 10.33 28.7 25.32H64.19C63.4 35 58.09 30.11 51 30.11c-8.79 0-14.37 7.52-14.37 19.82s5.54 20 14.41 20c7.08 0 12.22-4.66 13.23-12.09h15.52c-.74 15.07-12.43 25-28.78 25C32 82.81 20.21 70.72 20.21 50z' fill='%23fff'/%3E%3C/svg%3E");--icon-class:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Crect fill='%239b98e6' height='90' rx='8' stroke='%235856d6' stroke-miterlimit='10' stroke-width='4' width='90' x='5' y='5'/%3E%3Cpath d='m20.21 50c0-20.7 11.9-32.79 30.8-32.79 16 0 28.21 10.33 28.7 25.32h-15.52c-.79-7.53-6.1-12.42-13.19-12.42-8.79 0-14.37 7.52-14.37 19.82s5.54 20 14.41 20c7.08 0 12.22-4.66 13.23-12.09h15.52c-.74 15.07-12.43 25-28.78 25-19.01-.03-30.8-12.12-30.8-32.84z' fill='%23fff'/%3E%3C/svg%3E");--icon-enumeration:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Crect fill='%23eca95b' height='90' rx='8' stroke='%23e89234' stroke-miterlimit='10' stroke-width='4' width='90' x='5.17' y='5'/%3E%3Cpath d='M71.9 81.71H28.43V18.29H71.9v13H44.56v12.62h25.71v11.87H44.56V68.7H71.9z' fill='%23fff'/%3E%3C/svg%3E");--icon-extension:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Crect fill='%23eca95b' height='90' rx='8' stroke='%23e89234' stroke-miterlimit='10' stroke-width='4' width='90' x='5' y='5'/%3E%3Cg fill='%23fff'%3E%3Cpath d='M54.43 81.93H20.51V18.07h33.92v12.26H32.61v13.8h20.45v11.32H32.61v14.22h21.82zM68.74 74.58h-.27l-2.78 7.35h-7.28L64 69.32l-6-12.54h8l2.74 7.3h.27l2.76-7.3h7.64l-6.14 12.54 5.89 12.61h-7.64z'/%3E%3C/g%3E%3C/svg%3E");--icon-function:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Crect fill='%237ac673' height='90' rx='8' stroke='%235bb74f' stroke-miterlimit='10' stroke-width='4' width='90' x='5' y='5'/%3E%3Cpath d='M24.25 75.66A5.47 5.47 0 0130 69.93c1.55 0 3.55.41 6.46.41 3.19 0 4.78-1.55 5.46-6.65l1.5-10.14h-9.34a6 6 0 110-12h11.1l1.09-7.27C47.82 23.39 54.28 17.7 64 17.7c6.69 0 11.74 1.77 11.74 6.64A5.47 5.47 0 0170 30.07c-1.55 0-3.55-.41-6.46-.41-3.14 0-4.73 1.51-5.46 6.65l-.78 5.27h11.44a6 6 0 11.05 12H55.6l-1.78 12.11C52.23 76.61 45.72 82.3 36 82.3c-6.7 0-11.75-1.77-11.75-6.64z' fill='%23fff'/%3E%3C/svg%3E");--icon-method:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Crect fill='%235a98f8' height='90' rx='8' stroke='%232974ed' stroke-miterlimit='10' stroke-width='4' width='90' x='5' y='5'/%3E%3Cpath d='M70.61 81.71v-39.6h-.31l-15.69 39.6h-9.22l-15.65-39.6h-.35v39.6H15.2V18.29h18.63l16 41.44h.36l16-41.44H84.8v63.42z' fill='%23fff'/%3E%3C/svg%3E");--icon-property:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Crect fill='%2389c5e6' height='90' rx='8' stroke='%236bb7e1' stroke-miterlimit='10' stroke-width='4' width='90' x='5' y='5'/%3E%3Cpath d='M52.31 18.29c13.62 0 22.85 8.84 22.85 22.46s-9.71 22.37-23.82 22.37H41v18.59H24.84V18.29zM41 51h7c6.85 0 10.89-3.56 10.89-10.2S54.81 30.64 48 30.64h-7z' fill='%23fff'/%3E%3C/svg%3E");--icon-protocol:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Crect fill='%23ff6682' height='90' rx='8' stroke='%23ff2d55' stroke-miterlimit='10' stroke-width='4' width='90' x='5' y='5'/%3E%3Cg fill='%23fff'%3E%3Cpath d='M46.28 18.29c11.84 0 20 8.66 20 21.71s-8.44 21.71-20.6 21.71H34.87v20H22.78V18.29zM34.87 51.34H43c6.93 0 11-4 11-11.29S50 28.8 43.07 28.8h-8.2zM62 57.45h8v4.77h.16c.84-3.45 2.54-5.12 5.17-5.12a5.06 5.06 0 011.92.35V65a5.69 5.69 0 00-2.39-.51c-3.08 0-4.66 1.74-4.66 5.12v12.1H62z'/%3E%3C/g%3E%3C/svg%3E");--icon-structure:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Crect fill='%23b57edf' height='90' rx='8' stroke='%239454c2' stroke-miterlimit='10' stroke-width='4' width='90' x='5' y='5'/%3E%3Cpath d='M38.38 63c.74 4.53 5.62 7.16 11.82 7.16s10.37-2.81 10.37-6.68c0-3.51-2.73-5.31-10.24-6.76l-6.5-1.23C31.17 53.14 24.62 47 24.62 37.28c0-12.22 10.59-20.09 25.18-20.09 16 0 25.36 7.83 25.53 19.91h-15c-.26-4.57-4.57-7.29-10.42-7.29s-9.31 2.63-9.31 6.37c0 3.34 2.9 5.18 9.8 6.5l6.5 1.23C70.46 46.51 76.61 52 76.61 62c0 12.74-10 20.83-26.72 20.83-15.82 0-26.28-7.3-26.5-19.78z' fill='%23fff'/%3E%3C/svg%3E");--icon-typealias:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Crect fill='%237ac673' height='90' rx='8' stroke='%235bb74f' stroke-miterlimit='10' stroke-width='4' width='90' x='5' y='5'/%3E%3Cpath d='M42 81.71V31.3H24.47v-13h51.06v13H58v50.41z' fill='%23fff'/%3E%3C/svg%3E");--icon-variable:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Crect fill='%237ac673' height='90' rx='8' stroke='%235bb74f' stroke-miterlimit='10' stroke-width='4' width='90' x='5' y='5'/%3E%3Cpath d='M39.85 81.71L19.63 18.29H38l12.18 47.64h.35L62.7 18.29h17.67L60.15 81.71z' fill='%23fff'/%3E%3C/svg%3E")}body,button,input,select,textarea{-moz-font-feature-settings:"kern";-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;direction:ltr;font-synthesis:none;text-align:left}@custom-selector :--heading h1, h2, h3, h4, h5, h6;@custom-selector :--text-input input[type="text"], + input[type="email"], + input[type="number"], + input[type="password"], + input[type="tel"], + input[type="url"], + textarea;:--heading{&:first-of-type{margin-top:0}& code{font-family:inherit;font-weight:inherit}& img{margin:0 .5em .2em 0;vertical-align:middle;display:inline-block}&+*{margin-top:.8em}}img+h1{margin-top:.5em}img+:--heading{margin-top:.3em}:is(:--heading)+:is(:--heading){margin-top:.4em}:matches(:--heading)+:matches(:--heading){margin-top:.4em}:is(p,ul,ol)+:is(:--heading){margin-top:1.6em}:matches(p,ul,ol)+:matches(:--heading){margin-top:1.6em}:is(p,ul,ol)+*{margin-top:.8em}:matches(p,ul,ol)+*{margin-top:.8em}ol,ul{margin-left:1.17647em}:matches(ul,ol) :matches(ul,ol){margin-bottom:0;margin-top:0}nav{& h2{color:var(--secondary-label);font-size:1rem;font-variant:small-caps;font-weight:600;text-transform:uppercase}& ol,& ul{margin:0;list-style:none}& li li{font-size:smaller}}a{&:link,&:visited{text-decoration:none}&:hover{text-decoration:underline}&:active{text-decoration:none}&+a{display:inline-block}}b,strong{font-weight:600}.discussion,.summary{font:var(--callout)}article>.discussion{margin-bottom:2em}.discussion .highlight{background:transparent;border:1px solid var(--separator);font:var(--caption-1)}cite,dfn,em,i{font-style:italic}:matches(h1,h2,h3) sup{font-size:.4em}sup a{color:inherit;vertical-align:inherit;&:hover{color:var(--link);text-decoration:none}}sub{line-height:1}abbr{border:0}:lang(ja),:lang(ko),:lang(th),:lang(zh){font-style:normal}:lang(ko){word-break:keep-all}form{& fieldset{margin:1em auto;max-width:450px;width:95%}& label{display:block;font-size:1em;font-weight:400;line-height:1.5em;margin-bottom:14px;position:relative;width:100%}}:--text-input{border-radius:4px;border:1px solid var(--separator);color:#333;font-family:inherit;font-size:100%;font-weight:400;height:34px;margin:0;padding:0 1em;position:relative;vertical-align:top;width:100%;z-index:1;&,&:focus{appearance:none}&:focus{border-color:#08c;box-shadow:0 0 0 3px rgba(0,136,204,.3);outline:0;z-index:9}&:read-only{background:none;border:none;box-shadow:none;padding-left:0}}::placeholder{color:var(--placeholder-text)}textarea{-webkit-overflow-scrolling:touch;line-height:1.4737;min-height:134px;overflow-y:auto;resize:vertical;transform:translateZ(0);&,&:focus{appearance:none}}select{background:transparent;border-radius:4px;border:none;cursor:pointer;font-family:inherit;font-size:1em;height:34px;margin:0;padding:0 1em;width:100%;&,&:focus{appearance:none}&:focus{border-color:#08c;box-shadow:0 0 0 3px rgba(0,136,204,.3);outline:0;z-index:9}}input[type=file]{background:#fafafa;border-radius:4px;color:#333;cursor:pointer;font-family:inherit;font-size:100%;height:34px;margin:0;padding:6px 1em;position:relative;vertical-align:top;width:100%;z-index:1;&:focus{border-color:#08c;outline:0;-webkit-box-shadow:0 0 0 3px rgba(0,136,204,.3);box-shadow:0 0 0 3px rgba(0,136,204,.3);z-index:9}&:focus,&:focus:focus{appearance:none}}button,input[type=reset],input[type=submit]{&,&:focus{appearance:none}}:matches(button,input[type=reset],input[type=submit]){background-color:#e3e3e3;background:linear-gradient(#fff,#e3e3e3);border-color:#d6d6d6;color:#0070c9}:matches(button,input[type=reset],input[type=submit]):hover{background-color:#eee;background:linear-gradient(#fff,#eee);border-color:#d9d9d9}:matches(button,input[type=reset],input[type=submit]):active{background-color:#dcdcdc;background:linear-gradient(#f7f7f7,#dcdcdc);border-color:#d0d0d0}:matches(button,input[type=reset],input[type=submit]):disabled{background-color:#e3e3e3;background:linear-gradient(#fff,#e3e3e3);border-color:#d6d6d6;color:#0070c9}body{background:var(--system-grouped-background);color:var(--label);font-family:ui-system,-apple-system,BlinkMacSystemFont,sans-serif;font:var(--body)}h1{font:var(--large-title)}h2{font:var(--title-2)}h3{font:var(--title-3)}h4,h5,h6{font:var(--headline)}a{color:var(--link)}label{font:var(--callout)}input,label{display:block}input{margin-bottom:1em}hr{border:none;border-top:1px solid var(--separator);margin:1em 0}table{width:100%;font:var(--caption-1);caption-side:bottom;margin-bottom:2em}td,th{padding:0 1em}th{font-weight:600;text-align:left}thead th{border-bottom:1px solid var(--separator)}tr:last-of-type td,tr:last-of-type th{border-bottom:none}td,th{border-bottom:1px solid var(--separator);color:var(--secondary-label)}caption{color:var(--tertiary-label);font:var(--caption-2);margin-top:2em;text-align:left}.graph text,code{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-weight:300}.graph{&>polygon{display:none}& text{fill:currentColor!important}& ellipse,& path,& polygon,& rect{stroke:currentColor!important}}body{width:90vw;max-width:1280px;margin:1em auto;&>header{font:var(--title-1);padding:.5em 0;& a{color:var(--label)}& span{font-weight:400}& sup{text-transform:uppercase;font-size:small;font-weight:300;letter-spacing:.1ch}}&>footer,& sup{color:var(--secondary-label)}&>footer{clear:both;padding:1em 0;font:var(--caption-1)}@media screen and (max-width:768px){width:96vw;max-width:100%;&>header{font:var(--title-3);text-align:left;padding:1em 0}&>nav{display:none}&>main{padding:0 1em}}}@media screen and (max-width:768px){#relationships figure{display:none}section>[role=article][class] pre{margin-left:-2.5em}section>[role=article][class] div{margin-left:-2em}}main,nav{overflow-x:scroll}main{background:var(--system-background);border-radius:8px;padding:0 2em;& section{border-bottom:1px solid var(--separator);margin-bottom:2em;padding-bottom:1em}& section:last-of-type{border-bottom:none;margin-bottom:0}}nav{float:right;margin-left:1em;max-height:100vh;overflow:scroll;padding:0 1em 3em;position:sticky;top:1em;width:20vw;& a{color:var(--secondary-label)}& ul a{color:var(--tertiary-label)}& ol,& ul{padding:0}& ul{font:var(--callout);margin-bottom:1em}& ol>li>a{display:block;font-size:smaller;font:var(--headline);margin:.5em 0}& li{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}blockquote{--link:var(--secondary-label);border-left:4px solid var(--separator);color:var(--secondary-label);font-size:smaller;margin-left:0;padding-left:2em;& a{text-decoration:underline}}article{padding:2em 0 1em;&>.summary{border-bottom:1px solid var(--separator);margin-bottom:2em;padding-bottom:1em}&>.summary:last-child{border-bottom:none}}.parameters{& th{text-align:right}& td{color:var(--secondary-label)}& th+td{text-align:center}}dl{padding-top:1em}dt{font:var(--headline)}dd{margin-left:2em;margin-bottom:1em;& p{margin-top:0}}.highlight{background:var(--secondary-system-background);border-radius:8px;font-size:smaller;margin-bottom:2em;overflow-x:scroll;padding:1em 1em 1em 3em;text-indent:-2em;white-space:pre-line;& .p{white-space:nowrap}& .placeholder{color:var(--label)}& a{text-decoration:underline;color:var(--placeholder-text)}& .attribute,& .keyword,& .literal{color:var(--system-purple)}& .number{color:var(--system-blue)}& .declaration{color:var(--system-teal)}& .type{color:var(--system-indigo)}& .directive{color:var(--system-orange)}& .comment{color:var(--system-gray)}}main summary:hover{text-decoration:underline}figure{margin:2em 0;padding:1em 0;& svg{max-width:100%;height:auto!important;margin:0 auto;display:block}}h1 small{font-size:.5em;line-height:1.5;display:block;font-weight:400;color:var(--quaternary-label)}dd code,li code,p code{font-size:smaller;color:var(--secondary-label)}a code{text-decoration:underline}dl dt[class],nav li[class],section>[role=article][class]{background-image:var(--background-image);background-size:1em;background-repeat:no-repeat;background-position:left .25em;padding-left:3em}dl dt[class]{background-position-y:.125em}section>[role=article]{margin-bottom:1em;padding-bottom:1em;border-bottom:1px solid var(--separator);padding-left:2em!important}section>[role=article]:last-of-type{margin-bottom:0;padding-bottom:0;border-bottom:none}dl dt[class],nav li[class]{list-style:none;text-indent:-1em;margin-bottom:.5em}nav li[class]{padding-left:2.5em}.case,.enumeration_case{--background-image:var(--icon-case);--link:var(--system-teal)}.class{--background-image:var(--icon-class);--link:var(--system-indigo)}.enumeration{--background-image:var(--icon-enumeration)}.enumeration,.extension{--link:var(--system-orange)}.extension{--background-image:var(--icon-extension)}.function{--background-image:var(--icon-function);--link:var(--system-green)}.initializer,.method{--background-image:var(--icon-method);--link:var(--system-blue)}.property{--background-image:var(--icon-property);--link:var(--system-teal)}.protocol{--background-image:var(--icon-protocol);--link:var(--system-pink)}.structure{--background-image:var(--icon-structure);--link:red}.typealias{--background-image:var(--icon-typealias)}.typealias,.variable{--link:var(--system-green)}.variable{--background-image:var(--icon-variable)}.unknown{--link:var(--quaternary-label);color:var(--link)} +/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL0Fzc2V0cy9jc3Mvc3R5bGVzLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUNFLG9CQUE4QixDQUM5Qix1QkFBaUMsQ0FDakMsb0JBQWlDLENBQ2pDLHNCQUFnQyxDQUNoQyxxQkFBZ0MsQ0FDaEMscUJBQStCLENBQy9CLHVCQUFpQyxDQUNqQyx1QkFBa0MsQ0FDbEMscUJBQStCLENBQy9CLHFCQUFpQyxDQUNqQyxzQkFBa0MsQ0FDbEMsc0JBQWtDLENBQ2xDLHNCQUFrQyxDQUNsQyxzQkFBa0MsQ0FDbEMsc0JBQWtDLENBRWxDLFlBQXFCLENBQ3JCLHlCQUFrQyxDQUNsQyx3QkFBaUMsQ0FDakMsMEJBQW9DLENBQ3BDLDBCQUFzQyxDQUN0QyxjQUF3QixDQUN4QixtQkFBK0IsQ0FDL0IsMEJBQXNDLENBQ3RDLHFCQUFpQyxDQUNqQywrQkFBMkMsQ0FDM0MsOEJBQTBDLENBQzFDLGdDQUE0QyxDQUM1Qyx3QkFBdUMsQ0FDdkMscUNBQWlELENBQ2pELGlDQUFnRCxDQUNoRCxtQ0FBK0MsQ0FDL0MsMENBQXlELENBQ3pELDRDQUNGLENBRUEsMENBQ0UsTUFDRSw4Q0FBK0MsQ0FDL0MsNENBQTZDLENBQzdDLHlDQUEwQyxDQUMxQyxvREFBcUQsQ0FDckQsb0RBQXFELENBQ3JELDBDQUEyQyxDQUMzQyxzREFBdUQsQ0FDdkQsc0RBQXVELENBQ3ZELCtDQUFnRCxDQUNoRCxvREFBcUQsQ0FDckQsb0RBQXFELENBQ3JELGtEQUFtRCxDQUNuRCxxREFBc0QsQ0FDdEQsbURBQW9ELENBQ3BELG1EQUFvRCxDQUVwRCwrQkFBZ0MsQ0FDaEMsd0RBQXlELENBQ3pELHVEQUF3RCxDQUN4RCx5REFBMEQsQ0FDMUQseURBQTBELENBQzFELG1DQUFvQyxDQUNwQyxnREFBaUQsQ0FDakQseURBQTBELENBQzFELG1EQUFvRCxDQUNwRCw2REFBOEQsQ0FDOUQsNERBQTZELENBQzdELDhEQUErRCxDQUMvRCwyQ0FBNEMsQ0FDNUMsa0VBQW1FLENBQ25FLG9EQUFxRCxDQUNyRCxnRUFBaUUsQ0FDakUsNkRBQThELENBQzlELHlFQUNGLENBQ0YsQ0F5RkEsTUFDRSxzQ0FBeUMsQ0FDekMsa0NBQXFDLENBQ3JDLGtDQUFxQyxDQUNyQyxrQ0FBcUMsQ0FDckMsbUNBQXNDLENBQ3RDLCtCQUFrQyxDQUNsQyxrQ0FBcUMsQ0FDckMsa0NBQXFDLENBQ3JDLG1DQUFzQyxDQUN0QyxvQ0FBdUMsQ0FDdkMsb0NBQXVDLENBSXZDLG9oQkFBK2dCLENBQy9nQixpaEJBQWtoQixDQUNsaEIsaVhBQThXLENBQzlXLGdmQUEyZixDQUMzZix5cEJBQWlxQixDQUNqcUIsbVpBQTZZLENBQzdZLDBiQUFnYyxDQUNoYyx3a0JBQThsQixDQUM5bEIsc3BCQUFpcEIsQ0FDanBCLCtVQUE0VSxDQUM1VSw0V0FiRixDQWtCQSxrQ0FLRSxpQ0FBa0MsQ0FDbEMsaUNBQWtDLENBQ2xDLGtDQUFtQyxDQUNuQyxhQUFjLENBQ2QsbUJBQW9CLENBQ3BCLGVBQ0YsQ0FFQSxrREFBa0QsQ0FDbEQ7Ozs7OztVQU1VLENBRVYsV0FDRSxnQkFDRSxZQUNGLENBRUEsT0FDRSxtQkFBb0IsQ0FDcEIsbUJBQ0YsQ0FFQSxNQUNFLG9CQUF1QixDQUN2QixxQkFBc0IsQ0FDdEIsb0JBQ0YsQ0FFQSxJQUNFLGVBQ0YsQ0FDRixDQUVBLE9BQ0UsZUFDRixDQUVBLGVBQ0UsZUFDRixDQUVBLGdDQUNFLGVBQ0YsQ0FFQSwwQ0FDRSxlQUNGLENBRUEsNkJBQ0UsZ0JBQ0YsQ0FFQSx1Q0FDRSxnQkFDRixDQUVBLGVBQ0UsZUFDRixDQUVBLG9CQUNFLGVBQ0YsQ0FFQSxNQUVFLHFCQUNGLENBRUEsZ0NBQ0UsZUFBZ0IsQ0FDaEIsWUFDRixDQUVBLElBQ0UsS0FDRSw0QkFBNkIsQ0FDN0IsY0FBZSxDQUNmLHVCQUF3QixDQUN4QixlQUFnQixDQUNoQix3QkFDRixDQUVBLFVBRUUsUUFBUyxDQUNULGVBQ0YsQ0FFQSxRQUNFLGlCQUNGLENBQ0YsQ0FFQSxFQUNFLGlCQUVFLG9CQUNGLENBQ0EsUUFDRSx5QkFDRixDQUNBLFNBQ0Usb0JBQ0YsQ0FFQSxJQUNFLG9CQUNGLENBQ0YsQ0FFQSxTQUVFLGVBQ0YsQ0FFQSxxQkFFRSxtQkFDRixDQUVBLG9CQUNFLGlCQUNGLENBRUEsdUJBQ0Usc0JBQXVCLENBQ3ZCLGlDQUFrQyxDQUNsQyxxQkFDRixDQUVBLGNBSUUsaUJBQ0YsQ0FTQSx1QkFDRSxjQUNGLENBRUEsTUFDRSxhQUFjLENBQ2Qsc0JBQXVCLENBRXZCLFFBQ0UsaUJBQWtCLENBQ2xCLG9CQUNGLENBQ0YsQ0FFQSxJQUNFLGFBQ0YsQ0FFQSxLQUNFLFFBQ0YsQ0FFQSx3Q0FJRSxpQkFDRixDQUVBLFVBQ0UsbUJBQ0YsQ0FFQSxLQUNFLFdBQ0UsZUFBZ0IsQ0FDaEIsZUFBZ0IsQ0FDaEIsU0FDRixDQUVBLFFBQ0UsYUFBYyxDQUNkLGFBQWMsQ0FDZCxlQUFnQixDQUNoQixpQkFBa0IsQ0FDbEIsa0JBQW1CLENBQ25CLGlCQUFrQixDQUNsQixVQUNGLENBQ0YsQ0FFQSxjQUNFLGlCQUFrQixDQUNsQixpQ0FBa0MsQ0FDbEMsVUFBYyxDQUNkLG1CQUFvQixDQUNwQixjQUFlLENBQ2YsZUFBZ0IsQ0FDaEIsV0FBWSxDQUNaLFFBQVMsQ0FDVCxhQUFnQixDQUNoQixpQkFBa0IsQ0FDbEIsa0JBQW1CLENBQ25CLFVBQVcsQ0FDWCxTQUFVLENBRVYsVUFFRSxlQUNGLENBRUEsUUFDRSxpQkFBcUIsQ0FDckIsdUNBQTRDLENBQzVDLFNBQVUsQ0FDVixTQUNGLENBRUEsWUFDRSxlQUFnQixDQUNoQixXQUFZLENBQ1osZUFBZ0IsQ0FDaEIsY0FDRixDQUNGLENBRUEsY0FDRSw2QkFDRixDQUVBLFNBQ0UsZ0NBQWlDLENBQ2pDLGtCQUFtQixDQUNuQixnQkFBaUIsQ0FDakIsZUFBZ0IsQ0FDaEIsZUFBZ0IsQ0FDaEIsdUJBQStCLENBRS9CLFVBRUUsZUFDRixDQUNGLENBRUEsT0FDRSxzQkFBdUIsQ0FDdkIsaUJBQWtCLENBQ2xCLFdBQVksQ0FDWixjQUFlLENBQ2YsbUJBQW9CLENBQ3BCLGFBQWMsQ0FDZCxXQUFZLENBQ1osUUFBUyxDQUNULGFBQWMsQ0FDZCxVQUFXLENBRVgsVUFFRSxlQUNGLENBRUEsUUFDRSxpQkFBcUIsQ0FDckIsdUNBQTRDLENBQzVDLFNBQVUsQ0FDVixTQUNGLENBQ0YsQ0FFQSxpQkFDRSxrQkFBbUIsQ0FDbkIsaUJBQWtCLENBQ2xCLFVBQWMsQ0FDZCxjQUFlLENBQ2YsbUJBQW9CLENBQ3BCLGNBQWUsQ0FDZixXQUFZLENBQ1osUUFBUyxDQUNULGVBQWdCLENBQ2hCLGlCQUFrQixDQUNsQixrQkFBbUIsQ0FDbkIsVUFBVyxDQUNYLFNBQVUsQ0FFVixRQUNFLGlCQUFxQixDQUNyQixTQUFVLENBQ1YsK0NBQW9ELENBQ3BELHVDQUE0QyxDQUM1QyxTQUNGLENBRUEsc0JBRUUsZUFDRixDQUNGLENBRUEsNENBR0UsVUFFRSxlQUNGLENBQ0YsQ0FFQSxzREFDRSx3QkFBeUIsQ0FDekIsd0NBQTJDLENBQzNDLG9CQUFxQixDQUNyQixhQUNGLENBQ0EsNERBQ0UscUJBQXlCLENBQ3pCLHFDQUEyQyxDQUMzQyxvQkFDRixDQUNBLDZEQUNFLHdCQUEyQixDQUMzQiwyQ0FBK0MsQ0FDL0Msb0JBQ0YsQ0FDQSwrREFDRSx3QkFBeUIsQ0FDekIsd0NBQTJDLENBQzNDLG9CQUFxQixDQUNyQixhQUNGLENBSUEsS0FDRSwyQ0FBNEMsQ0FDNUMsa0JBQW1CLENBQ25CLGlFQUFxRSxDQUNyRSxnQkFDRixDQUVBLEdBQ0UsdUJBQ0YsQ0FFQSxHQUNFLG1CQUNGLENBRUEsR0FDRSxtQkFDRixDQUVBLFNBR0Usb0JBQ0YsQ0FRQSxFQUNFLGlCQUNGLENBRUEsTUFDRSxtQkFDRixDQUVBLFlBRUUsYUFDRixDQUVBLE1BQ0UsaUJBQ0YsQ0FZQSxHQUNFLFdBQVksQ0FDWixxQ0FBc0MsQ0FDdEMsWUFDRixDQUVBLE1BQ0UsVUFBVyxDQUNYLHFCQUFzQixDQUN0QixtQkFBb0IsQ0FDcEIsaUJBQ0YsQ0FFQSxNQUVFLGFBQ0YsQ0FFQSxHQUNFLGVBQWdCLENBQ2hCLGVBQ0YsQ0FFQSxTQUNFLHdDQUNGLENBRUEsc0NBRUUsa0JBQ0YsQ0FFQSxNQUVFLHdDQUF5QyxDQUN6Qyw0QkFDRixDQUVBLFFBQ0UsMkJBQTRCLENBQzVCLHFCQUFzQixDQUN0QixjQUFlLENBQ2YsZUFDRixDQUVBLGlCQUVFLHNGQUFpRyxDQUNqRyxlQUNGLENBRUEsT0FDRSxVQUNFLFlBQ0YsQ0FFQSxPQUNFLDJCQUNGLENBRUEsa0NBSUUsNkJBQ0YsQ0FDRixDQUVBLEtBQ0UsVUFBVyxDQUNYLGdCQUFpQixDQUNqQixlQUFnQixDQUVoQixTQUNFLG1CQUFvQixDQUNwQixjQUFnQixDQUVoQixJQUNFLGtCQUNGLENBRUEsT0FDRSxlQUNGLENBRUEsTUFDRSx3QkFBeUIsQ0FDekIsZUFBZ0IsQ0FDaEIsZUFBZ0IsQ0FFaEIsbUJBQ0YsQ0FDRixDQUVBLGVBTEksNEJBVUosQ0FMQSxTQUNFLFVBQVcsQ0FDWCxhQUFjLENBQ2QscUJBRUYsQ0FFQSxvQ0FDRSxVQUFXLENBQ1gsY0FBZSxDQUVmLFNBQ0UsbUJBQW9CLENBQ3BCLGVBQWdCLENBQ2hCLGFBQ0YsQ0FFQSxNQUNFLFlBQ0YsQ0FFQSxPQUNFLGFBQ0YsQ0FDRixDQUNGLENBRUEsb0NBQ0Usc0JBQ0UsWUFDRixDQUVBLGtDQUNFLGtCQUNGLENBRUEsa0NBQ0UsZ0JBQ0YsQ0FDRixDQUVBLFNBRUUsaUJBQ0YsQ0FFQSxLQUNFLG1DQUFvQyxDQUNwQyxpQkFBa0IsQ0FDbEIsYUFBYyxDQUVkLFVBQ0Usd0NBQXlDLENBQ3pDLGlCQUFrQixDQUNsQixrQkFDRixDQUVBLHVCQUNFLGtCQUFtQixDQUNuQixlQUNGLENBQ0YsQ0FLQSxJQUNFLFdBQVksQ0FDWixlQUFnQixDQUNoQixnQkFBaUIsQ0FDakIsZUFBZ0IsQ0FDaEIsaUJBQXNCLENBQ3RCLGVBQWdCLENBQ2hCLE9BQVEsQ0FDUixVQUFXLENBRVgsSUFDRSw0QkFDRixDQUVBLE9BQ0UsMkJBQ0YsQ0FNQSxVQUhFLFNBT0YsQ0FKQSxLQUNFLG1CQUFvQixDQUNwQixpQkFFRixDQUVBLFVBQ0UsYUFBYyxDQUNkLGlCQUFrQixDQUNsQixvQkFBcUIsQ0FDckIsYUFDRixDQUVBLEtBQ0UsZUFBZ0IsQ0FDaEIsc0JBQXVCLENBQ3ZCLGtCQUNGLENBQ0YsQ0FtQkEsV0FDRSw2QkFBOEIsQ0FDOUIsc0NBQXVDLENBQ3ZDLDRCQUE2QixDQUM3QixpQkFBa0IsQ0FDbEIsYUFBYyxDQUNkLGdCQUFpQixDQUVqQixJQUNFLHlCQUNGLENBQ0YsQ0FFQSxRQUNFLGlCQUFvQixDQUVwQixXQUNFLHdDQUF5QyxDQUN6QyxpQkFBa0IsQ0FDbEIsa0JBQ0YsQ0FFQSxzQkFDRSxrQkFDRixDQUNGLENBRUEsWUFDRSxLQUNFLGdCQUNGLENBRUEsS0FDRSw0QkFDRixDQUVBLFFBQ0UsaUJBQ0YsQ0FDRixDQUVBLEdBQ0UsZUFDRixDQUVBLEdBQ0Usb0JBQ0YsQ0FFQSxHQUNFLGVBQWdCLENBQ2hCLGlCQUFrQixDQUVsQixJQUNFLFlBQ0YsQ0FDRixDQUVBLFdBQ0UsNkNBQThDLENBQzlDLGlCQUFrQixDQUNsQixpQkFBa0IsQ0FDbEIsaUJBQWtCLENBQ2xCLGlCQUFrQixDQUVsQix1QkFBaUIsQ0FDakIsZ0JBQWlCLENBQ2pCLG9CQUFxQixDQUVyQixLQUNFLGtCQUNGLENBRUEsZUFDRSxrQkFDRixDQUVBLElBQ0UseUJBQTBCLENBQzFCLDZCQUNGLENBRUEsbUNBR0UsMEJBQ0YsQ0FFQSxVQUNFLHdCQUNGLENBRUEsZUFDRSx3QkFDRixDQUVBLFFBQ0UsMEJBQ0YsQ0FFQSxhQUNFLDBCQUNGLENBRUEsV0FDRSx3QkFDRixDQUNGLENBRUEsbUJBQ0UseUJBQ0YsQ0FFQSxPQUNFLFlBQWEsQ0FDYixhQUFjLENBRWQsTUFDRSxjQUFlLENBQ2YscUJBQXVCLENBQ3ZCLGFBQWMsQ0FDZCxhQUNGLENBQ0YsQ0FFQSxTQUNFLGNBQWdCLENBQ2hCLGVBQWdCLENBQ2hCLGFBQWMsQ0FDZCxlQUFtQixDQUNuQiw2QkFDRixDQUVBLHVCQUdFLGlCQUFrQixDQUNsQiw0QkFDRixDQUVBLE9BQ0UseUJBQ0YsQ0FFQSx5REFHRSx3Q0FBeUMsQ0FDekMsbUJBQW9CLENBQ3BCLDJCQUE0QixDQUM1Qiw4QkFBZ0MsQ0FDaEMsZ0JBQ0YsQ0FFQSxhQUNFLDRCQUNGLENBRUEsdUJBQ0UsaUJBQWtCLENBQ2xCLGtCQUFtQixDQUNuQix3Q0FBeUMsQ0FDekMsMEJBQ0YsQ0FFQSxvQ0FDRSxlQUFnQixDQUNoQixnQkFBaUIsQ0FDakIsa0JBQ0YsQ0FFQSwyQkFFRSxlQUFnQixDQUNoQixnQkFBaUIsQ0FDakIsa0JBQ0YsQ0FFQSxjQUNFLGtCQUNGLENBRUEsd0JBRUUsbUNBQW9DLENBQ3BDLHlCQUNGLENBRUEsT0FDRSxvQ0FBcUMsQ0FDckMsMkJBQ0YsQ0FFQSxhQUNFLDBDQUVGLENBRUEsd0JBSEUsMkJBTUYsQ0FIQSxXQUNFLHdDQUVGLENBRUEsVUFDRSx1Q0FBd0MsQ0FDeEMsMEJBQ0YsQ0FFQSxxQkFFRSxxQ0FBc0MsQ0FDdEMseUJBQ0YsQ0FFQSxVQUNFLHVDQUF3QyxDQUN4Qyx5QkFDRixDQUVBLFVBQ0UsdUNBQXdDLENBQ3hDLHlCQUNGLENBRUEsV0FDRSx3Q0FBeUMsQ0FDekMsVUFDRixDQUVBLFdBQ0Usd0NBRUYsQ0FFQSxxQkFIRSwwQkFNRixDQUhBLFVBQ0UsdUNBRUYsQ0FFQSxTQUNFLDhCQUErQixDQUMvQixpQkFDRiIsImZpbGUiOiJhbGwubWluLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIjpyb290IHtcbiAgLS1zeXN0ZW0tcmVkOiByZ2IoMjU1LCA1OSwgNDgpO1xuICAtLXN5c3RlbS1vcmFuZ2U6IHJnYigyNTUsIDE0OSwgMCk7XG4gIC0tc3lzdGVtLXllbGxvdzogcmdiKDI1NSwgMjA0LCAwKTtcbiAgLS1zeXN0ZW0tZ3JlZW46IHJnYig1MiwgMTk5LCA4OSk7XG4gIC0tc3lzdGVtLXRlYWw6IHJnYig5MCwgMjAwLCAyNTApO1xuICAtLXN5c3RlbS1ibHVlOiByZ2IoMCwgMTIyLCAyNTUpO1xuICAtLXN5c3RlbS1pbmRpZ286IHJnYig4OCwgODYsIDIxNCk7XG4gIC0tc3lzdGVtLXB1cnBsZTogcmdiKDE3NSwgODIsIDIyMik7XG4gIC0tc3lzdGVtLXBpbms6IHJnYigyNTUsIDQ1LCA4NSk7XG4gIC0tc3lzdGVtLWdyYXk6IHJnYigxNDIsIDE0MiwgMTQ3KTtcbiAgLS1zeXN0ZW0tZ3JheTI6IHJnYigxNzQsIDE3NCwgMTc4KTtcbiAgLS1zeXN0ZW0tZ3JheTM6IHJnYigxOTksIDE5OSwgMjA0KTtcbiAgLS1zeXN0ZW0tZ3JheTQ6IHJnYigyMDksIDIwOSwgMjE0KTtcbiAgLS1zeXN0ZW0tZ3JheTU6IHJnYigyMjksIDIyOSwgMjM0KTtcbiAgLS1zeXN0ZW0tZ3JheTY6IHJnYigyNDIsIDI0MiwgMjQ3KTtcblxuICAtLWxhYmVsOiByZ2IoMCwgMCwgMCk7XG4gIC0tc2Vjb25kYXJ5LWxhYmVsOiByZ2IoNjAsIDYwLCA2Nyk7XG4gIC0tdGVydGlhcnktbGFiZWw6IHJnYig3MiwgNzIsIDc0KTtcbiAgLS1xdWF0ZXJuYXJ5LWxhYmVsOiByZ2IoOTksIDk5LCAxMDIpO1xuICAtLXBsYWNlaG9sZGVyLXRleHQ6IHJnYigxNDIsIDE0MiwgMTQ3KTtcbiAgLS1saW5rOiByZ2IoMCwgMTIyLCAyNTUpO1xuICAtLXNlcGFyYXRvcjogcmdiKDIyOSwgMjI5LCAyMzQpO1xuICAtLW9wYXF1ZS1zZXBhcmF0b3I6IHJnYigxOTgsIDE5OCwgMjAwKTtcbiAgLS1zeXN0ZW0tZmlsbDogcmdiKDEyMCwgMTIwLCAxMjgpO1xuICAtLXNlY29uZGFyeS1zeXN0ZW0tZmlsbDogcmdiKDEyMCwgMTIwLCAxMjgpO1xuICAtLXRlcnRpYXJ5LXN5c3RlbS1maWxsOiByZ2IoMTE4LCAxMTgsIDEyOCk7XG4gIC0tcXVhdGVybmFyeS1zeXN0ZW0tZmlsbDogcmdiKDExNiwgMTE2LCAxMjgpO1xuICAtLXN5c3RlbS1iYWNrZ3JvdW5kOiByZ2IoMjU1LCAyNTUsIDI1NSk7XG4gIC0tc2Vjb25kYXJ5LXN5c3RlbS1iYWNrZ3JvdW5kOiByZ2IoMjQyLCAyNDIsIDI0Nyk7XG4gIC0tdGVydGlhcnktc3lzdGVtLWJhY2tncm91bmQ6IHJnYigyNTUsIDI1NSwgMjU1KTtcbiAgLS1zeXN0ZW0tZ3JvdXBlZC1iYWNrZ3JvdW5kOiByZ2IoMjQyLCAyNDIsIDI0Nyk7XG4gIC0tc2Vjb25kYXJ5LXN5c3RlbS1ncm91cGVkLWJhY2tncm91bmQ6IHJnYigyNTUsIDI1NSwgMjU1KTtcbiAgLS10ZXJ0aWFyeS1zeXN0ZW0tZ3JvdXBlZC1iYWNrZ3JvdW5kOiByZ2IoMjQyLCAyNDIsIDI0Nyk7XG59XG5cbkBzdXBwb3J0cyAoY29sb3I6IGNvbG9yKGRpc3BsYXktcDMgMSAxIDEpKSB7XG4gIDpyb290IHtcbiAgICAtLXN5c3RlbS1yZWQ6IGNvbG9yKGRpc3BsYXktcDMgMSAwLjIzMTQgMC4xODgyKTtcbiAgICAtLXN5c3RlbS1vcmFuZ2U6IGNvbG9yKGRpc3BsYXktcDMgMSAwLjU4NDMgMCk7XG4gICAgLS1zeXN0ZW0teWVsbG93OiBjb2xvcihkaXNwbGF5LXAzIDEgMC44IDApO1xuICAgIC0tc3lzdGVtLWdyZWVuOiBjb2xvcihkaXNwbGF5LXAzIDAuMjAzOSAwLjc4MDQgMC4zNDkpO1xuICAgIC0tc3lzdGVtLXRlYWw6IGNvbG9yKGRpc3BsYXktcDMgMC4zNTI5IDAuNzg0MyAwLjk4MDQpO1xuICAgIC0tc3lzdGVtLWJsdWU6IGNvbG9yKGRpc3BsYXktcDMgMCAwLjQ3ODQgMSk7XG4gICAgLS1zeXN0ZW0taW5kaWdvOiBjb2xvcihkaXNwbGF5LXAzIDAuMzQ1MSAwLjMzNzMgMC44MzkyKTtcbiAgICAtLXN5c3RlbS1wdXJwbGU6IGNvbG9yKGRpc3BsYXktcDMgMC42ODYzIDAuMzIxNiAwLjg3MDYpO1xuICAgIC0tc3lzdGVtLXBpbms6IGNvbG9yKGRpc3BsYXktcDMgMSAwLjE3NjUgMC4zMzMzKTtcbiAgICAtLXN5c3RlbS1ncmF5OiBjb2xvcihkaXNwbGF5LXAzIDAuNTU2OSAwLjU1NjkgMC41NzY1KTtcbiAgICAtLXN5c3RlbS1ncmF5MjogY29sb3IoZGlzcGxheS1wMyAwLjY4MjQgMC42ODI0IDAuNjk4KTtcbiAgICAtLXN5c3RlbS1ncmF5MzogY29sb3IoZGlzcGxheS1wMyAwLjc4MDQgMC43ODA0IDAuOCk7XG4gICAgLS1zeXN0ZW0tZ3JheTQ6IGNvbG9yKGRpc3BsYXktcDMgMC44MTk2IDAuODE5NiAwLjgzOTIpO1xuICAgIC0tc3lzdGVtLWdyYXk1OiBjb2xvcihkaXNwbGF5LXAzIDAuODk4IDAuODk4IDAuOTE3Nik7XG4gICAgLS1zeXN0ZW0tZ3JheTY6IGNvbG9yKGRpc3BsYXktcDMgMC45NDkgMC45NDkgMC45Njg2KTtcblxuICAgIC0tbGFiZWw6IGNvbG9yKGRpc3BsYXktcDMgMCAwIDApO1xuICAgIC0tc2Vjb25kYXJ5LWxhYmVsOiBjb2xvcihkaXNwbGF5LXAzIDAuMjM1MyAwLjIzNTMgMC4yNjI3KTtcbiAgICAtLXRlcnRpYXJ5LWxhYmVsOiBjb2xvcihkaXNwbGF5LXAzIDAuMjgyMyAwLjI4MjMgMC4yOTAxKTtcbiAgICAtLXF1YXRlcm5hcnktbGFiZWw6IGNvbG9yKGRpc3BsYXktcDMgMC40NjI3IDAuNDYyNyAwLjUwMTkpO1xuICAgIC0tcGxhY2Vob2xkZXItdGV4dDogY29sb3IoZGlzcGxheS1wMyAwLjU1NjggMC41NTY4IDAuNTc2NCk7XG4gICAgLS1saW5rOiBjb2xvcihkaXNwbGF5LXAzIDAgMC40Nzg0IDEpO1xuICAgIC0tc2VwYXJhdG9yOiBjb2xvcihkaXNwbGF5LXAzIDAuODk4IDAuODk4IDAuOTE3Nik7XG4gICAgLS1vcGFxdWUtc2VwYXJhdG9yOiBjb2xvcihkaXNwbGF5LXAzIDAuNzc2NSAwLjc3NjUgMC43ODQzKTtcbiAgICAtLXN5c3RlbS1maWxsOiBjb2xvcihkaXNwbGF5LXAzIDAuNDcwNiAwLjQ3MDYgMC41MDIpO1xuICAgIC0tc2Vjb25kYXJ5LXN5c3RlbS1maWxsOiBjb2xvcihkaXNwbGF5LXAzIDAuNDcwNiAwLjQ3MDYgMC41MDIpO1xuICAgIC0tdGVydGlhcnktc3lzdGVtLWZpbGw6IGNvbG9yKGRpc3BsYXktcDMgMC40NjI3IDAuNDYyNyAwLjUwMik7XG4gICAgLS1xdWF0ZXJuYXJ5LXN5c3RlbS1maWxsOiBjb2xvcihkaXNwbGF5LXAzIDAuNDU0OSAwLjQ1NDkgMC41MDIpO1xuICAgIC0tc3lzdGVtLWJhY2tncm91bmQ6IGNvbG9yKGRpc3BsYXktcDMgMSAxIDEpO1xuICAgIC0tc2Vjb25kYXJ5LXN5c3RlbS1iYWNrZ3JvdW5kOiBjb2xvcihkaXNwbGF5LXAzIDAuOTQ5IDAuOTQ5IDAuOTY4Nik7XG4gICAgLS10ZXJ0aWFyeS1zeXN0ZW0tYmFja2dyb3VuZDogY29sb3IoZGlzcGxheS1wMyAxIDEgMSk7XG4gICAgLS1zeXN0ZW0tZ3JvdXBlZC1iYWNrZ3JvdW5kOiBjb2xvcihkaXNwbGF5LXAzIDAuOTQ5IDAuOTQ5IDAuOTY4Nik7XG4gICAgLS1zZWNvbmRhcnktc3lzdGVtLWdyb3VwZWQtYmFja2dyb3VuZDogY29sb3IoZGlzcGxheS1wMyAxIDEgMSk7XG4gICAgLS10ZXJ0aWFyeS1zeXN0ZW0tZ3JvdXBlZC1iYWNrZ3JvdW5kOiBjb2xvcihkaXNwbGF5LXAzIDAuOTQ5IDAuOTQ5IDAuOTY4Nik7XG4gIH1cbn1cblxuLypcbkBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcbiAgICA6cm9vdCB7XG4gICAgICAgIC0tc3lzdGVtLXJlZDogcmdiKDI1NSwgNjksIDU4KTtcbiAgICAgICAgLS1zeXN0ZW0tb3JhbmdlOiByZ2IoMjU1LCAxNTksIDEwKTtcbiAgICAgICAgLS1zeXN0ZW0teWVsbG93OiByZ2IoMjU1LCAyMTQsIDEwKTtcbiAgICAgICAgLS1zeXN0ZW0tZ3JlZW46IHJnYig0OCwgMjA5LCA4OCk7XG4gICAgICAgIC0tc3lzdGVtLXRlYWw6IHJnYigxMDAsIDIxMCwgMjU1KTtcbiAgICAgICAgLS1zeXN0ZW0tYmx1ZTogcmdiKDEwLCAxMzIsIDI1NSk7XG4gICAgICAgIC0tc3lzdGVtLWluZGlnbzogcmdiKDk0LCA5MiwgMjMwKTtcbiAgICAgICAgLS1zeXN0ZW0tcHVycGxlOiByZ2IoMTkxLCA5MCwgMjQyKTtcbiAgICAgICAgLS1zeXN0ZW0tcGluazogcmdiKDI1NSwgNTUsIDk1KTtcbiAgICAgICAgLS1zeXN0ZW0tZ3JheTogcmdiKDE0MiwgMTQyLCAxNDcpO1xuICAgICAgICAtLXN5c3RlbS1ncmF5MjogcmdiKDk5LCA5OSwgMTAyKTtcbiAgICAgICAgLS1zeXN0ZW0tZ3JheTM6IHJnYig3MiwgNzIsIDc0KTtcbiAgICAgICAgLS1zeXN0ZW0tZ3JheTQ6IHJnYig1OCwgNTgsIDYwKTtcbiAgICAgICAgLS1zeXN0ZW0tZ3JheTU6IHJnYig0NCwgNDQsIDQ2KTtcbiAgICAgICAgLS1zeXN0ZW0tZ3JheTY6IHJnYigyOCwgMjgsIDMwKTtcblxuICAgICAgICAtLWxhYmVsOiByZ2IoMjU1LCAyNTUsIDI1NSk7XG4gICAgICAgIC0tc2Vjb25kYXJ5LWxhYmVsOiByZ2IoMjM1LCAyMzUsIDI0NSk7XG4gICAgICAgIC0tdGVydGlhcnktbGFiZWw6IHJnYigyMzUsIDIzNSwgMjQ1KTtcbiAgICAgICAgLS1xdWF0ZXJuYXJ5LWxhYmVsOiByZ2IoMjM1LCAyMzUsIDI0NSk7XG4gICAgICAgIC0tcGxhY2Vob2xkZXItdGV4dDogcmdiKDIzNSwgMjM1LCAyNDUpO1xuICAgICAgICAtLWxpbms6IHJnYig5LCAxMzIsIDI1NSk7XG4gICAgICAgIC0tc2VwYXJhdG9yOiByZ2IoNDQsIDQ0LCA0Nik7XG4gICAgICAgIC0tb3BhcXVlLXNlcGFyYXRvcjogcmdiKDU2LCA1NiwgNTgpO1xuICAgICAgICAtLXN5c3RlbS1maWxsOiByZ2IoMTIwLCAxMjAsIDEyOCk7XG4gICAgICAgIC0tc2Vjb25kYXJ5LXN5c3RlbS1maWxsOiByZ2IoMTIwLCAxMjAsIDEyOCk7XG4gICAgICAgIC0tdGVydGlhcnktc3lzdGVtLWZpbGw6IHJnYigxMTgsIDExOCwgMTI4KTtcbiAgICAgICAgLS1xdWF0ZXJuYXJ5LXN5c3RlbS1maWxsOiByZ2IoMTE4LCAxMTgsIDEyOCk7XG4gICAgICAgIC0tc3lzdGVtLWJhY2tncm91bmQ6IHJnYigwLCAwLCAwKTtcbiAgICAgICAgLS1zZWNvbmRhcnktc3lzdGVtLWJhY2tncm91bmQ6IHJnYigyOCwgMjgsIDMwKTtcbiAgICAgICAgLS10ZXJ0aWFyeS1zeXN0ZW0tYmFja2dyb3VuZDogcmdiKDQ0LCA0NCwgNDYpO1xuICAgICAgICAtLXN5c3RlbS1ncm91cGVkLWJhY2tncm91bmQ6IHJnYigwLCAwLCAwKTtcbiAgICAgICAgLS1zZWNvbmRhcnktc3lzdGVtLWdyb3VwZWQtYmFja2dyb3VuZDogcmdiKDI4LCAyOCwgMzApO1xuICAgICAgICAtLXRlcnRpYXJ5LXN5c3RlbS1ncm91cGVkLWJhY2tncm91bmQ6IHJnYig0NCwgNDQsIDQ2KTtcbiAgICB9XG5cbiAgICBAc3VwcG9ydHMgKGNvbG9yOiBjb2xvcihkaXNwbGF5LXAzIDEgMSAxKSkge1xuICAgICAgICA6cm9vdCB7XG4gICAgICAgICAgICAtLXN5c3RlbS1yZWQ6IGNvbG9yKGRpc3BsYXktcDMgMSAwLjQxMTggMC4zODA0KTtcbiAgICAgICAgICAgIC0tc3lzdGVtLW9yYW5nZTogY29sb3IoZGlzcGxheS1wMyAxIDAuNzAyIDAuMjUxKTtcbiAgICAgICAgICAgIC0tc3lzdGVtLXllbGxvdzogY29sb3IoZGlzcGxheS1wMyAxIDAuODMxNCAwLjE0OSk7XG4gICAgICAgICAgICAtLXN5c3RlbS1ncmVlbjogY29sb3IoZGlzcGxheS1wMyAwLjE4ODIgMC44NTg4IDAuMzU2OSk7XG4gICAgICAgICAgICAtLXN5c3RlbS10ZWFsOiBjb2xvcihkaXNwbGF5LXAzIDAuNDM5MiAwLjg0MzEgMSk7XG4gICAgICAgICAgICAtLXN5c3RlbS1ibHVlOiBjb2xvcihkaXNwbGF5LXAzIDAuMjUxIDAuNjExOCAxKTtcbiAgICAgICAgICAgIC0tc3lzdGVtLWluZGlnbzogY29sb3IoZGlzcGxheS1wMyAwLjQ5MDIgMC40Nzg0IDEpO1xuICAgICAgICAgICAgLS1zeXN0ZW0tcHVycGxlOiBjb2xvcihkaXNwbGF5LXAzIDAuODU0OSAwLjU2MDggMSk7XG4gICAgICAgICAgICAtLXN5c3RlbS1waW5rOiBjb2xvcihkaXNwbGF5LXAzIDEgMC4zOTIyIDAuNTA5OCk7XG4gICAgICAgICAgICAtLXN5c3RlbS1ncmF5OiBjb2xvcihkaXNwbGF5LXAzIDAuNjgyNCAwLjY4MjQgMC42OTgpO1xuICAgICAgICAgICAgLS1zeXN0ZW0tZ3JheTI6IGNvbG9yKGRpc3BsYXktcDMgMC40ODYzIDAuNDg2MyAwLjUwMik7XG4gICAgICAgICAgICAtLXN5c3RlbS1ncmF5MzogY29sb3IoZGlzcGxheS1wMyAwLjMyOTQgMC4zMjk0IDAuMzM3Myk7XG4gICAgICAgICAgICAtLXN5c3RlbS1ncmF5NDogY29sb3IoZGlzcGxheS1wMyAwLjI2NjcgMC4yNjY3IDAuMjc0NSk7XG4gICAgICAgICAgICAtLXN5c3RlbS1ncmF5NTogY29sb3IoZGlzcGxheS1wMyAwLjIxMTggMC4yMTE4IDAuMjE5Nik7XG4gICAgICAgICAgICAtLXN5c3RlbS1ncmF5NjogY29sb3IoZGlzcGxheS1wMyAwLjE0MTIgMC4xNDEyIDAuMTQ5KTtcblxuICAgICAgICAgICAgLS1sYWJlbDogY29sb3IoZGlzcGxheS1wMyAxIDEgMSk7XG4gICAgICAgICAgICAtLXNlY29uZGFyeS1sYWJlbDogY29sb3IoZGlzcGxheS1wMyAwLjkyMTYgMC45MjE2IDAuOTYwOCk7XG4gICAgICAgICAgICAtLXRlcnRpYXJ5LWxhYmVsOiBjb2xvcihkaXNwbGF5LXAzIDAuOTIxNiAwLjkyMTYgMC45NjA4KTtcbiAgICAgICAgICAgIC0tcXVhdGVybmFyeS1sYWJlbDogY29sb3IoZGlzcGxheS1wMyAwLjkyMTYgMC45MjE2IDAuOTYwOCk7XG4gICAgICAgICAgICAtLXBsYWNlaG9sZGVyLXRleHQ6IGNvbG9yKGRpc3BsYXktcDMgMC45MjE2IDAuOTIxNiAwLjk2MDgpO1xuICAgICAgICAgICAgLS1saW5rOiBjb2xvcihkaXNwbGF5LXAzIDAuMDM1MjkgMC41MTc2IDEpO1xuICAgICAgICAgICAgLS1zZXBhcmF0b3I6IGNvbG9yKGRpc3BsYXktcDMgMC4yMTE4IDAuMjExOCAwLjIxOTYpO1xuICAgICAgICAgICAgLS1vcGFxdWUtc2VwYXJhdG9yOiBjb2xvcihkaXNwbGF5LXAzIDAuMjE5NiAwLjIxOTYgMC4yMjc1KTtcbiAgICAgICAgICAgIC0tc3lzdGVtLWZpbGw6IGNvbG9yKGRpc3BsYXktcDMgMC40NzA2IDAuNDcwNiAwLjUwMik7XG4gICAgICAgICAgICAtLXNlY29uZGFyeS1zeXN0ZW0tZmlsbDogY29sb3IoZGlzcGxheS1wMyAwLjQ3MDYgMC40NzA2IDAuNTAyKTtcbiAgICAgICAgICAgIC0tdGVydGlhcnktc3lzdGVtLWZpbGw6IGNvbG9yKGRpc3BsYXktcDMgMC40NjI3IDAuNDYyNyAwLjUwMik7XG4gICAgICAgICAgICAtLXF1YXRlcm5hcnktc3lzdGVtLWZpbGw6IGNvbG9yKGRpc3BsYXktcDMgMC40NjI3IDAuNDYyNyAwLjUwMik7XG4gICAgICAgICAgICAtLXN5c3RlbS1iYWNrZ3JvdW5kOiBjb2xvcihkaXNwbGF5LXAzIDAgMCAwKTtcbiAgICAgICAgICAgIC0tc2Vjb25kYXJ5LXN5c3RlbS1iYWNrZ3JvdW5kOiBjb2xvcihcbiAgICAgICAgICAgICAgICBkaXNwbGF5LXAzIDAuMTQxMiAwLjE0MTIgMC4xNDlcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICAtLXRlcnRpYXJ5LXN5c3RlbS1iYWNrZ3JvdW5kOiBjb2xvcihcbiAgICAgICAgICAgICAgICBkaXNwbGF5LXAzIDAuMjExOCAwLjIxMTggMC4yMTk2XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgLS1zeXN0ZW0tZ3JvdXBlZC1iYWNrZ3JvdW5kOiBjb2xvcihkaXNwbGF5LXAzIDAgMCAwKTtcbiAgICAgICAgICAgIC0tc2Vjb25kYXJ5LXN5c3RlbS1ncm91cGVkLWJhY2tncm91bmQ6IGNvbG9yKFxuICAgICAgICAgICAgICAgIGRpc3BsYXktcDMgMC4xNDEyIDAuMTQxMiAwLjE0OVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIC0tdGVydGlhcnktc3lzdGVtLWdyb3VwZWQtYmFja2dyb3VuZDogY29sb3IoXG4gICAgICAgICAgICAgICAgZGlzcGxheS1wMyAwLjIxMTggMC4yMTE4IDAuMjE5NlxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cbn0gKi9cblxuOnJvb3Qge1xuICAtLWxhcmdlLXRpdGxlOiA2MDAgMzJwdCAvIDM5cHQgc2Fucy1zZXJpZjtcbiAgLS10aXRsZS0xOiA2MDAgMjZwdCAvIDMycHQgc2Fucy1zZXJpZjtcbiAgLS10aXRsZS0yOiA2MDAgMjBwdCAvIDI1cHQgc2Fucy1zZXJpZjtcbiAgLS10aXRsZS0zOiA1MDAgMThwdCAvIDIzcHQgc2Fucy1zZXJpZjtcbiAgLS1oZWFkbGluZTogNTAwIDE1cHQgLyAyMHB0IHNhbnMtc2VyaWY7XG4gIC0tYm9keTogMzAwIDE1cHQgLyAyMHB0IHNhbnMtc2VyaWY7XG4gIC0tY2FsbG91dDogMzAwIDE0cHQgLyAxOXB0IHNhbnMtc2VyaWY7XG4gIC0tc3ViaGVhZDogMzAwIDEzcHQgLyAxOHB0IHNhbnMtc2VyaWY7XG4gIC0tZm9vdG5vdGU6IDMwMCAxMnB0IC8gMTZwdCBzYW5zLXNlcmlmO1xuICAtLWNhcHRpb24tMTogMzAwIDExcHQgLyAxM3B0IHNhbnMtc2VyaWY7XG4gIC0tY2FwdGlvbi0yOiAzMDAgMTFwdCAvIDEzcHQgc2Fucy1zZXJpZjtcbn1cblxuOnJvb3Qge1xuICAtLWljb24tY2FzZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB2aWV3Qm94PScwIDAgMTAwIDEwMCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3JlY3QgZmlsbD0nJTIzODljNWU2JyBoZWlnaHQ9JzkwJyByeD0nOCcgc3Ryb2tlPSclMjM2YmI3ZTEnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgc3Ryb2tlLXdpZHRoPSc0JyB3aWR0aD0nOTAnIHg9JzUnIHk9JzUnLyUzRSUzQ3BhdGggZD0nbTIwLjIxIDUwYzAtMjAuNyAxMS45LTMyLjc5IDMwLjgtMzIuNzkgMTYgMCAyOC4yMSAxMC4zMyAyOC43IDI1LjMyaC0xNS41MmMtLjc5LTcuNTMtNi4xLTEyLjQyLTEzLjE5LTEyLjQyLTguNzkgMC0xNC4zNyA3LjUyLTE0LjM3IDE5LjgyczUuNTQgMjAgMTQuNDEgMjBjNy4wOCAwIDEyLjIyLTQuNjYgMTMuMjMtMTIuMDloMTUuNTJjLS43NCAxNS4wNy0xMi40MyAyNS0yOC43OCAyNS0xOS4wMS0uMDMtMzAuOC0xMi4xMi0zMC44LTMyLjg0eicgZmlsbD0nJTIzZmZmJy8lM0UlM0Mvc3ZnJTNFJTBBXCIpO1xuICAtLWljb24tY2xhc3M6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LCUzQ3N2ZyB2aWV3Qm94PScwIDAgMTAwIDEwMCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3JlY3QgZmlsbD0nJTIzOWI5OGU2JyBoZWlnaHQ9JzkwJyByeD0nOCcgc3Ryb2tlPSclMjM1ODU2ZDYnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgc3Ryb2tlLXdpZHRoPSc0JyB3aWR0aD0nOTAnIHg9JzUnIHk9JzUnLyUzRSUzQ3BhdGggZD0nbTIwLjIxIDUwYzAtMjAuNyAxMS45LTMyLjc5IDMwLjgtMzIuNzkgMTYgMCAyOC4yMSAxMC4zMyAyOC43IDI1LjMyaC0xNS41MmMtLjc5LTcuNTMtNi4xLTEyLjQyLTEzLjE5LTEyLjQyLTguNzkgMC0xNC4zNyA3LjUyLTE0LjM3IDE5LjgyczUuNTQgMjAgMTQuNDEgMjBjNy4wOCAwIDEyLjIyLTQuNjYgMTMuMjMtMTIuMDloMTUuNTJjLS43NCAxNS4wNy0xMi40MyAyNS0yOC43OCAyNS0xOS4wMS0uMDMtMzAuOC0xMi4xMi0zMC44LTMyLjg0eicgZmlsbD0nJTIzZmZmJy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICAtLWljb24tZW51bWVyYXRpb246IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgdmlld0JveD0nMCAwIDEwMCAxMDAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NyZWN0IGZpbGw9JyUyM2VjYTk1YicgaGVpZ2h0PSc5MCcgcng9JzgnIHN0cm9rZT0nJTIzZTg5MjM0JyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nNCcgd2lkdGg9JzkwJyB4PSc1LjE3JyB5PSc1Jy8lM0UlM0NwYXRoIGQ9J203MS45IDgxLjcxaC00My40N3YtNjMuNDJoNDMuNDd2MTNoLTI3LjM0djEyLjYyaDI1LjcxdjExLjg3aC0yNS43MXYxMi45MmgyNy4zNHonIGZpbGw9JyUyM2ZmZicvJTNFJTNDL3N2ZyUzRSUwQVwiKTtcbiAgLS1pY29uLWV4dGVuc2lvbjogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB2aWV3Qm94PScwIDAgMTAwIDEwMCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3JlY3QgZmlsbD0nJTIzZWNhOTViJyBoZWlnaHQ9JzkwJyByeD0nOCcgc3Ryb2tlPSclMjNlODkyMzQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgc3Ryb2tlLXdpZHRoPSc0JyB3aWR0aD0nOTAnIHg9JzUnIHk9JzUnLyUzRSUzQ2cgZmlsbD0nJTIzZmZmJyUzRSUzQ3BhdGggZD0nbTU0LjQzIDgxLjkzaC0zMy45MnYtNjMuODZoMzMuOTJ2MTIuMjZoLTIxLjgydjEzLjhoMjAuNDV2MTEuMzJoLTIwLjQ1djE0LjIyaDIxLjgyeicvJTNFJTNDcGF0aCBkPSdtNjguNzQgNzQuNThoLS4yN2wtMi43OCA3LjM1aC03LjI4bDUuNTktMTIuNjEtNi0xMi41NGg4bDIuNzQgNy4zaC4yN2wyLjc2LTcuM2g3LjY0bC02LjE0IDEyLjU0IDUuODkgMTIuNjFoLTcuNjR6Jy8lM0UlM0MvZyUzRSUzQy9zdmclM0UlMEFcIik7XG4gIC0taWNvbi1mdW5jdGlvbjogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB2aWV3Qm94PScwIDAgMTAwIDEwMCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3JlY3QgZmlsbD0nJTIzN2FjNjczJyBoZWlnaHQ9JzkwJyByeD0nOCcgc3Ryb2tlPSclMjM1YmI3NGYnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgc3Ryb2tlLXdpZHRoPSc0JyB3aWR0aD0nOTAnIHg9JzUnIHk9JzUnLyUzRSUzQ3BhdGggZD0nbTI0LjI1IDc1LjY2YTUuNDcgNS40NyAwIDAgMSA1Ljc1LTUuNzNjMS41NSAwIDMuNTUuNDEgNi40Ni40MSAzLjE5IDAgNC43OC0xLjU1IDUuNDYtNi42NWwxLjUtMTAuMTRoLTkuMzRhNiA2IDAgMSAxIDAtMTJoMTEuMWwxLjA5LTcuMjdjMS41NS0xMC44OSA4LjAxLTE2LjU4IDE3LjczLTE2LjU4IDYuNjkgMCAxMS43NCAxLjc3IDExLjc0IDYuNjRhNS40NyA1LjQ3IDAgMCAxIC01Ljc0IDUuNzNjLTEuNTUgMC0zLjU1LS40MS02LjQ2LS40MS0zLjE0IDAtNC43MyAxLjUxLTUuNDYgNi42NWwtLjc4IDUuMjdoMTEuNDRhNiA2IDAgMSAxIC4wNSAxMmgtMTMuMTlsLTEuNzggMTIuMTFjLTEuNTkgMTAuOTItOC4xIDE2LjYxLTE3LjgyIDE2LjYxLTYuNyAwLTExLjc1LTEuNzctMTEuNzUtNi42NHonIGZpbGw9JyUyM2ZmZicvJTNFJTNDL3N2ZyUzRSUwQVwiKTtcbiAgLS1pY29uLW1ldGhvZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB2aWV3Qm94PScwIDAgMTAwIDEwMCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3JlY3QgZmlsbD0nJTIzNWE5OGY4JyBoZWlnaHQ9JzkwJyByeD0nOCcgc3Ryb2tlPSclMjMyOTc0ZWQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgc3Ryb2tlLXdpZHRoPSc0JyB3aWR0aD0nOTAnIHg9JzUnIHk9JzUnLyUzRSUzQ3BhdGggZD0nbTcwLjYxIDgxLjcxdi0zOS42aC0uMzFsLTE1LjY5IDM5LjZoLTkuMjJsLTE1LjY1LTM5LjZoLS4zNXYzOS42aC0xNC4xOXYtNjMuNDJoMTguNjNsMTYgNDEuNDRoLjM2bDE2LTQxLjQ0aDE4LjYxdjYzLjQyeicgZmlsbD0nJTIzZmZmJy8lM0UlM0Mvc3ZnJTNFJTBBXCIpO1xuICAtLWljb24tcHJvcGVydHk6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgdmlld0JveD0nMCAwIDEwMCAxMDAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NyZWN0IGZpbGw9JyUyMzg5YzVlNicgaGVpZ2h0PSc5MCcgcng9JzgnIHN0cm9rZT0nJTIzNmJiN2UxJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nNCcgd2lkdGg9JzkwJyB4PSc1JyB5PSc1Jy8lM0UlM0NwYXRoIGQ9J201Mi4zMSAxOC4yOWMxMy42MiAwIDIyLjg1IDguODQgMjIuODUgMjIuNDZzLTkuNzEgMjIuMzctMjMuODIgMjIuMzdoLTEwLjM0djE4LjU5aC0xNi4xNnYtNjMuNDJ6bS0xMS4zMSAzMi43MWg3YzYuODUgMCAxMC44OS0zLjU2IDEwLjg5LTEwLjJzLTQuMDgtMTAuMTYtMTAuODktMTAuMTZoLTd6JyBmaWxsPSclMjNmZmYnLyUzRSUzQy9zdmclM0UlMEFcIik7XG4gIC0taWNvbi1wcm90b2NvbDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB2aWV3Qm94PScwIDAgMTAwIDEwMCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3JlY3QgZmlsbD0nJTIzZmY2NjgyJyBoZWlnaHQ9JzkwJyByeD0nOCcgc3Ryb2tlPSclMjNmZjJkNTUnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgc3Ryb2tlLXdpZHRoPSc0JyB3aWR0aD0nOTAnIHg9JzUnIHk9JzUnLyUzRSUzQ2cgZmlsbD0nJTIzZmZmJyUzRSUzQ3BhdGggZD0nbTQ2LjI4IDE4LjI5YzExLjg0IDAgMjAgOC42NiAyMCAyMS43MXMtOC40NCAyMS43MS0yMC42IDIxLjcxaC0xMC44MXYyMGgtMTIuMDl2LTYzLjQyem0tMTEuNDEgMzMuMDVoOC4xM2M2LjkzIDAgMTEtNCAxMS0xMS4yOXMtNC0xMS4yNS0xMC45My0xMS4yNWgtOC4yeicvJTNFJTNDcGF0aCBkPSdtNjIgNTcuNDVoOHY0Ljc3aC4xNmMuODQtMy40NSAyLjU0LTUuMTIgNS4xNy01LjEyYTUuMDYgNS4wNiAwIDAgMSAxLjkyLjM1djcuNTVhNS42OSA1LjY5IDAgMCAwIC0yLjM5LS41MWMtMy4wOCAwLTQuNjYgMS43NC00LjY2IDUuMTJ2MTIuMWgtOC4yeicvJTNFJTNDL2clM0UlM0Mvc3ZnJTNFJTBBXCIpO1xuICAtLWljb24tc3RydWN0dXJlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHZpZXdCb3g9JzAgMCAxMDAgMTAwJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcmVjdCBmaWxsPSclMjNiNTdlZGYnIGhlaWdodD0nOTAnIHJ4PSc4JyBzdHJva2U9JyUyMzk0NTRjMicgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBzdHJva2Utd2lkdGg9JzQnIHdpZHRoPSc5MCcgeD0nNScgeT0nNScvJTNFJTNDcGF0aCBkPSdtMzguMzggNjNjLjc0IDQuNTMgNS42MiA3LjE2IDExLjgyIDcuMTZzMTAuMzctMi44MSAxMC4zNy02LjY4YzAtMy41MS0yLjczLTUuMzEtMTAuMjQtNi43NmwtNi41LTEuMjNjLTEyLjY2LTIuMzUtMTkuMjEtOC40OS0xOS4yMS0xOC4yMSAwLTEyLjIyIDEwLjU5LTIwLjA5IDI1LjE4LTIwLjA5IDE2IDAgMjUuMzYgNy44MyAyNS41MyAxOS45MWgtMTVjLS4yNi00LjU3LTQuNTctNy4yOS0xMC40Mi03LjI5cy05LjMxIDIuNjMtOS4zMSA2LjM3YzAgMy4zNCAyLjkgNS4xOCA5LjggNi41bDYuNSAxLjIzYzEzLjU2IDIuNiAxOS43MSA4LjA5IDE5LjcxIDE4LjA5IDAgMTIuNzQtMTAgMjAuODMtMjYuNzIgMjAuODMtMTUuODIgMC0yNi4yOC03LjMtMjYuNS0xOS43OHonIGZpbGw9JyUyM2ZmZicvJTNFJTNDL3N2ZyUzRSUwQVwiKTtcbiAgLS1pY29uLXR5cGVhbGlhczogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB2aWV3Qm94PScwIDAgMTAwIDEwMCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3JlY3QgZmlsbD0nJTIzN2FjNjczJyBoZWlnaHQ9JzkwJyByeD0nOCcgc3Ryb2tlPSclMjM1YmI3NGYnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgc3Ryb2tlLXdpZHRoPSc0JyB3aWR0aD0nOTAnIHg9JzUnIHk9JzUnLyUzRSUzQ3BhdGggZD0nbTQyIDgxLjcxdi01MC40MWgtMTcuNTN2LTEzaDUxLjA2djEzaC0xNy41M3Y1MC40MXonIGZpbGw9JyUyM2ZmZicvJTNFJTNDL3N2ZyUzRSUwQVwiKTtcbiAgLS1pY29uLXZhcmlhYmxlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHZpZXdCb3g9JzAgMCAxMDAgMTAwJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcmVjdCBmaWxsPSclMjM3YWM2NzMnIGhlaWdodD0nOTAnIHJ4PSc4JyBzdHJva2U9JyUyMzViYjc0Zicgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBzdHJva2Utd2lkdGg9JzQnIHdpZHRoPSc5MCcgeD0nNScgeT0nNScvJTNFJTNDcGF0aCBkPSdtMzkuODUgODEuNzEtMjAuMjItNjMuNDJoMTguMzdsMTIuMTggNDcuNjRoLjM1bDEyLjE3LTQ3LjY0aDE3LjY3bC0yMC4yMiA2My40MnonIGZpbGw9JyUyM2ZmZicvJTNFJTNDL3N2ZyUzRSUwQVwiKTtcbn1cblxuLyoqKioqKioqKioqKi9cblxuYm9keSxcbmlucHV0LFxudGV4dGFyZWEsXG5zZWxlY3QsXG5idXR0b24ge1xuICAtbW96LWZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJrZXJuXCI7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBkaXJlY3Rpb246IGx0cjtcbiAgZm9udC1zeW50aGVzaXM6IG5vbmU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbkBjdXN0b20tc2VsZWN0b3IgOi0taGVhZGluZyBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2O1xuQGN1c3RvbS1zZWxlY3RvciA6LS10ZXh0LWlucHV0IGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4gIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG4gIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbiAgaW5wdXRbdHlwZT1cInRlbFwiXSxcbiAgaW5wdXRbdHlwZT1cInVybFwiXSxcbiAgdGV4dGFyZWE7XG5cbjotLWhlYWRpbmcge1xuICAmOmZpcnN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICAmIGNvZGUge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgJiBpbWcge1xuICAgIG1hcmdpbjogMCAwLjVlbSAwLjJlbSAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG5cbiAgJiArICoge1xuICAgIG1hcmdpbi10b3A6IDAuOGVtO1xuICB9XG59XG5cbmltZyArIGgxIHtcbiAgbWFyZ2luLXRvcDogMC41ZW07XG59XG5cbmltZyArIDotLWhlYWRpbmcge1xuICBtYXJnaW4tdG9wOiAwLjNlbTtcbn1cblxuOmlzKDotLWhlYWRpbmcpICsgOmlzKDotLWhlYWRpbmcpIHtcbiAgbWFyZ2luLXRvcDogMC40ZW07XG59XG5cbjptYXRjaGVzKDotLWhlYWRpbmcpICsgOm1hdGNoZXMoOi0taGVhZGluZykge1xuICBtYXJnaW4tdG9wOiAwLjRlbTtcbn1cblxuOmlzKHAsIHVsLCBvbCkgKyA6aXMoOi0taGVhZGluZykge1xuICBtYXJnaW4tdG9wOiAxLjZlbTtcbn1cblxuOm1hdGNoZXMocCwgdWwsIG9sKSArIDptYXRjaGVzKDotLWhlYWRpbmcpIHtcbiAgbWFyZ2luLXRvcDogMS42ZW07XG59XG5cbjppcyhwLCB1bCwgb2wpICsgKiB7XG4gIG1hcmdpbi10b3A6IDAuOGVtO1xufVxuXG46bWF0Y2hlcyhwLCB1bCwgb2wpICsgKiB7XG4gIG1hcmdpbi10b3A6IDAuOGVtO1xufVxuXG51bCxcbm9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMTc2NDdlbTtcbn1cblxuOm1hdGNoZXModWwsIG9sKSA6bWF0Y2hlcyh1bCwgb2wpIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxubmF2IHtcbiAgJiBoMiB7XG4gICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1sYWJlbCk7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtdmFyaWFudDogc21hbGwtY2FwcztcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAmIHVsLFxuICAmIG9sIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgfVxuXG4gICYgbGkgbGkge1xuICAgIGZvbnQtc2l6ZTogc21hbGxlcjtcbiAgfVxufVxuXG5hIHtcbiAgJjpsaW5rLFxuICAmOnZpc2l0ZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuICAmOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuICAmOmFjdGl2ZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJiArIGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLnN1bW1hcnksXG4uZGlzY3Vzc2lvbiB7XG4gIGZvbnQ6IHZhcigtLWNhbGxvdXQpO1xufVxuXG5hcnRpY2xlID4gLmRpc2N1c3Npb24ge1xuICBtYXJnaW4tYm90dG9tOiAyZW07XG59XG5cbi5kaXNjdXNzaW9uIC5oaWdobGlnaHQge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAxcHggdmFyKC0tc2VwYXJhdG9yKSBzb2xpZDtcbiAgZm9udDogdmFyKC0tY2FwdGlvbi0xKTtcbn1cblxuZW0sXG5pLFxuY2l0ZSxcbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyogc3VwIHtcbiAgICBmb250LXNpemU6IDAuNmVtO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvdHRvbTogLTAuMmVtO1xufSAqL1xuXG46bWF0Y2hlcyhoMSwgaDIsIGgzKSBzdXAge1xuICBmb250LXNpemU6IDAuNGVtO1xufVxuXG5zdXAgYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB2ZXJ0aWNhbC1hbGlnbjogaW5oZXJpdDtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tbGluayk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cbnN1YiB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG5hYmJyIHtcbiAgYm9yZGVyOiAwO1xufVxuXG46bGFuZyhqYSksXG46bGFuZyhrbyksXG46bGFuZyh0aCksXG46bGFuZyh6aCkge1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbjpsYW5nKGtvKSB7XG4gIHdvcmQtYnJlYWs6IGtlZXAtYWxsO1xufVxuXG5mb3JtIHtcbiAgJiBmaWVsZHNldCB7XG4gICAgbWFyZ2luOiAxZW0gYXV0bztcbiAgICBtYXgtd2lkdGg6IDQ1MHB4O1xuICAgIHdpZHRoOiA5NSU7XG4gIH1cblxuICAmIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG46LS10ZXh0LWlucHV0IHtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1zZXBhcmF0b3IpO1xuICBjb2xvcjogIzMzMzMzMztcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgaGVpZ2h0OiAzNHB4O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAgMWVtIDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDE7XG5cbiAgJixcbiAgJjpmb2N1cyB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzAwODhjYztcbiAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSgwLCAxMzYsIDIwNCwgMC4zKTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIHotaW5kZXg6IDk7XG4gIH1cblxuICAmOnJlYWQtb25seSB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiB2YXIoLS1wbGFjZWhvbGRlci10ZXh0KTtcbn1cblxudGV4dGFyZWEge1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ3Mzc7XG4gIG1pbi1oZWlnaHQ6IDEzNHB4O1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICByZXNpemU6IHZlcnRpY2FsO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXG4gICYsXG4gICY6Zm9jdXMge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cbn1cblxuc2VsZWN0IHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm9yZGVyOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDFlbTtcbiAgaGVpZ2h0OiAzNHB4O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAgMWVtO1xuICB3aWR0aDogMTAwJTtcblxuICAmLFxuICAmOmZvY3VzIHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDA4OGNjO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDAsIDEzNiwgMjA0LCAwLjMpO1xuICAgIG91dGxpbmU6IDA7XG4gICAgei1pbmRleDogOTtcbiAgfVxufVxuXG5pbnB1dFt0eXBlPVwiZmlsZVwiXSB7XG4gIGJhY2tncm91bmQ6ICNmYWZhZmE7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgY29sb3I6ICMzMzMzMzM7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgaGVpZ2h0OiAzNHB4O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDZweCAxZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDE7XG5cbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDA4OGNjO1xuICAgIG91dGxpbmU6IDA7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSgwLCAxMzYsIDIwNCwgMC4zKTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSgwLCAxMzYsIDIwNCwgMC4zKTtcbiAgICB6LWluZGV4OiA5O1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJjpmb2N1czpmb2N1cyB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxufVxuXG5idXR0b24sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgJixcbiAgJjpmb2N1cyB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxufVxuXG46bWF0Y2hlcyhidXR0b24sIGlucHV0W3R5cGU9XCJyZXNldFwiXSwgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTNlM2UzO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQod2hpdGUsICNlM2UzZTMpO1xuICBib3JkZXItY29sb3I6ICNkNmQ2ZDY7XG4gIGNvbG9yOiAjMDA3MGM5O1xufVxuOm1hdGNoZXMoYnV0dG9uLCBpbnB1dFt0eXBlPVwicmVzZXRcIl0sIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0pOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHdoaXRlLCAjZWVlZWVlKTtcbiAgYm9yZGVyLWNvbG9yOiAjZDlkOWQ5O1xufVxuOm1hdGNoZXMoYnV0dG9uLCBpbnB1dFt0eXBlPVwicmVzZXRcIl0sIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0pOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IGdhaW5zYm9ybztcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCNmN2Y3ZjcsIGdhaW5zYm9ybyk7XG4gIGJvcmRlci1jb2xvcjogI2QwZDBkMDtcbn1cbjptYXRjaGVzKGJ1dHRvbiwgaW5wdXRbdHlwZT1cInJlc2V0XCJdLCBpbnB1dFt0eXBlPVwic3VibWl0XCJdKTpkaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlM2UzZTM7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh3aGl0ZSwgI2UzZTNlMyk7XG4gIGJvcmRlci1jb2xvcjogI2Q2ZDZkNjtcbiAgY29sb3I6ICMwMDcwYzk7XG59XG5cbi8qICAqL1xuXG5ib2R5IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tc3lzdGVtLWdyb3VwZWQtYmFja2dyb3VuZCk7XG4gIGNvbG9yOiB2YXIoLS1sYWJlbCk7XG4gIGZvbnQtZmFtaWx5OiB1aS1zeXN0ZW0sIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgc2Fucy1zZXJpZjtcbiAgZm9udDogdmFyKC0tYm9keSk7XG59XG5cbmgxIHtcbiAgZm9udDogdmFyKC0tbGFyZ2UtdGl0bGUpO1xufVxuXG5oMiB7XG4gIGZvbnQ6IHZhcigtLXRpdGxlLTIpO1xufVxuXG5oMyB7XG4gIGZvbnQ6IHZhcigtLXRpdGxlLTMpO1xufVxuXG5oNCxcbmg1LFxuaDYge1xuICBmb250OiB2YXIoLS1oZWFkbGluZSk7XG59XG5cbi8qIHN0cm9uZyxcbiAgICB0aCxcbiAgICBkdCB7XG4gICAgICAgIGZvbnQ6IHZhcigtLWhlYWRsaW5lKTtcbiAgICB9ICovXG5cbmEge1xuICBjb2xvcjogdmFyKC0tbGluayk7XG59XG5cbmxhYmVsIHtcbiAgZm9udDogdmFyKC0tY2FsbG91dCk7XG59XG5cbmxhYmVsLFxuaW5wdXQge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuaW5wdXQge1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG59XG5cbi8qIGJ1dHRvbixcbiAgICBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWxpbmspO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwLjVlbTtcbiAgICB9ICovXG5cbi8qKioqKioqKioqKioqKioqKioqKiovXG5cbmhyIHtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItdG9wOiAxcHggdmFyKC0tc2VwYXJhdG9yKSBzb2xpZDtcbiAgbWFyZ2luOiAxZW0gMDtcbn1cblxudGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgZm9udDogdmFyKC0tY2FwdGlvbi0xKTtcbiAgY2FwdGlvbi1zaWRlOiBib3R0b207XG4gIG1hcmdpbi1ib3R0b206IDJlbTtcbn1cblxudGgsXG50ZCB7XG4gIHBhZGRpbmc6IDAgMWVtO1xufVxuXG50aCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbnRoZWFkIHRoIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHZhcigtLXNlcGFyYXRvcikgc29saWQ7XG59XG5cbnRyOmxhc3Qtb2YtdHlwZSB0ZCxcbnRyOmxhc3Qtb2YtdHlwZSB0aCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbnRoLFxudGQge1xuICBib3JkZXItYm90dG9tOiAxcHggdmFyKC0tc2VwYXJhdG9yKSBzb2xpZDtcbiAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1sYWJlbCk7XG59XG5cbmNhcHRpb24ge1xuICBjb2xvcjogdmFyKC0tdGVydGlhcnktbGFiZWwpO1xuICBmb250OiB2YXIoLS1jYXB0aW9uLTIpO1xuICBtYXJnaW4tdG9wOiAyZW07XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbmNvZGUsXG4uZ3JhcGggdGV4dCB7XG4gIGZvbnQtZmFtaWx5OiBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlO1xuICBmb250LXdlaWdodDogMzAwO1xufVxuXG4uZ3JhcGgge1xuICAmID4gcG9seWdvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICYgdGV4dCB7XG4gICAgZmlsbDogY3VycmVudENvbG9yICFpbXBvcnRhbnQ7XG4gIH1cblxuICAmIHBhdGgsXG4gICYgZWxsaXBzZSxcbiAgJiByZWN0LFxuICAmIHBvbHlnb24ge1xuICAgIHN0cm9rZTogY3VycmVudENvbG9yICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuYm9keSB7XG4gIHdpZHRoOiA5MHZ3O1xuICBtYXgtd2lkdGg6IDEyODBweDtcbiAgbWFyZ2luOiAxZW0gYXV0bztcblxuICAmID4gaGVhZGVyIHtcbiAgICBmb250OiB2YXIoLS10aXRsZS0xKTtcbiAgICBwYWRkaW5nOiAwLjVlbSAwO1xuXG4gICAgJiBhIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1sYWJlbCk7XG4gICAgfVxuXG4gICAgJiBzcGFuIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgfVxuXG4gICAgJiBzdXAge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc2l6ZTogc21hbGw7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1sYWJlbCk7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4xY2g7XG4gICAgfVxuICB9XG5cbiAgJiA+IGZvb3RlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgcGFkZGluZzogMWVtIDA7XG4gICAgZm9udDogdmFyKC0tY2FwdGlvbi0xKTtcbiAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWxhYmVsKTtcbiAgfVxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgd2lkdGg6IDk2dnc7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgJiA+IGhlYWRlciB7XG4gICAgICBmb250OiB2YXIoLS10aXRsZS0zKTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBwYWRkaW5nOiAxZW0gMDtcbiAgICB9XG5cbiAgICAmID4gbmF2IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJiA+IG1haW4ge1xuICAgICAgcGFkZGluZzogMCAxZW07XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICNyZWxhdGlvbnNoaXBzIGZpZ3VyZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIHNlY3Rpb24gPiBbcm9sZT1cImFydGljbGVcIl1bY2xhc3NdIHByZSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0yLjVlbTtcbiAgfVxuXG4gIHNlY3Rpb24gPiBbcm9sZT1cImFydGljbGVcIl1bY2xhc3NdIGRpdiB7XG4gICAgbWFyZ2luLWxlZnQ6IC0yZW07XG4gIH1cbn1cblxubWFpbixcbm5hdiB7XG4gIG92ZXJmbG93LXg6IHNjcm9sbDtcbn1cblxubWFpbiB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXN5c3RlbS1iYWNrZ3JvdW5kKTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBwYWRkaW5nOiAwIDJlbTtcblxuICAmIHNlY3Rpb24ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCB2YXIoLS1zZXBhcmF0b3IpIHNvbGlkO1xuICAgIG1hcmdpbi1ib3R0b206IDJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMWVtO1xuICB9XG5cbiAgJiBzZWN0aW9uOmxhc3Qtb2YtdHlwZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbmZvcm0uc2VhcmNoIHtcbn1cblxubmF2IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tbGVmdDogMWVtO1xuICBtYXgtaGVpZ2h0OiAxMDB2aDtcbiAgb3ZlcmZsb3c6IHNjcm9sbDtcbiAgcGFkZGluZzogMCAxZW0gM2VtIDFlbTtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAxZW07XG4gIHdpZHRoOiAyMHZ3O1xuXG4gICYgYSB7XG4gICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1sYWJlbCk7XG4gIH1cblxuICAmIHVsIGEge1xuICAgIGNvbG9yOiB2YXIoLS10ZXJ0aWFyeS1sYWJlbCk7XG4gIH1cblxuICAmIG9sIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgJiB1bCB7XG4gICAgZm9udDogdmFyKC0tY2FsbG91dCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAmIG9sID4gbGkgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IHNtYWxsZXI7XG4gICAgZm9udDogdmFyKC0taGVhZGxpbmUpO1xuICAgIG1hcmdpbjogMC41ZW0gMDtcbiAgfVxuXG4gICYgbGkge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxufVxuXG4vKiBtYWluIDptYXRjaGVzKGgxLCBoMiwgaDMpIHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHRvcDogMHB4O1xufVxuXG5tYWluIGgxIHtcbiAgICB6LWluZGV4OiAxO1xufVxuXG5tYWluIGgyIHtcbiAgICB6LWluZGV4OiAyO1xufVxuXG5tYWluIGgzIHtcbiAgICB6LWluZGV4OiAzO1xufSAqL1xuXG5ibG9ja3F1b3RlIHtcbiAgLS1saW5rOiB2YXIoLS1zZWNvbmRhcnktbGFiZWwpO1xuICBib3JkZXItbGVmdDogNHB4IHZhcigtLXNlcGFyYXRvcikgc29saWQ7XG4gIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktbGFiZWwpO1xuICBmb250LXNpemU6IHNtYWxsZXI7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDJlbTtcblxuICAmIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG59XG5cbmFydGljbGUge1xuICBwYWRkaW5nOiAyZW0gMCAxZW0gMDtcblxuICAmID4gLnN1bW1hcnkge1xuICAgIGJvcmRlci1ib3R0b206IDFweCB2YXIoLS1zZXBhcmF0b3IpIHNvbGlkO1xuICAgIG1hcmdpbi1ib3R0b206IDJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMWVtO1xuICB9XG5cbiAgJiA+IC5zdW1tYXJ5Omxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIH1cbn1cblxuLnBhcmFtZXRlcnMge1xuICAmIHRoIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuXG4gICYgdGQge1xuICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktbGFiZWwpO1xuICB9XG5cbiAgJiB0aCArIHRkIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuZGwge1xuICBwYWRkaW5nLXRvcDogMWVtO1xufVxuXG5kdCB7XG4gIGZvbnQ6IHZhcigtLWhlYWRsaW5lKTtcbn1cblxuZGQge1xuICBtYXJnaW4tbGVmdDogMmVtO1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG5cbiAgJiBwIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG5cbi5oaWdobGlnaHQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1zZWNvbmRhcnktc3lzdGVtLWJhY2tncm91bmQpO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGZvbnQtc2l6ZTogc21hbGxlcjtcbiAgbWFyZ2luLWJvdHRvbTogMmVtO1xuICBvdmVyZmxvdy14OiBzY3JvbGw7XG4gIHBhZGRpbmc6IDFlbTtcbiAgcGFkZGluZy1sZWZ0OiAzZW07XG4gIHRleHQtaW5kZW50OiAtMmVtO1xuICB3aGl0ZS1zcGFjZTogcHJlLWxpbmU7XG5cbiAgJiAucCB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuXG4gICYgLnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogdmFyKC0tbGFiZWwpO1xuICB9XG5cbiAgJiBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICBjb2xvcjogdmFyKC0tcGxhY2Vob2xkZXItdGV4dCk7XG4gIH1cblxuICAmIC5saXRlcmFsLFxuICAmIC5rZXl3b3JkLFxuICAmIC5hdHRyaWJ1dGUge1xuICAgIGNvbG9yOiB2YXIoLS1zeXN0ZW0tcHVycGxlKTtcbiAgfVxuXG4gICYgLm51bWJlciB7XG4gICAgY29sb3I6IHZhcigtLXN5c3RlbS1ibHVlKTtcbiAgfVxuXG4gICYgLmRlY2xhcmF0aW9uIHtcbiAgICBjb2xvcjogdmFyKC0tc3lzdGVtLXRlYWwpO1xuICB9XG5cbiAgJiAudHlwZSB7XG4gICAgY29sb3I6IHZhcigtLXN5c3RlbS1pbmRpZ28pO1xuICB9XG5cbiAgJiAuZGlyZWN0aXZlIHtcbiAgICBjb2xvcjogdmFyKC0tc3lzdGVtLW9yYW5nZSk7XG4gIH1cblxuICAmIC5jb21tZW50IHtcbiAgICBjb2xvcjogdmFyKC0tc3lzdGVtLWdyYXkpO1xuICB9XG59XG5cbm1haW4gc3VtbWFyeTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG5maWd1cmUge1xuICBtYXJnaW46IDJlbSAwO1xuICBwYWRkaW5nOiAxZW0gMDtcblxuICAmIHN2ZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbmgxIHNtYWxsIHtcbiAgZm9udC1zaXplOiAwLjVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiB2YXIoLS1xdWF0ZXJuYXJ5LWxhYmVsKTtcbn1cblxucCBjb2RlLFxuZGQgY29kZSxcbmxpIGNvZGUge1xuICBmb250LXNpemU6IHNtYWxsZXI7XG4gIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktbGFiZWwpO1xufVxuXG5hIGNvZGUge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuc2VjdGlvbiA+IFtyb2xlPVwiYXJ0aWNsZVwiXVtjbGFzc10sXG5uYXYgbGlbY2xhc3NdLFxuZGwgZHRbY2xhc3NdIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tYmFja2dyb3VuZC1pbWFnZSk7XG4gIGJhY2tncm91bmQtc2l6ZTogMWVtO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IDAuMjVlbTtcbiAgcGFkZGluZy1sZWZ0OiAzZW07XG59XG5cbmRsIGR0W2NsYXNzXSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb24teTogMC4xMjVlbTtcbn1cblxuc2VjdGlvbiA+IFtyb2xlPVwiYXJ0aWNsZVwiXSB7XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgcGFkZGluZy1ib3R0b206IDFlbTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHZhcigtLXNlcGFyYXRvcikgc29saWQ7XG4gIHBhZGRpbmctbGVmdDogMmVtICFpbXBvcnRhbnQ7XG59XG5cbnNlY3Rpb24gPiBbcm9sZT1cImFydGljbGVcIl06bGFzdC1vZi10eXBlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbm5hdiBsaVtjbGFzc10sXG5kbCBkdFtjbGFzc10ge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICB0ZXh0LWluZGVudDogLTFlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG59XG5cbm5hdiBsaVtjbGFzc10ge1xuICBwYWRkaW5nLWxlZnQ6IDIuNWVtO1xufVxuXG4uY2FzZSxcbi5lbnVtZXJhdGlvbl9jYXNlIHtcbiAgLS1iYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pY29uLWNhc2UpO1xuICAtLWxpbms6IHZhcigtLXN5c3RlbS10ZWFsKTtcbn1cblxuLmNsYXNzIHtcbiAgLS1iYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pY29uLWNsYXNzKTtcbiAgLS1saW5rOiB2YXIoLS1zeXN0ZW0taW5kaWdvKTtcbn1cblxuLmVudW1lcmF0aW9uIHtcbiAgLS1iYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pY29uLWVudW1lcmF0aW9uKTtcbiAgLS1saW5rOiB2YXIoLS1zeXN0ZW0tb3JhbmdlKTtcbn1cblxuLmV4dGVuc2lvbiB7XG4gIC0tYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taWNvbi1leHRlbnNpb24pO1xuICAtLWxpbms6IHZhcigtLXN5c3RlbS1vcmFuZ2UpO1xufVxuXG4uZnVuY3Rpb24ge1xuICAtLWJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWljb24tZnVuY3Rpb24pO1xuICAtLWxpbms6IHZhcigtLXN5c3RlbS1ncmVlbik7XG59XG5cbi5tZXRob2QsXG4uaW5pdGlhbGl6ZXIge1xuICAtLWJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWljb24tbWV0aG9kKTtcbiAgLS1saW5rOiB2YXIoLS1zeXN0ZW0tYmx1ZSk7XG59XG5cbi5wcm9wZXJ0eSB7XG4gIC0tYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taWNvbi1wcm9wZXJ0eSk7XG4gIC0tbGluazogdmFyKC0tc3lzdGVtLXRlYWwpO1xufVxuXG4ucHJvdG9jb2wge1xuICAtLWJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWljb24tcHJvdG9jb2wpO1xuICAtLWxpbms6IHZhcigtLXN5c3RlbS1waW5rKTtcbn1cblxuLnN0cnVjdHVyZSB7XG4gIC0tYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taWNvbi1zdHJ1Y3R1cmUpO1xuICAtLWxpbms6IHJlZDtcbn1cblxuLnR5cGVhbGlhcyB7XG4gIC0tYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taWNvbi10eXBlYWxpYXMpO1xuICAtLWxpbms6IHZhcigtLXN5c3RlbS1ncmVlbik7XG59XG5cbi52YXJpYWJsZSB7XG4gIC0tYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taWNvbi12YXJpYWJsZSk7XG4gIC0tbGluazogdmFyKC0tc3lzdGVtLWdyZWVuKTtcbn1cblxuLnVua25vd24ge1xuICAtLWxpbms6IHZhcigtLXF1YXRlcm5hcnktbGFiZWwpO1xuICBjb2xvcjogdmFyKC0tbGluayk7XG59XG4iXX0= */ \ No newline at end of file diff --git a/Sources/swift-doc/Subcommands/Generate.swift b/Sources/swift-doc/Subcommands/Generate.swift index 707cb9ba..4901dcbc 100644 --- a/Sources/swift-doc/Subcommands/Generate.swift +++ b/Sources/swift-doc/Subcommands/Generate.swift @@ -1,118 +1,130 @@ import ArgumentParser import Foundation +import SwiftDoc +import SwiftMarkup import SwiftSemantics import struct SwiftSemantics.Protocol -import SwiftMarkup -import SwiftDoc extension SwiftDoc { - struct Generate: ParsableCommand { - enum Format: String, ExpressibleByArgument { - case commonmark - case html - } + struct Generate: ParsableCommand { + enum Format: String, ExpressibleByArgument { + case commonmark + case html + } + + struct Options: ParsableArguments { + @Argument(help: "One or more paths to Swift files") + var inputs: [String] + + @Option(name: [.long, .customShort("n")], + help: "The name of the module") + var moduleName: String + + @Option(name: .shortAndLong, + default: ".build/documentation", + help: "The path for generated output") + var output: String + + @Option(name: .shortAndLong, + default: .commonmark, + help: "The output format") + var format: Format + + @Option(name: .customLong("base-url"), + default: "/", + help: "The base URL used for all relative URLs in generated documents.") + var baseURL: String + } + + static var configuration = CommandConfiguration(abstract: "Generates Swift documentation") + + @OptionGroup() + var options: Options - struct Options: ParsableArguments { - @Argument(help: "One or more paths to Swift files") - var inputs: [String] + func run() throws { + let module = try Module(name: options.moduleName, paths: options.inputs) - @Option(name: [.long, .customShort("n")], - help: "The name of the module") - var moduleName: String + let outputDirectoryURL = URL(fileURLWithPath: options.output) + try fileManager.createDirectory(at: outputDirectoryURL, withIntermediateDirectories: true, attributes: fileAttributes) - @Option(name: .shortAndLong, - default: ".build/documentation", - help: "The path for generated output") - var output: String + do { + let format = options.format - @Option(name: .shortAndLong, - default: .commonmark, - help: "The output format") - var format: Format + var pages: [String: Page] = [:] - @Option(name: .customLong("base-url"), - default: "/", - help: "The base URL used for all relative URLs in generated documents.") - var baseURL: String + var globals: [String: [Symbol]] = [:] + for symbol in module.interface.topLevelSymbols.filter({ $0.isPublic }) { + switch symbol.api { + case is Class, is Enumeration, is Structure, is Protocol: + pages[path(for: symbol)] = TypePage(module: module, symbol: symbol) + case let `typealias` as Typealias: + pages[path(for: `typealias`.name)] = TypealiasPage(module: module, symbol: symbol) + case let function as Function where !function.isOperator: + globals[function.name, default: []] += [symbol] + case let variable as Variable: + globals[variable.name, default: []] += [symbol] + default: + continue + } } - static var configuration = CommandConfiguration(abstract: "Generates Swift documentation") - - @OptionGroup() - var options: Options - - func run() throws { - let module = try Module(name: options.moduleName, paths: options.inputs) - - let outputDirectoryURL = URL(fileURLWithPath: options.output) - try fileManager.createDirectory(at: outputDirectoryURL, withIntermediateDirectories: true, attributes: fileAttributes) - - do { - let format = options.format - - var pages: [String: Page] = [:] - - var globals: [String: [Symbol]] = [:] - for symbol in module.interface.topLevelSymbols.filter({ $0.isPublic }) { - switch symbol.api { - case is Class, is Enumeration, is Structure, is Protocol: - pages[path(for: symbol)] = TypePage(module: module, symbol: symbol) - case let `typealias` as Typealias: - pages[path(for: `typealias`.name)] = TypealiasPage(module: module, symbol: symbol) - case let function as Function where !function.isOperator: - globals[function.name, default: []] += [symbol] - case let variable as Variable: - globals[variable.name, default: []] += [symbol] - default: - continue - } - } - - for (name, symbols) in globals { - pages[path(for: name)] = GlobalPage(module: module, name: name, symbols: symbols) - } - - guard !pages.isEmpty else { return } - - if pages.count == 1, let page = pages.first?.value { - let filename: String - switch format { - case .commonmark: - filename = "Home.md" - case .html: - filename = "index.html" - } - - let url = outputDirectoryURL.appendingPathComponent(filename) - try page.write(to: url, format: format, baseURL: options.baseURL) - } else { - switch format { - case .commonmark: - pages["Home"] = HomePage(module: module) - pages["_Sidebar"] = SidebarPage(module: module) - pages["_Footer"] = FooterPage() - case .html: - pages["Home"] = HomePage(module: module) - } - - try pages.map { $0 }.parallelForEach { - let filename: String - switch format { - case .commonmark: - filename = "\($0.key).md" - case .html where $0.key == "Home": - filename = "index.html" - case .html: - filename = "\($0.key)/index.html" - } - - let url = outputDirectoryURL.appendingPathComponent(filename) - try $0.value.write(to: url, format: format, baseURL: options.baseURL) - } - } - } catch { - logger.error("\(error)") + for (name, symbols) in globals { + pages[path(for: name)] = GlobalPage(module: module, name: name, symbols: symbols) + } + + guard !pages.isEmpty else { return } + + if pages.count == 1, let page = pages.first?.value { + let filename: String + switch format { + case .commonmark: + filename = "Home.md" + case .html: + filename = "index.html" + } + + let url = outputDirectoryURL.appendingPathComponent(filename) + try page.write(to: url, format: format, baseURL: options.baseURL) + } else { + switch format { + case .commonmark: + pages["Home"] = HomePage(module: module) + pages["_Sidebar"] = SidebarPage(module: module) + pages["_Footer"] = FooterPage() + case .html: + pages["Home"] = HomePage(module: module) + } + + try pages.map { $0 }.parallelForEach { + let filename: String + switch format { + case .commonmark: + filename = "\($0.key).md" + case .html where $0.key == "Home": + filename = "index.html" + case .html: + filename = "\($0.key)/index.html" } + + let url = outputDirectoryURL.appendingPathComponent(filename) + try $0.value.write(to: url, format: format, baseURL: options.baseURL) + } } + + if case .html = format { + let cssData = try fetchRemoteCSS() + let cssURL = outputDirectoryURL.appendingPathComponent("all.css") + try writeFile(cssData, to: cssURL) + } + + } catch { + logger.error("\(error)") + } } + } +} + +func fetchRemoteCSS() throws -> Data { + let url = URL(string: "https://raw.githubusercontent.com/SwiftDocOrg/swift-doc/master/Resources/all.min.css")! + return try Data(contentsOf: url) } diff --git a/Sources/swift-doc/Supporting Types/CSS.swift b/Sources/swift-doc/Supporting Types/CSS.swift deleted file mode 100644 index d9354a9c..00000000 --- a/Sources/swift-doc/Supporting Types/CSS.swift +++ /dev/null @@ -1,1172 +0,0 @@ -let css = #""" -:root { - --system-red: rgb(255, 59, 48); - --system-orange: rgb(255, 149, 0); - --system-yellow: rgb(255, 204, 0); - --system-green: rgb(52, 199, 89); - --system-teal: rgb(90, 200, 250); - --system-blue: rgb(0, 122, 255); - --system-indigo: rgb(88, 86, 214); - --system-purple: rgb(175, 82, 222); - --system-pink: rgb(255, 45, 85); - --system-gray: rgb(142, 142, 147); - --system-gray2: rgb(174, 174, 178); - --system-gray3: rgb(199, 199, 204); - --system-gray4: rgb(209, 209, 214); - --system-gray5: rgb(229, 229, 234); - --system-gray6: rgb(242, 242, 247); - - --label: rgb(0, 0, 0); - --secondary-label: rgb(60, 60, 67); - --tertiary-label: rgb(72, 72, 74); - --quaternary-label: rgb(99, 99, 102); - --placeholder-text: rgb(142, 142, 147); - --link: rgb(0, 122, 255); - --separator: rgb(229, 229, 234); - --opaque-separator: rgb(198, 198, 200); - --system-fill: rgb(120, 120, 128); - --secondary-system-fill: rgb(120, 120, 128); - --tertiary-system-fill: rgb(118, 118, 128); - --quaternary-system-fill: rgb(116, 116, 128); - --system-background: rgb(255, 255, 255); - --secondary-system-background: rgb(242, 242, 247); - --tertiary-system-background: rgb(255, 255, 255); - --system-grouped-background: rgb(242, 242, 247); - --secondary-system-grouped-background: rgb(255, 255, 255); - --tertiary-system-grouped-background: rgb(242, 242, 247); -} - -@supports (color: color(display-p3 1 1 1)) { - :root { - --system-red: color(display-p3 1 0.2314 0.1882); - --system-orange: color(display-p3 1 0.5843 0); - --system-yellow: color(display-p3 1 0.8 0); - --system-green: color(display-p3 0.2039 0.7804 0.349); - --system-teal: color(display-p3 0.3529 0.7843 0.9804); - --system-blue: color(display-p3 0 0.4784 1); - --system-indigo: color(display-p3 0.3451 0.3373 0.8392); - --system-purple: color(display-p3 0.6863 0.3216 0.8706); - --system-pink: color(display-p3 1 0.1765 0.3333); - --system-gray: color(display-p3 0.5569 0.5569 0.5765); - --system-gray2: color(display-p3 0.6824 0.6824 0.698); - --system-gray3: color(display-p3 0.7804 0.7804 0.8); - --system-gray4: color(display-p3 0.8196 0.8196 0.8392); - --system-gray5: color(display-p3 0.898 0.898 0.9176); - --system-gray6: color(display-p3 0.949 0.949 0.9686); - - --label: color(display-p3 0 0 0); - --secondary-label: color(display-p3 0.2353 0.2353 0.2627); - --tertiary-label: color(display-p3 0.2823 0.2823 0.2901); - --quaternary-label: color(display-p3 0.4627 0.4627 0.5019); - --placeholder-text: color(display-p3 0.5568 0.5568 0.5764); - --link: color(display-p3 0 0.4784 1); - --separator: color(display-p3 0.898 0.898 0.9176); - --opaque-separator: color(display-p3 0.7765 0.7765 0.7843); - --system-fill: color(display-p3 0.4706 0.4706 0.502); - --secondary-system-fill: color(display-p3 0.4706 0.4706 0.502); - --tertiary-system-fill: color(display-p3 0.4627 0.4627 0.502); - --quaternary-system-fill: color(display-p3 0.4549 0.4549 0.502); - --system-background: color(display-p3 1 1 1); - --secondary-system-background: color(display-p3 0.949 0.949 0.9686); - --tertiary-system-background: color(display-p3 1 1 1); - --system-grouped-background: color(display-p3 0.949 0.949 0.9686); - --secondary-system-grouped-background: color(display-p3 1 1 1); - --tertiary-system-grouped-background: color( - display-p3 0.949 0.949 0.9686 - ); - } -} - -/* -@media (prefers-color-scheme: dark) { - :root { - --system-red: rgb(255, 69, 58); - --system-orange: rgb(255, 159, 10); - --system-yellow: rgb(255, 214, 10); - --system-green: rgb(48, 209, 88); - --system-teal: rgb(100, 210, 255); - --system-blue: rgb(10, 132, 255); - --system-indigo: rgb(94, 92, 230); - --system-purple: rgb(191, 90, 242); - --system-pink: rgb(255, 55, 95); - --system-gray: rgb(142, 142, 147); - --system-gray2: rgb(99, 99, 102); - --system-gray3: rgb(72, 72, 74); - --system-gray4: rgb(58, 58, 60); - --system-gray5: rgb(44, 44, 46); - --system-gray6: rgb(28, 28, 30); - - --label: rgb(255, 255, 255); - --secondary-label: rgb(235, 235, 245); - --tertiary-label: rgb(235, 235, 245); - --quaternary-label: rgb(235, 235, 245); - --placeholder-text: rgb(235, 235, 245); - --link: rgb(9, 132, 255); - --separator: rgb(44, 44, 46); - --opaque-separator: rgb(56, 56, 58); - --system-fill: rgb(120, 120, 128); - --secondary-system-fill: rgb(120, 120, 128); - --tertiary-system-fill: rgb(118, 118, 128); - --quaternary-system-fill: rgb(118, 118, 128); - --system-background: rgb(0, 0, 0); - --secondary-system-background: rgb(28, 28, 30); - --tertiary-system-background: rgb(44, 44, 46); - --system-grouped-background: rgb(0, 0, 0); - --secondary-system-grouped-background: rgb(28, 28, 30); - --tertiary-system-grouped-background: rgb(44, 44, 46); - } - - @supports (color: color(display-p3 1 1 1)) { - :root { - --system-red: color(display-p3 1 0.4118 0.3804); - --system-orange: color(display-p3 1 0.702 0.251); - --system-yellow: color(display-p3 1 0.8314 0.149); - --system-green: color(display-p3 0.1882 0.8588 0.3569); - --system-teal: color(display-p3 0.4392 0.8431 1); - --system-blue: color(display-p3 0.251 0.6118 1); - --system-indigo: color(display-p3 0.4902 0.4784 1); - --system-purple: color(display-p3 0.8549 0.5608 1); - --system-pink: color(display-p3 1 0.3922 0.5098); - --system-gray: color(display-p3 0.6824 0.6824 0.698); - --system-gray2: color(display-p3 0.4863 0.4863 0.502); - --system-gray3: color(display-p3 0.3294 0.3294 0.3373); - --system-gray4: color(display-p3 0.2667 0.2667 0.2745); - --system-gray5: color(display-p3 0.2118 0.2118 0.2196); - --system-gray6: color(display-p3 0.1412 0.1412 0.149); - - --label: color(display-p3 1 1 1); - --secondary-label: color(display-p3 0.9216 0.9216 0.9608); - --tertiary-label: color(display-p3 0.9216 0.9216 0.9608); - --quaternary-label: color(display-p3 0.9216 0.9216 0.9608); - --placeholder-text: color(display-p3 0.9216 0.9216 0.9608); - --link: color(display-p3 0.03529 0.5176 1); - --separator: color(display-p3 0.2118 0.2118 0.2196); - --opaque-separator: color(display-p3 0.2196 0.2196 0.2275); - --system-fill: color(display-p3 0.4706 0.4706 0.502); - --secondary-system-fill: color(display-p3 0.4706 0.4706 0.502); - --tertiary-system-fill: color(display-p3 0.4627 0.4627 0.502); - --quaternary-system-fill: color(display-p3 0.4627 0.4627 0.502); - --system-background: color(display-p3 0 0 0); - --secondary-system-background: color( - display-p3 0.1412 0.1412 0.149 - ); - --tertiary-system-background: color( - display-p3 0.2118 0.2118 0.2196 - ); - --system-grouped-background: color(display-p3 0 0 0); - --secondary-system-grouped-background: color( - display-p3 0.1412 0.1412 0.149 - ); - --tertiary-system-grouped-background: color( - display-p3 0.2118 0.2118 0.2196 - ); - } - } -} */ - -:root { - --large-title: 600 32pt / 39pt sans-serif; - --title-1: 600 26pt / 32pt sans-serif; - --title-2: 600 20pt / 25pt sans-serif; - --title-3: 500 18pt / 23pt sans-serif; - --headline: 500 15pt / 20pt sans-serif; - --body: 300 15pt / 20pt sans-serif; - --callout: 300 14pt / 19pt sans-serif; - --subhead: 300 13pt / 18pt sans-serif; - --footnote: 300 12pt / 16pt sans-serif; - --caption-1: 300 11pt / 13pt sans-serif; - --caption-2: 300 11pt / 13pt sans-serif; -} - -:root { - --icon-case: url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Crect fill='%2389c5e6' height='90' rx='8' stroke='%236bb7e1' stroke-miterlimit='10' stroke-width='4' width='90' x='5' y='5'/%3E%3Cpath d='m20.21 50c0-20.7 11.9-32.79 30.8-32.79 16 0 28.21 10.33 28.7 25.32h-15.52c-.79-7.53-6.1-12.42-13.19-12.42-8.79 0-14.37 7.52-14.37 19.82s5.54 20 14.41 20c7.08 0 12.22-4.66 13.23-12.09h15.52c-.74 15.07-12.43 25-28.78 25-19.01-.03-30.8-12.12-30.8-32.84z' fill='%23fff'/%3E%3C/svg%3E%0A"); - --icon-class: url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Crect fill='%239b98e6' height='90' rx='8' stroke='%235856d6' stroke-miterlimit='10' stroke-width='4' width='90' x='5' y='5'/%3E%3Cpath d='m20.21 50c0-20.7 11.9-32.79 30.8-32.79 16 0 28.21 10.33 28.7 25.32h-15.52c-.79-7.53-6.1-12.42-13.19-12.42-8.79 0-14.37 7.52-14.37 19.82s5.54 20 14.41 20c7.08 0 12.22-4.66 13.23-12.09h15.52c-.74 15.07-12.43 25-28.78 25-19.01-.03-30.8-12.12-30.8-32.84z' fill='%23fff'/%3E%3C/svg%3E"); - --icon-enumeration: url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Crect fill='%23eca95b' height='90' rx='8' stroke='%23e89234' stroke-miterlimit='10' stroke-width='4' width='90' x='5.17' y='5'/%3E%3Cpath d='m71.9 81.71h-43.47v-63.42h43.47v13h-27.34v12.62h25.71v11.87h-25.71v12.92h27.34z' fill='%23fff'/%3E%3C/svg%3E%0A"); - --icon-extension: url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Crect fill='%23eca95b' height='90' rx='8' stroke='%23e89234' stroke-miterlimit='10' stroke-width='4' width='90' x='5' y='5'/%3E%3Cg fill='%23fff'%3E%3Cpath d='m54.43 81.93h-33.92v-63.86h33.92v12.26h-21.82v13.8h20.45v11.32h-20.45v14.22h21.82z'/%3E%3Cpath d='m68.74 74.58h-.27l-2.78 7.35h-7.28l5.59-12.61-6-12.54h8l2.74 7.3h.27l2.76-7.3h7.64l-6.14 12.54 5.89 12.61h-7.64z'/%3E%3C/g%3E%3C/svg%3E%0A"); - --icon-function: url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Crect fill='%237ac673' height='90' rx='8' stroke='%235bb74f' stroke-miterlimit='10' stroke-width='4' width='90' x='5' y='5'/%3E%3Cpath d='m24.25 75.66a5.47 5.47 0 0 1 5.75-5.73c1.55 0 3.55.41 6.46.41 3.19 0 4.78-1.55 5.46-6.65l1.5-10.14h-9.34a6 6 0 1 1 0-12h11.1l1.09-7.27c1.55-10.89 8.01-16.58 17.73-16.58 6.69 0 11.74 1.77 11.74 6.64a5.47 5.47 0 0 1 -5.74 5.73c-1.55 0-3.55-.41-6.46-.41-3.14 0-4.73 1.51-5.46 6.65l-.78 5.27h11.44a6 6 0 1 1 .05 12h-13.19l-1.78 12.11c-1.59 10.92-8.1 16.61-17.82 16.61-6.7 0-11.75-1.77-11.75-6.64z' fill='%23fff'/%3E%3C/svg%3E%0A"); - --icon-method: url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Crect fill='%235a98f8' height='90' rx='8' stroke='%232974ed' stroke-miterlimit='10' stroke-width='4' width='90' x='5' y='5'/%3E%3Cpath d='m70.61 81.71v-39.6h-.31l-15.69 39.6h-9.22l-15.65-39.6h-.35v39.6h-14.19v-63.42h18.63l16 41.44h.36l16-41.44h18.61v63.42z' fill='%23fff'/%3E%3C/svg%3E%0A"); - --icon-property: url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Crect fill='%2389c5e6' height='90' rx='8' stroke='%236bb7e1' stroke-miterlimit='10' stroke-width='4' width='90' x='5' y='5'/%3E%3Cpath d='m52.31 18.29c13.62 0 22.85 8.84 22.85 22.46s-9.71 22.37-23.82 22.37h-10.34v18.59h-16.16v-63.42zm-11.31 32.71h7c6.85 0 10.89-3.56 10.89-10.2s-4.08-10.16-10.89-10.16h-7z' fill='%23fff'/%3E%3C/svg%3E%0A"); - --icon-protocol: url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Crect fill='%23ff6682' height='90' rx='8' stroke='%23ff2d55' stroke-miterlimit='10' stroke-width='4' width='90' x='5' y='5'/%3E%3Cg fill='%23fff'%3E%3Cpath d='m46.28 18.29c11.84 0 20 8.66 20 21.71s-8.44 21.71-20.6 21.71h-10.81v20h-12.09v-63.42zm-11.41 33.05h8.13c6.93 0 11-4 11-11.29s-4-11.25-10.93-11.25h-8.2z'/%3E%3Cpath d='m62 57.45h8v4.77h.16c.84-3.45 2.54-5.12 5.17-5.12a5.06 5.06 0 0 1 1.92.35v7.55a5.69 5.69 0 0 0 -2.39-.51c-3.08 0-4.66 1.74-4.66 5.12v12.1h-8.2z'/%3E%3C/g%3E%3C/svg%3E%0A"); - --icon-structure: url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Crect fill='%23b57edf' height='90' rx='8' stroke='%239454c2' stroke-miterlimit='10' stroke-width='4' width='90' x='5' y='5'/%3E%3Cpath d='m38.38 63c.74 4.53 5.62 7.16 11.82 7.16s10.37-2.81 10.37-6.68c0-3.51-2.73-5.31-10.24-6.76l-6.5-1.23c-12.66-2.35-19.21-8.49-19.21-18.21 0-12.22 10.59-20.09 25.18-20.09 16 0 25.36 7.83 25.53 19.91h-15c-.26-4.57-4.57-7.29-10.42-7.29s-9.31 2.63-9.31 6.37c0 3.34 2.9 5.18 9.8 6.5l6.5 1.23c13.56 2.6 19.71 8.09 19.71 18.09 0 12.74-10 20.83-26.72 20.83-15.82 0-26.28-7.3-26.5-19.78z' fill='%23fff'/%3E%3C/svg%3E%0A"); - --icon-typealias: url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Crect fill='%237ac673' height='90' rx='8' stroke='%235bb74f' stroke-miterlimit='10' stroke-width='4' width='90' x='5' y='5'/%3E%3Cpath d='m42 81.71v-50.41h-17.53v-13h51.06v13h-17.53v50.41z' fill='%23fff'/%3E%3C/svg%3E%0A"); - --icon-variable: url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Crect fill='%237ac673' height='90' rx='8' stroke='%235bb74f' stroke-miterlimit='10' stroke-width='4' width='90' x='5' y='5'/%3E%3Cpath d='m39.85 81.71-20.22-63.42h18.37l12.18 47.64h.35l12.17-47.64h17.67l-20.22 63.42z' fill='%23fff'/%3E%3C/svg%3E%0A"); -} - -/************/ - -body, -input, -textarea, -select, -button { - font-synthesis: none; - -moz-font-feature-settings: "kern"; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - direction: ltr; - text-align: left; -} - -h1:first-of-type, -h2:first-of-type, -h3:first-of-type, -h4:first-of-type, -h5:first-of-type, -h6:first-of-type { - margin-top: 0; -} - -h1 code, -h2 code, -h3 code, -h4 code, -h5 code, -h6 code { - font-family: inherit; - font-weight: inherit; -} - -h1 img, -h2 img, -h3 img, -h4 img, -h5 img, -h6 img { - margin: 0 0.5em 0.2em 0; - vertical-align: middle; - display: inline-block; -} - -img + h1 { - margin-top: 0.5em; -} - -img + h1, -img + h2, -img + h3, -img + h4, -img + h5, -img + h6 { - margin-top: 0.3em; -} - -h1 + *, -h2 + *, -h3 + *, -h4 + *, -h5 + *, -h6 + * { - margin-top: 0.8em; -} - -:is(h1, h2, h3, h4, h5, h6) + :is(h1, h2, h3, h4, h5, h6) { - margin-top: 0.4em; -} - -:matches(h1, h2, h3, h4, h5, h6) + :matches(h1, h2, h3, h4, h5, h6) { - margin-top: 0.4em; -} - -:is(p, ul, ol) + :is(h1, h2, h3, h4, h5, h6) { - margin-top: 1.6em; -} - -:matches(p, ul, ol) + :matches(h1, h2, h3, h4, h5, h6) { - margin-top: 1.6em; -} - -:is(p, ul, ol) + * { - margin-top: 0.8em; -} - -:matches(p, ul, ol) + * { - margin-top: 0.8em; -} - -ul, -ol { - margin-left: 1.17647em; -} - -:matches(ul, ol) :matches(ul, ol) { - margin-top: 0; - margin-bottom: 0; -} - -nav h2 { - color: var(--secondary-label); - text-transform: uppercase; - font-variant: small-caps; - font-weight: 600; - font-size: 1rem; -} - -nav ul, -nav ol { - margin: 0; - list-style: none; -} - -nav li li { - font-size: smaller; -} - -a:link, -a:visited { - text-decoration: none; -} -a:hover { - text-decoration: underline; -} -a:active { - text-decoration: none; -} - -p + a { - display: inline-block; -} - -b, -strong { - font-weight: 600; -} - -.summary, -.discussion { - font: var(--callout); -} - -article > .discussion { - margin-bottom: 2em; -} - -.discussion .highlight { - font: var(--caption-1); - background: transparent; - border: 1px var(--separator) solid; -} - -em, -i, -cite, -dfn { - font-style: italic; -} - -/* sup { - font-size: 0.6em; - vertical-align: top; - position: relative; - bottom: -0.2em; -} */ - -:matches(h1, h2, h3) sup { - font-size: 0.4em; -} - -sup a { - vertical-align: inherit; - color: inherit; -} - -sup a:hover { - color: var(--link); - text-decoration: none; -} - -sub { - line-height: 1; -} - -abbr { - border: 0; -} - -:lang(ja), -:lang(ko), -:lang(th), -:lang(zh) { - font-style: normal; -} - -:lang(ko) { - word-break: keep-all; -} - -form fieldset { - width: 95%; - margin: 1em auto; - max-width: 450px; -} - -form label { - position: relative; - display: block; - margin-bottom: 14px; - width: 100%; - font-size: 1em; - font-weight: 400; - line-height: 1.5em; -} - -input[type="text"], -input[type="email"], -input[type="number"], -input[type="password"], -input[type="tel"], -input[type="url"], -textarea { - margin: 0; - width: 100%; - height: 34px; - font-family: inherit; - font-size: 100%; - font-weight: 400; - border: 1px solid var(--separator); - border-radius: 4px; - padding: 0 1em 0; - position: relative; - z-index: 1; - color: #333333; - vertical-align: top; -} - -input[type="text"], -input[type="text"]:focus, -input[type="email"], -input[type="email"]:focus, -input[type="number"], -input[type="number"]:focus, -input[type="password"], -input[type="password"]:focus, -input[type="tel"], -input[type="tel"]:focus, -input[type="url"], -input[type="url"]:focus, -textarea, -textarea:focus { - -moz-appearance: none; - -webkit-appearance: none; - appearance: none; -} - -input[type="text"]:focus, -input[type="email"]:focus, -input[type="number"]:focus, -input[type="password"]:focus, -input[type="tel"]:focus, -input[type="url"]:focus, -textarea:focus { - border-color: #0088cc; - outline: 0; - -webkit-box-shadow: 0 0 0 3px rgba(0, 136, 204, 0.3); - box-shadow: 0 0 0 3px rgba(0, 136, 204, 0.3); - z-index: 9; -} - -input[type="text"]:-moz-read-only, -input[type="text"]:-moz-read-only, -input[type="email"]:-moz-read-only, -input[type="email"]:-moz-read-only, -input[type="number"]:-moz-read-only, -input[type="number"]:-moz-read-only, -input[type="password"]:-moz-read-only, -input[type="password"]:-moz-read-only, -input[type="tel"]:-moz-read-only, -input[type="tel"]:-moz-read-only, -input[type="url"]:-moz-read-only, -input[type="url"]:-moz-read-only { - background: none; - border: none; - box-shadow: none; - padding-left: 0; -} - -input[type="text"]:-moz-read-only, -input[type="text"]:read-only, -input[type="email"]:-moz-read-only, -input[type="email"]:read-only, -input[type="number"]:-moz-read-only, -input[type="number"]:read-only, -input[type="password"]:-moz-read-only, -input[type="password"]:read-only, -input[type="tel"]:-moz-read-only, -input[type="tel"]:read-only, -input[type="url"]:-moz-read-only, -input[type="url"]:read-only { - background: none; - border: none; - box-shadow: none; - padding-left: 0; -} - -::-webkit-input-placeholder, -:-moz-placeholder, -::-moz-placeholder, -:-ms-input-placeholder { - color: var(--placeholder-text); -} - -textarea { - min-height: 134px; - line-height: 1.4737; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - overflow-y: auto; - -webkit-overflow-scrolling: touch; - resize: vertical; -} -textarea, -textarea:focus { - -moz-appearance: none; - -webkit-appearance: none; - appearance: none; -} - -select { - background: transparent; - width: 100%; - height: 34px; - padding: 0 1em; - font-size: 1em; - font-family: inherit; - border-radius: 4px; - border: none; - margin: 0; - cursor: pointer; -} -select, -select:focus { - -moz-appearance: none; - -webkit-appearance: none; - appearance: none; -} - -select:focus { - border-color: #0088cc; - outline: 0; - -webkit-box-shadow: 0 0 0 3px rgba(0, 136, 204, 0.3); - box-shadow: 0 0 0 3px rgba(0, 136, 204, 0.3); - z-index: 9; -} - -input[type="file"] { - margin: 0; - font-family: inherit; - font-size: 100%; - background: #fafafa; - width: 100%; - height: 34px; - border-radius: 4px; - padding: 6px 1em; - position: relative; - z-index: 1; - color: #333333; - vertical-align: top; - cursor: pointer; -} - -input[type="file"]:focus { - border-color: #0088cc; - outline: 0; - -webkit-box-shadow: 0 0 0 3px rgba(0, 136, 204, 0.3); - box-shadow: 0 0 0 3px rgba(0, 136, 204, 0.3); - z-index: 9; -} -input[type="file"]:focus, -input[type="file"]:focus:focus { - -moz-appearance: none; - -webkit-appearance: none; - appearance: none; -} - -button, -button:focus, -input[type="reset"], -input[type="reset"]:focus, -input[type="submit"], -input[type="submit"]:focus { - -moz-appearance: none; - -webkit-appearance: none; - appearance: none; -} - -:matches(button, input[type="reset"], input[type="submit"]) { - background-color: #e3e3e3; - background: -webkit-gradient( - linear, - left top, - left bottom, - from(white), - to(#e3e3e3) - ); - background: linear-gradient(white, #e3e3e3); - border-color: #d6d6d6; - color: #0070c9; -} -:matches(button, input[type="reset"], input[type="submit"]):hover { - background-color: #eeeeee; - background: -webkit-gradient( - linear, - left top, - left bottom, - from(white), - to(#eeeeee) - ); - background: linear-gradient(white, #eeeeee); - border-color: #d9d9d9; -} -:matches(button, input[type="reset"], input[type="submit"]):active { - background-color: gainsboro; - background: -webkit-gradient( - linear, - left top, - left bottom, - from(#f7f7f7), - to(gainsboro) - ); - background: linear-gradient(#f7f7f7, gainsboro); - border-color: #d0d0d0; -} -:matches(button, input[type="reset"], input[type="submit"]):disabled { - background-color: #e3e3e3; - background: -webkit-gradient( - linear, - left top, - left bottom, - from(white), - to(#e3e3e3) - ); - background: linear-gradient(white, #e3e3e3); - border-color: #d6d6d6; - color: #0070c9; -} - -/* */ - -body { - background: var(--system-grouped-background); - font: var(--body); - font-family: ui-system, -apple-system, BlinkMacSystemFont, sans-serif; - color: var(--label); -} - -h1 { - font: var(--large-title); -} - -h2 { - font: var(--title-2); -} - -h3 { - font: var(--title-3); -} - -h4, -h5, -h6 { - font: var(--headline); -} - -/* strong, - th, - dt { - font: var(--headline); - } */ - -a { - color: var(--link); -} - -label { - font: var(--callout); -} - -label, -input { - display: block; -} - -input { - margin-bottom: 1em; -} - -/* button, - input[type="submit"] { - color: var(--link); - background: transparent; - border: none; - padding: 0.5em; - } */ - -/*********************/ - -hr { - border: none; - border-top: 1px var(--separator) solid; - margin: 1em 0; -} - -table { - width: 100%; - font: var(--caption-1); - caption-side: bottom; - margin-bottom: 2em; -} - -th, -td { - padding: 0 1em; -} - -th { - font-weight: 600; - text-align: left; -} - -thead th { - border-bottom: 1px var(--separator) solid; -} - -tr:last-of-type td, -tr:last-of-type th { - border-bottom: none; -} - -th, -td { - border-bottom: 1px var(--separator) solid; - color: var(--secondary-label); -} - -caption { - text-align: left; - margin-top: 2em; - font: var(--caption-2); - color: var(--tertiary-label); -} - -code, -.graph text { - font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", - "Courier New", monospace; - font-weight: 300; -} - -.graph > polygon { - display: none; -} - -.graph text { - fill: currentColor !important; -} - -.graph path, -.graph ellipse, -.graph rect, -.graph polygon { - stroke: currentColor !important; -} - -body { - width: 90vw; - max-width: 1280px; - margin: 1em auto; -} - -body > header { - font: var(--title-1); -} - -body > header a { - color: var(--label); -} - -body > header span { - font-weight: normal; -} - -body > header sup { - text-transform: uppercase; - font-size: small; - font-weight: 300; - color: var(--secondary-label); - letter-spacing: 0.1ch; -} - -@media screen and (max-width: 768px) { - body { - width: 96vw; - max-width: 100%; - } - - body > header { - font: var(--title-3); - text-align: left; - padding: 1em 0; - } - - body > nav { - display: none; - } - - body > main { - padding: 0 1em; - } - - #relationships figure { - display: none; - } - - section > [role="article"][class] pre { - margin-left: -2.5em; - } - - section > [role="article"][class] div { - margin-left: -2em; - } -} - -body > header { - padding: 0.5em 0; -} - -main, -nav { - overflow-x: scroll; -} - -main { - background: var(--system-background); - border-radius: 8px; -} - -form.search { -} - -body > footer { - clear: both; - padding: 1em 0; - font: var(--caption-1); - color: var(--secondary-label); -} - -main { - padding: 0 2em; - /* max-width: 66ch; */ -} - -nav { - width: 20vw; - float: right; - overflow: scroll; - padding: 0 1em 3em 1em; - margin-left: 1em; - position: sticky; - top: 1em; - max-height: 100vh; -} - -nav a { - color: var(--secondary-label); -} - -nav ul a { - color: var(--tertiary-label); -} - -nav ol { - padding: 0; -} - -nav ul { - padding: 0; - margin-bottom: 1em; - font: var(--callout); -} - -nav ol > li > a { - font: var(--headline); - font-size: smaller; - display: block; - margin: 0.5em 0; -} - -nav li { - text-overflow: ellipsis; - white-space: nowrap; - overflow: hidden; -} - -main section { - margin-bottom: 2em; - padding-bottom: 1em; - border-bottom: 1px var(--separator) solid; -} - -main section:last-of-type { - margin-bottom: 0; - border-bottom: none; -} - -/* main :matches(h1, h2, h3) { - position: sticky; - top: 0px; -} - -main h1 { - z-index: 1; -} - -main h2 { - z-index: 2; -} - -main h3 { - z-index: 3; -} */ - -blockquote { - border-left: 4px var(--separator) solid; - padding-left: 2em; - margin-left: 0; - font-size: smaller; - color: var(--secondary-label); - --link: var(--secondary-label); -} - -blockquote a { - text-decoration: underline; -} - -article { - padding: 2em 0 1em 0; -} - -article > .summary { - margin-bottom: 2em; - padding-bottom: 1em; - border-bottom: 1px var(--separator) solid; -} - -article > .summary:last-child { - border-bottom: none; -} - -.parameters th { - text-align: right; -} - -.parameters td { - color: var(--secondary-label); -} - -.parameters th + td { - text-align: center; -} - -dl { - padding-top: 1em; -} - -dt { - font: var(--headline); -} - -dd { - margin-left: 2em; - margin-bottom: 1em; -} - -dd p { - margin-top: 0; -} - -.highlight { - background: var(--secondary-system-background); - border-radius: 8px; - font-size: smaller; - overflow-x: scroll; - white-space: pre-line; - padding: 1em; - padding-left: 3em; - text-indent: -2em; - margin-bottom: 2em; -} - -.highlight .p { - white-space: nowrap; -} - -.highlight .placeholder { - color: var(--label); -} - -.highlight a { - text-decoration: underline; - color: var(--placeholder-text); -} - -.highlight .literal, -.highlight .keyword, -.highlight .attribute { - color: var(--system-purple); -} - -.highlight .number { - color: var(--system-blue); -} - -.highlight .declaration { - color: var(--system-teal); -} - -.highlight .type { - color: var(--system-indigo); -} - -.highlight .directive { - color: var(--system-orange); -} - -.highlight .comment { - color: var(--system-gray); -} - -main summary:hover { - text-decoration: underline; -} - -figure { - margin: 2em 0; - padding: 1em 0; -} - -figure svg { - max-width: 100%; - height: auto !important; - margin: 0 auto; - display: block; -} - -h1 small { - font-size: 0.5em; - line-height: 1.5; - display: block; - font-weight: normal; - color: var(--quaternary-label); -} - -p code, -dd code, -li code { - font-size: smaller; - color: var(--secondary-label); -} - -a code { - text-decoration: underline; -} - -section > [role="article"][class], -nav li[class], -dl dt[class] { - background-image: var(--background-image); - background-size: 1em; - background-repeat: no-repeat; - background-position: left 0.25em; - padding-left: 3em; -} - -dl dt[class] { - background-position-y: 0.125em; -} - -section > [role="article"] { - margin-bottom: 1em; - padding-bottom: 1em; - border-bottom: 1px var(--separator) solid; - padding-left: 2em !important; -} - -section > [role="article"]:last-of-type { - margin-bottom: 0; - padding-bottom: 0; - border-bottom: none; -} - -nav li[class], -dl dt[class] { - list-style: none; - text-indent: -1em; - margin-bottom: 0.5em; -} - -nav li[class] { - padding-left: 2.5em; -} - -.case, -.enumeration_case { - --background-image: var(--icon-case); - --link: var(--system-teal); -} - -.class { - --background-image: var(--icon-class); - --link: var(--system-indigo); -} - -.enumeration { - --background-image: var(--icon-enumeration); - --link: var(--system-orange); -} - -.extension { - --background-image: var(--icon-extension); - --link: var(--system-orange); -} - -.function { - --background-image: var(--icon-function); - --link: var(--system-green); -} - -.method, -.initializer { - --background-image: var(--icon-method); - --link: var(--system-blue); -} - -.property { - --background-image: var(--icon-property); - --link: var(--system-teal); -} - -.protocol { - --background-image: var(--icon-protocol); - --link: var(--system-pink); -} - -.structure { - --background-image: var(--icon-structure); - --link: var(--system-purple); -} - -.typealias { - --background-image: var(--icon-typealias); - --link: var(--system-green); -} - -.variable { - --background-image: var(--icon-variable); - --link: var(--system-green); -} - -.unknown { - --link: var(--quaternary-label); - color: var(--link); -} - -"""# diff --git a/Sources/swift-doc/Supporting Types/Layout.swift b/Sources/swift-doc/Supporting Types/Layout.swift index 4baef7e4..f82bf6e7 100644 --- a/Sources/swift-doc/Supporting Types/Layout.swift +++ b/Sources/swift-doc/Supporting Types/Layout.swift @@ -12,9 +12,7 @@ func layout(_ page: Page, baseURL: String) -> HTML {