diff --git a/package-lock.json b/package-lock.json index d2cf118b..1dad52d4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -54,10 +54,12 @@ "chai-as-promised": "^7.1.1", "chai-exclude": "^2.1.0", "commander": "^12.0.0", + "concurrently": "^8.2.2", "eslint": "^8.57.0", "eslint-plugin-node": "^11.1.0", "eslint-plugin-promise": "^6.1.1", "mocha": "^10.2.0", + "node-sass": "^9.0.0", "rewire": "^7.0.0", "sinon": "^17.0.1", "ts-mocha": "^10.0.0", @@ -73,6 +75,126 @@ "node": ">=0.10.0" } }, + "node_modules/@babel/code-frame": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.6.tgz", + "integrity": "sha512-ZJhac6FkEd1yhG2AHOmfcXG4ceoLltoCVJjN5XsWN9BifBQr+cHJbWi0h68HZuSORq+3WtJ2z0hwF2NG1b5kcA==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.24.6", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.6.tgz", + "integrity": "sha512-4yA7s865JHaqUdRbnaxarZREuPTHrjpDT+pXoAZ1yhyo6uFnIEpS8VMu16siFOHDpZNKYv5BObhsB//ycbICyw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.6.tgz", + "integrity": "sha512-2YnuOp4HAk2BsBrJJvYCbItHx0zWscI1C3zgWkz+wDyD9I7GIVrfnLyrR4Y1VR+7p+chAEcrgRQYZAGIKMV7vQ==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.24.6", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/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==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/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==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/runtime": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.6.tgz", + "integrity": "sha512-Ja18XcETdEl5mzzACGd+DKgaGJzPTCow7EglgwTmHdwokzDFYh/MHua6lU6DV/hjF2IaOJ4oX2nqnjG7RElKOw==", + "dev": true, + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", @@ -364,6 +486,12 @@ "hashlru": "^2.3.0" } }, + "node_modules/@gar/promisify": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", + "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", + "dev": true + }, "node_modules/@humanwhocodes/config-array": { "version": "0.11.14", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", @@ -557,6 +685,45 @@ "node": ">= 8" } }, + "node_modules/@npmcli/fs": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.2.tgz", + "integrity": "sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==", + "dev": true, + "dependencies": { + "@gar/promisify": "^1.1.3", + "semver": "^7.3.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/@npmcli/move-file": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz", + "integrity": "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==", + "deprecated": "This functionality has been moved to @npmcli/fs", + "dev": true, + "dependencies": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/@npmcli/move-file/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/@pkgjs/parseargs": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", @@ -610,6 +777,15 @@ "integrity": "sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==", "dev": true }, + "node_modules/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, "node_modules/@types/chai": { "version": "4.3.11", "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.11.tgz", @@ -685,6 +861,12 @@ "resolved": "https://registry.npmjs.org/@types/luxon/-/luxon-3.4.2.tgz", "integrity": "sha512-TifLZlFudklWlMBfhubvgqTXRzLDI5pCbGa4P8a3wPyUQSW+1xQ5eDsreP9DWHX3tjq1ke96uYG/nwundroWcA==" }, + "node_modules/@types/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==", + "dev": true + }, "node_modules/@types/mocha": { "version": "10.0.6", "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.6.tgz", @@ -699,6 +881,12 @@ "undici-types": "~5.26.4" } }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", + "dev": true + }, "node_modules/@types/relateurl": { "version": "0.2.33", "resolved": "https://registry.npmjs.org/@types/relateurl/-/relateurl-0.2.33.tgz", @@ -955,6 +1143,12 @@ "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", "dev": true }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, "node_modules/abort-controller": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", @@ -992,6 +1186,43 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/agentkeepalive": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz", + "integrity": "sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==", + "dev": true, + "dependencies": { + "humanize-ms": "^1.2.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/ajv": { "version": "8.12.0", "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", @@ -1067,11 +1298,31 @@ "node": ">= 8" } }, + "node_modules/aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", + "dev": true + }, "node_modules/archy": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==" }, + "node_modules/are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "deprecated": "This package is no longer supported.", + "dev": true, + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", @@ -1105,6 +1356,15 @@ "node": "*" } }, + "node_modules/async-foreach": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", + "integrity": "sha512-VUeSMD8nEGBWaZK4lizI1sf3yEC7pnAQ/mrI7pC2fBz2s/tq5jWWEngTwaf0Gruu/OoXRGLGg1XFqpYBiGTYJA==", + "dev": true, + "engines": { + "node": "*" + } + }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -1242,6 +1502,88 @@ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" }, + "node_modules/cacache": { + "version": "16.1.3", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.3.tgz", + "integrity": "sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==", + "dev": true, + "dependencies": { + "@npmcli/fs": "^2.1.0", + "@npmcli/move-file": "^2.0.0", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "glob": "^8.0.1", + "infer-owner": "^1.0.4", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "mkdirp": "^1.0.4", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^9.0.0", + "tar": "^6.1.11", + "unique-filename": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/cacache/node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/cacache/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/cacache/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cacache/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -1272,6 +1614,32 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/camelcase-keys": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", + "dev": true, + "dependencies": { + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/camelcase-keys/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/chai": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/chai/-/chai-4.4.0.tgz", @@ -1381,6 +1749,15 @@ "fsevents": "~2.3.2" } }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, "node_modules/clean-css": { "version": "4.2.4", "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.4.tgz", @@ -1392,6 +1769,15 @@ "node": ">= 4.0" } }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/cliui": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", @@ -1419,6 +1805,15 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true, + "bin": { + "color-support": "bin.js" + } + }, "node_modules/colorette": { "version": "2.0.20", "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", @@ -1450,6 +1845,80 @@ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, + "node_modules/concurrently": { + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-8.2.2.tgz", + "integrity": "sha512-1dP4gpXFhei8IOtlXRE/T/4H88ElHgTiUzh71YUmtjTEHMSRS2Z/fgOxHSxxusGHogsRfxNq1vyAwxSC+EVyDg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.2", + "date-fns": "^2.30.0", + "lodash": "^4.17.21", + "rxjs": "^7.8.1", + "shell-quote": "^1.8.1", + "spawn-command": "0.0.2", + "supports-color": "^8.1.1", + "tree-kill": "^1.2.2", + "yargs": "^17.7.2" + }, + "bin": { + "conc": "dist/bin/concurrently.js", + "concurrently": "dist/bin/concurrently.js" + }, + "engines": { + "node": "^14.13.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/open-cli-tools/concurrently?sponsor=1" + } + }, + "node_modules/concurrently/node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/concurrently/node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/concurrently/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", + "dev": true + }, "node_modules/content-disposition": { "version": "0.5.4", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", @@ -1524,9 +1993,25 @@ "resolved": "https://registry.npmjs.org/csv-stringify/-/csv-stringify-6.4.5.tgz", "integrity": "sha512-SPu1Vnh8U5EnzpNOi1NDBL5jU5Rx7DVHr15DNg9LXDTAbQlAVAmEbVt16wZvEW9Fu9Qt4Ji8kmeCJ2B1+4rFTQ==" }, - "node_modules/dateformat": { - "version": "4.6.3", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-4.6.3.tgz", + "node_modules/date-fns": { + "version": "2.30.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", + "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.21.0" + }, + "engines": { + "node": ">=0.11" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/date-fns" + } + }, + "node_modules/dateformat": { + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-4.6.3.tgz", "integrity": "sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==", "engines": { "node": "*" @@ -1560,6 +2045,40 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/decamelize-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", + "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", + "dev": true, + "dependencies": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/decamelize-keys/node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decamelize-keys/node_modules/map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/deep-eql": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", @@ -1586,6 +2105,12 @@ "node": ">=0.4.0" } }, + "node_modules/delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", + "dev": true + }, "node_modules/depd": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", @@ -1708,6 +2233,16 @@ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "dev": true, + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, "node_modules/end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", @@ -1716,6 +2251,15 @@ "once": "^1.4.0" } }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/env-schema": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/env-schema/-/env-schema-5.2.1.tgz", @@ -1726,6 +2270,21 @@ "dotenv-expand": "^10.0.0" } }, + "node_modules/err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", + "dev": true + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, "node_modules/escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", @@ -2388,6 +2947,30 @@ "integrity": "sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==", "dev": true }, + "node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -2403,6 +2986,44 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "deprecated": "This package is no longer supported.", + "dev": true, + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/gauge/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/gaze": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", + "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", + "dev": true, + "dependencies": { + "globule": "^1.0.0" + }, + "engines": { + "node": ">= 4.0.0" + } + }, "node_modules/get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -2426,6 +3047,15 @@ "resolved": "https://registry.npmjs.org/get-iterator/-/get-iterator-1.0.2.tgz", "integrity": "sha512-v+dm9bNVfOYsY1OrhaCrmyOcYoSeVvbt+hHZ0Au+T+p1y+0Uyj9aMaGIeUTT6xdpRbWzDeYKvfOslPhggQMcsg==" }, + "node_modules/get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/glob": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", @@ -2515,12 +3145,84 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/globule": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.4.tgz", + "integrity": "sha512-OPTIfhMBh7JbBYDpa5b+Q5ptmMWKwcNcFSR/0c6t8V4f3ZAVBEsKNY37QdVqmLRYSMhOUGYrY0QhSoEpzGr/Eg==", + "dev": true, + "dependencies": { + "glob": "~7.1.1", + "lodash": "^4.17.21", + "minimatch": "~3.0.2" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/globule/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/globule/node_modules/glob": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/globule/node_modules/minimatch": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz", + "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, "node_modules/graphemer": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "dev": true }, + "node_modules/hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -2530,6 +3232,12 @@ "node": ">=8" } }, + "node_modules/has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", + "dev": true + }, "node_modules/hashlru": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/hashlru/-/hashlru-2.3.0.tgz", @@ -2560,6 +3268,18 @@ "resolved": "https://registry.npmjs.org/help-me/-/help-me-5.0.0.tgz", "integrity": "sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==" }, + "node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/html-minifier": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-4.0.0.tgz", @@ -2585,6 +3305,12 @@ "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" }, + "node_modules/http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", + "dev": true + }, "node_modules/http-errors": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", @@ -2600,6 +3326,55 @@ "node": ">= 0.8" } }, + "node_modules/http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dev": true, + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", + "dev": true, + "dependencies": { + "ms": "^2.0.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", @@ -2658,6 +3433,21 @@ "node": ">=0.8.19" } }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true + }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -2673,6 +3463,19 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, + "node_modules/ip-address": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", + "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", + "dev": true, + "dependencies": { + "jsbn": "1.1.0", + "sprintf-js": "^1.1.3" + }, + "engines": { + "node": ">= 12" + } + }, "node_modules/ipaddr.js": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", @@ -2681,6 +3484,12 @@ "node": ">= 0.10" } }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, "node_modules/is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", @@ -2734,6 +3543,12 @@ "node": ">=0.10.0" } }, + "node_modules/is-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", + "dev": true + }, "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -2840,6 +3655,18 @@ "node": ">=10" } }, + "node_modules/js-base64": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==", + "dev": true + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, "node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", @@ -2852,12 +3679,24 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/jsbn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", + "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==", + "dev": true + }, "node_modules/json-buffer": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", "dev": true }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, "node_modules/json-schema-ref-resolver": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-schema-ref-resolver/-/json-schema-ref-resolver-1.0.1.tgz", @@ -2983,6 +3822,15 @@ "json-buffer": "3.0.1" } }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -3024,6 +3872,12 @@ "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-2.3.2.tgz", "integrity": "sha512-n9wh8tvBe5sFmsqlg+XQhaQLumwpqoAUruLwjCopgTmUBjJ/fjtBsJzKleCaIGBOMXYEhp1YfKl4d7rJ5ZKJGA==" }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, "node_modules/liquidjs": { "version": "10.10.0", "resolved": "https://registry.npmjs.org/liquidjs/-/liquidjs-10.10.0.tgz", @@ -3173,36 +4027,143 @@ "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", "dev": true }, - "node_modules/map-stream": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", - "integrity": "sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==", - "dev": true + "node_modules/make-fetch-happen": { + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz", + "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==", + "dev": true, + "dependencies": { + "agentkeepalive": "^4.2.1", + "cacache": "^16.1.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^2.0.3", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^9.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "node_modules/make-fetch-happen/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", "dev": true, "engines": { - "node": ">= 8" + "node": ">=12" } }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "node_modules/make-fetch-happen/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", "dev": true, "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" + "yallist": "^4.0.0" }, "engines": { - "node": ">=8.6" + "node": ">=8" } }, - "node_modules/mime": { - "version": "3.0.0", + "node_modules/map-obj": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/map-stream": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", + "integrity": "sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==", + "dev": true + }, + "node_modules/meow": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz", + "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==", + "dev": true, + "dependencies": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize": "^1.2.0", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/meow/node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/meow/node_modules/type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "3.0.0", "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", "bin": { @@ -3231,6 +4192,15 @@ "node": ">= 0.6" } }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/minimatch": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", @@ -3251,6 +4221,29 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "dev": true, + "dependencies": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/minimist-options/node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/minipass": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", @@ -3259,6 +4252,156 @@ "node": ">=16 || 14 >=14.17" } }, + "node_modules/minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", + "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-collect/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-fetch": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz", + "integrity": "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==", + "dev": true, + "dependencies": { + "minipass": "^3.1.6", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } + }, + "node_modules/minipass-fetch/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-flush/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-pipeline/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-sized/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/mkdirp": { "version": "0.5.6", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", @@ -3322,6 +4465,12 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, + "node_modules/nan": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.19.0.tgz", + "integrity": "sha512-nO1xXxfh/RWNxfd/XPfbIfFk5vgLsAxUR9y5O0cHMJu/AW9U95JLXqthYHjEp+8gQ5p96K9jUp8nbVOxCdRbtw==", + "dev": true + }, "node_modules/nanoid": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", @@ -3340,6 +4489,15 @@ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/nise": { "version": "5.1.7", "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.7.tgz", @@ -3367,6 +4525,277 @@ "integrity": "sha512-qN8v/s2PAJwGUtr1/hYTpNKlD6Y9rc4p8KSmJXyGdYGZsDGKXrGThikLFP9OCHFeLeEpQzPwiAtdIvBLqm//Hw==", "dev": true }, + "node_modules/node-gyp": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz", + "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==", + "dev": true, + "dependencies": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^9.1.0", + "nopt": "^5.0.0", + "npmlog": "^6.0.0", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^2.0.2" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": ">= 10.12.0" + } + }, + "node_modules/node-gyp/node_modules/@npmcli/fs": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz", + "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", + "dev": true, + "dependencies": { + "@gar/promisify": "^1.0.1", + "semver": "^7.3.5" + } + }, + "node_modules/node-gyp/node_modules/@npmcli/move-file": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", + "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", + "deprecated": "This functionality has been moved to @npmcli/fs", + "dev": true, + "dependencies": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-gyp/node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/node-gyp/node_modules/cacache": { + "version": "15.3.0", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", + "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", + "dev": true, + "dependencies": { + "@npmcli/fs": "^1.0.0", + "@npmcli/move-file": "^1.0.1", + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "infer-owner": "^1.0.4", + "lru-cache": "^6.0.0", + "minipass": "^3.1.1", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^1.0.3", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.1", + "tar": "^6.0.2", + "unique-filename": "^1.1.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/node-gyp/node_modules/http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dev": true, + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/node-gyp/node_modules/make-fetch-happen": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", + "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", + "dev": true, + "dependencies": { + "agentkeepalive": "^4.1.3", + "cacache": "^15.2.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^6.0.0", + "minipass": "^3.1.3", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^1.3.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.2", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^6.0.0", + "ssri": "^8.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/node-gyp/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/node-gyp/node_modules/minipass-fetch": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz", + "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==", + "dev": true, + "dependencies": { + "minipass": "^3.1.0", + "minipass-sized": "^1.0.3", + "minizlib": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "optionalDependencies": { + "encoding": "^0.1.12" + } + }, + "node_modules/node-gyp/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-gyp/node_modules/socks-proxy-agent": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz", + "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==", + "dev": true, + "dependencies": { + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/node-gyp/node_modules/ssri": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", + "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "dev": true, + "dependencies": { + "minipass": "^3.1.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/node-gyp/node_modules/unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dev": true, + "dependencies": { + "unique-slug": "^2.0.0" + } + }, + "node_modules/node-gyp/node_modules/unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4" + } + }, + "node_modules/node-sass": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-9.0.0.tgz", + "integrity": "sha512-yltEuuLrfH6M7Pq2gAj5B6Zm7m+gdZoG66wTqG6mIZV/zijq3M2OO2HswtT6oBspPyFhHDcaxWpsBm0fRNDHPg==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "async-foreach": "^0.1.3", + "chalk": "^4.1.2", + "cross-spawn": "^7.0.3", + "gaze": "^1.0.0", + "get-stdin": "^4.0.1", + "glob": "^7.0.3", + "lodash": "^4.17.15", + "make-fetch-happen": "^10.0.4", + "meow": "^9.0.0", + "nan": "^2.17.0", + "node-gyp": "^8.4.1", + "sass-graph": "^4.0.1", + "stdout-stream": "^1.4.0", + "true-case-path": "^2.2.1" + }, + "bin": { + "node-sass": "bin/node-sass" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "dev": true, + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", @@ -3376,6 +4805,22 @@ "node": ">=0.10.0" } }, + "node_modules/npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "deprecated": "This package is no longer supported.", + "dev": true, + "dependencies": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, "node_modules/on-exit-leak-free": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-2.1.2.tgz", @@ -3456,6 +4901,30 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/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==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/pako": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", @@ -3481,6 +4950,24 @@ "node": ">=6" } }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -3579,6 +5066,12 @@ "through2": "^2.0.3" } }, + "node_modules/picocolors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", + "dev": true + }, "node_modules/picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", @@ -3707,6 +5200,25 @@ "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-3.0.0.tgz", "integrity": "sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==" }, + "node_modules/promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", + "dev": true + }, + "node_modules/promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "dev": true, + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/proxy-addr": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", @@ -3797,18 +5309,156 @@ } ] }, - "node_modules/quick-format-unescaped": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz", - "integrity": "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==" + "node_modules/quick-format-unescaped": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz", + "integrity": "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==" + }, + "node_modules/quick-lru": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/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==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "engines": { + "node": ">=8" + } }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "node_modules/read-pkg/node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "node_modules/read-pkg/node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", "dev": true, "dependencies": { - "safe-buffer": "^5.1.0" + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/read-pkg/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true, + "engines": { + "node": ">=8" } }, "node_modules/readable-stream": { @@ -3844,6 +5494,25 @@ "node": ">= 12.13.0" } }, + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dev": true, + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", + "dev": true + }, "node_modules/regexpp": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", @@ -3915,6 +5584,15 @@ "node": ">=10" } }, + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, "node_modules/reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", @@ -3976,6 +5654,15 @@ "queue-microtask": "^1.2.2" } }, + "node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dev": true, + "dependencies": { + "tslib": "^2.1.0" + } + }, "node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -4011,6 +5698,91 @@ "node": ">=10" } }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true, + "optional": true + }, + "node_modules/sass-graph": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-4.0.1.tgz", + "integrity": "sha512-5YCfmGBmxoIRYHnKK2AKzrAkCoQ8ozO+iumT8K4tXJXRVCPf+7s1/9KxTSW3Rbvf+7Y7b4FR3mWyLnQr3PHocA==", + "dev": true, + "dependencies": { + "glob": "^7.0.0", + "lodash": "^4.17.11", + "scss-tokenizer": "^0.4.3", + "yargs": "^17.2.1" + }, + "bin": { + "sassgraph": "bin/sassgraph" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/sass-graph/node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/sass-graph/node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/sass-graph/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/scss-tokenizer": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.4.3.tgz", + "integrity": "sha512-raKLgf1LI5QMQnG+RxHz6oK0sL3x3I4FN2UDLqgLOGO8hodECNnNh5BXn7fAyBxrA8zVzdQizQ6XjNJQ+uBwMw==", + "dev": true, + "dependencies": { + "js-base64": "^2.4.9", + "source-map": "^0.7.3" + } + }, + "node_modules/scss-tokenizer/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, "node_modules/secure-json-parse": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-2.7.0.tgz", @@ -4039,6 +5811,12 @@ "randombytes": "^2.1.0" } }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "dev": true + }, "node_modules/set-cookie-parser": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.6.0.tgz", @@ -4073,6 +5851,15 @@ "node": ">=8" } }, + "node_modules/shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/signal-exit": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", @@ -4132,6 +5919,44 @@ "node": ">=8" } }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "dev": true, + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.3.tgz", + "integrity": "sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==", + "dev": true, + "dependencies": { + "ip-address": "^9.0.5", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", + "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", + "dev": true, + "dependencies": { + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" + }, + "engines": { + "node": ">= 10" + } + }, "node_modules/sonic-boom": { "version": "3.8.0", "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-3.8.0.tgz", @@ -4158,6 +5983,44 @@ "source-map": "^0.6.0" } }, + "node_modules/spawn-command": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2.tgz", + "integrity": "sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==", + "dev": true + }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.18", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.18.tgz", + "integrity": "sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==", + "dev": true + }, "node_modules/split": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", @@ -4178,6 +6041,36 @@ "node": ">= 10.x" } }, + "node_modules/sprintf-js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", + "dev": true + }, + "node_modules/ssri": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", + "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", + "dev": true, + "dependencies": { + "minipass": "^3.1.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/ssri/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/statuses": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", @@ -4186,6 +6079,45 @@ "node": ">= 0.8" } }, + "node_modules/stdout-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", + "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", + "dev": true, + "dependencies": { + "readable-stream": "^2.0.1" + } + }, + "node_modules/stdout-stream/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/stdout-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/stdout-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/stream-combiner": { "version": "0.0.4", "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", @@ -4290,6 +6222,18 @@ "node": ">=4" } }, + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -4328,6 +6272,44 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/tar": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "dev": true, + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/tar/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/text-decoding": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/text-decoding/-/text-decoding-1.0.0.tgz", @@ -4417,6 +6399,30 @@ "node": ">=0.6" } }, + "node_modules/tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true, + "bin": { + "tree-kill": "cli.js" + } + }, + "node_modules/trim-newlines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", + "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/true-case-path": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-2.2.1.tgz", + "integrity": "sha512-0z3j8R7MCjy10kc/g+qg7Ln3alJTodw9aDuVWZa3uiWqfuBMKeAeP2ocWcxoyM3D73yz3Jt/Pu4qPr4wHSdB/Q==", + "dev": true + }, "node_modules/ts-api-utils": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.3.tgz", @@ -4515,6 +6521,12 @@ "strip-bom": "^3.0.0" } }, + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true + }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -4576,6 +6588,30 @@ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" }, + "node_modules/unique-filename": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-2.0.1.tgz", + "integrity": "sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==", + "dev": true, + "dependencies": { + "unique-slug": "^3.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/unique-slug": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-3.0.0.tgz", + "integrity": "sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, "node_modules/upper-case": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", @@ -4606,6 +6642,16 @@ "uuid": "dist/bin/uuid" } }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -4620,6 +6666,15 @@ "node": ">= 8" } }, + "node_modules/wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "dev": true, + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, "node_modules/workerpool": { "version": "6.2.1", "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", diff --git a/package.json b/package.json index 10e4bc30..6c98ec6c 100644 --- a/package.json +++ b/package.json @@ -48,10 +48,12 @@ "chai-as-promised": "^7.1.1", "chai-exclude": "^2.1.0", "commander": "^12.0.0", + "concurrently": "^8.2.2", "eslint": "^8.57.0", "eslint-plugin-node": "^11.1.0", "eslint-plugin-promise": "^6.1.1", "mocha": "^10.2.0", + "node-sass": "^9.0.0", "rewire": "^7.0.0", "sinon": "^17.0.1", "ts-mocha": "^10.0.0", @@ -59,11 +61,13 @@ }, "scripts": { "cp-package-json": "cp package.json ./src", + "scss-compile": "npx node-sass ./src/scss -o ./src/public/css --output-style compressed", + "watch-scss": "npx node-sass --watch ./src/scss -o ./src/public/css --output-style compressed", "test": "npx ts-mocha test/{,**}/*.spec.ts", - "build": "npm run cp-package-json && npx tsc", + "build": "npm run cp-package-json && npx tsc && npm run scss-compile", "lint": "npx eslint --color --cache .", "start": "node dist/index.js", - "dev": "tsc-watch --onSuccess \"node dist/index.js\"", + "dev": "npx concurrently \"npm run watch-scss\" \"tsc-watch --onSuccess 'node dist/index.js'\"", "publish": "node scripts/publish.js" }, "repository": { diff --git a/src/config/chis-ug/config.json b/src/config/chis-ug/config.json index 42e580df..105cf708 100644 --- a/src/config/chis-ug/config.json +++ b/src/config/chis-ug/config.json @@ -125,5 +125,5 @@ ] } ], - "logoBase64": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEBLAEsAAD/4QCQRXhpZgAASUkqAAgAAAAGABIBAwABAAAAAQAAABoBBQABAAAAVgAAABsBBQABAAAAXgAAACgBAwABAAAAAgAAADEBAgANAAAAZgAAADIBAgAUAAAAdAAAAAAAAAAsAQAAAQAAACwBAAABAAAAR0lNUCAyLjEwLjM2AAAyMDI0OjAxOjA0IDA1OjUxOjE0AP/hDM9odHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDQuNC4wLUV4aXYyIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6R0lNUD0iaHR0cDovL3d3dy5naW1wLm9yZy94bXAvIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9ImdpbXA6ZG9jaWQ6Z2ltcDpmZTUwYzgwYS0wYmUzLTQ5OWUtYTZkZS1mNzUyZTRlMWFkYWUiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDA0ZTViNTItZjBiYi00MDVjLThkMGEtZmZiNTU2NmU3YmQwIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6MmM4Yzc1ZWUtYTM2Mi00MTIzLThkNzItNWNkODNiNzlmMTllIiBkYzpGb3JtYXQ9ImltYWdlL2pwZWciIEdJTVA6QVBJPSIyLjAiIEdJTVA6UGxhdGZvcm09IkxpbnV4IiBHSU1QOlRpbWVTdGFtcD0iMTcwNDM0Mzg3NjYzMjkxNSIgR0lNUDpWZXJzaW9uPSIyLjEwLjM2IiB4bXA6Q3JlYXRvclRvb2w9IkdJTVAgMi4xMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyNDowMTowNFQwNTo1MToxNCswMTowMCIgeG1wOk1vZGlmeURhdGU9IjIwMjQ6MDE6MDRUMDU6NTE6MTQrMDE6MDAiPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6Y2hhbmdlZD0iLyIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDowZDY3YWQxNC04OWViLTQzZWItODg1ZC04YTExNDUxZTMyYWMiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkdpbXAgMi4xMCAoTGludXgpIiBzdEV2dDp3aGVuPSIyMDI0LTAxLTA0VDA1OjUxOjE2KzAxOjAwIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8P3hwYWNrZXQgZW5kPSJ3Ij8+/+ICKElDQ19QUk9GSUxFAAEBAAACGAAAAAAEMAAAbW50clJHQiBYWVogAAAAAAAAAAAAAAAAYWNzcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAPbWAAEAAAAA0y0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJZGVz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4IZjnveqbf7QHRAL0ot2HWioYK27LiYYtP4mYyJC7PE87zxFq8z8lgtq9oLEpe/tt5NmbqH+u6txryO3iXrFOOrDbNl+IGMcYSlhL/MsXWPdwWGBeKrE2uXq8AdUW+CUgi2IUckXhe6cQoelthnivnTsmKoYVGyPz0xvmJIoDZEPoGZRtqaAgApxG75Om49rWDHwm2+4AioYbCwotTxxHwQwRRUXCC+BK2SVZHZZXzjqLgDIXUpV/iz8/TEx9F2HVwcANtdd74RRNkNtFsrqDAUAUaGr7qcAVkuOr7qJWoJgKaYorOORkafmWu5tLG7ZZsM2W7V3NWmWjQ0PcAYMq76nsjWcRsm5q+6hrRoEXlnOu4h5fMUMba1q/MSqqwJV2zdTeB4vSHIoAmwrLVtx5T5Sov8AwhSoMOlj+7zHCKNq7fpqhMrLLP4heQlSYM4J404VUCzRW4ZtB2crCrxMghy04JkaGovenNfOwIpgJSVbqIAy1uJg4yWoaNDFcYq1K8FVJbH3Hb9Pc7czczbve0F90cS5m5m5252525252525252525252525252525252525252525252532hPaE9oT2hPaE9oT2hPaE9oT2hPaE9oT2hPaE9oT2hPaE9oT2hPaE9oT2hPaE9oT2hPaE9oT2hPaE9ofr/wD/2gAMAwEAAgADAAAAEBpAAAAAAAAAAAAABymAAAAAAAAAAAAAAkwBAJIIJIJAAAArBKAIBJIBABAAABBciJAIABAIBIBIAwWoJIAJBJIIAAIIJBAAAAAAAAAAAAG32222222222222222222222222222/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/8QAIxEAAgAGAgIDAQAAAAAAAAAAAAERIWGR0fAxQUBRcYGhUP/aAAgBAwEBPxA585ODihuFKTiuUVF9ufrgQpQmYr17Ggc1GPzHECSU9iaf1KTv5fLw13wuSj3DqQuLppyVPVBDWxQna7eU+Tkvv0rwFJPCBNJe24o3/BQc3OQsVn1YYjzfkRfDI+TRZpk09nNxIXDNGMJSHSfLhPfiH2IiJjbbi/JgpOFBuhr5ZIEiRhwiYk64/wBeosVFiosVFiosVFiosVFiosVFiosVFiosVFiosVFiosVFiosVFiosVFiosVFiosVFiosVFiosVFjWeDWeDWeDWeDWeDWe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" + "logoBase64": " data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAV4AAABkCAYAAADOvVhlAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEh2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSfvu78nIGlkPSdXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQnPz4KPHg6eG1wbWV0YSB4bWxuczp4PSdhZG9iZTpuczptZXRhLyc+CjxyZGY6UkRGIHhtbG5zOnJkZj0naHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyc+CgogPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9JycKICB4bWxuczpBdHRyaWI9J2h0dHA6Ly9ucy5hdHRyaWJ1dGlvbi5jb20vYWRzLzEuMC8nPgogIDxBdHRyaWI6QWRzPgogICA8cmRmOlNlcT4KICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0nUmVzb3VyY2UnPgogICAgIDxBdHRyaWI6Q3JlYXRlZD4yMDIyLTA5LTIwPC9BdHRyaWI6Q3JlYXRlZD4KICAgICA8QXR0cmliOkV4dElkPmE4Y2YwYTI3LTY4NDctNGFjOS04NTI2LWRmOTg2YmM4ODljMzwvQXR0cmliOkV4dElkPgogICAgIDxBdHRyaWI6RmJJZD41MjUyNjU5MTQxNzk1ODA8L0F0dHJpYjpGYklkPgogICAgIDxBdHRyaWI6VG91Y2hUeXBlPjI8L0F0dHJpYjpUb3VjaFR5cGU+CiAgICA8L3JkZjpsaT4KICAgPC9yZGY6U2VxPgogIDwvQXR0cmliOkFkcz4KIDwvcmRmOkRlc2NyaXB0aW9uPgoKIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PScnCiAgeG1sbnM6ZGM9J2h0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvJz4KICA8ZGM6dGl0bGU+CiAgIDxyZGY6QWx0PgogICAgPHJkZjpsaSB4bWw6bGFuZz0neC1kZWZhdWx0Jz5FbGVjdHJvbmljIENvbW11bml0eSBIZWFsdGggSW5mb3JtYXRpb24gU3lzdGVtPC9yZGY6bGk+CiAgIDwvcmRmOkFsdD4KICA8L2RjOnRpdGxlPgogPC9yZGY6RGVz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" } \ No newline at end of file diff --git a/src/css/custom-bootstrap.css b/src/css/custom-bootstrap.css new file mode 100644 index 00000000..7ed101eb --- /dev/null +++ b/src/css/custom-bootstrap.css @@ -0,0 +1,171 @@ +/*! + * Generated using the Bootstrap Customizer (https://getbootstrap.com/docs/3.4/customize/) + */ +/*! + * Bootstrap v3.4.1 (https://getbootstrap.com/) + * Copyright 2011-2019 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ + +.badge { + display: inline-block; + min-width: 10px; + padding: 3px 7px; + font-size: 12px; + font-weight: bold; + line-height: 1; + color: #ffffff; + text-align: center; + white-space: nowrap; + vertical-align: middle; + background-color: #777777; + border-radius: 10px; +} +.badge:empty { + display: none; +} +.btn .badge { + position: relative; + top: -1px; +} +.btn-xs .badge, +.btn-group-xs > .btn .badge { + top: 0; + padding: 1px 5px; +} +a.badge:hover, +a.badge:focus { + color: #ffffff; + text-decoration: none; + cursor: pointer; +} +.list-group-item.active > .badge, +.nav-pills > .active > a > .badge { + color: #337ab7; + background-color: #ffffff; +} +.list-group-item > .badge { + float: right; +} +.list-group-item > .badge + .badge { + margin-right: 5px; +} +.nav-pills > li > a > .badge { + margin-left: 3px; +} + +.tooltip { + position: absolute; + z-index: 1070; + display: block; + font-family: inherit; + font-style: normal; + font-weight: 400; + line-height: 1.42857143; + line-break: auto; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + word-wrap: normal; + white-space: normal; + font-size: 12px; + filter: alpha(opacity=0); + opacity: 0; +} +.tooltip.in { + filter: alpha(opacity=90); + opacity: 0.9; +} +.tooltip.top { + padding: 5px 0; + margin-top: -3px; +} +.tooltip.right { + padding: 0 5px; + margin-left: 3px; +} +.tooltip.bottom { + padding: 5px 0; + margin-top: 3px; +} +.tooltip.left { + padding: 0 5px; + margin-left: -3px; +} +.tooltip.top .tooltip-arrow { + bottom: 0; + left: 50%; + margin-left: -5px; + border-width: 5px 5px 0; + border-top-color: #000000; +} +.tooltip.top-left .tooltip-arrow { + right: 5px; + bottom: 0; + margin-bottom: -5px; + border-width: 5px 5px 0; + border-top-color: #000000; +} +.tooltip.top-right .tooltip-arrow { + bottom: 0; + left: 5px; + margin-bottom: -5px; + border-width: 5px 5px 0; + border-top-color: #000000; +} +.tooltip.right .tooltip-arrow { + top: 50%; + left: 0; + margin-top: -5px; + border-width: 5px 5px 5px 0; + border-right-color: #000000; +} +.tooltip.left .tooltip-arrow { + top: 50%; + right: 0; + margin-top: -5px; + border-width: 5px 0 5px 5px; + border-left-color: #000000; +} +.tooltip.bottom .tooltip-arrow { + top: 0; + left: 50%; + margin-left: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000000; +} +.tooltip.bottom-left .tooltip-arrow { + top: 0; + right: 5px; + margin-top: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000000; +} +.tooltip.bottom-right .tooltip-arrow { + top: 0; + left: 5px; + margin-top: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000000; +} +.tooltip-inner { + max-width: 200px; + padding: 3px 8px; + color: #ffffff; + text-align: center; + background-color: #000000; + border-radius: 4px; +} +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} \ No newline at end of file diff --git a/src/liquid/app/fragment_home.html b/src/liquid/app/fragment_home.html index 7ba65887..17c9b5c8 100644 --- a/src/liquid/app/fragment_home.html +++ b/src/liquid/app/fragment_home.html @@ -1,6 +1,11 @@ -
-
+
+
+ {% capture totalCount %}{{directiveModel.totalCount}} {% endcapture %} + {%if totalCount > 0 %} {% include "place/directive.html" %} {% include "place/list_lazy.html" %} + {%else%} + {% include "place/directive_1_get_started.html" %} + {%endif%}
\ No newline at end of file diff --git a/src/liquid/app/header.html b/src/liquid/app/header.html new file mode 100644 index 00000000..525cc4d7 --- /dev/null +++ b/src/liquid/app/header.html @@ -0,0 +1,42 @@ + + + \ No newline at end of file diff --git a/src/liquid/app/nav.html b/src/liquid/app/nav.html deleted file mode 100644 index 533ef2d8..00000000 --- a/src/liquid/app/nav.html +++ /dev/null @@ -1,97 +0,0 @@ - - - diff --git a/src/liquid/app/view.html b/src/liquid/app/view.html index ed5d723a..ab538582 100644 --- a/src/liquid/app/view.html +++ b/src/liquid/app/view.html @@ -1,43 +1,34 @@ + CHT User Management Tool - - - - - - - - - - + + + + + + + + - {% include "app/nav.html" %} - -
-
- {% if view == "list" %} - {% include "app/fragment_home.html" %} - {% else %} - {% include "app/form_switch.html" %} - {% endif %} +
+ {% include "app/header.html" %} +
+
+
+ {% if view == "list" %} + {% include "app/fragment_home.html" %} + {% else %} + {% include "app/form_switch.html" %} + {% endif %} +
+
-
- +
\ No newline at end of file diff --git a/src/liquid/auth/view.html b/src/liquid/auth/view.html index 40a5df49..6fe3a68d 100644 --- a/src/liquid/auth/view.html +++ b/src/liquid/auth/view.html @@ -2,7 +2,7 @@ CHT User Management Tool - + diff --git a/src/liquid/components/actions.html b/src/liquid/components/actions.html new file mode 100644 index 00000000..b7a00766 --- /dev/null +++ b/src/liquid/components/actions.html @@ -0,0 +1,38 @@ +
+ +
+ + +
+
+ {% if directiveModel.validationErrorCount > 0 or directiveModel.totalCount == 0 %} +
+ +
+ {% else %} + + {% endif %} + {% include "components/button_save_credentials.html" %} +
+
\ No newline at end of file diff --git a/src/liquid/components/button_save_credentials.html b/src/liquid/components/button_save_credentials.html index f1445a22..552c7c61 100644 --- a/src/liquid/components/button_save_credentials.html +++ b/src/liquid/components/button_save_credentials.html @@ -1,3 +1,3 @@ - - save_as Save Credentials + + Download Credentials \ No newline at end of file diff --git a/src/liquid/components/button_upload.html b/src/liquid/components/button_upload.html deleted file mode 100644 index 7e89fe70..00000000 --- a/src/liquid/components/button_upload.html +++ /dev/null @@ -1,3 +0,0 @@ - - group_add Upload - \ No newline at end of file diff --git a/src/liquid/components/filter_tag.html b/src/liquid/components/filter_tag.html index 02c77862..50590d27 100644 --- a/src/liquid/components/filter_tag.html +++ b/src/liquid/components/filter_tag.html @@ -1,21 +1,21 @@ -
- {% if directiveModel.filter == include.filterName %} - - - {% else %} - - {% endif %} -
\ No newline at end of file +{% if directiveModel.filter == include.filterName %} + + +{%elsif include.count == 0 %} + +{% else %} + +{% endif %} \ No newline at end of file diff --git a/src/liquid/components/list_cell.html b/src/liquid/components/list_cell.html index 01c997ca..073e8699 100644 --- a/src/liquid/components/list_cell.html +++ b/src/liquid/components/list_cell.html @@ -1,10 +1,12 @@ +
{% if include.values[include.property.property_name] != empty %} {% if include.linkTo and include.linkTo != empty and include.linkTo.type == 'remote' %} @@ -15,7 +17,10 @@ {% endif %} {% if include.linkTo.type == 'local' %} - cloud_off + cloud_off {% endif %} + {% else %} + {% endif %} +
\ No newline at end of file diff --git a/src/liquid/components/nav_badge.html b/src/liquid/components/nav_badge.html new file mode 100644 index 00000000..3f853f95 --- /dev/null +++ b/src/liquid/components/nav_badge.html @@ -0,0 +1,7 @@ + + {%if directiveModel.totalCountByContactType[contactType.name] > 999 %} + 999+ + {%else%} + {{directiveModel.totalCountByContactType[contactType.name]}} + {%endif%} + \ No newline at end of file diff --git a/src/liquid/components/pagination.html b/src/liquid/components/pagination.html new file mode 100644 index 00000000..96353084 --- /dev/null +++ b/src/liquid/components/pagination.html @@ -0,0 +1,46 @@ + diff --git a/src/liquid/components/place_item.html b/src/liquid/components/place_item.html index 80d1f4ae..f6921eaa 100644 --- a/src/liquid/components/place_item.html +++ b/src/liquid/components/place_item.html @@ -1,9 +1,12 @@ + {{place.placeNumber}} {% for hierarchy in contactType.hierarchy %} {% capture propertyName %}hierarchy_{{ hierarchy.property_name }}{% endcapture %} - {% + {% capture dataLabel %}{{ hierarchy.friendly_name }} {% endcapture %} + {% include "components/list_cell.html" propertyName=propertyName + dataLabel = dataLabel property=hierarchy values=place.hierarchyProperties linkTo=place.resolvedHierarchy[hierarchy.level] @@ -13,9 +16,11 @@ {% for property in contactType.place_properties %} {% if property.type != 'generated' %} {% capture propertyName %}place_{{ property.property_name }}{% endcapture %} + {% capture dataLabel %}{{ property.friendly_name }} {% endcapture %} {% include "components/list_cell.html" propertyName=propertyName + dataLabel = dataLabel property=property values=place.properties %} @@ -25,64 +30,75 @@ {% for contact_property in contactType.contact_properties %} {% if contact_property.type != 'generated' %} {% capture propertyName %}contact_{{ contact_property.property_name }}{% endcapture %} + {% capture dataLabel %}{{ contact_property.friendly_name }} {% endcapture %} {% - include "components/list_cell.html" - propertyName=propertyName - property=contact_property - values=place.contact.properties + include "components/list_cell.html" + propertyName=propertyName + dataLabel = dataLabel + property=contact_property + values=place.contact.properties %} {% endif %} {% endfor %} {% if contactType.user_role.size > 1 %} {% capture propertyName %}user_{{ contactType.userRoleProperty.property_name }}{% endcapture %} + {% capture dataLabel %}{{ contactType.userRoleProperty.friendly_name }} {% endcapture %} {% include "components/list_cell.html" propertyName=propertyName + dataLabel = dataLabel property=contactType.userRoleProperty values=place.userRoleProperties %} {% endif %} - {% capture tag_text %}{% if place.validationErrors == empty %}{{ place.state }}{% else %}invalid{% endif %}{% endcapture %} - {% capture tag_class %} - {% if place.state == 'failure' %}is-danger - {% elsif place.state == 'success' %}is-success - {% elsif place.validationErrors != empty %}is-warning - {% endif %} - {% if place.uploadError %}has-tooltip-arrow has-tooltipl-multiline{% endif %} + {% capture tag_class %} + {% if place.state == 'failure' %}error-bg + {% elsif place.state == 'success' %}success-bg + {% elsif place.validationErrors != empty %}warning-bg + {% elsif place.state == 'staged' %}staging-bg + {% elsif place.state == 'in_progress' %}striped-bg + {% endif %} {% endcapture %} - - {{ tag_text }} - +
+ {% if place.state == 'in_progress' %} uploading {% else %} {{ tag_text }} {%endif%} +
{% if place.creationDetails.password %} - {% capture explanation %}Username: {{ place.creationDetails.username }} Password: {{ place.creationDetails.password }}{% endcapture %} - - key + password {% else %} - - edit + + Edit - - refresh + + refresh {% if place.validationErrors == empty %} - - upload + + upload {%endif%} {%endif%} - delete + + delete + - \ No newline at end of file + diff --git a/src/liquid/components/table_header.html b/src/liquid/components/table_header.html index e90f20a9..1c4adfbb 100644 --- a/src/liquid/components/table_header.html +++ b/src/liquid/components/table_header.html @@ -1,5 +1,6 @@ + # {% for hierarchy in contactType.hierarchy %} {{ hierarchy.friendly_name }} {% endfor %} @@ -17,6 +18,16 @@ {{ contactType.userRoleProperty.friendly_name }} {% endif %} - + + + refresh + + + clear list + + \ No newline at end of file diff --git a/src/liquid/place/bulk_create_form.html b/src/liquid/place/bulk_create_form.html index 105842cf..10f18a21 100644 --- a/src/liquid/place/bulk_create_form.html +++ b/src/liquid/place/bulk_create_form.html @@ -3,7 +3,7 @@ id="form_place_create" hx-encoding='multipart/form-data' autocomplete="off" - hx-post="/place?op=bulk&type={{contactType.name}}" + hx-post="/place?op=bulk&type={{contactType.name}}&page={{pageInfo.page}}&pageSize={{pageInfo.pageSize}}" hx-disabled-elt="button#place_create_submit, a#cancel" hx-indicator="#place_create_submit_progress" hx-target="this" @@ -38,7 +38,9 @@
diff --git a/src/liquid/place/create_form.html b/src/liquid/place/create_form.html index 71a9bcad..100d8e5c 100644 --- a/src/liquid/place/create_form.html +++ b/src/liquid/place/create_form.html @@ -1,6 +1,8 @@
@@ -41,7 +43,9 @@ diff --git a/src/liquid/place/directive.html b/src/liquid/place/directive.html index d8c23307..b6f6899b 100644 --- a/src/liquid/place/directive.html +++ b/src/liquid/place/directive.html @@ -1,74 +1,53 @@ -
-
-
-
- {% if directiveModel.inProgressCount > 0 %} - {% include "place/directive_3_in_progress.html" %} - {% elsif directiveModel.stagedCount > 0 %} - {% include "place/directive_2_prompt_upload.html" %} - {% elsif directiveModel.successCount > 0 %} - {% include "place/directive_4_prompt_save.html" %} - {% else %} - {% include "place/directive_1_get_started.html" %} - {% endif %} -
-
-
- -
-
-
-

Summary

-
    -
  • - {% include "components/filter_tag.html" - class="is-info" - filterName="staged" - count=directiveModel.stagedCount - %} -
  • +
    + {% if directiveModel.inProgressCount > 0 %} + {% include "place/directive_3_in_progress.html" %} + {% elsif directiveModel.successCount > 0 %} + {% include "place/directive_4_prompt_save.html" %} + {% elsif directiveModel.validationErrorCount > 0 %} + {% include "place/directive_validation_errors.html" %} + {% elsif directiveModel.stagedCount > 0 %} + {% include "place/directive_2_prompt_upload.html" %} + {%else%} +

    + Add users you want to create on the {{ session.authInfo.friendly }} instance below. +

    + {% endif %} -
  • - {% include "components/filter_tag.html" - class="is-warning" - filterName="invalid" - count=directiveModel.validationErrorCount - %} -
  • + {% if directiveModel.failureCount > 0 %} +

    + You have + {{directiveModel.failureCount}} failed upload(s). You can retry uploading below +

    + {%endif%} -
  • - {% include "components/filter_tag.html" - class="is-success" - filterName="success" - count=directiveModel.successCount - %} -
  • + {% include "components/filter_tag.html" + class="staging-bg" + filterName="staged" + count=directiveModel.stagedCount + %} + {% include "components/filter_tag.html" + class="warning-bg" + filterName="invalid" + count=directiveModel.validationErrorCount + %} + {% include "components/filter_tag.html" + class="success-bg" + filterName="success" + count=directiveModel.successCount + %} + {% include "components/filter_tag.html" + class="error-bg" + filterName="failure" + count=directiveModel.failureCount + %} -
  • - {% include "components/filter_tag.html" - class="is-danger" - filterName="failure" - count=directiveModel.failureCount - %} -
  • -
-
-
-
- {% if directiveModel.filter %} -
-
- {{ directiveModel.hiddenCount }} results are hidden by a filter - -
+
+ {{ directiveModel.hiddenCount }} results are hidden by the filter +
{% endif %}
\ No newline at end of file diff --git a/src/liquid/place/directive_1_get_started.html b/src/liquid/place/directive_1_get_started.html index a926790a..8f98a69f 100644 --- a/src/liquid/place/directive_1_get_started.html +++ b/src/liquid/place/directive_1_get_started.html @@ -1,22 +1,22 @@ -

- Getting Started... -

-

- To get started, add some users which you want to create on the {{ session.authInfo.friendly }} instance. -

+
+

+ Getting Started +

+

+ To get started, add some users which you want to create on the {{ session.authInfo.friendly }} instance. +

-{% for contactType in contactTypes %} -'),this._ui={container:this.node.firstChild,navigation:{container:this.node.querySelector(".datepicker-nav"),previous:this.node.querySelector(".datepicker-nav-previous"),next:this.node.querySelector(".datepicker-nav-next"),month:this.node.querySelector(".datepicker-nav-month"),year:this.node.querySelector(".datepicker-nav-year")},body:{dates:this.node.querySelector(".datepicker-dates"),days:this.node.querySelector(".datepicker-days"),weekdays:this.node.querySelector(".datepicker-weekdays"),months:this.node.querySelector(".datepicker-months"),years:this.node.querySelector(".datepicker-years")}}}},{key:"_bindEvents",value:function(){var a=this;document.addEventListener("keydown",function(e){if(a._focus)switch(e.keyCode||e.which){case 37:a.onPreviousDatePicker(e);break;case 39:a.onNextDatePicker(e)}}),this._ui.navigation.previous&&this._clickEvents.forEach(function(e){a._ui.navigation.previous.addEventListener(e,a.onPreviousDatePicker)}),this._ui.navigation.next&&this._clickEvents.forEach(function(e){a._ui.navigation.next.addEventListener(e,a.onNextDatePicker)}),this._ui.navigation.month&&this._clickEvents.forEach(function(e){a._ui.navigation.month.addEventListener(e,a.onSelectMonthDatePicker)}),this._ui.navigation.year&&this._clickEvents.forEach(function(e){a._ui.navigation.year.addEventListener(e,a.onSelectYearDatePicker)}),(this._ui.body.months.querySelectorAll(".calendar-month")||[]).forEach(function(t){a._clickEvents.forEach(function(e){t.addEventListener(e,a.onMonthClickDatePicker)})}),(this._ui.body.years.querySelectorAll(".calendar-year")||[]).forEach(function(t){a._clickEvents.forEach(function(e){t.addEventListener(e,a.onYearClickDatePicker)})})}},{key:"_bindDaysEvents",value:function(){var n=this;[].forEach.call(this._ui.days,function(a){n._clickEvents.forEach(function(e){var t=n._isValidDate(new Date(a.dataset.date),n.min,n.max)?n.onDateClickDatePicker:null;a.addEventListener(e,t)}),a.addEventListener("hover",function(e){e.preventDEfault()})})}},{key:"_renderDays",value:function(){var u=this,e=pt(function(e){k(1,arguments);e=P(e);return e.setDate(1),e.setHours(0,0,0,0),e}(this._visibleDate),{weekStartsOn:this.options.weekStart}),t=function(e,t){k(1,arguments);var a=t,t=a.locale,t=t&&t.options&&t.options.weekStartsOn,t=null==t?0:M(t),t=null==a.weekStartsOn?t:M(a.weekStartsOn);if(!(0<=t&&t<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");a=P(e),e=a.getDay(),t=6+(e'+e.map(function(e){return'
\n \n
"}).join("")+"
")),this._ui.days=this._ui.body.dates.querySelectorAll(".datepicker-date"),this._bindDaysEvents()}},{key:"_select",value:function(){var a=this,e=0\n
\n
\n +\n
\n \n
\n
\n -\n
\n
:
\n
\n +\n
\n \n
\n
\n -\n
\n
\n '+(e.isRange?'
\n
\n +\n
\n \n
\n
\n -\n
\n
:
\n
\n +\n
\n \n
\n
\n -\n
\n
':"")+"\n
"),this._ui={container:this.node.firstChild,start:{container:this.node.querySelector(".timepicker-start"),hours:{container:this.node.querySelector(".timepicker-start .timepicker-hours"),input:this.node.querySelector(".timepicker-start .timepicker-hours input"),number:this.node.querySelector(".timepicker-start .timepicker-hours .timepicker-input-number"),previous:this.node.querySelector(".timepicker-start .timepicker-hours .timepicker-previous"),next:this.node.querySelector(".timepicker-start .timepicker-hours .timepicker-next")},minutes:{container:this.node.querySelector(".timepicker-start .timepicker-minutes"),input:this.node.querySelector(".timepicker-start .timepicker-minutes input"),number:this.node.querySelector(".timepicker-start .timepicker-minutes .timepicker-input-number"),previous:this.node.querySelector(".timepicker-start .timepicker-minutes .timepicker-previous"),next:this.node.querySelector(".timepicker-start .timepicker-minutes .timepicker-next")}},end:{container:this.node.querySelector(".timepicker-end"),hours:{container:this.node.querySelector(".timepicker-end .timepicker-hours"),input:this.node.querySelector(".timepicker-end .timepicker-hours input"),number:this.node.querySelector(".timepicker-end .timepicker-hours .timepicker-input-number"),previous:this.node.querySelector(".timepicker-end .timepicker-hours .timepicker-previous"),next:this.node.querySelector(".timepicker-end .timepicker-hours .timepicker-next")},minutes:{container:this.node.querySelector(".timepicker-end .timepicker-minutes"),input:this.node.querySelector(".timepicker-end .timepicker-minutes input"),number:this.node.querySelector(".timepicker-end .timepicker-minutes .timepicker-input-number"),previous:this.node.querySelector(".timepicker-end .timepicker-minutes .timepicker-previous"),next:this.node.querySelector(".timepicker-end .timepicker-minutes .timepicker-next")}}}}},{key:"_bindEvents",value:function(){var t=this;this._clickEvents.forEach(function(e){t._ui.start.hours.previous.addEventListener(e,t.onPreviousHourStartTimePicker),t._ui.start.hours.next.addEventListener(e,t.onNextHourStartTimePicker),t._ui.start.minutes.previous.addEventListener(e,t.onPreviousMinuteStartTimePicker),t._ui.start.minutes.next.addEventListener(e,t.onNextMinuteStartTimePicker),t.options.isRange&&(t._ui.end.hours.previous.addEventListener(e,t.onPreviousHourEndTimePicker),t._ui.end.hours.next.addEventListener(e,t.onNextHourEndTimePicker),t._ui.end.minutes.previous.addEventListener(e,t.onPreviousMinuteEndTimePicker),t._ui.end.minutes.next.addEventListener(e,t.onNextMinuteEndTimePicker))})}},{key:"_select",value:function(){var e=0\n \n ',next:'\n \n ',time:'\n \n \n\t \n \n ',date:'\n \n \n \n \n '}},ot=Object.assign||function(e){for(var t=1;t\n\t\t
\n\t\t\t
'+a.labelFrom+'
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t'+("date"!==a.type?'
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t'+(a.icons?a.icons.time:"")+'\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t'+(a.editTimeManually?'\n\t\t\t\t\t\t\t:\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t':"")+"\n\t\t\t\t\t
\n\t\t\t\t
":"")+"\n\t\t\t
\n\t\t
\n\t\t"+(a.isRange?'\n\t\t
\n\t\t\t
'+a.labelTo+'
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t'+("date"!==a.type?'
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t'+(a.icons?a.icons.time:"")+'\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t'+(a.editTimeManually?'\n\t\t\t\t\t\t\t:\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t':"")+"\n\t\t\t\t\t
\n\t\t\t\t
":"")+"\n\t\t\t
\n\t\t
":"")+"\n\t
"),a=document.createRange().createContextualFragment('"),e=document.createRange().createContextualFragment("
\n \n
\n \n
\n
\n
\n
\n
');switch(this._ui={modal:e.querySelector(".datetimepicker-wrapper.modal"),wrapper:e.querySelector(".datetimepicker"),container:e.querySelector(".datetimepicker-container"),dummy:{container:e.querySelector(".datetimepicker-dummy"),wrapper:e.querySelector(".datetimepicker-dummy-wrapper"),dummy_1:e.querySelector(".datetimepicker-dummy .datetimepicker-dummy-input:nth-child(1)"),dummy_2:e.querySelector(".datetimepicker-dummy .datetimepicker-dummy-input:nth-child(2)"),clear:e.querySelector(".datetimepicker-dummy .datetimepicker-clear-button")},calendar:e.querySelector(".datetimepicker"),overlay:"dialog"===this.options.displayMode?{background:e.querySelector(".modal-background"),close:e.querySelector(".modal-close")}:void 0,header:{container:t.querySelector(".datetimepicker-header"),start:{container:t.querySelector(".datetimepicker-selection-start"),day:t.querySelector(".datetimepicker-selection-start .datetimepicker-selection-day"),month:t.querySelector(".datetimepicker-selection-start .datetimepicker-selection-month"),weekday:t.querySelector(".datetimepicker-selection-start .datetimepicker-selection-weekday"),hour:t.querySelector(".datetimepicker-selection-start .datetimepicker-selection-hour"),inputHours:t.querySelector(".datetimepicker-selection-start .datetimepicker-selection-hour.editable .datetimepicker-selection-input-hours"),inputMinutes:t.querySelector(".datetimepicker-selection-start .datetimepicker-selection-hour.editable .datetimepicker-selection-input-minutes"),empty:t.querySelector(".datetimepicker-selection-start .empty")},end:this.options.isRange?{container:t.querySelector(".datetimepicker-selection-end"),day:t.querySelector(".datetimepicker-selection-end .datetimepicker-selection-day"),month:t.querySelector(".datetimepicker-selection-end .datetimepicker-selection-month"),weekday:t.querySelector(".datetimepicker-selection-end .datetimepicker-selection-weekday"),hour:t.querySelector(".datetimepicker-selection-end .datetimepicker-selection-hour"),inputHours:t.querySelector(".datetimepicker-selection-end .datetimepicker-selection-hour.editable .datetimepicker-selection-input-hours"),inputMinutes:t.querySelector(".datetimepicker-selection-end .datetimepicker-selection-hour.editable .datetimepicker-selection-input-minutes"),empty:t.querySelector(".datetimepicker-selection-start .empty")}:void 0},footer:{container:a.querySelector(".datetimepicker-footer"),validate:a.querySelector(".datetimepicker-footer-validate"),today:a.querySelector(".datetimepicker-footer-today"),clear:a.querySelector(".datetimepicker-footer-clear"),cancel:a.querySelector(".datetimepicker-footer-cancel")}},q9a(this.options.showHeader)||this._ui.header.container.classList.add("is-hidden"),q9a(this.options.showFooter)||this._ui.footer.container.classList.add("is-hidden"),q9a(this.options.showTodayButton)||this._ui.footer.today.classList.add("is-hidden"),q9a(this.options.showClearButton)||this._ui.footer.clear.classList.add("is-hidden"),this.options.closeOnSelect&&this._ui.footer.validate&&this._ui.footer.validate.classList.add("is-hidden"),this._ui.container.appendChild(t),this._type){case"date":this._ui.container.appendChild(this.datePicker.render());break;case"time":this.options.closeOnSelect=!1,this._ui.container.appendChild(this.timePicker.render()),(this.options.labelFrom||this.options.labelTo)&&this._ui.header.container.classList.remove("is-hidden"),this._ui.footer.validate&&this._ui.footer.validate.classList.remove("is-hidden"),this._ui.footer.today&&this._ui.footer.today.classList.add("is-hidden");break;case"datetime":this.options.closeOnSelect=!1,this._ui.footer.validate&&this._ui.footer.validate.classList.remove("is-hidden"),this._ui.container.appendChild(this.datePicker.render()),this._ui.container.appendChild(this.timePicker.render())}this._ui.wrapper.appendChild(a),this._ui.wrapper.classList.add("is-"+this.options.color),this._ui.dummy.container.classList.add("is-"+this.options.color),this.element.parentNode.insertBefore(e,this.element.nextSibling),this._ui.dummy.wrapper.appendChild(this.element),this.element.classList.add("is-hidden"),"inline"===this.options.displayMode?this._ui.wrapper.classList.add("is-active"):(this._ui.dummy.container.classList.remove("is-hidden"),this._ui.wrapper.style.position="absolute",this._ui.wrapper.classList.add("is-datetimepicker-default")),this.refresh()}},{key:"_bindEvents",value:function(){var t=this;this._clickEvents.forEach(function(e){document.body.addEventListener(e,t.onDocumentClickDateTimePicker)}),this.datePicker.on("select",this.onSelectDateTimePicker),this.datePicker.on("select:start",this.onSelectDateTimePicker),this.timePicker.on("select",this.onSelectDateTimePicker),this.timePicker.on("select:start",this.onSelectDateTimePicker),!0===this.options.toggleOnInputClick&&this._clickEvents.forEach(function(e){t._ui.dummy.wrapper.addEventListener(e,t.onToggleDateTimePicker),t.element.addEventListener(e,t.onToggleDateTimePicker)}),"date"!==this.options.type&&this.options.editTimeManually&&(this._ui.header.start.inputHours.addEventListener("change",this.onChangeStartHoursManually),this._ui.header.start.inputHours.addEventListener("click",this.onClickTimeManuallyInput),this._ui.header.start.inputMinutes.addEventListener("change",this.onChangeStartMinutesManually),this._ui.header.start.inputMinutes.addEventListener("click",this.onClickTimeManuallyInput),this.options.isRange&&(this._ui.header.end.inputHours.addEventListener("change",this.onChangeEndHoursManually),this._ui.header.end.inputHours.addEventListener("click",this.onClickTimeManuallyInput),this._ui.header.end.inputMinutes.addEventListener("change",this.onChangeEndMinutesManually),this._ui.header.end.inputMinutes.addEventListener("click",this.onClickTimeManuallyInput))),"dialog"===this.options.displayMode&&this._ui.overlay&&(this._ui.overlay.close&&this._clickEvents.forEach(function(e){t.this._ui.overlay.close.addEventListener(e,t.onCloseDateTimePicker)}),this.options.closeOnOverlayClick&&this._ui.overlay.background&&this._clickEvents.forEach(function(e){t._ui.overlay.background.addEventListener(e,t.onCloseDateTimePicker)})),this._ui.footer.validate&&this._clickEvents.forEach(function(e){t._ui.footer.validate.addEventListener(e,t.onValidateClickDateTimePicker)}),this._ui.footer.today&&this._clickEvents.forEach(function(e){t._ui.footer.today.addEventListener(e,t.onTodayClickDateTimePicker)}),this._ui.footer.clear&&this._clickEvents.forEach(function(e){t._ui.footer.clear.addEventListener(e,t.onClearClickDateTimePicker)}),this._clickEvents.forEach(function(e){t._ui.dummy.clear.addEventListener(e,t.onClearClickDateTimePicker)}),this._ui.footer.cancel&&this._clickEvents.forEach(function(e){t._ui.footer.cancel.addEventListener(e,t.onCancelClickDateTimePicker)})}},{key:"_refreshInput",value:function(){var e=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var a=[],n=!0,i=!1,r=void 0;try{for(var o,u=e[Symbol.iterator]();!(n=(o=u.next()).done)&&(a.push(o.value),!t||a.length!==t);n=!0);}catch(e){i=!0,r=e}finally{try{!n&&u.return&&u.return()}finally{if(i)throw r}}return a}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")}(this.value().split(" - "),2),t=e[0],e=e[1];this._ui.dummy.dummy_1.value=t||"",this._ui.dummy.dummy_2&&(this._ui.dummy.dummy_2.value=e||""),this.element.setAttribute("value",this.value())}},{key:"id",get:function(){return this._id}},{key:"lang",set:function(t){try{this._locale=i(10)("./"+t+"/index.js")}catch(e){t="en-US",this._locale=i(10)("./"+t+"/index.js")}finally{return this._lang=t,this.datePicker.lang=t,this.timePicker.lang=t,this}},get:function(){return this._lang}},{key:"locale",get:function(){return this._locale}},{key:"format",set:function(e){return this._format=e,this},get:function(){return this._format}},{key:"date",set:function(e){return this.datePicker.date=e,this},get:function(){return this.datePicker.date}},{key:"startDate",set:function(e){return this.datePicker.start=e,this},get:function(){return this.datePicker.start}},{key:"endDate",set:function(e){return this.datePicker.end=e,this},get:function(){return this.datePicker.end}},{key:"minDate",set:function(e){return this.datePicker.minDate=e,this},get:function(){return this.datePicker.minDate}},{key:"maxDate",set:function(e){return this.datePicker.maxDate=e,this},get:function(){return this.datePicker.maxDate}},{key:"dateFormat",set:function(e){return this.datePicker.dateFormat=e,this},get:function(){return this.datePicker.dateFormat}},{key:"time",set:function(e){return this.timePicker.time=e,this},get:function(){return this.timePicker.time}},{key:"startTime",set:function(e){return this.timePicker.start=e,this},get:function(){return this.timePicker.start}},{key:"endTime",set:function(e){return this.timePicker.end=e,this},get:function(){return this.timePicker.end}},{key:"minTime",set:function(e){return this.timePicker.minTime=e,this},get:function(){return this.timePicker.minTime}},{key:"maxTime",set:function(e){return this.timePicker.maxTime=e,this},get:function(){return this.timePicker.maxTime}},{key:"timeFormat",set:function(e){return this.timePicker.timeFormat=e,this},get:function(){return this.timePicker.timeFormat}}],[{key:"attach",value:function(){var n=this,e=0.delete{right:.5rem;position:absolute;top:.5rem}.notification .content,.notification .subtitle,.notification .title{color:currentColor}.notification.is-white{background-color:#fff;color:#0a0a0a}.notification.is-black{background-color:#0a0a0a;color:#fff}.notification.is-light{background-color:#f5f5f5;color:rgba(0,0,0,.7)}.notification.is-dark{background-color:#363636;color:#fff}.notification.is-primary{background-color:#00d1b2;color:#fff}.notification.is-primary.is-light{background-color:#ebfffc;color:#00947e}.notification.is-link{background-color:#485fc7;color:#fff}.notification.is-link.is-light{background-color:#eff1fa;color:#3850b7}.notification.is-info{background-color:#3e8ed0;color:#fff}.notification.is-info.is-light{background-color:#eff5fb;color:#296fa8}.notification.is-success{background-color:#48c78e;color:#fff}.notification.is-success.is-light{background-color:#effaf5;color:#257953}.notification.is-warning{background-color:#ffe08a;color:rgba(0,0,0,.7)}.notification.is-warning.is-light{background-color:#fffaeb;color:#946c00}.notification.is-danger{background-color:#f14668;color:#fff}.notification.is-danger.is-light{background-color:#feecf0;color:#cc0f35}.progress{-moz-appearance:none;-webkit-appearance:none;border:none;border-radius:9999px;display:block;height:1rem;overflow:hidden;padding:0;width:100%}.progress::-webkit-progress-bar{background-color:#ededed}.progress::-webkit-progress-value{background-color:#4a4a4a}.progress::-moz-progress-bar{background-color:#4a4a4a}.progress::-ms-fill{background-color:#4a4a4a;border:none}.progress.is-white::-webkit-progress-value{background-color:#fff}.progress.is-white::-moz-progress-bar{background-color:#fff}.progress.is-white::-ms-fill{background-color:#fff}.progress.is-white:indeterminate{background-image:linear-gradient(to right,#fff 30%,#ededed 30%)}.progress.is-black::-webkit-progress-value{background-color:#0a0a0a}.progress.is-black::-moz-progress-bar{background-color:#0a0a0a}.progress.is-black::-ms-fill{background-color:#0a0a0a}.progress.is-black:indeterminate{background-image:linear-gradient(to right,#0a0a0a 30%,#ededed 30%)}.progress.is-light::-webkit-progress-value{background-color:#f5f5f5}.progress.is-light::-moz-progress-bar{background-color:#f5f5f5}.progress.is-light::-ms-fill{background-color:#f5f5f5}.progress.is-light:indeterminate{background-image:linear-gradient(to right,#f5f5f5 30%,#ededed 30%)}.progress.is-dark::-webkit-progress-value{background-color:#363636}.progress.is-dark::-moz-progress-bar{background-color:#363636}.progress.is-dark::-ms-fill{background-color:#363636}.progress.is-dark:indeterminate{background-image:linear-gradient(to right,#363636 30%,#ededed 30%)}.progress.is-primary::-webkit-progress-value{background-color:#00d1b2}.progress.is-primary::-moz-progress-bar{background-color:#00d1b2}.progress.is-primary::-ms-fill{background-color:#00d1b2}.progress.is-primary:indeterminate{background-image:linear-gradient(to right,#00d1b2 30%,#ededed 30%)}.progress.is-link::-webkit-progress-value{background-color:#485fc7}.progress.is-link::-moz-progress-bar{background-color:#485fc7}.progress.is-link::-ms-fill{background-color:#485fc7}.progress.is-link:indeterminate{background-image:linear-gradient(to right,#485fc7 30%,#ededed 30%)}.progress.is-info::-webkit-progress-value{background-color:#3e8ed0}.progress.is-info::-moz-progress-bar{background-color:#3e8ed0}.progress.is-info::-ms-fill{background-color:#3e8ed0}.progress.is-info:indeterminate{background-image:linear-gradient(to right,#3e8ed0 30%,#ededed 30%)}.progress.is-success::-webkit-progress-value{background-color:#48c78e}.progress.is-success::-moz-progress-bar{background-color:#48c78e}.progress.is-success::-ms-fill{background-color:#48c78e}.progress.is-success:indeterminate{background-image:linear-gradient(to right,#48c78e 30%,#ededed 30%)}.progress.is-warning::-webkit-progress-value{background-color:#ffe08a}.progress.is-warning::-moz-progress-bar{background-color:#ffe08a}.progress.is-warning::-ms-fill{background-color:#ffe08a}.progress.is-warning:indeterminate{background-image:linear-gradient(to right,#ffe08a 30%,#ededed 30%)}.progress.is-danger::-webkit-progress-value{background-color:#f14668}.progress.is-danger::-moz-progress-bar{background-color:#f14668}.progress.is-danger::-ms-fill{background-color:#f14668}.progress.is-danger:indeterminate{background-image:linear-gradient(to right,#f14668 30%,#ededed 30%)}.progress:indeterminate{-webkit-animation-duration:1.5s;animation-duration:1.5s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-name:moveIndeterminate;animation-name:moveIndeterminate;-webkit-animation-timing-function:linear;animation-timing-function:linear;background-color:#ededed;background-image:linear-gradient(to right,#4a4a4a 30%,#ededed 30%);background-position:top left;background-repeat:no-repeat;background-size:150% 150%}.progress:indeterminate::-webkit-progress-bar{background-color:transparent}.progress:indeterminate::-moz-progress-bar{background-color:transparent}.progress:indeterminate::-ms-fill{animation-name:none}.progress.is-small{height:.75rem}.progress.is-medium{height:1.25rem}.progress.is-large{height:1.5rem}@-webkit-keyframes moveIndeterminate{from{background-position:200% 0}to{background-position:-200% 0}}@keyframes moveIndeterminate{from{background-position:200% 0}to{background-position:-200% 0}}.table{background-color:#fff;color:#363636}.table td,.table th{border:1px solid #dbdbdb;border-width:0 0 1px;padding:.5em .75em;vertical-align:top}.table td.is-white,.table th.is-white{background-color:#fff;border-color:#fff;color:#0a0a0a}.table td.is-black,.table th.is-black{background-color:#0a0a0a;border-color:#0a0a0a;color:#fff}.table td.is-light,.table th.is-light{background-color:#f5f5f5;border-color:#f5f5f5;color:rgba(0,0,0,.7)}.table td.is-dark,.table th.is-dark{background-color:#363636;border-color:#363636;color:#fff}.table td.is-primary,.table th.is-primary{background-color:#00d1b2;border-color:#00d1b2;color:#fff}.table td.is-link,.table th.is-link{background-color:#485fc7;border-color:#485fc7;color:#fff}.table td.is-info,.table th.is-info{background-color:#3e8ed0;border-color:#3e8ed0;color:#fff}.table td.is-success,.table th.is-success{background-color:#48c78e;border-color:#48c78e;color:#fff}.table td.is-warning,.table th.is-warning{background-color:#ffe08a;border-color:#ffe08a;color:rgba(0,0,0,.7)}.table td.is-danger,.table th.is-danger{background-color:#f14668;border-color:#f14668;color:#fff}.table td.is-narrow,.table th.is-narrow{white-space:nowrap;width:1%}.table td.is-selected,.table th.is-selected{background-color:#00d1b2;color:#fff}.table td.is-selected a,.table td.is-selected strong,.table th.is-selected a,.table th.is-selected strong{color:currentColor}.table td.is-vcentered,.table th.is-vcentered{vertical-align:middle}.table th{color:#363636}.table th:not([align]){text-align:left}.table tr.is-selected{background-color:#00d1b2;color:#fff}.table tr.is-selected a,.table tr.is-selected strong{color:currentColor}.table tr.is-selected td,.table tr.is-selected th{border-color:#fff;color:currentColor}.table thead{background-color:transparent}.table thead td,.table thead th{border-width:0 0 2px;color:#363636}.table tfoot{background-color:transparent}.table tfoot td,.table tfoot th{border-width:2px 0 0;color:#363636}.table tbody{background-color:transparent}.table tbody tr:last-child td,.table tbody tr:last-child th{border-bottom-width:0}.table.is-bordered td,.table.is-bordered th{border-width:1px}.table.is-bordered tr:last-child td,.table.is-bordered tr:last-child th{border-bottom-width:1px}.table.is-fullwidth{width:100%}.table.is-hoverable tbody tr:not(.is-selected):hover{background-color:#fafafa}.table.is-hoverable.is-striped tbody tr:not(.is-selected):hover{background-color:#fafafa}.table.is-hoverable.is-striped tbody tr:not(.is-selected):hover:nth-child(2n){background-color:#f5f5f5}.table.is-narrow td,.table.is-narrow th{padding:.25em .5em}.table.is-striped tbody tr:not(.is-selected):nth-child(2n){background-color:#fafafa}.table-container{-webkit-overflow-scrolling:touch;overflow:auto;overflow-y:hidden;max-width:100%}.tags{align-items:center;display:flex;flex-wrap:wrap;justify-content:flex-start}.tags .tag{margin-bottom:.5rem}.tags .tag:not(:last-child){margin-right:.5rem}.tags:last-child{margin-bottom:-.5rem}.tags:not(:last-child){margin-bottom:1rem}.tags.are-medium .tag:not(.is-normal):not(.is-large){font-size:1rem}.tags.are-large .tag:not(.is-normal):not(.is-medium){font-size:1.25rem}.tags.is-centered{justify-content:center}.tags.is-centered .tag{margin-right:.25rem;margin-left:.25rem}.tags.is-right{justify-content:flex-end}.tags.is-right .tag:not(:first-child){margin-left:.5rem}.tags.is-right .tag:not(:last-child){margin-right:0}.tags.has-addons .tag{margin-right:0}.tags.has-addons .tag:not(:first-child){margin-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.tags.has-addons .tag:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.tag:not(body){align-items:center;background-color:#f5f5f5;border-radius:4px;color:#4a4a4a;display:inline-flex;font-size:.75rem;height:2em;justify-content:center;line-height:1.5;padding-left:.75em;padding-right:.75em;white-space:nowrap}.tag:not(body) .delete{margin-left:.25rem;margin-right:-.375rem}.tag:not(body).is-white{background-color:#fff;color:#0a0a0a}.tag:not(body).is-black{background-color:#0a0a0a;color:#fff}.tag:not(body).is-light{background-color:#f5f5f5;color:rgba(0,0,0,.7)}.tag:not(body).is-dark{background-color:#363636;color:#fff}.tag:not(body).is-primary{background-color:#00d1b2;color:#fff}.tag:not(body).is-primary.is-light{background-color:#ebfffc;color:#00947e}.tag:not(body).is-link{background-color:#485fc7;color:#fff}.tag:not(body).is-link.is-light{background-color:#eff1fa;color:#3850b7}.tag:not(body).is-info{background-color:#3e8ed0;color:#fff}.tag:not(body).is-info.is-light{background-color:#eff5fb;color:#296fa8}.tag:not(body).is-success{background-color:#48c78e;color:#fff}.tag:not(body).is-success.is-light{background-color:#effaf5;color:#257953}.tag:not(body).is-warning{background-color:#ffe08a;color:rgba(0,0,0,.7)}.tag:not(body).is-warning.is-light{background-color:#fffaeb;color:#946c00}.tag:not(body).is-danger{background-color:#f14668;color:#fff}.tag:not(body).is-danger.is-light{background-color:#feecf0;color:#cc0f35}.tag:not(body).is-normal{font-size:.75rem}.tag:not(body).is-medium{font-size:1rem}.tag:not(body).is-large{font-size:1.25rem}.tag:not(body) .icon:first-child:not(:last-child){margin-left:-.375em;margin-right:.1875em}.tag:not(body) .icon:last-child:not(:first-child){margin-left:.1875em;margin-right:-.375em}.tag:not(body) .icon:first-child:last-child{margin-left:-.375em;margin-right:-.375em}.tag:not(body).is-delete{margin-left:1px;padding:0;position:relative;width:2em}.tag:not(body).is-delete::after,.tag:not(body).is-delete::before{background-color:currentColor;content:"";display:block;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%) rotate(45deg);transform-origin:center center}.tag:not(body).is-delete::before{height:1px;width:50%}.tag:not(body).is-delete::after{height:50%;width:1px}.tag:not(body).is-delete:focus,.tag:not(body).is-delete:hover{background-color:#e8e8e8}.tag:not(body).is-delete:active{background-color:#dbdbdb}.tag:not(body).is-rounded{border-radius:9999px}a.tag:hover{text-decoration:underline}.subtitle,.title{word-break:break-word}.subtitle em,.subtitle span,.title em,.title span{font-weight:inherit}.subtitle sub,.title sub{font-size:.75em}.subtitle sup,.title sup{font-size:.75em}.subtitle .tag,.title .tag{vertical-align:middle}.title{color:#363636;font-size:2rem;font-weight:600;line-height:1.125}.title strong{color:inherit;font-weight:inherit}.title:not(.is-spaced)+.subtitle{margin-top:-1.25rem}.title.is-1{font-size:3rem}.title.is-2{font-size:2.5rem}.title.is-3{font-size:2rem}.title.is-4{font-size:1.5rem}.title.is-5{font-size:1.25rem}.title.is-6{font-size:1rem}.title.is-7{font-size:.75rem}.subtitle{color:#4a4a4a;font-size:1.25rem;font-weight:400;line-height:1.25}.subtitle strong{color:#363636;font-weight:600}.subtitle:not(.is-spaced)+.title{margin-top:-1.25rem}.subtitle.is-1{font-size:3rem}.subtitle.is-2{font-size:2.5rem}.subtitle.is-3{font-size:2rem}.subtitle.is-4{font-size:1.5rem}.subtitle.is-5{font-size:1.25rem}.subtitle.is-6{font-size:1rem}.subtitle.is-7{font-size:.75rem}.heading{display:block;font-size:11px;letter-spacing:1px;margin-bottom:5px;text-transform:uppercase}.number{align-items:center;background-color:#f5f5f5;border-radius:9999px;display:inline-flex;font-size:1.25rem;height:2em;justify-content:center;margin-right:1.5rem;min-width:2.5em;padding:.25rem .5rem;text-align:center;vertical-align:top}.input,.select select,.textarea{background-color:#fff;border-color:#dbdbdb;border-radius:4px;color:#363636}.input::-moz-placeholder,.select select::-moz-placeholder,.textarea::-moz-placeholder{color:rgba(54,54,54,.3)}.input::-webkit-input-placeholder,.select select::-webkit-input-placeholder,.textarea::-webkit-input-placeholder{color:rgba(54,54,54,.3)}.input:-moz-placeholder,.select select:-moz-placeholder,.textarea:-moz-placeholder{color:rgba(54,54,54,.3)}.input:-ms-input-placeholder,.select select:-ms-input-placeholder,.textarea:-ms-input-placeholder{color:rgba(54,54,54,.3)}.input:hover,.is-hovered.input,.is-hovered.textarea,.select select.is-hovered,.select select:hover,.textarea:hover{border-color:#b5b5b5}.input:active,.input:focus,.is-active.input,.is-active.textarea,.is-focused.input,.is-focused.textarea,.select select.is-active,.select select.is-focused,.select select:active,.select select:focus,.textarea:active,.textarea:focus{border-color:#485fc7;box-shadow:0 0 0 .125em rgba(72,95,199,.25)}.input[disabled],.select fieldset[disabled] select,.select select[disabled],.textarea[disabled],fieldset[disabled] .input,fieldset[disabled] .select select,fieldset[disabled] .textarea{background-color:#f5f5f5;border-color:#f5f5f5;box-shadow:none;color:#7a7a7a}.input[disabled]::-moz-placeholder,.select fieldset[disabled] select::-moz-placeholder,.select select[disabled]::-moz-placeholder,.textarea[disabled]::-moz-placeholder,fieldset[disabled] .input::-moz-placeholder,fieldset[disabled] .select select::-moz-placeholder,fieldset[disabled] .textarea::-moz-placeholder{color:rgba(122,122,122,.3)}.input[disabled]::-webkit-input-placeholder,.select fieldset[disabled] select::-webkit-input-placeholder,.select select[disabled]::-webkit-input-placeholder,.textarea[disabled]::-webkit-input-placeholder,fieldset[disabled] .input::-webkit-input-placeholder,fieldset[disabled] .select select::-webkit-input-placeholder,fieldset[disabled] .textarea::-webkit-input-placeholder{color:rgba(122,122,122,.3)}.input[disabled]:-moz-placeholder,.select fieldset[disabled] select:-moz-placeholder,.select select[disabled]:-moz-placeholder,.textarea[disabled]:-moz-placeholder,fieldset[disabled] .input:-moz-placeholder,fieldset[disabled] .select select:-moz-placeholder,fieldset[disabled] .textarea:-moz-placeholder{color:rgba(122,122,122,.3)}.input[disabled]:-ms-input-placeholder,.select fieldset[disabled] select:-ms-input-placeholder,.select select[disabled]:-ms-input-placeholder,.textarea[disabled]:-ms-input-placeholder,fieldset[disabled] .input:-ms-input-placeholder,fieldset[disabled] .select select:-ms-input-placeholder,fieldset[disabled] .textarea:-ms-input-placeholder{color:rgba(122,122,122,.3)}.input,.textarea{box-shadow:inset 0 .0625em .125em rgba(10,10,10,.05);max-width:100%;width:100%}.input[readonly],.textarea[readonly]{box-shadow:none}.is-white.input,.is-white.textarea{border-color:#fff}.is-white.input:active,.is-white.input:focus,.is-white.is-active.input,.is-white.is-active.textarea,.is-white.is-focused.input,.is-white.is-focused.textarea,.is-white.textarea:active,.is-white.textarea:focus{box-shadow:0 0 0 .125em rgba(255,255,255,.25)}.is-black.input,.is-black.textarea{border-color:#0a0a0a}.is-black.input:active,.is-black.input:focus,.is-black.is-active.input,.is-black.is-active.textarea,.is-black.is-focused.input,.is-black.is-focused.textarea,.is-black.textarea:active,.is-black.textarea:focus{box-shadow:0 0 0 .125em rgba(10,10,10,.25)}.is-light.input,.is-light.textarea{border-color:#f5f5f5}.is-light.input:active,.is-light.input:focus,.is-light.is-active.input,.is-light.is-active.textarea,.is-light.is-focused.input,.is-light.is-focused.textarea,.is-light.textarea:active,.is-light.textarea:focus{box-shadow:0 0 0 .125em rgba(245,245,245,.25)}.is-dark.input,.is-dark.textarea{border-color:#363636}.is-dark.input:active,.is-dark.input:focus,.is-dark.is-active.input,.is-dark.is-active.textarea,.is-dark.is-focused.input,.is-dark.is-focused.textarea,.is-dark.textarea:active,.is-dark.textarea:focus{box-shadow:0 0 0 .125em rgba(54,54,54,.25)}.is-primary.input,.is-primary.textarea{border-color:#00d1b2}.is-primary.input:active,.is-primary.input:focus,.is-primary.is-active.input,.is-primary.is-active.textarea,.is-primary.is-focused.input,.is-primary.is-focused.textarea,.is-primary.textarea:active,.is-primary.textarea:focus{box-shadow:0 0 0 .125em rgba(0,209,178,.25)}.is-link.input,.is-link.textarea{border-color:#485fc7}.is-link.input:active,.is-link.input:focus,.is-link.is-active.input,.is-link.is-active.textarea,.is-link.is-focused.input,.is-link.is-focused.textarea,.is-link.textarea:active,.is-link.textarea:focus{box-shadow:0 0 0 .125em rgba(72,95,199,.25)}.is-info.input,.is-info.textarea{border-color:#3e8ed0}.is-info.input:active,.is-info.input:focus,.is-info.is-active.input,.is-info.is-active.textarea,.is-info.is-focused.input,.is-info.is-focused.textarea,.is-info.textarea:active,.is-info.textarea:focus{box-shadow:0 0 0 .125em rgba(62,142,208,.25)}.is-success.input,.is-success.textarea{border-color:#48c78e}.is-success.input:active,.is-success.input:focus,.is-success.is-active.input,.is-success.is-active.textarea,.is-success.is-focused.input,.is-success.is-focused.textarea,.is-success.textarea:active,.is-success.textarea:focus{box-shadow:0 0 0 .125em rgba(72,199,142,.25)}.is-warning.input,.is-warning.textarea{border-color:#ffe08a}.is-warning.input:active,.is-warning.input:focus,.is-warning.is-active.input,.is-warning.is-active.textarea,.is-warning.is-focused.input,.is-warning.is-focused.textarea,.is-warning.textarea:active,.is-warning.textarea:focus{box-shadow:0 0 0 .125em rgba(255,224,138,.25)}.is-danger.input,.is-danger.textarea{border-color:#f14668}.is-danger.input:active,.is-danger.input:focus,.is-danger.is-active.input,.is-danger.is-active.textarea,.is-danger.is-focused.input,.is-danger.is-focused.textarea,.is-danger.textarea:active,.is-danger.textarea:focus{box-shadow:0 0 0 .125em rgba(241,70,104,.25)}.is-small.input,.is-small.textarea{border-radius:2px;font-size:.75rem}.is-medium.input,.is-medium.textarea{font-size:1.25rem}.is-large.input,.is-large.textarea{font-size:1.5rem}.is-fullwidth.input,.is-fullwidth.textarea{display:block;width:100%}.is-inline.input,.is-inline.textarea{display:inline;width:auto}.input.is-rounded{border-radius:9999px;padding-left:calc(calc(.75em - 1px) + .375em);padding-right:calc(calc(.75em - 1px) + .375em)}.input.is-static{background-color:transparent;border-color:transparent;box-shadow:none;padding-left:0;padding-right:0}.textarea{display:block;max-width:100%;min-width:100%;padding:calc(.75em - 1px);resize:vertical}.textarea:not([rows]){max-height:40em;min-height:8em}.textarea[rows]{height:initial}.textarea.has-fixed-size{resize:none}.checkbox,.radio{cursor:pointer;display:inline-block;line-height:1.25;position:relative}.checkbox input,.radio input{cursor:pointer}.checkbox:hover,.radio:hover{color:#363636}.checkbox input[disabled],.checkbox[disabled],.radio input[disabled],.radio[disabled],fieldset[disabled] .checkbox,fieldset[disabled] .radio{color:#7a7a7a;cursor:not-allowed}.radio+.radio{margin-left:.5em}.select{display:inline-block;max-width:100%;position:relative;vertical-align:top}.select:not(.is-multiple){height:2.5em}.select:not(.is-multiple):not(.is-loading)::after{border-color:#485fc7;right:1.125em;z-index:4}.select.is-rounded select{border-radius:9999px;padding-left:1em}.select select{cursor:pointer;display:block;font-size:1em;max-width:100%;outline:0}.select select::-ms-expand{display:none}.select select[disabled]:hover,fieldset[disabled] .select select:hover{border-color:#f5f5f5}.select select:not([multiple]){padding-right:2.5em}.select select[multiple]{height:auto;padding:0}.select select[multiple] option{padding:.5em 1em}.select:not(.is-multiple):not(.is-loading):hover::after{border-color:#363636}.select.is-white:not(:hover)::after{border-color:#fff}.select.is-white select{border-color:#fff}.select.is-white select.is-hovered,.select.is-white select:hover{border-color:#f2f2f2}.select.is-white select.is-active,.select.is-white select.is-focused,.select.is-white select:active,.select.is-white select:focus{box-shadow:0 0 0 .125em rgba(255,255,255,.25)}.select.is-black:not(:hover)::after{border-color:#0a0a0a}.select.is-black select{border-color:#0a0a0a}.select.is-black select.is-hovered,.select.is-black select:hover{border-color:#000}.select.is-black select.is-active,.select.is-black select.is-focused,.select.is-black select:active,.select.is-black select:focus{box-shadow:0 0 0 .125em rgba(10,10,10,.25)}.select.is-light:not(:hover)::after{border-color:#f5f5f5}.select.is-light select{border-color:#f5f5f5}.select.is-light select.is-hovered,.select.is-light select:hover{border-color:#e8e8e8}.select.is-light select.is-active,.select.is-light select.is-focused,.select.is-light select:active,.select.is-light select:focus{box-shadow:0 0 0 .125em rgba(245,245,245,.25)}.select.is-dark:not(:hover)::after{border-color:#363636}.select.is-dark select{border-color:#363636}.select.is-dark select.is-hovered,.select.is-dark select:hover{border-color:#292929}.select.is-dark select.is-active,.select.is-dark select.is-focused,.select.is-dark select:active,.select.is-dark select:focus{box-shadow:0 0 0 .125em rgba(54,54,54,.25)}.select.is-primary:not(:hover)::after{border-color:#00d1b2}.select.is-primary select{border-color:#00d1b2}.select.is-primary select.is-hovered,.select.is-primary select:hover{border-color:#00b89c}.select.is-primary select.is-active,.select.is-primary select.is-focused,.select.is-primary select:active,.select.is-primary select:focus{box-shadow:0 0 0 .125em rgba(0,209,178,.25)}.select.is-link:not(:hover)::after{border-color:#485fc7}.select.is-link select{border-color:#485fc7}.select.is-link select.is-hovered,.select.is-link select:hover{border-color:#3a51bb}.select.is-link select.is-active,.select.is-link select.is-focused,.select.is-link select:active,.select.is-link select:focus{box-shadow:0 0 0 .125em rgba(72,95,199,.25)}.select.is-info:not(:hover)::after{border-color:#3e8ed0}.select.is-info select{border-color:#3e8ed0}.select.is-info select.is-hovered,.select.is-info select:hover{border-color:#3082c5}.select.is-info select.is-active,.select.is-info select.is-focused,.select.is-info select:active,.select.is-info select:focus{box-shadow:0 0 0 .125em rgba(62,142,208,.25)}.select.is-success:not(:hover)::after{border-color:#48c78e}.select.is-success select{border-color:#48c78e}.select.is-success select.is-hovered,.select.is-success select:hover{border-color:#3abb81}.select.is-success select.is-active,.select.is-success select.is-focused,.select.is-success select:active,.select.is-success select:focus{box-shadow:0 0 0 .125em rgba(72,199,142,.25)}.select.is-warning:not(:hover)::after{border-color:#ffe08a}.select.is-warning select{border-color:#ffe08a}.select.is-warning select.is-hovered,.select.is-warning select:hover{border-color:#ffd970}.select.is-warning select.is-active,.select.is-warning select.is-focused,.select.is-warning select:active,.select.is-warning select:focus{box-shadow:0 0 0 .125em rgba(255,224,138,.25)}.select.is-danger:not(:hover)::after{border-color:#f14668}.select.is-danger select{border-color:#f14668}.select.is-danger select.is-hovered,.select.is-danger select:hover{border-color:#ef2e55}.select.is-danger select.is-active,.select.is-danger select.is-focused,.select.is-danger select:active,.select.is-danger select:focus{box-shadow:0 0 0 .125em rgba(241,70,104,.25)}.select.is-small{border-radius:2px;font-size:.75rem}.select.is-medium{font-size:1.25rem}.select.is-large{font-size:1.5rem}.select.is-disabled::after{border-color:#7a7a7a!important;opacity:.5}.select.is-fullwidth{width:100%}.select.is-fullwidth select{width:100%}.select.is-loading::after{margin-top:0;position:absolute;right:.625em;top:.625em;transform:none}.select.is-loading.is-small:after{font-size:.75rem}.select.is-loading.is-medium:after{font-size:1.25rem}.select.is-loading.is-large:after{font-size:1.5rem}.file{align-items:stretch;display:flex;justify-content:flex-start;position:relative}.file.is-white .file-cta{background-color:#fff;border-color:transparent;color:#0a0a0a}.file.is-white.is-hovered .file-cta,.file.is-white:hover .file-cta{background-color:#f9f9f9;border-color:transparent;color:#0a0a0a}.file.is-white.is-focused .file-cta,.file.is-white:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em rgba(255,255,255,.25);color:#0a0a0a}.file.is-white.is-active .file-cta,.file.is-white:active .file-cta{background-color:#f2f2f2;border-color:transparent;color:#0a0a0a}.file.is-black .file-cta{background-color:#0a0a0a;border-color:transparent;color:#fff}.file.is-black.is-hovered .file-cta,.file.is-black:hover .file-cta{background-color:#040404;border-color:transparent;color:#fff}.file.is-black.is-focused .file-cta,.file.is-black:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em rgba(10,10,10,.25);color:#fff}.file.is-black.is-active .file-cta,.file.is-black:active .file-cta{background-color:#000;border-color:transparent;color:#fff}.file.is-light .file-cta{background-color:#f5f5f5;border-color:transparent;color:rgba(0,0,0,.7)}.file.is-light.is-hovered .file-cta,.file.is-light:hover .file-cta{background-color:#eee;border-color:transparent;color:rgba(0,0,0,.7)}.file.is-light.is-focused .file-cta,.file.is-light:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em rgba(245,245,245,.25);color:rgba(0,0,0,.7)}.file.is-light.is-active .file-cta,.file.is-light:active .file-cta{background-color:#e8e8e8;border-color:transparent;color:rgba(0,0,0,.7)}.file.is-dark .file-cta{background-color:#363636;border-color:transparent;color:#fff}.file.is-dark.is-hovered .file-cta,.file.is-dark:hover .file-cta{background-color:#2f2f2f;border-color:transparent;color:#fff}.file.is-dark.is-focused .file-cta,.file.is-dark:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em rgba(54,54,54,.25);color:#fff}.file.is-dark.is-active .file-cta,.file.is-dark:active .file-cta{background-color:#292929;border-color:transparent;color:#fff}.file.is-primary .file-cta{background-color:#00d1b2;border-color:transparent;color:#fff}.file.is-primary.is-hovered .file-cta,.file.is-primary:hover .file-cta{background-color:#00c4a7;border-color:transparent;color:#fff}.file.is-primary.is-focused .file-cta,.file.is-primary:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em rgba(0,209,178,.25);color:#fff}.file.is-primary.is-active .file-cta,.file.is-primary:active .file-cta{background-color:#00b89c;border-color:transparent;color:#fff}.file.is-link .file-cta{background-color:#485fc7;border-color:transparent;color:#fff}.file.is-link.is-hovered .file-cta,.file.is-link:hover .file-cta{background-color:#3e56c4;border-color:transparent;color:#fff}.file.is-link.is-focused .file-cta,.file.is-link:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em rgba(72,95,199,.25);color:#fff}.file.is-link.is-active .file-cta,.file.is-link:active .file-cta{background-color:#3a51bb;border-color:transparent;color:#fff}.file.is-info .file-cta{background-color:#3e8ed0;border-color:transparent;color:#fff}.file.is-info.is-hovered .file-cta,.file.is-info:hover .file-cta{background-color:#3488ce;border-color:transparent;color:#fff}.file.is-info.is-focused .file-cta,.file.is-info:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em rgba(62,142,208,.25);color:#fff}.file.is-info.is-active .file-cta,.file.is-info:active .file-cta{background-color:#3082c5;border-color:transparent;color:#fff}.file.is-success .file-cta{background-color:#48c78e;border-color:transparent;color:#fff}.file.is-success.is-hovered .file-cta,.file.is-success:hover .file-cta{background-color:#3ec487;border-color:transparent;color:#fff}.file.is-success.is-focused .file-cta,.file.is-success:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em rgba(72,199,142,.25);color:#fff}.file.is-success.is-active .file-cta,.file.is-success:active .file-cta{background-color:#3abb81;border-color:transparent;color:#fff}.file.is-warning .file-cta{background-color:#ffe08a;border-color:transparent;color:rgba(0,0,0,.7)}.file.is-warning.is-hovered .file-cta,.file.is-warning:hover .file-cta{background-color:#ffdc7d;border-color:transparent;color:rgba(0,0,0,.7)}.file.is-warning.is-focused .file-cta,.file.is-warning:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em rgba(255,224,138,.25);color:rgba(0,0,0,.7)}.file.is-warning.is-active .file-cta,.file.is-warning:active .file-cta{background-color:#ffd970;border-color:transparent;color:rgba(0,0,0,.7)}.file.is-danger .file-cta{background-color:#f14668;border-color:transparent;color:#fff}.file.is-danger.is-hovered .file-cta,.file.is-danger:hover .file-cta{background-color:#f03a5f;border-color:transparent;color:#fff}.file.is-danger.is-focused .file-cta,.file.is-danger:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em rgba(241,70,104,.25);color:#fff}.file.is-danger.is-active .file-cta,.file.is-danger:active .file-cta{background-color:#ef2e55;border-color:transparent;color:#fff}.file.is-small{font-size:.75rem}.file.is-normal{font-size:1rem}.file.is-medium{font-size:1.25rem}.file.is-medium .file-icon .fa{font-size:21px}.file.is-large{font-size:1.5rem}.file.is-large .file-icon .fa{font-size:28px}.file.has-name .file-cta{border-bottom-right-radius:0;border-top-right-radius:0}.file.has-name .file-name{border-bottom-left-radius:0;border-top-left-radius:0}.file.has-name.is-empty .file-cta{border-radius:4px}.file.has-name.is-empty .file-name{display:none}.file.is-boxed .file-label{flex-direction:column}.file.is-boxed .file-cta{flex-direction:column;height:auto;padding:1em 3em}.file.is-boxed .file-name{border-width:0 1px 1px}.file.is-boxed .file-icon{height:1.5em;width:1.5em}.file.is-boxed .file-icon .fa{font-size:21px}.file.is-boxed.is-small .file-icon .fa{font-size:14px}.file.is-boxed.is-medium .file-icon .fa{font-size:28px}.file.is-boxed.is-large .file-icon .fa{font-size:35px}.file.is-boxed.has-name .file-cta{border-radius:4px 4px 0 0}.file.is-boxed.has-name .file-name{border-radius:0 0 4px 4px;border-width:0 1px 1px}.file.is-centered{justify-content:center}.file.is-fullwidth .file-label{width:100%}.file.is-fullwidth .file-name{flex-grow:1;max-width:none}.file.is-right{justify-content:flex-end}.file.is-right .file-cta{border-radius:0 4px 4px 0}.file.is-right .file-name{border-radius:4px 0 0 4px;border-width:1px 0 1px 1px;order:-1}.file-label{align-items:stretch;display:flex;cursor:pointer;justify-content:flex-start;overflow:hidden;position:relative}.file-label:hover .file-cta{background-color:#eee;color:#363636}.file-label:hover .file-name{border-color:#d5d5d5}.file-label:active .file-cta{background-color:#e8e8e8;color:#363636}.file-label:active .file-name{border-color:#cfcfcf}.file-input{height:100%;left:0;opacity:0;outline:0;position:absolute;top:0;width:100%}.file-cta,.file-name{border-color:#dbdbdb;border-radius:4px;font-size:1em;padding-left:1em;padding-right:1em;white-space:nowrap}.file-cta{background-color:#f5f5f5;color:#4a4a4a}.file-name{border-color:#dbdbdb;border-style:solid;border-width:1px 1px 1px 0;display:block;max-width:16em;overflow:hidden;text-align:inherit;text-overflow:ellipsis}.file-icon{align-items:center;display:flex;height:1em;justify-content:center;margin-right:.5em;width:1em}.file-icon .fa{font-size:14px}.label{color:#363636;display:block;font-size:1rem;font-weight:700}.label:not(:last-child){margin-bottom:.5em}.label.is-small{font-size:.75rem}.label.is-medium{font-size:1.25rem}.label.is-large{font-size:1.5rem}.help{display:block;font-size:.75rem;margin-top:.25rem}.help.is-white{color:#fff}.help.is-black{color:#0a0a0a}.help.is-light{color:#f5f5f5}.help.is-dark{color:#363636}.help.is-primary{color:#00d1b2}.help.is-link{color:#485fc7}.help.is-info{color:#3e8ed0}.help.is-success{color:#48c78e}.help.is-warning{color:#ffe08a}.help.is-danger{color:#f14668}.field:not(:last-child){margin-bottom:.75rem}.field.has-addons{display:flex;justify-content:flex-start}.field.has-addons .control:not(:last-child){margin-right:-1px}.field.has-addons .control:not(:first-child):not(:last-child) .button,.field.has-addons .control:not(:first-child):not(:last-child) .input,.field.has-addons .control:not(:first-child):not(:last-child) .select select{border-radius:0}.field.has-addons .control:first-child:not(:only-child) .button,.field.has-addons .control:first-child:not(:only-child) .input,.field.has-addons .control:first-child:not(:only-child) .select select{border-bottom-right-radius:0;border-top-right-radius:0}.field.has-addons .control:last-child:not(:only-child) .button,.field.has-addons .control:last-child:not(:only-child) .input,.field.has-addons .control:last-child:not(:only-child) .select select{border-bottom-left-radius:0;border-top-left-radius:0}.field.has-addons .control .button:not([disabled]).is-hovered,.field.has-addons .control .button:not([disabled]):hover,.field.has-addons .control .input:not([disabled]).is-hovered,.field.has-addons .control .input:not([disabled]):hover,.field.has-addons .control .select select:not([disabled]).is-hovered,.field.has-addons .control .select select:not([disabled]):hover{z-index:2}.field.has-addons .control .button:not([disabled]).is-active,.field.has-addons .control .button:not([disabled]).is-focused,.field.has-addons .control .button:not([disabled]):active,.field.has-addons .control .button:not([disabled]):focus,.field.has-addons .control .input:not([disabled]).is-active,.field.has-addons .control .input:not([disabled]).is-focused,.field.has-addons .control .input:not([disabled]):active,.field.has-addons .control .input:not([disabled]):focus,.field.has-addons .control .select select:not([disabled]).is-active,.field.has-addons .control .select select:not([disabled]).is-focused,.field.has-addons .control .select select:not([disabled]):active,.field.has-addons .control .select select:not([disabled]):focus{z-index:3}.field.has-addons .control .button:not([disabled]).is-active:hover,.field.has-addons .control .button:not([disabled]).is-focused:hover,.field.has-addons .control .button:not([disabled]):active:hover,.field.has-addons .control .button:not([disabled]):focus:hover,.field.has-addons .control .input:not([disabled]).is-active:hover,.field.has-addons .control .input:not([disabled]).is-focused:hover,.field.has-addons .control .input:not([disabled]):active:hover,.field.has-addons .control .input:not([disabled]):focus:hover,.field.has-addons .control .select select:not([disabled]).is-active:hover,.field.has-addons .control .select select:not([disabled]).is-focused:hover,.field.has-addons .control .select select:not([disabled]):active:hover,.field.has-addons .control .select select:not([disabled]):focus:hover{z-index:4}.field.has-addons .control.is-expanded{flex-grow:1;flex-shrink:1}.field.has-addons.has-addons-centered{justify-content:center}.field.has-addons.has-addons-right{justify-content:flex-end}.field.has-addons.has-addons-fullwidth .control{flex-grow:1;flex-shrink:0}.field.is-grouped{display:flex;justify-content:flex-start}.field.is-grouped>.control{flex-shrink:0}.field.is-grouped>.control:not(:last-child){margin-bottom:0;margin-right:.75rem}.field.is-grouped>.control.is-expanded{flex-grow:1;flex-shrink:1}.field.is-grouped.is-grouped-centered{justify-content:center}.field.is-grouped.is-grouped-right{justify-content:flex-end}.field.is-grouped.is-grouped-multiline{flex-wrap:wrap}.field.is-grouped.is-grouped-multiline>.control:last-child,.field.is-grouped.is-grouped-multiline>.control:not(:last-child){margin-bottom:.75rem}.field.is-grouped.is-grouped-multiline:last-child{margin-bottom:-.75rem}.field.is-grouped.is-grouped-multiline:not(:last-child){margin-bottom:0}@media screen and (min-width:769px),print{.field.is-horizontal{display:flex}}.field-label .label{font-size:inherit}@media screen and (max-width:768px){.field-label{margin-bottom:.5rem}}@media screen and (min-width:769px),print{.field-label{flex-basis:0;flex-grow:1;flex-shrink:0;margin-right:1.5rem;text-align:right}.field-label.is-small{font-size:.75rem;padding-top:.375em}.field-label.is-normal{padding-top:.375em}.field-label.is-medium{font-size:1.25rem;padding-top:.375em}.field-label.is-large{font-size:1.5rem;padding-top:.375em}}.field-body .field .field{margin-bottom:0}@media screen and (min-width:769px),print{.field-body{display:flex;flex-basis:0;flex-grow:5;flex-shrink:1}.field-body .field{margin-bottom:0}.field-body>.field{flex-shrink:1}.field-body>.field:not(.is-narrow){flex-grow:1}.field-body>.field:not(:last-child){margin-right:.75rem}}.control{box-sizing:border-box;clear:both;font-size:1rem;position:relative;text-align:inherit}.control.has-icons-left .input:focus~.icon,.control.has-icons-left .select:focus~.icon,.control.has-icons-right .input:focus~.icon,.control.has-icons-right .select:focus~.icon{color:#4a4a4a}.control.has-icons-left .input.is-small~.icon,.control.has-icons-left .select.is-small~.icon,.control.has-icons-right .input.is-small~.icon,.control.has-icons-right .select.is-small~.icon{font-size:.75rem}.control.has-icons-left .input.is-medium~.icon,.control.has-icons-left .select.is-medium~.icon,.control.has-icons-right .input.is-medium~.icon,.control.has-icons-right .select.is-medium~.icon{font-size:1.25rem}.control.has-icons-left .input.is-large~.icon,.control.has-icons-left .select.is-large~.icon,.control.has-icons-right .input.is-large~.icon,.control.has-icons-right .select.is-large~.icon{font-size:1.5rem}.control.has-icons-left .icon,.control.has-icons-right .icon{color:#dbdbdb;height:2.5em;pointer-events:none;position:absolute;top:0;width:2.5em;z-index:4}.control.has-icons-left .input,.control.has-icons-left .select select{padding-left:2.5em}.control.has-icons-left .icon.is-left{left:0}.control.has-icons-right .input,.control.has-icons-right .select select{padding-right:2.5em}.control.has-icons-right .icon.is-right{right:0}.control.is-loading::after{position:absolute!important;right:.625em;top:.625em;z-index:4}.control.is-loading.is-small:after{font-size:.75rem}.control.is-loading.is-medium:after{font-size:1.25rem}.control.is-loading.is-large:after{font-size:1.5rem}.breadcrumb{font-size:1rem;white-space:nowrap}.breadcrumb a{align-items:center;color:#485fc7;display:flex;justify-content:center;padding:0 .75em}.breadcrumb a:hover{color:#363636}.breadcrumb li{align-items:center;display:flex}.breadcrumb li:first-child a{padding-left:0}.breadcrumb li.is-active a{color:#363636;cursor:default;pointer-events:none}.breadcrumb li+li::before{color:#b5b5b5;content:"\0002f"}.breadcrumb ol,.breadcrumb ul{align-items:flex-start;display:flex;flex-wrap:wrap;justify-content:flex-start}.breadcrumb .icon:first-child{margin-right:.5em}.breadcrumb .icon:last-child{margin-left:.5em}.breadcrumb.is-centered ol,.breadcrumb.is-centered ul{justify-content:center}.breadcrumb.is-right ol,.breadcrumb.is-right ul{justify-content:flex-end}.breadcrumb.is-small{font-size:.75rem}.breadcrumb.is-medium{font-size:1.25rem}.breadcrumb.is-large{font-size:1.5rem}.breadcrumb.has-arrow-separator li+li::before{content:"\02192"}.breadcrumb.has-bullet-separator li+li::before{content:"\02022"}.breadcrumb.has-dot-separator li+li::before{content:"\000b7"}.breadcrumb.has-succeeds-separator li+li::before{content:"\0227B"}.card{background-color:#fff;border-radius:.25rem;box-shadow:0 .5em 1em -.125em rgba(10,10,10,.1),0 0 0 1px rgba(10,10,10,.02);color:#4a4a4a;max-width:100%;position:relative}.card-content:first-child,.card-footer:first-child,.card-header:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card-content:last-child,.card-footer:last-child,.card-header:last-child{border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}.card-header{background-color:transparent;align-items:stretch;box-shadow:0 .125em .25em rgba(10,10,10,.1);display:flex}.card-header-title{align-items:center;color:#363636;display:flex;flex-grow:1;font-weight:700;padding:.75rem 1rem}.card-header-title.is-centered{justify-content:center}.card-header-icon{-moz-appearance:none;-webkit-appearance:none;appearance:none;background:0 0;border:none;color:currentColor;font-family:inherit;font-size:1em;margin:0;padding:0;align-items:center;cursor:pointer;display:flex;justify-content:center;padding:.75rem 1rem}.card-image{display:block;position:relative}.card-image:first-child img{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card-image:last-child img{border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}.card-content{background-color:transparent;padding:1.5rem}.card-footer{background-color:transparent;border-top:1px solid #ededed;align-items:stretch;display:flex}.card-footer-item{align-items:center;display:flex;flex-basis:0;flex-grow:1;flex-shrink:0;justify-content:center;padding:.75rem}.card-footer-item:not(:last-child){border-right:1px solid #ededed}.card .media:not(:last-child){margin-bottom:1.5rem}.dropdown{display:inline-flex;position:relative;vertical-align:top}.dropdown.is-active .dropdown-menu,.dropdown.is-hoverable:hover .dropdown-menu{display:block}.dropdown.is-right .dropdown-menu{left:auto;right:0}.dropdown.is-up .dropdown-menu{bottom:100%;padding-bottom:4px;padding-top:initial;top:auto}.dropdown-menu{display:none;left:0;min-width:12rem;padding-top:4px;position:absolute;top:100%;z-index:20}.dropdown-content{background-color:#fff;border-radius:4px;box-shadow:0 .5em 1em -.125em rgba(10,10,10,.1),0 0 0 1px rgba(10,10,10,.02);padding-bottom:.5rem;padding-top:.5rem}.dropdown-item{color:#4a4a4a;display:block;font-size:.875rem;line-height:1.5;padding:.375rem 1rem;position:relative}a.dropdown-item,button.dropdown-item{padding-right:3rem;text-align:inherit;white-space:nowrap;width:100%}a.dropdown-item:hover,button.dropdown-item:hover{background-color:#f5f5f5;color:#0a0a0a}a.dropdown-item.is-active,button.dropdown-item.is-active{background-color:#485fc7;color:#fff}.dropdown-divider{background-color:#ededed;border:none;display:block;height:1px;margin:.5rem 0}.level{align-items:center;justify-content:space-between}.level code{border-radius:4px}.level img{display:inline-block;vertical-align:top}.level.is-mobile{display:flex}.level.is-mobile .level-left,.level.is-mobile .level-right{display:flex}.level.is-mobile .level-left+.level-right{margin-top:0}.level.is-mobile .level-item:not(:last-child){margin-bottom:0;margin-right:.75rem}.level.is-mobile .level-item:not(.is-narrow){flex-grow:1}@media screen and (min-width:769px),print{.level{display:flex}.level>.level-item:not(.is-narrow){flex-grow:1}}.level-item{align-items:center;display:flex;flex-basis:auto;flex-grow:0;flex-shrink:0;justify-content:center}.level-item .subtitle,.level-item .title{margin-bottom:0}@media screen and (max-width:768px){.level-item:not(:last-child){margin-bottom:.75rem}}.level-left,.level-right{flex-basis:auto;flex-grow:0;flex-shrink:0}.level-left .level-item.is-flexible,.level-right .level-item.is-flexible{flex-grow:1}@media screen and (min-width:769px),print{.level-left .level-item:not(:last-child),.level-right .level-item:not(:last-child){margin-right:.75rem}}.level-left{align-items:center;justify-content:flex-start}@media screen and (max-width:768px){.level-left+.level-right{margin-top:1.5rem}}@media screen and (min-width:769px),print{.level-left{display:flex}}.level-right{align-items:center;justify-content:flex-end}@media screen and (min-width:769px),print{.level-right{display:flex}}.media{align-items:flex-start;display:flex;text-align:inherit}.media .content:not(:last-child){margin-bottom:.75rem}.media .media{border-top:1px solid rgba(219,219,219,.5);display:flex;padding-top:.75rem}.media .media .content:not(:last-child),.media .media .control:not(:last-child){margin-bottom:.5rem}.media .media .media{padding-top:.5rem}.media .media .media+.media{margin-top:.5rem}.media+.media{border-top:1px solid rgba(219,219,219,.5);margin-top:1rem;padding-top:1rem}.media.is-large+.media{margin-top:1.5rem;padding-top:1.5rem}.media-left,.media-right{flex-basis:auto;flex-grow:0;flex-shrink:0}.media-left{margin-right:1rem}.media-right{margin-left:1rem}.media-content{flex-basis:auto;flex-grow:1;flex-shrink:1;text-align:inherit}@media screen and (max-width:768px){.media-content{overflow-x:auto}}.menu{font-size:1rem}.menu.is-small{font-size:.75rem}.menu.is-medium{font-size:1.25rem}.menu.is-large{font-size:1.5rem}.menu-list{line-height:1.25}.menu-list a{border-radius:2px;color:#4a4a4a;display:block;padding:.5em .75em}.menu-list a:hover{background-color:#f5f5f5;color:#363636}.menu-list a.is-active{background-color:#485fc7;color:#fff}.menu-list li ul{border-left:1px solid #dbdbdb;margin:.75em;padding-left:.75em}.menu-label{color:#7a7a7a;font-size:.75em;letter-spacing:.1em;text-transform:uppercase}.menu-label:not(:first-child){margin-top:1em}.menu-label:not(:last-child){margin-bottom:1em}.message{background-color:#f5f5f5;border-radius:4px;font-size:1rem}.message strong{color:currentColor}.message a:not(.button):not(.tag):not(.dropdown-item){color:currentColor;text-decoration:underline}.message.is-small{font-size:.75rem}.message.is-medium{font-size:1.25rem}.message.is-large{font-size:1.5rem}.message.is-white{background-color:#fff}.message.is-white .message-header{background-color:#fff;color:#0a0a0a}.message.is-white .message-body{border-color:#fff}.message.is-black{background-color:#fafafa}.message.is-black .message-header{background-color:#0a0a0a;color:#fff}.message.is-black .message-body{border-color:#0a0a0a}.message.is-light{background-color:#fafafa}.message.is-light .message-header{background-color:#f5f5f5;color:rgba(0,0,0,.7)}.message.is-light .message-body{border-color:#f5f5f5}.message.is-dark{background-color:#fafafa}.message.is-dark .message-header{background-color:#363636;color:#fff}.message.is-dark .message-body{border-color:#363636}.message.is-primary{background-color:#ebfffc}.message.is-primary .message-header{background-color:#00d1b2;color:#fff}.message.is-primary .message-body{border-color:#00d1b2;color:#00947e}.message.is-link{background-color:#eff1fa}.message.is-link .message-header{background-color:#485fc7;color:#fff}.message.is-link .message-body{border-color:#485fc7;color:#3850b7}.message.is-info{background-color:#eff5fb}.message.is-info .message-header{background-color:#3e8ed0;color:#fff}.message.is-info .message-body{border-color:#3e8ed0;color:#296fa8}.message.is-success{background-color:#effaf5}.message.is-success .message-header{background-color:#48c78e;color:#fff}.message.is-success .message-body{border-color:#48c78e;color:#257953}.message.is-warning{background-color:#fffaeb}.message.is-warning .message-header{background-color:#ffe08a;color:rgba(0,0,0,.7)}.message.is-warning .message-body{border-color:#ffe08a;color:#946c00}.message.is-danger{background-color:#feecf0}.message.is-danger .message-header{background-color:#f14668;color:#fff}.message.is-danger .message-body{border-color:#f14668;color:#cc0f35}.message-header{align-items:center;background-color:#4a4a4a;border-radius:4px 4px 0 0;color:#fff;display:flex;font-weight:700;justify-content:space-between;line-height:1.25;padding:.75em 1em;position:relative}.message-header .delete{flex-grow:0;flex-shrink:0;margin-left:.75em}.message-header+.message-body{border-width:0;border-top-left-radius:0;border-top-right-radius:0}.message-body{border-color:#dbdbdb;border-radius:4px;border-style:solid;border-width:0 0 0 4px;color:#4a4a4a;padding:1.25em 1.5em}.message-body code,.message-body pre{background-color:#fff}.message-body pre code{background-color:transparent}.modal{align-items:center;display:none;flex-direction:column;justify-content:center;overflow:hidden;position:fixed;z-index:40}.modal.is-active{display:flex}.modal-background{background-color:rgba(10,10,10,.86)}.modal-card,.modal-content{margin:0 20px;max-height:calc(100vh - 160px);overflow:auto;position:relative;width:100%}@media screen and (min-width:769px){.modal-card,.modal-content{margin:0 auto;max-height:calc(100vh - 40px);width:640px}}.modal-close{background:0 0;height:40px;position:fixed;right:20px;top:20px;width:40px}.modal-card{display:flex;flex-direction:column;max-height:calc(100vh - 40px);overflow:hidden;-ms-overflow-y:visible}.modal-card-foot,.modal-card-head{align-items:center;background-color:#f5f5f5;display:flex;flex-shrink:0;justify-content:flex-start;padding:20px;position:relative}.modal-card-head{border-bottom:1px solid #dbdbdb;border-top-left-radius:6px;border-top-right-radius:6px}.modal-card-title{color:#363636;flex-grow:1;flex-shrink:0;font-size:1.5rem;line-height:1}.modal-card-foot{border-bottom-left-radius:6px;border-bottom-right-radius:6px;border-top:1px solid #dbdbdb}.modal-card-foot .button:not(:last-child){margin-right:.5em}.modal-card-body{-webkit-overflow-scrolling:touch;background-color:#fff;flex-grow:1;flex-shrink:1;overflow:auto;padding:20px}.navbar{background-color:#fff;min-height:3.25rem;position:relative;z-index:30}.navbar.is-white{background-color:#fff;color:#0a0a0a}.navbar.is-white .navbar-brand .navbar-link,.navbar.is-white .navbar-brand>.navbar-item{color:#0a0a0a}.navbar.is-white .navbar-brand .navbar-link.is-active,.navbar.is-white .navbar-brand .navbar-link:focus,.navbar.is-white .navbar-brand .navbar-link:hover,.navbar.is-white .navbar-brand>a.navbar-item.is-active,.navbar.is-white .navbar-brand>a.navbar-item:focus,.navbar.is-white .navbar-brand>a.navbar-item:hover{background-color:#f2f2f2;color:#0a0a0a}.navbar.is-white .navbar-brand .navbar-link::after{border-color:#0a0a0a}.navbar.is-white .navbar-burger{color:#0a0a0a}@media screen and (min-width:1024px){.navbar.is-white .navbar-end .navbar-link,.navbar.is-white .navbar-end>.navbar-item,.navbar.is-white .navbar-start .navbar-link,.navbar.is-white .navbar-start>.navbar-item{color:#0a0a0a}.navbar.is-white .navbar-end .navbar-link.is-active,.navbar.is-white .navbar-end .navbar-link:focus,.navbar.is-white .navbar-end .navbar-link:hover,.navbar.is-white .navbar-end>a.navbar-item.is-active,.navbar.is-white .navbar-end>a.navbar-item:focus,.navbar.is-white .navbar-end>a.navbar-item:hover,.navbar.is-white .navbar-start .navbar-link.is-active,.navbar.is-white .navbar-start .navbar-link:focus,.navbar.is-white .navbar-start .navbar-link:hover,.navbar.is-white .navbar-start>a.navbar-item.is-active,.navbar.is-white .navbar-start>a.navbar-item:focus,.navbar.is-white .navbar-start>a.navbar-item:hover{background-color:#f2f2f2;color:#0a0a0a}.navbar.is-white .navbar-end .navbar-link::after,.navbar.is-white .navbar-start .navbar-link::after{border-color:#0a0a0a}.navbar.is-white .navbar-item.has-dropdown.is-active .navbar-link,.navbar.is-white .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-white .navbar-item.has-dropdown:hover .navbar-link{background-color:#f2f2f2;color:#0a0a0a}.navbar.is-white .navbar-dropdown a.navbar-item.is-active{background-color:#fff;color:#0a0a0a}}.navbar.is-black{background-color:#0a0a0a;color:#fff}.navbar.is-black .navbar-brand .navbar-link,.navbar.is-black .navbar-brand>.navbar-item{color:#fff}.navbar.is-black .navbar-brand .navbar-link.is-active,.navbar.is-black .navbar-brand .navbar-link:focus,.navbar.is-black .navbar-brand .navbar-link:hover,.navbar.is-black .navbar-brand>a.navbar-item.is-active,.navbar.is-black .navbar-brand>a.navbar-item:focus,.navbar.is-black .navbar-brand>a.navbar-item:hover{background-color:#000;color:#fff}.navbar.is-black .navbar-brand .navbar-link::after{border-color:#fff}.navbar.is-black .navbar-burger{color:#fff}@media screen and (min-width:1024px){.navbar.is-black .navbar-end .navbar-link,.navbar.is-black .navbar-end>.navbar-item,.navbar.is-black .navbar-start .navbar-link,.navbar.is-black .navbar-start>.navbar-item{color:#fff}.navbar.is-black .navbar-end .navbar-link.is-active,.navbar.is-black .navbar-end .navbar-link:focus,.navbar.is-black .navbar-end .navbar-link:hover,.navbar.is-black .navbar-end>a.navbar-item.is-active,.navbar.is-black .navbar-end>a.navbar-item:focus,.navbar.is-black .navbar-end>a.navbar-item:hover,.navbar.is-black .navbar-start .navbar-link.is-active,.navbar.is-black .navbar-start .navbar-link:focus,.navbar.is-black .navbar-start .navbar-link:hover,.navbar.is-black .navbar-start>a.navbar-item.is-active,.navbar.is-black .navbar-start>a.navbar-item:focus,.navbar.is-black .navbar-start>a.navbar-item:hover{background-color:#000;color:#fff}.navbar.is-black .navbar-end .navbar-link::after,.navbar.is-black .navbar-start .navbar-link::after{border-color:#fff}.navbar.is-black .navbar-item.has-dropdown.is-active .navbar-link,.navbar.is-black .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-black .navbar-item.has-dropdown:hover .navbar-link{background-color:#000;color:#fff}.navbar.is-black .navbar-dropdown a.navbar-item.is-active{background-color:#0a0a0a;color:#fff}}.navbar.is-light{background-color:#f5f5f5;color:rgba(0,0,0,.7)}.navbar.is-light .navbar-brand .navbar-link,.navbar.is-light .navbar-brand>.navbar-item{color:rgba(0,0,0,.7)}.navbar.is-light .navbar-brand .navbar-link.is-active,.navbar.is-light .navbar-brand .navbar-link:focus,.navbar.is-light .navbar-brand .navbar-link:hover,.navbar.is-light .navbar-brand>a.navbar-item.is-active,.navbar.is-light .navbar-brand>a.navbar-item:focus,.navbar.is-light .navbar-brand>a.navbar-item:hover{background-color:#e8e8e8;color:rgba(0,0,0,.7)}.navbar.is-light .navbar-brand .navbar-link::after{border-color:rgba(0,0,0,.7)}.navbar.is-light .navbar-burger{color:rgba(0,0,0,.7)}@media screen and (min-width:1024px){.navbar.is-light .navbar-end .navbar-link,.navbar.is-light .navbar-end>.navbar-item,.navbar.is-light .navbar-start .navbar-link,.navbar.is-light .navbar-start>.navbar-item{color:rgba(0,0,0,.7)}.navbar.is-light .navbar-end .navbar-link.is-active,.navbar.is-light .navbar-end .navbar-link:focus,.navbar.is-light .navbar-end .navbar-link:hover,.navbar.is-light .navbar-end>a.navbar-item.is-active,.navbar.is-light .navbar-end>a.navbar-item:focus,.navbar.is-light .navbar-end>a.navbar-item:hover,.navbar.is-light .navbar-start .navbar-link.is-active,.navbar.is-light .navbar-start .navbar-link:focus,.navbar.is-light .navbar-start .navbar-link:hover,.navbar.is-light .navbar-start>a.navbar-item.is-active,.navbar.is-light .navbar-start>a.navbar-item:focus,.navbar.is-light .navbar-start>a.navbar-item:hover{background-color:#e8e8e8;color:rgba(0,0,0,.7)}.navbar.is-light .navbar-end .navbar-link::after,.navbar.is-light .navbar-start .navbar-link::after{border-color:rgba(0,0,0,.7)}.navbar.is-light .navbar-item.has-dropdown.is-active .navbar-link,.navbar.is-light .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-light .navbar-item.has-dropdown:hover .navbar-link{background-color:#e8e8e8;color:rgba(0,0,0,.7)}.navbar.is-light .navbar-dropdown a.navbar-item.is-active{background-color:#f5f5f5;color:rgba(0,0,0,.7)}}.navbar.is-dark{background-color:#363636;color:#fff}.navbar.is-dark .navbar-brand .navbar-link,.navbar.is-dark .navbar-brand>.navbar-item{color:#fff}.navbar.is-dark .navbar-brand .navbar-link.is-active,.navbar.is-dark .navbar-brand .navbar-link:focus,.navbar.is-dark .navbar-brand .navbar-link:hover,.navbar.is-dark .navbar-brand>a.navbar-item.is-active,.navbar.is-dark .navbar-brand>a.navbar-item:focus,.navbar.is-dark .navbar-brand>a.navbar-item:hover{background-color:#292929;color:#fff}.navbar.is-dark .navbar-brand .navbar-link::after{border-color:#fff}.navbar.is-dark .navbar-burger{color:#fff}@media screen and (min-width:1024px){.navbar.is-dark .navbar-end .navbar-link,.navbar.is-dark .navbar-end>.navbar-item,.navbar.is-dark .navbar-start .navbar-link,.navbar.is-dark .navbar-start>.navbar-item{color:#fff}.navbar.is-dark .navbar-end .navbar-link.is-active,.navbar.is-dark .navbar-end .navbar-link:focus,.navbar.is-dark .navbar-end .navbar-link:hover,.navbar.is-dark .navbar-end>a.navbar-item.is-active,.navbar.is-dark .navbar-end>a.navbar-item:focus,.navbar.is-dark .navbar-end>a.navbar-item:hover,.navbar.is-dark .navbar-start .navbar-link.is-active,.navbar.is-dark .navbar-start .navbar-link:focus,.navbar.is-dark .navbar-start .navbar-link:hover,.navbar.is-dark .navbar-start>a.navbar-item.is-active,.navbar.is-dark .navbar-start>a.navbar-item:focus,.navbar.is-dark .navbar-start>a.navbar-item:hover{background-color:#292929;color:#fff}.navbar.is-dark .navbar-end .navbar-link::after,.navbar.is-dark .navbar-start .navbar-link::after{border-color:#fff}.navbar.is-dark .navbar-item.has-dropdown.is-active .navbar-link,.navbar.is-dark .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-dark .navbar-item.has-dropdown:hover .navbar-link{background-color:#292929;color:#fff}.navbar.is-dark .navbar-dropdown a.navbar-item.is-active{background-color:#363636;color:#fff}}.navbar.is-primary{background-color:#00d1b2;color:#fff}.navbar.is-primary .navbar-brand .navbar-link,.navbar.is-primary .navbar-brand>.navbar-item{color:#fff}.navbar.is-primary .navbar-brand .navbar-link.is-active,.navbar.is-primary .navbar-brand .navbar-link:focus,.navbar.is-primary .navbar-brand .navbar-link:hover,.navbar.is-primary .navbar-brand>a.navbar-item.is-active,.navbar.is-primary .navbar-brand>a.navbar-item:focus,.navbar.is-primary .navbar-brand>a.navbar-item:hover{background-color:#00b89c;color:#fff}.navbar.is-primary .navbar-brand .navbar-link::after{border-color:#fff}.navbar.is-primary .navbar-burger{color:#fff}@media screen and (min-width:1024px){.navbar.is-primary .navbar-end .navbar-link,.navbar.is-primary .navbar-end>.navbar-item,.navbar.is-primary .navbar-start .navbar-link,.navbar.is-primary .navbar-start>.navbar-item{color:#fff}.navbar.is-primary .navbar-end .navbar-link.is-active,.navbar.is-primary .navbar-end .navbar-link:focus,.navbar.is-primary .navbar-end .navbar-link:hover,.navbar.is-primary .navbar-end>a.navbar-item.is-active,.navbar.is-primary .navbar-end>a.navbar-item:focus,.navbar.is-primary .navbar-end>a.navbar-item:hover,.navbar.is-primary .navbar-start .navbar-link.is-active,.navbar.is-primary .navbar-start .navbar-link:focus,.navbar.is-primary .navbar-start .navbar-link:hover,.navbar.is-primary .navbar-start>a.navbar-item.is-active,.navbar.is-primary .navbar-start>a.navbar-item:focus,.navbar.is-primary .navbar-start>a.navbar-item:hover{background-color:#00b89c;color:#fff}.navbar.is-primary .navbar-end .navbar-link::after,.navbar.is-primary .navbar-start .navbar-link::after{border-color:#fff}.navbar.is-primary .navbar-item.has-dropdown.is-active .navbar-link,.navbar.is-primary .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-primary .navbar-item.has-dropdown:hover .navbar-link{background-color:#00b89c;color:#fff}.navbar.is-primary .navbar-dropdown a.navbar-item.is-active{background-color:#00d1b2;color:#fff}}.navbar.is-link{background-color:#485fc7;color:#fff}.navbar.is-link .navbar-brand .navbar-link,.navbar.is-link .navbar-brand>.navbar-item{color:#fff}.navbar.is-link .navbar-brand .navbar-link.is-active,.navbar.is-link .navbar-brand .navbar-link:focus,.navbar.is-link .navbar-brand .navbar-link:hover,.navbar.is-link .navbar-brand>a.navbar-item.is-active,.navbar.is-link .navbar-brand>a.navbar-item:focus,.navbar.is-link .navbar-brand>a.navbar-item:hover{background-color:#3a51bb;color:#fff}.navbar.is-link .navbar-brand .navbar-link::after{border-color:#fff}.navbar.is-link .navbar-burger{color:#fff}@media screen and (min-width:1024px){.navbar.is-link .navbar-end .navbar-link,.navbar.is-link .navbar-end>.navbar-item,.navbar.is-link .navbar-start .navbar-link,.navbar.is-link .navbar-start>.navbar-item{color:#fff}.navbar.is-link .navbar-end .navbar-link.is-active,.navbar.is-link .navbar-end .navbar-link:focus,.navbar.is-link .navbar-end .navbar-link:hover,.navbar.is-link .navbar-end>a.navbar-item.is-active,.navbar.is-link .navbar-end>a.navbar-item:focus,.navbar.is-link .navbar-end>a.navbar-item:hover,.navbar.is-link .navbar-start .navbar-link.is-active,.navbar.is-link .navbar-start .navbar-link:focus,.navbar.is-link .navbar-start .navbar-link:hover,.navbar.is-link .navbar-start>a.navbar-item.is-active,.navbar.is-link .navbar-start>a.navbar-item:focus,.navbar.is-link .navbar-start>a.navbar-item:hover{background-color:#3a51bb;color:#fff}.navbar.is-link .navbar-end .navbar-link::after,.navbar.is-link .navbar-start .navbar-link::after{border-color:#fff}.navbar.is-link .navbar-item.has-dropdown.is-active .navbar-link,.navbar.is-link .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-link .navbar-item.has-dropdown:hover .navbar-link{background-color:#3a51bb;color:#fff}.navbar.is-link .navbar-dropdown a.navbar-item.is-active{background-color:#485fc7;color:#fff}}.navbar.is-info{background-color:#3e8ed0;color:#fff}.navbar.is-info .navbar-brand .navbar-link,.navbar.is-info .navbar-brand>.navbar-item{color:#fff}.navbar.is-info .navbar-brand .navbar-link.is-active,.navbar.is-info .navbar-brand .navbar-link:focus,.navbar.is-info .navbar-brand .navbar-link:hover,.navbar.is-info .navbar-brand>a.navbar-item.is-active,.navbar.is-info .navbar-brand>a.navbar-item:focus,.navbar.is-info .navbar-brand>a.navbar-item:hover{background-color:#3082c5;color:#fff}.navbar.is-info .navbar-brand .navbar-link::after{border-color:#fff}.navbar.is-info .navbar-burger{color:#fff}@media screen and (min-width:1024px){.navbar.is-info .navbar-end .navbar-link,.navbar.is-info .navbar-end>.navbar-item,.navbar.is-info .navbar-start .navbar-link,.navbar.is-info .navbar-start>.navbar-item{color:#fff}.navbar.is-info .navbar-end .navbar-link.is-active,.navbar.is-info .navbar-end .navbar-link:focus,.navbar.is-info .navbar-end .navbar-link:hover,.navbar.is-info .navbar-end>a.navbar-item.is-active,.navbar.is-info .navbar-end>a.navbar-item:focus,.navbar.is-info .navbar-end>a.navbar-item:hover,.navbar.is-info .navbar-start .navbar-link.is-active,.navbar.is-info .navbar-start .navbar-link:focus,.navbar.is-info .navbar-start .navbar-link:hover,.navbar.is-info .navbar-start>a.navbar-item.is-active,.navbar.is-info .navbar-start>a.navbar-item:focus,.navbar.is-info .navbar-start>a.navbar-item:hover{background-color:#3082c5;color:#fff}.navbar.is-info .navbar-end .navbar-link::after,.navbar.is-info .navbar-start .navbar-link::after{border-color:#fff}.navbar.is-info .navbar-item.has-dropdown.is-active .navbar-link,.navbar.is-info .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-info .navbar-item.has-dropdown:hover .navbar-link{background-color:#3082c5;color:#fff}.navbar.is-info .navbar-dropdown a.navbar-item.is-active{background-color:#3e8ed0;color:#fff}}.navbar.is-success{background-color:#48c78e;color:#fff}.navbar.is-success .navbar-brand .navbar-link,.navbar.is-success .navbar-brand>.navbar-item{color:#fff}.navbar.is-success .navbar-brand .navbar-link.is-active,.navbar.is-success .navbar-brand .navbar-link:focus,.navbar.is-success .navbar-brand .navbar-link:hover,.navbar.is-success .navbar-brand>a.navbar-item.is-active,.navbar.is-success .navbar-brand>a.navbar-item:focus,.navbar.is-success .navbar-brand>a.navbar-item:hover{background-color:#3abb81;color:#fff}.navbar.is-success .navbar-brand .navbar-link::after{border-color:#fff}.navbar.is-success .navbar-burger{color:#fff}@media screen and (min-width:1024px){.navbar.is-success .navbar-end .navbar-link,.navbar.is-success .navbar-end>.navbar-item,.navbar.is-success .navbar-start .navbar-link,.navbar.is-success .navbar-start>.navbar-item{color:#fff}.navbar.is-success .navbar-end .navbar-link.is-active,.navbar.is-success .navbar-end .navbar-link:focus,.navbar.is-success .navbar-end .navbar-link:hover,.navbar.is-success .navbar-end>a.navbar-item.is-active,.navbar.is-success .navbar-end>a.navbar-item:focus,.navbar.is-success .navbar-end>a.navbar-item:hover,.navbar.is-success .navbar-start .navbar-link.is-active,.navbar.is-success .navbar-start .navbar-link:focus,.navbar.is-success .navbar-start .navbar-link:hover,.navbar.is-success .navbar-start>a.navbar-item.is-active,.navbar.is-success .navbar-start>a.navbar-item:focus,.navbar.is-success .navbar-start>a.navbar-item:hover{background-color:#3abb81;color:#fff}.navbar.is-success .navbar-end .navbar-link::after,.navbar.is-success .navbar-start .navbar-link::after{border-color:#fff}.navbar.is-success .navbar-item.has-dropdown.is-active .navbar-link,.navbar.is-success .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-success .navbar-item.has-dropdown:hover .navbar-link{background-color:#3abb81;color:#fff}.navbar.is-success .navbar-dropdown a.navbar-item.is-active{background-color:#48c78e;color:#fff}}.navbar.is-warning{background-color:#ffe08a;color:rgba(0,0,0,.7)}.navbar.is-warning .navbar-brand .navbar-link,.navbar.is-warning .navbar-brand>.navbar-item{color:rgba(0,0,0,.7)}.navbar.is-warning .navbar-brand .navbar-link.is-active,.navbar.is-warning .navbar-brand .navbar-link:focus,.navbar.is-warning .navbar-brand .navbar-link:hover,.navbar.is-warning .navbar-brand>a.navbar-item.is-active,.navbar.is-warning .navbar-brand>a.navbar-item:focus,.navbar.is-warning .navbar-brand>a.navbar-item:hover{background-color:#ffd970;color:rgba(0,0,0,.7)}.navbar.is-warning .navbar-brand .navbar-link::after{border-color:rgba(0,0,0,.7)}.navbar.is-warning .navbar-burger{color:rgba(0,0,0,.7)}@media screen and (min-width:1024px){.navbar.is-warning .navbar-end .navbar-link,.navbar.is-warning .navbar-end>.navbar-item,.navbar.is-warning .navbar-start .navbar-link,.navbar.is-warning .navbar-start>.navbar-item{color:rgba(0,0,0,.7)}.navbar.is-warning .navbar-end .navbar-link.is-active,.navbar.is-warning .navbar-end .navbar-link:focus,.navbar.is-warning .navbar-end .navbar-link:hover,.navbar.is-warning .navbar-end>a.navbar-item.is-active,.navbar.is-warning .navbar-end>a.navbar-item:focus,.navbar.is-warning .navbar-end>a.navbar-item:hover,.navbar.is-warning .navbar-start .navbar-link.is-active,.navbar.is-warning .navbar-start .navbar-link:focus,.navbar.is-warning .navbar-start .navbar-link:hover,.navbar.is-warning .navbar-start>a.navbar-item.is-active,.navbar.is-warning .navbar-start>a.navbar-item:focus,.navbar.is-warning .navbar-start>a.navbar-item:hover{background-color:#ffd970;color:rgba(0,0,0,.7)}.navbar.is-warning .navbar-end .navbar-link::after,.navbar.is-warning .navbar-start .navbar-link::after{border-color:rgba(0,0,0,.7)}.navbar.is-warning .navbar-item.has-dropdown.is-active .navbar-link,.navbar.is-warning .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-warning .navbar-item.has-dropdown:hover .navbar-link{background-color:#ffd970;color:rgba(0,0,0,.7)}.navbar.is-warning .navbar-dropdown a.navbar-item.is-active{background-color:#ffe08a;color:rgba(0,0,0,.7)}}.navbar.is-danger{background-color:#f14668;color:#fff}.navbar.is-danger .navbar-brand .navbar-link,.navbar.is-danger .navbar-brand>.navbar-item{color:#fff}.navbar.is-danger .navbar-brand .navbar-link.is-active,.navbar.is-danger .navbar-brand .navbar-link:focus,.navbar.is-danger .navbar-brand .navbar-link:hover,.navbar.is-danger .navbar-brand>a.navbar-item.is-active,.navbar.is-danger .navbar-brand>a.navbar-item:focus,.navbar.is-danger .navbar-brand>a.navbar-item:hover{background-color:#ef2e55;color:#fff}.navbar.is-danger .navbar-brand .navbar-link::after{border-color:#fff}.navbar.is-danger .navbar-burger{color:#fff}@media screen and (min-width:1024px){.navbar.is-danger .navbar-end .navbar-link,.navbar.is-danger .navbar-end>.navbar-item,.navbar.is-danger .navbar-start .navbar-link,.navbar.is-danger .navbar-start>.navbar-item{color:#fff}.navbar.is-danger .navbar-end .navbar-link.is-active,.navbar.is-danger .navbar-end .navbar-link:focus,.navbar.is-danger .navbar-end .navbar-link:hover,.navbar.is-danger .navbar-end>a.navbar-item.is-active,.navbar.is-danger .navbar-end>a.navbar-item:focus,.navbar.is-danger .navbar-end>a.navbar-item:hover,.navbar.is-danger .navbar-start .navbar-link.is-active,.navbar.is-danger .navbar-start .navbar-link:focus,.navbar.is-danger .navbar-start .navbar-link:hover,.navbar.is-danger .navbar-start>a.navbar-item.is-active,.navbar.is-danger .navbar-start>a.navbar-item:focus,.navbar.is-danger .navbar-start>a.navbar-item:hover{background-color:#ef2e55;color:#fff}.navbar.is-danger .navbar-end .navbar-link::after,.navbar.is-danger .navbar-start .navbar-link::after{border-color:#fff}.navbar.is-danger .navbar-item.has-dropdown.is-active .navbar-link,.navbar.is-danger .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-danger .navbar-item.has-dropdown:hover .navbar-link{background-color:#ef2e55;color:#fff}.navbar.is-danger .navbar-dropdown a.navbar-item.is-active{background-color:#f14668;color:#fff}}.navbar>.container{align-items:stretch;display:flex;min-height:3.25rem;width:100%}.navbar.has-shadow{box-shadow:0 2px 0 0 #f5f5f5}.navbar.is-fixed-bottom,.navbar.is-fixed-top{left:0;position:fixed;right:0;z-index:30}.navbar.is-fixed-bottom{bottom:0}.navbar.is-fixed-bottom.has-shadow{box-shadow:0 -2px 0 0 #f5f5f5}.navbar.is-fixed-top{top:0}body.has-navbar-fixed-top,html.has-navbar-fixed-top{padding-top:3.25rem}body.has-navbar-fixed-bottom,html.has-navbar-fixed-bottom{padding-bottom:3.25rem}.navbar-brand,.navbar-tabs{align-items:stretch;display:flex;flex-shrink:0;min-height:3.25rem}.navbar-brand a.navbar-item:focus,.navbar-brand a.navbar-item:hover{background-color:transparent}.navbar-tabs{-webkit-overflow-scrolling:touch;max-width:100vw;overflow-x:auto;overflow-y:hidden}.navbar-burger{color:#4a4a4a;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:0 0;border:none;cursor:pointer;display:block;height:3.25rem;position:relative;width:3.25rem;margin-left:auto}.navbar-burger span{background-color:currentColor;display:block;height:1px;left:calc(50% - 8px);position:absolute;transform-origin:center;transition-duration:86ms;transition-property:background-color,opacity,transform;transition-timing-function:ease-out;width:16px}.navbar-burger span:first-child{top:calc(50% - 6px)}.navbar-burger span:nth-child(2){top:calc(50% - 1px)}.navbar-burger span:nth-child(3){top:calc(50% + 4px)}.navbar-burger:hover{background-color:rgba(0,0,0,.05)}.navbar-burger.is-active span:first-child{transform:translateY(5px) rotate(45deg)}.navbar-burger.is-active span:nth-child(2){opacity:0}.navbar-burger.is-active span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}.navbar-menu{display:none}.navbar-item,.navbar-link{color:#4a4a4a;display:block;line-height:1.5;padding:.5rem .75rem;position:relative}.navbar-item .icon:only-child,.navbar-link .icon:only-child{margin-left:-.25rem;margin-right:-.25rem}.navbar-link,a.navbar-item{cursor:pointer}.navbar-link.is-active,.navbar-link:focus,.navbar-link:focus-within,.navbar-link:hover,a.navbar-item.is-active,a.navbar-item:focus,a.navbar-item:focus-within,a.navbar-item:hover{background-color:#fafafa;color:#485fc7}.navbar-item{flex-grow:0;flex-shrink:0}.navbar-item img{max-height:1.75rem}.navbar-item.has-dropdown{padding:0}.navbar-item.is-expanded{flex-grow:1;flex-shrink:1}.navbar-item.is-tab{border-bottom:1px solid transparent;min-height:3.25rem;padding-bottom:calc(.5rem - 1px)}.navbar-item.is-tab:focus,.navbar-item.is-tab:hover{background-color:transparent;border-bottom-color:#485fc7}.navbar-item.is-tab.is-active{background-color:transparent;border-bottom-color:#485fc7;border-bottom-style:solid;border-bottom-width:3px;color:#485fc7;padding-bottom:calc(.5rem - 3px)}.navbar-content{flex-grow:1;flex-shrink:1}.navbar-link:not(.is-arrowless){padding-right:2.5em}.navbar-link:not(.is-arrowless)::after{border-color:#485fc7;margin-top:-.375em;right:1.125em}.navbar-dropdown{font-size:.875rem;padding-bottom:.5rem;padding-top:.5rem}.navbar-dropdown .navbar-item{padding-left:1.5rem;padding-right:1.5rem}.navbar-divider{background-color:#f5f5f5;border:none;display:none;height:2px;margin:.5rem 0}@media screen and (max-width:1023px){.navbar>.container{display:block}.navbar-brand .navbar-item,.navbar-tabs .navbar-item{align-items:center;display:flex}.navbar-link::after{display:none}.navbar-menu{background-color:#fff;box-shadow:0 8px 16px rgba(10,10,10,.1);padding:.5rem 0}.navbar-menu.is-active{display:block}.navbar.is-fixed-bottom-touch,.navbar.is-fixed-top-touch{left:0;position:fixed;right:0;z-index:30}.navbar.is-fixed-bottom-touch{bottom:0}.navbar.is-fixed-bottom-touch.has-shadow{box-shadow:0 -2px 3px rgba(10,10,10,.1)}.navbar.is-fixed-top-touch{top:0}.navbar.is-fixed-top .navbar-menu,.navbar.is-fixed-top-touch .navbar-menu{-webkit-overflow-scrolling:touch;max-height:calc(100vh - 3.25rem);overflow:auto}body.has-navbar-fixed-top-touch,html.has-navbar-fixed-top-touch{padding-top:3.25rem}body.has-navbar-fixed-bottom-touch,html.has-navbar-fixed-bottom-touch{padding-bottom:3.25rem}}@media screen and (min-width:1024px){.navbar,.navbar-end,.navbar-menu,.navbar-start{align-items:stretch;display:flex}.navbar{min-height:3.25rem}.navbar.is-spaced{padding:1rem 2rem}.navbar.is-spaced .navbar-end,.navbar.is-spaced .navbar-start{align-items:center}.navbar.is-spaced .navbar-link,.navbar.is-spaced a.navbar-item{border-radius:4px}.navbar.is-transparent .navbar-link.is-active,.navbar.is-transparent .navbar-link:focus,.navbar.is-transparent .navbar-link:hover,.navbar.is-transparent a.navbar-item.is-active,.navbar.is-transparent a.navbar-item:focus,.navbar.is-transparent a.navbar-item:hover{background-color:transparent!important}.navbar.is-transparent .navbar-item.has-dropdown.is-active .navbar-link,.navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus .navbar-link,.navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus-within .navbar-link,.navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:hover .navbar-link{background-color:transparent!important}.navbar.is-transparent .navbar-dropdown a.navbar-item:focus,.navbar.is-transparent .navbar-dropdown a.navbar-item:hover{background-color:#f5f5f5;color:#0a0a0a}.navbar.is-transparent .navbar-dropdown a.navbar-item.is-active{background-color:#f5f5f5;color:#485fc7}.navbar-burger{display:none}.navbar-item,.navbar-link{align-items:center;display:flex}.navbar-item.has-dropdown{align-items:stretch}.navbar-item.has-dropdown-up .navbar-link::after{transform:rotate(135deg) translate(.25em,-.25em)}.navbar-item.has-dropdown-up .navbar-dropdown{border-bottom:2px solid #dbdbdb;border-radius:6px 6px 0 0;border-top:none;bottom:100%;box-shadow:0 -8px 8px rgba(10,10,10,.1);top:auto}.navbar-item.is-active .navbar-dropdown,.navbar-item.is-hoverable:focus .navbar-dropdown,.navbar-item.is-hoverable:focus-within .navbar-dropdown,.navbar-item.is-hoverable:hover .navbar-dropdown{display:block}.navbar-item.is-active .navbar-dropdown.is-boxed,.navbar-item.is-hoverable:focus .navbar-dropdown.is-boxed,.navbar-item.is-hoverable:focus-within .navbar-dropdown.is-boxed,.navbar-item.is-hoverable:hover .navbar-dropdown.is-boxed,.navbar.is-spaced .navbar-item.is-active .navbar-dropdown,.navbar.is-spaced .navbar-item.is-hoverable:focus .navbar-dropdown,.navbar.is-spaced .navbar-item.is-hoverable:focus-within .navbar-dropdown,.navbar.is-spaced .navbar-item.is-hoverable:hover .navbar-dropdown{opacity:1;pointer-events:auto;transform:translateY(0)}.navbar-menu{flex-grow:1;flex-shrink:0}.navbar-start{justify-content:flex-start;margin-right:auto}.navbar-end{justify-content:flex-end;margin-left:auto}.navbar-dropdown{background-color:#fff;border-bottom-left-radius:6px;border-bottom-right-radius:6px;border-top:2px solid #dbdbdb;box-shadow:0 8px 8px rgba(10,10,10,.1);display:none;font-size:.875rem;left:0;min-width:100%;position:absolute;top:100%;z-index:20}.navbar-dropdown .navbar-item{padding:.375rem 1rem;white-space:nowrap}.navbar-dropdown a.navbar-item{padding-right:3rem}.navbar-dropdown a.navbar-item:focus,.navbar-dropdown a.navbar-item:hover{background-color:#f5f5f5;color:#0a0a0a}.navbar-dropdown a.navbar-item.is-active{background-color:#f5f5f5;color:#485fc7}.navbar-dropdown.is-boxed,.navbar.is-spaced .navbar-dropdown{border-radius:6px;border-top:none;box-shadow:0 8px 8px rgba(10,10,10,.1),0 0 0 1px rgba(10,10,10,.1);display:block;opacity:0;pointer-events:none;top:calc(100% + (-4px));transform:translateY(-5px);transition-duration:86ms;transition-property:opacity,transform}.navbar-dropdown.is-right{left:auto;right:0}.navbar-divider{display:block}.container>.navbar .navbar-brand,.navbar>.container .navbar-brand{margin-left:-.75rem}.container>.navbar .navbar-menu,.navbar>.container .navbar-menu{margin-right:-.75rem}.navbar.is-fixed-bottom-desktop,.navbar.is-fixed-top-desktop{left:0;position:fixed;right:0;z-index:30}.navbar.is-fixed-bottom-desktop{bottom:0}.navbar.is-fixed-bottom-desktop.has-shadow{box-shadow:0 -2px 3px rgba(10,10,10,.1)}.navbar.is-fixed-top-desktop{top:0}body.has-navbar-fixed-top-desktop,html.has-navbar-fixed-top-desktop{padding-top:3.25rem}body.has-navbar-fixed-bottom-desktop,html.has-navbar-fixed-bottom-desktop{padding-bottom:3.25rem}body.has-spaced-navbar-fixed-top,html.has-spaced-navbar-fixed-top{padding-top:5.25rem}body.has-spaced-navbar-fixed-bottom,html.has-spaced-navbar-fixed-bottom{padding-bottom:5.25rem}.navbar-link.is-active,a.navbar-item.is-active{color:#0a0a0a}.navbar-link.is-active:not(:focus):not(:hover),a.navbar-item.is-active:not(:focus):not(:hover){background-color:transparent}.navbar-item.has-dropdown.is-active .navbar-link,.navbar-item.has-dropdown:focus .navbar-link,.navbar-item.has-dropdown:hover .navbar-link{background-color:#fafafa}}.hero.is-fullheight-with-navbar{min-height:calc(100vh - 3.25rem)}.pagination{font-size:1rem;margin:-.25rem}.pagination.is-small{font-size:.75rem}.pagination.is-medium{font-size:1.25rem}.pagination.is-large{font-size:1.5rem}.pagination.is-rounded .pagination-next,.pagination.is-rounded .pagination-previous{padding-left:1em;padding-right:1em;border-radius:9999px}.pagination.is-rounded .pagination-link{border-radius:9999px}.pagination,.pagination-list{align-items:center;display:flex;justify-content:center;text-align:center}.pagination-ellipsis,.pagination-link,.pagination-next,.pagination-previous{font-size:1em;justify-content:center;margin:.25rem;padding-left:.5em;padding-right:.5em;text-align:center}.pagination-link,.pagination-next,.pagination-previous{border-color:#dbdbdb;color:#363636;min-width:2.5em}.pagination-link:hover,.pagination-next:hover,.pagination-previous:hover{border-color:#b5b5b5;color:#363636}.pagination-link:focus,.pagination-next:focus,.pagination-previous:focus{border-color:#485fc7}.pagination-link:active,.pagination-next:active,.pagination-previous:active{box-shadow:inset 0 1px 2px rgba(10,10,10,.2)}.pagination-link.is-disabled,.pagination-link[disabled],.pagination-next.is-disabled,.pagination-next[disabled],.pagination-previous.is-disabled,.pagination-previous[disabled]{background-color:#dbdbdb;border-color:#dbdbdb;box-shadow:none;color:#7a7a7a;opacity:.5}.pagination-next,.pagination-previous{padding-left:.75em;padding-right:.75em;white-space:nowrap}.pagination-link.is-current{background-color:#485fc7;border-color:#485fc7;color:#fff}.pagination-ellipsis{color:#b5b5b5;pointer-events:none}.pagination-list{flex-wrap:wrap}.pagination-list li{list-style:none}@media screen and (max-width:768px){.pagination{flex-wrap:wrap}.pagination-next,.pagination-previous{flex-grow:1;flex-shrink:1}.pagination-list li{flex-grow:1;flex-shrink:1}}@media screen and (min-width:769px),print{.pagination-list{flex-grow:1;flex-shrink:1;justify-content:flex-start;order:1}.pagination-ellipsis,.pagination-link,.pagination-next,.pagination-previous{margin-bottom:0;margin-top:0}.pagination-previous{order:2}.pagination-next{order:3}.pagination{justify-content:space-between;margin-bottom:0;margin-top:0}.pagination.is-centered .pagination-previous{order:1}.pagination.is-centered .pagination-list{justify-content:center;order:2}.pagination.is-centered .pagination-next{order:3}.pagination.is-right .pagination-previous{order:1}.pagination.is-right .pagination-next{order:2}.pagination.is-right .pagination-list{justify-content:flex-end;order:3}}.panel{border-radius:6px;box-shadow:0 .5em 1em -.125em rgba(10,10,10,.1),0 0 0 1px rgba(10,10,10,.02);font-size:1rem}.panel:not(:last-child){margin-bottom:1.5rem}.panel.is-white .panel-heading{background-color:#fff;color:#0a0a0a}.panel.is-white .panel-tabs a.is-active{border-bottom-color:#fff}.panel.is-white .panel-block.is-active .panel-icon{color:#fff}.panel.is-black .panel-heading{background-color:#0a0a0a;color:#fff}.panel.is-black .panel-tabs a.is-active{border-bottom-color:#0a0a0a}.panel.is-black .panel-block.is-active .panel-icon{color:#0a0a0a}.panel.is-light .panel-heading{background-color:#f5f5f5;color:rgba(0,0,0,.7)}.panel.is-light .panel-tabs a.is-active{border-bottom-color:#f5f5f5}.panel.is-light .panel-block.is-active .panel-icon{color:#f5f5f5}.panel.is-dark .panel-heading{background-color:#363636;color:#fff}.panel.is-dark .panel-tabs a.is-active{border-bottom-color:#363636}.panel.is-dark .panel-block.is-active .panel-icon{color:#363636}.panel.is-primary .panel-heading{background-color:#00d1b2;color:#fff}.panel.is-primary .panel-tabs a.is-active{border-bottom-color:#00d1b2}.panel.is-primary .panel-block.is-active .panel-icon{color:#00d1b2}.panel.is-link .panel-heading{background-color:#485fc7;color:#fff}.panel.is-link .panel-tabs a.is-active{border-bottom-color:#485fc7}.panel.is-link .panel-block.is-active .panel-icon{color:#485fc7}.panel.is-info .panel-heading{background-color:#3e8ed0;color:#fff}.panel.is-info .panel-tabs a.is-active{border-bottom-color:#3e8ed0}.panel.is-info .panel-block.is-active .panel-icon{color:#3e8ed0}.panel.is-success .panel-heading{background-color:#48c78e;color:#fff}.panel.is-success .panel-tabs a.is-active{border-bottom-color:#48c78e}.panel.is-success .panel-block.is-active .panel-icon{color:#48c78e}.panel.is-warning .panel-heading{background-color:#ffe08a;color:rgba(0,0,0,.7)}.panel.is-warning .panel-tabs a.is-active{border-bottom-color:#ffe08a}.panel.is-warning .panel-block.is-active .panel-icon{color:#ffe08a}.panel.is-danger .panel-heading{background-color:#f14668;color:#fff}.panel.is-danger .panel-tabs a.is-active{border-bottom-color:#f14668}.panel.is-danger .panel-block.is-active .panel-icon{color:#f14668}.panel-block:not(:last-child),.panel-tabs:not(:last-child){border-bottom:1px solid #ededed}.panel-heading{background-color:#ededed;border-radius:6px 6px 0 0;color:#363636;font-size:1.25em;font-weight:700;line-height:1.25;padding:.75em 1em}.panel-tabs{align-items:flex-end;display:flex;font-size:.875em;justify-content:center}.panel-tabs a{border-bottom:1px solid #dbdbdb;margin-bottom:-1px;padding:.5em}.panel-tabs a.is-active{border-bottom-color:#4a4a4a;color:#363636}.panel-list a{color:#4a4a4a}.panel-list a:hover{color:#485fc7}.panel-block{align-items:center;color:#363636;display:flex;justify-content:flex-start;padding:.5em .75em}.panel-block input[type=checkbox]{margin-right:.75em}.panel-block>.control{flex-grow:1;flex-shrink:1;width:100%}.panel-block.is-wrapped{flex-wrap:wrap}.panel-block.is-active{border-left-color:#485fc7;color:#363636}.panel-block.is-active .panel-icon{color:#485fc7}.panel-block:last-child{border-bottom-left-radius:6px;border-bottom-right-radius:6px}a.panel-block,label.panel-block{cursor:pointer}a.panel-block:hover,label.panel-block:hover{background-color:#f5f5f5}.panel-icon{display:inline-block;font-size:14px;height:1em;line-height:1em;text-align:center;vertical-align:top;width:1em;color:#7a7a7a;margin-right:.75em}.panel-icon .fa{font-size:inherit;line-height:inherit}.tabs{-webkit-overflow-scrolling:touch;align-items:stretch;display:flex;font-size:1rem;justify-content:space-between;overflow:hidden;overflow-x:auto;white-space:nowrap}.tabs a{align-items:center;border-bottom-color:#dbdbdb;border-bottom-style:solid;border-bottom-width:1px;color:#4a4a4a;display:flex;justify-content:center;margin-bottom:-1px;padding:.5em 1em;vertical-align:top}.tabs a:hover{border-bottom-color:#363636;color:#363636}.tabs li{display:block}.tabs li.is-active a{border-bottom-color:#485fc7;color:#485fc7}.tabs ul{align-items:center;border-bottom-color:#dbdbdb;border-bottom-style:solid;border-bottom-width:1px;display:flex;flex-grow:1;flex-shrink:0;justify-content:flex-start}.tabs ul.is-left{padding-right:.75em}.tabs ul.is-center{flex:none;justify-content:center;padding-left:.75em;padding-right:.75em}.tabs ul.is-right{justify-content:flex-end;padding-left:.75em}.tabs .icon:first-child{margin-right:.5em}.tabs .icon:last-child{margin-left:.5em}.tabs.is-centered ul{justify-content:center}.tabs.is-right ul{justify-content:flex-end}.tabs.is-boxed a{border:1px solid transparent;border-radius:4px 4px 0 0}.tabs.is-boxed a:hover{background-color:#f5f5f5;border-bottom-color:#dbdbdb}.tabs.is-boxed li.is-active a{background-color:#fff;border-color:#dbdbdb;border-bottom-color:transparent!important}.tabs.is-fullwidth li{flex-grow:1;flex-shrink:0}.tabs.is-toggle a{border-color:#dbdbdb;border-style:solid;border-width:1px;margin-bottom:0;position:relative}.tabs.is-toggle a:hover{background-color:#f5f5f5;border-color:#b5b5b5;z-index:2}.tabs.is-toggle li+li{margin-left:-1px}.tabs.is-toggle li:first-child a{border-top-left-radius:4px;border-bottom-left-radius:4px}.tabs.is-toggle li:last-child a{border-top-right-radius:4px;border-bottom-right-radius:4px}.tabs.is-toggle li.is-active a{background-color:#485fc7;border-color:#485fc7;color:#fff;z-index:1}.tabs.is-toggle ul{border-bottom:none}.tabs.is-toggle.is-toggle-rounded li:first-child a{border-bottom-left-radius:9999px;border-top-left-radius:9999px;padding-left:1.25em}.tabs.is-toggle.is-toggle-rounded li:last-child a{border-bottom-right-radius:9999px;border-top-right-radius:9999px;padding-right:1.25em}.tabs.is-small{font-size:.75rem}.tabs.is-medium{font-size:1.25rem}.tabs.is-large{font-size:1.5rem}.column{display:block;flex-basis:0;flex-grow:1;flex-shrink:1;padding:.75rem}.columns.is-mobile>.column.is-narrow{flex:none;width:unset}.columns.is-mobile>.column.is-full{flex:none;width:100%}.columns.is-mobile>.column.is-three-quarters{flex:none;width:75%}.columns.is-mobile>.column.is-two-thirds{flex:none;width:66.6666%}.columns.is-mobile>.column.is-half{flex:none;width:50%}.columns.is-mobile>.column.is-one-third{flex:none;width:33.3333%}.columns.is-mobile>.column.is-one-quarter{flex:none;width:25%}.columns.is-mobile>.column.is-one-fifth{flex:none;width:20%}.columns.is-mobile>.column.is-two-fifths{flex:none;width:40%}.columns.is-mobile>.column.is-three-fifths{flex:none;width:60%}.columns.is-mobile>.column.is-four-fifths{flex:none;width:80%}.columns.is-mobile>.column.is-offset-three-quarters{margin-left:75%}.columns.is-mobile>.column.is-offset-two-thirds{margin-left:66.6666%}.columns.is-mobile>.column.is-offset-half{margin-left:50%}.columns.is-mobile>.column.is-offset-one-third{margin-left:33.3333%}.columns.is-mobile>.column.is-offset-one-quarter{margin-left:25%}.columns.is-mobile>.column.is-offset-one-fifth{margin-left:20%}.columns.is-mobile>.column.is-offset-two-fifths{margin-left:40%}.columns.is-mobile>.column.is-offset-three-fifths{margin-left:60%}.columns.is-mobile>.column.is-offset-four-fifths{margin-left:80%}.columns.is-mobile>.column.is-0{flex:none;width:0%}.columns.is-mobile>.column.is-offset-0{margin-left:0}.columns.is-mobile>.column.is-1{flex:none;width:8.33333%}.columns.is-mobile>.column.is-offset-1{margin-left:8.33333%}.columns.is-mobile>.column.is-2{flex:none;width:16.66667%}.columns.is-mobile>.column.is-offset-2{margin-left:16.66667%}.columns.is-mobile>.column.is-3{flex:none;width:25%}.columns.is-mobile>.column.is-offset-3{margin-left:25%}.columns.is-mobile>.column.is-4{flex:none;width:33.33333%}.columns.is-mobile>.column.is-offset-4{margin-left:33.33333%}.columns.is-mobile>.column.is-5{flex:none;width:41.66667%}.columns.is-mobile>.column.is-offset-5{margin-left:41.66667%}.columns.is-mobile>.column.is-6{flex:none;width:50%}.columns.is-mobile>.column.is-offset-6{margin-left:50%}.columns.is-mobile>.column.is-7{flex:none;width:58.33333%}.columns.is-mobile>.column.is-offset-7{margin-left:58.33333%}.columns.is-mobile>.column.is-8{flex:none;width:66.66667%}.columns.is-mobile>.column.is-offset-8{margin-left:66.66667%}.columns.is-mobile>.column.is-9{flex:none;width:75%}.columns.is-mobile>.column.is-offset-9{margin-left:75%}.columns.is-mobile>.column.is-10{flex:none;width:83.33333%}.columns.is-mobile>.column.is-offset-10{margin-left:83.33333%}.columns.is-mobile>.column.is-11{flex:none;width:91.66667%}.columns.is-mobile>.column.is-offset-11{margin-left:91.66667%}.columns.is-mobile>.column.is-12{flex:none;width:100%}.columns.is-mobile>.column.is-offset-12{margin-left:100%}@media screen and (max-width:768px){.column.is-narrow-mobile{flex:none;width:unset}.column.is-full-mobile{flex:none;width:100%}.column.is-three-quarters-mobile{flex:none;width:75%}.column.is-two-thirds-mobile{flex:none;width:66.6666%}.column.is-half-mobile{flex:none;width:50%}.column.is-one-third-mobile{flex:none;width:33.3333%}.column.is-one-quarter-mobile{flex:none;width:25%}.column.is-one-fifth-mobile{flex:none;width:20%}.column.is-two-fifths-mobile{flex:none;width:40%}.column.is-three-fifths-mobile{flex:none;width:60%}.column.is-four-fifths-mobile{flex:none;width:80%}.column.is-offset-three-quarters-mobile{margin-left:75%}.column.is-offset-two-thirds-mobile{margin-left:66.6666%}.column.is-offset-half-mobile{margin-left:50%}.column.is-offset-one-third-mobile{margin-left:33.3333%}.column.is-offset-one-quarter-mobile{margin-left:25%}.column.is-offset-one-fifth-mobile{margin-left:20%}.column.is-offset-two-fifths-mobile{margin-left:40%}.column.is-offset-three-fifths-mobile{margin-left:60%}.column.is-offset-four-fifths-mobile{margin-left:80%}.column.is-0-mobile{flex:none;width:0%}.column.is-offset-0-mobile{margin-left:0}.column.is-1-mobile{flex:none;width:8.33333%}.column.is-offset-1-mobile{margin-left:8.33333%}.column.is-2-mobile{flex:none;width:16.66667%}.column.is-offset-2-mobile{margin-left:16.66667%}.column.is-3-mobile{flex:none;width:25%}.column.is-offset-3-mobile{margin-left:25%}.column.is-4-mobile{flex:none;width:33.33333%}.column.is-offset-4-mobile{margin-left:33.33333%}.column.is-5-mobile{flex:none;width:41.66667%}.column.is-offset-5-mobile{margin-left:41.66667%}.column.is-6-mobile{flex:none;width:50%}.column.is-offset-6-mobile{margin-left:50%}.column.is-7-mobile{flex:none;width:58.33333%}.column.is-offset-7-mobile{margin-left:58.33333%}.column.is-8-mobile{flex:none;width:66.66667%}.column.is-offset-8-mobile{margin-left:66.66667%}.column.is-9-mobile{flex:none;width:75%}.column.is-offset-9-mobile{margin-left:75%}.column.is-10-mobile{flex:none;width:83.33333%}.column.is-offset-10-mobile{margin-left:83.33333%}.column.is-11-mobile{flex:none;width:91.66667%}.column.is-offset-11-mobile{margin-left:91.66667%}.column.is-12-mobile{flex:none;width:100%}.column.is-offset-12-mobile{margin-left:100%}}@media screen and (min-width:769px),print{.column.is-narrow,.column.is-narrow-tablet{flex:none;width:unset}.column.is-full,.column.is-full-tablet{flex:none;width:100%}.column.is-three-quarters,.column.is-three-quarters-tablet{flex:none;width:75%}.column.is-two-thirds,.column.is-two-thirds-tablet{flex:none;width:66.6666%}.column.is-half,.column.is-half-tablet{flex:none;width:50%}.column.is-one-third,.column.is-one-third-tablet{flex:none;width:33.3333%}.column.is-one-quarter,.column.is-one-quarter-tablet{flex:none;width:25%}.column.is-one-fifth,.column.is-one-fifth-tablet{flex:none;width:20%}.column.is-two-fifths,.column.is-two-fifths-tablet{flex:none;width:40%}.column.is-three-fifths,.column.is-three-fifths-tablet{flex:none;width:60%}.column.is-four-fifths,.column.is-four-fifths-tablet{flex:none;width:80%}.column.is-offset-three-quarters,.column.is-offset-three-quarters-tablet{margin-left:75%}.column.is-offset-two-thirds,.column.is-offset-two-thirds-tablet{margin-left:66.6666%}.column.is-offset-half,.column.is-offset-half-tablet{margin-left:50%}.column.is-offset-one-third,.column.is-offset-one-third-tablet{margin-left:33.3333%}.column.is-offset-one-quarter,.column.is-offset-one-quarter-tablet{margin-left:25%}.column.is-offset-one-fifth,.column.is-offset-one-fifth-tablet{margin-left:20%}.column.is-offset-two-fifths,.column.is-offset-two-fifths-tablet{margin-left:40%}.column.is-offset-three-fifths,.column.is-offset-three-fifths-tablet{margin-left:60%}.column.is-offset-four-fifths,.column.is-offset-four-fifths-tablet{margin-left:80%}.column.is-0,.column.is-0-tablet{flex:none;width:0%}.column.is-offset-0,.column.is-offset-0-tablet{margin-left:0}.column.is-1,.column.is-1-tablet{flex:none;width:8.33333%}.column.is-offset-1,.column.is-offset-1-tablet{margin-left:8.33333%}.column.is-2,.column.is-2-tablet{flex:none;width:16.66667%}.column.is-offset-2,.column.is-offset-2-tablet{margin-left:16.66667%}.column.is-3,.column.is-3-tablet{flex:none;width:25%}.column.is-offset-3,.column.is-offset-3-tablet{margin-left:25%}.column.is-4,.column.is-4-tablet{flex:none;width:33.33333%}.column.is-offset-4,.column.is-offset-4-tablet{margin-left:33.33333%}.column.is-5,.column.is-5-tablet{flex:none;width:41.66667%}.column.is-offset-5,.column.is-offset-5-tablet{margin-left:41.66667%}.column.is-6,.column.is-6-tablet{flex:none;width:50%}.column.is-offset-6,.column.is-offset-6-tablet{margin-left:50%}.column.is-7,.column.is-7-tablet{flex:none;width:58.33333%}.column.is-offset-7,.column.is-offset-7-tablet{margin-left:58.33333%}.column.is-8,.column.is-8-tablet{flex:none;width:66.66667%}.column.is-offset-8,.column.is-offset-8-tablet{margin-left:66.66667%}.column.is-9,.column.is-9-tablet{flex:none;width:75%}.column.is-offset-9,.column.is-offset-9-tablet{margin-left:75%}.column.is-10,.column.is-10-tablet{flex:none;width:83.33333%}.column.is-offset-10,.column.is-offset-10-tablet{margin-left:83.33333%}.column.is-11,.column.is-11-tablet{flex:none;width:91.66667%}.column.is-offset-11,.column.is-offset-11-tablet{margin-left:91.66667%}.column.is-12,.column.is-12-tablet{flex:none;width:100%}.column.is-offset-12,.column.is-offset-12-tablet{margin-left:100%}}@media screen and (max-width:1023px){.column.is-narrow-touch{flex:none;width:unset}.column.is-full-touch{flex:none;width:100%}.column.is-three-quarters-touch{flex:none;width:75%}.column.is-two-thirds-touch{flex:none;width:66.6666%}.column.is-half-touch{flex:none;width:50%}.column.is-one-third-touch{flex:none;width:33.3333%}.column.is-one-quarter-touch{flex:none;width:25%}.column.is-one-fifth-touch{flex:none;width:20%}.column.is-two-fifths-touch{flex:none;width:40%}.column.is-three-fifths-touch{flex:none;width:60%}.column.is-four-fifths-touch{flex:none;width:80%}.column.is-offset-three-quarters-touch{margin-left:75%}.column.is-offset-two-thirds-touch{margin-left:66.6666%}.column.is-offset-half-touch{margin-left:50%}.column.is-offset-one-third-touch{margin-left:33.3333%}.column.is-offset-one-quarter-touch{margin-left:25%}.column.is-offset-one-fifth-touch{margin-left:20%}.column.is-offset-two-fifths-touch{margin-left:40%}.column.is-offset-three-fifths-touch{margin-left:60%}.column.is-offset-four-fifths-touch{margin-left:80%}.column.is-0-touch{flex:none;width:0%}.column.is-offset-0-touch{margin-left:0}.column.is-1-touch{flex:none;width:8.33333%}.column.is-offset-1-touch{margin-left:8.33333%}.column.is-2-touch{flex:none;width:16.66667%}.column.is-offset-2-touch{margin-left:16.66667%}.column.is-3-touch{flex:none;width:25%}.column.is-offset-3-touch{margin-left:25%}.column.is-4-touch{flex:none;width:33.33333%}.column.is-offset-4-touch{margin-left:33.33333%}.column.is-5-touch{flex:none;width:41.66667%}.column.is-offset-5-touch{margin-left:41.66667%}.column.is-6-touch{flex:none;width:50%}.column.is-offset-6-touch{margin-left:50%}.column.is-7-touch{flex:none;width:58.33333%}.column.is-offset-7-touch{margin-left:58.33333%}.column.is-8-touch{flex:none;width:66.66667%}.column.is-offset-8-touch{margin-left:66.66667%}.column.is-9-touch{flex:none;width:75%}.column.is-offset-9-touch{margin-left:75%}.column.is-10-touch{flex:none;width:83.33333%}.column.is-offset-10-touch{margin-left:83.33333%}.column.is-11-touch{flex:none;width:91.66667%}.column.is-offset-11-touch{margin-left:91.66667%}.column.is-12-touch{flex:none;width:100%}.column.is-offset-12-touch{margin-left:100%}}@media screen and (min-width:1024px){.column.is-narrow-desktop{flex:none;width:unset}.column.is-full-desktop{flex:none;width:100%}.column.is-three-quarters-desktop{flex:none;width:75%}.column.is-two-thirds-desktop{flex:none;width:66.6666%}.column.is-half-desktop{flex:none;width:50%}.column.is-one-third-desktop{flex:none;width:33.3333%}.column.is-one-quarter-desktop{flex:none;width:25%}.column.is-one-fifth-desktop{flex:none;width:20%}.column.is-two-fifths-desktop{flex:none;width:40%}.column.is-three-fifths-desktop{flex:none;width:60%}.column.is-four-fifths-desktop{flex:none;width:80%}.column.is-offset-three-quarters-desktop{margin-left:75%}.column.is-offset-two-thirds-desktop{margin-left:66.6666%}.column.is-offset-half-desktop{margin-left:50%}.column.is-offset-one-third-desktop{margin-left:33.3333%}.column.is-offset-one-quarter-desktop{margin-left:25%}.column.is-offset-one-fifth-desktop{margin-left:20%}.column.is-offset-two-fifths-desktop{margin-left:40%}.column.is-offset-three-fifths-desktop{margin-left:60%}.column.is-offset-four-fifths-desktop{margin-left:80%}.column.is-0-desktop{flex:none;width:0%}.column.is-offset-0-desktop{margin-left:0}.column.is-1-desktop{flex:none;width:8.33333%}.column.is-offset-1-desktop{margin-left:8.33333%}.column.is-2-desktop{flex:none;width:16.66667%}.column.is-offset-2-desktop{margin-left:16.66667%}.column.is-3-desktop{flex:none;width:25%}.column.is-offset-3-desktop{margin-left:25%}.column.is-4-desktop{flex:none;width:33.33333%}.column.is-offset-4-desktop{margin-left:33.33333%}.column.is-5-desktop{flex:none;width:41.66667%}.column.is-offset-5-desktop{margin-left:41.66667%}.column.is-6-desktop{flex:none;width:50%}.column.is-offset-6-desktop{margin-left:50%}.column.is-7-desktop{flex:none;width:58.33333%}.column.is-offset-7-desktop{margin-left:58.33333%}.column.is-8-desktop{flex:none;width:66.66667%}.column.is-offset-8-desktop{margin-left:66.66667%}.column.is-9-desktop{flex:none;width:75%}.column.is-offset-9-desktop{margin-left:75%}.column.is-10-desktop{flex:none;width:83.33333%}.column.is-offset-10-desktop{margin-left:83.33333%}.column.is-11-desktop{flex:none;width:91.66667%}.column.is-offset-11-desktop{margin-left:91.66667%}.column.is-12-desktop{flex:none;width:100%}.column.is-offset-12-desktop{margin-left:100%}}@media screen and (min-width:1216px){.column.is-narrow-widescreen{flex:none;width:unset}.column.is-full-widescreen{flex:none;width:100%}.column.is-three-quarters-widescreen{flex:none;width:75%}.column.is-two-thirds-widescreen{flex:none;width:66.6666%}.column.is-half-widescreen{flex:none;width:50%}.column.is-one-third-widescreen{flex:none;width:33.3333%}.column.is-one-quarter-widescreen{flex:none;width:25%}.column.is-one-fifth-widescreen{flex:none;width:20%}.column.is-two-fifths-widescreen{flex:none;width:40%}.column.is-three-fifths-widescreen{flex:none;width:60%}.column.is-four-fifths-widescreen{flex:none;width:80%}.column.is-offset-three-quarters-widescreen{margin-left:75%}.column.is-offset-two-thirds-widescreen{margin-left:66.6666%}.column.is-offset-half-widescreen{margin-left:50%}.column.is-offset-one-third-widescreen{margin-left:33.3333%}.column.is-offset-one-quarter-widescreen{margin-left:25%}.column.is-offset-one-fifth-widescreen{margin-left:20%}.column.is-offset-two-fifths-widescreen{margin-left:40%}.column.is-offset-three-fifths-widescreen{margin-left:60%}.column.is-offset-four-fifths-widescreen{margin-left:80%}.column.is-0-widescreen{flex:none;width:0%}.column.is-offset-0-widescreen{margin-left:0}.column.is-1-widescreen{flex:none;width:8.33333%}.column.is-offset-1-widescreen{margin-left:8.33333%}.column.is-2-widescreen{flex:none;width:16.66667%}.column.is-offset-2-widescreen{margin-left:16.66667%}.column.is-3-widescreen{flex:none;width:25%}.column.is-offset-3-widescreen{margin-left:25%}.column.is-4-widescreen{flex:none;width:33.33333%}.column.is-offset-4-widescreen{margin-left:33.33333%}.column.is-5-widescreen{flex:none;width:41.66667%}.column.is-offset-5-widescreen{margin-left:41.66667%}.column.is-6-widescreen{flex:none;width:50%}.column.is-offset-6-widescreen{margin-left:50%}.column.is-7-widescreen{flex:none;width:58.33333%}.column.is-offset-7-widescreen{margin-left:58.33333%}.column.is-8-widescreen{flex:none;width:66.66667%}.column.is-offset-8-widescreen{margin-left:66.66667%}.column.is-9-widescreen{flex:none;width:75%}.column.is-offset-9-widescreen{margin-left:75%}.column.is-10-widescreen{flex:none;width:83.33333%}.column.is-offset-10-widescreen{margin-left:83.33333%}.column.is-11-widescreen{flex:none;width:91.66667%}.column.is-offset-11-widescreen{margin-left:91.66667%}.column.is-12-widescreen{flex:none;width:100%}.column.is-offset-12-widescreen{margin-left:100%}}@media screen and (min-width:1408px){.column.is-narrow-fullhd{flex:none;width:unset}.column.is-full-fullhd{flex:none;width:100%}.column.is-three-quarters-fullhd{flex:none;width:75%}.column.is-two-thirds-fullhd{flex:none;width:66.6666%}.column.is-half-fullhd{flex:none;width:50%}.column.is-one-third-fullhd{flex:none;width:33.3333%}.column.is-one-quarter-fullhd{flex:none;width:25%}.column.is-one-fifth-fullhd{flex:none;width:20%}.column.is-two-fifths-fullhd{flex:none;width:40%}.column.is-three-fifths-fullhd{flex:none;width:60%}.column.is-four-fifths-fullhd{flex:none;width:80%}.column.is-offset-three-quarters-fullhd{margin-left:75%}.column.is-offset-two-thirds-fullhd{margin-left:66.6666%}.column.is-offset-half-fullhd{margin-left:50%}.column.is-offset-one-third-fullhd{margin-left:33.3333%}.column.is-offset-one-quarter-fullhd{margin-left:25%}.column.is-offset-one-fifth-fullhd{margin-left:20%}.column.is-offset-two-fifths-fullhd{margin-left:40%}.column.is-offset-three-fifths-fullhd{margin-left:60%}.column.is-offset-four-fifths-fullhd{margin-left:80%}.column.is-0-fullhd{flex:none;width:0%}.column.is-offset-0-fullhd{margin-left:0}.column.is-1-fullhd{flex:none;width:8.33333%}.column.is-offset-1-fullhd{margin-left:8.33333%}.column.is-2-fullhd{flex:none;width:16.66667%}.column.is-offset-2-fullhd{margin-left:16.66667%}.column.is-3-fullhd{flex:none;width:25%}.column.is-offset-3-fullhd{margin-left:25%}.column.is-4-fullhd{flex:none;width:33.33333%}.column.is-offset-4-fullhd{margin-left:33.33333%}.column.is-5-fullhd{flex:none;width:41.66667%}.column.is-offset-5-fullhd{margin-left:41.66667%}.column.is-6-fullhd{flex:none;width:50%}.column.is-offset-6-fullhd{margin-left:50%}.column.is-7-fullhd{flex:none;width:58.33333%}.column.is-offset-7-fullhd{margin-left:58.33333%}.column.is-8-fullhd{flex:none;width:66.66667%}.column.is-offset-8-fullhd{margin-left:66.66667%}.column.is-9-fullhd{flex:none;width:75%}.column.is-offset-9-fullhd{margin-left:75%}.column.is-10-fullhd{flex:none;width:83.33333%}.column.is-offset-10-fullhd{margin-left:83.33333%}.column.is-11-fullhd{flex:none;width:91.66667%}.column.is-offset-11-fullhd{margin-left:91.66667%}.column.is-12-fullhd{flex:none;width:100%}.column.is-offset-12-fullhd{margin-left:100%}}.columns{margin-left:-.75rem;margin-right:-.75rem;margin-top:-.75rem}.columns:last-child{margin-bottom:-.75rem}.columns:not(:last-child){margin-bottom:calc(1.5rem - .75rem)}.columns.is-centered{justify-content:center}.columns.is-gapless{margin-left:0;margin-right:0;margin-top:0}.columns.is-gapless>.column{margin:0;padding:0!important}.columns.is-gapless:not(:last-child){margin-bottom:1.5rem}.columns.is-gapless:last-child{margin-bottom:0}.columns.is-mobile{display:flex}.columns.is-multiline{flex-wrap:wrap}.columns.is-vcentered{align-items:center}@media screen and (min-width:769px),print{.columns:not(.is-desktop){display:flex}}@media screen and (min-width:1024px){.columns.is-desktop{display:flex}}.columns.is-variable{--columnGap:0.75rem;margin-left:calc(-1 * var(--columnGap));margin-right:calc(-1 * var(--columnGap))}.columns.is-variable>.column{padding-left:var(--columnGap);padding-right:var(--columnGap)}.columns.is-variable.is-0{--columnGap:0rem}@media screen and (max-width:768px){.columns.is-variable.is-0-mobile{--columnGap:0rem}}@media screen and (min-width:769px),print{.columns.is-variable.is-0-tablet{--columnGap:0rem}}@media screen and (min-width:769px) and (max-width:1023px){.columns.is-variable.is-0-tablet-only{--columnGap:0rem}}@media screen and (max-width:1023px){.columns.is-variable.is-0-touch{--columnGap:0rem}}@media screen and (min-width:1024px){.columns.is-variable.is-0-desktop{--columnGap:0rem}}@media screen and (min-width:1024px) and (max-width:1215px){.columns.is-variable.is-0-desktop-only{--columnGap:0rem}}@media screen and (min-width:1216px){.columns.is-variable.is-0-widescreen{--columnGap:0rem}}@media screen and (min-width:1216px) and (max-width:1407px){.columns.is-variable.is-0-widescreen-only{--columnGap:0rem}}@media screen and (min-width:1408px){.columns.is-variable.is-0-fullhd{--columnGap:0rem}}.columns.is-variable.is-1{--columnGap:0.25rem}@media screen and (max-width:768px){.columns.is-variable.is-1-mobile{--columnGap:0.25rem}}@media screen and (min-width:769px),print{.columns.is-variable.is-1-tablet{--columnGap:0.25rem}}@media screen and (min-width:769px) and (max-width:1023px){.columns.is-variable.is-1-tablet-only{--columnGap:0.25rem}}@media screen and (max-width:1023px){.columns.is-variable.is-1-touch{--columnGap:0.25rem}}@media screen and (min-width:1024px){.columns.is-variable.is-1-desktop{--columnGap:0.25rem}}@media screen and (min-width:1024px) and (max-width:1215px){.columns.is-variable.is-1-desktop-only{--columnGap:0.25rem}}@media screen and (min-width:1216px){.columns.is-variable.is-1-widescreen{--columnGap:0.25rem}}@media screen and (min-width:1216px) and (max-width:1407px){.columns.is-variable.is-1-widescreen-only{--columnGap:0.25rem}}@media screen and (min-width:1408px){.columns.is-variable.is-1-fullhd{--columnGap:0.25rem}}.columns.is-variable.is-2{--columnGap:0.5rem}@media screen and (max-width:768px){.columns.is-variable.is-2-mobile{--columnGap:0.5rem}}@media screen and (min-width:769px),print{.columns.is-variable.is-2-tablet{--columnGap:0.5rem}}@media screen and (min-width:769px) and (max-width:1023px){.columns.is-variable.is-2-tablet-only{--columnGap:0.5rem}}@media screen and (max-width:1023px){.columns.is-variable.is-2-touch{--columnGap:0.5rem}}@media screen and (min-width:1024px){.columns.is-variable.is-2-desktop{--columnGap:0.5rem}}@media screen and (min-width:1024px) and (max-width:1215px){.columns.is-variable.is-2-desktop-only{--columnGap:0.5rem}}@media screen and (min-width:1216px){.columns.is-variable.is-2-widescreen{--columnGap:0.5rem}}@media screen and (min-width:1216px) and (max-width:1407px){.columns.is-variable.is-2-widescreen-only{--columnGap:0.5rem}}@media screen and (min-width:1408px){.columns.is-variable.is-2-fullhd{--columnGap:0.5rem}}.columns.is-variable.is-3{--columnGap:0.75rem}@media screen and (max-width:768px){.columns.is-variable.is-3-mobile{--columnGap:0.75rem}}@media screen and (min-width:769px),print{.columns.is-variable.is-3-tablet{--columnGap:0.75rem}}@media screen and (min-width:769px) and (max-width:1023px){.columns.is-variable.is-3-tablet-only{--columnGap:0.75rem}}@media screen and (max-width:1023px){.columns.is-variable.is-3-touch{--columnGap:0.75rem}}@media screen and (min-width:1024px){.columns.is-variable.is-3-desktop{--columnGap:0.75rem}}@media screen and (min-width:1024px) and (max-width:1215px){.columns.is-variable.is-3-desktop-only{--columnGap:0.75rem}}@media screen and (min-width:1216px){.columns.is-variable.is-3-widescreen{--columnGap:0.75rem}}@media screen and (min-width:1216px) and (max-width:1407px){.columns.is-variable.is-3-widescreen-only{--columnGap:0.75rem}}@media screen and (min-width:1408px){.columns.is-variable.is-3-fullhd{--columnGap:0.75rem}}.columns.is-variable.is-4{--columnGap:1rem}@media screen and (max-width:768px){.columns.is-variable.is-4-mobile{--columnGap:1rem}}@media screen and (min-width:769px),print{.columns.is-variable.is-4-tablet{--columnGap:1rem}}@media screen and (min-width:769px) and (max-width:1023px){.columns.is-variable.is-4-tablet-only{--columnGap:1rem}}@media screen and (max-width:1023px){.columns.is-variable.is-4-touch{--columnGap:1rem}}@media screen and (min-width:1024px){.columns.is-variable.is-4-desktop{--columnGap:1rem}}@media screen and (min-width:1024px) and (max-width:1215px){.columns.is-variable.is-4-desktop-only{--columnGap:1rem}}@media screen and (min-width:1216px){.columns.is-variable.is-4-widescreen{--columnGap:1rem}}@media screen and (min-width:1216px) and (max-width:1407px){.columns.is-variable.is-4-widescreen-only{--columnGap:1rem}}@media screen and (min-width:1408px){.columns.is-variable.is-4-fullhd{--columnGap:1rem}}.columns.is-variable.is-5{--columnGap:1.25rem}@media screen and (max-width:768px){.columns.is-variable.is-5-mobile{--columnGap:1.25rem}}@media screen and (min-width:769px),print{.columns.is-variable.is-5-tablet{--columnGap:1.25rem}}@media screen and (min-width:769px) and (max-width:1023px){.columns.is-variable.is-5-tablet-only{--columnGap:1.25rem}}@media screen and (max-width:1023px){.columns.is-variable.is-5-touch{--columnGap:1.25rem}}@media screen and (min-width:1024px){.columns.is-variable.is-5-desktop{--columnGap:1.25rem}}@media screen and (min-width:1024px) and (max-width:1215px){.columns.is-variable.is-5-desktop-only{--columnGap:1.25rem}}@media screen and (min-width:1216px){.columns.is-variable.is-5-widescreen{--columnGap:1.25rem}}@media screen and (min-width:1216px) and (max-width:1407px){.columns.is-variable.is-5-widescreen-only{--columnGap:1.25rem}}@media screen and (min-width:1408px){.columns.is-variable.is-5-fullhd{--columnGap:1.25rem}}.columns.is-variable.is-6{--columnGap:1.5rem}@media screen and (max-width:768px){.columns.is-variable.is-6-mobile{--columnGap:1.5rem}}@media screen and (min-width:769px),print{.columns.is-variable.is-6-tablet{--columnGap:1.5rem}}@media screen and (min-width:769px) and (max-width:1023px){.columns.is-variable.is-6-tablet-only{--columnGap:1.5rem}}@media screen and (max-width:1023px){.columns.is-variable.is-6-touch{--columnGap:1.5rem}}@media screen and (min-width:1024px){.columns.is-variable.is-6-desktop{--columnGap:1.5rem}}@media screen and (min-width:1024px) and (max-width:1215px){.columns.is-variable.is-6-desktop-only{--columnGap:1.5rem}}@media screen and (min-width:1216px){.columns.is-variable.is-6-widescreen{--columnGap:1.5rem}}@media screen and (min-width:1216px) and (max-width:1407px){.columns.is-variable.is-6-widescreen-only{--columnGap:1.5rem}}@media screen and (min-width:1408px){.columns.is-variable.is-6-fullhd{--columnGap:1.5rem}}.columns.is-variable.is-7{--columnGap:1.75rem}@media screen and (max-width:768px){.columns.is-variable.is-7-mobile{--columnGap:1.75rem}}@media screen and (min-width:769px),print{.columns.is-variable.is-7-tablet{--columnGap:1.75rem}}@media screen and (min-width:769px) and (max-width:1023px){.columns.is-variable.is-7-tablet-only{--columnGap:1.75rem}}@media screen and (max-width:1023px){.columns.is-variable.is-7-touch{--columnGap:1.75rem}}@media screen and (min-width:1024px){.columns.is-variable.is-7-desktop{--columnGap:1.75rem}}@media screen and (min-width:1024px) and (max-width:1215px){.columns.is-variable.is-7-desktop-only{--columnGap:1.75rem}}@media screen and (min-width:1216px){.columns.is-variable.is-7-widescreen{--columnGap:1.75rem}}@media screen and (min-width:1216px) and (max-width:1407px){.columns.is-variable.is-7-widescreen-only{--columnGap:1.75rem}}@media screen and (min-width:1408px){.columns.is-variable.is-7-fullhd{--columnGap:1.75rem}}.columns.is-variable.is-8{--columnGap:2rem}@media screen and (max-width:768px){.columns.is-variable.is-8-mobile{--columnGap:2rem}}@media screen and (min-width:769px),print{.columns.is-variable.is-8-tablet{--columnGap:2rem}}@media screen and (min-width:769px) and (max-width:1023px){.columns.is-variable.is-8-tablet-only{--columnGap:2rem}}@media screen and (max-width:1023px){.columns.is-variable.is-8-touch{--columnGap:2rem}}@media screen and (min-width:1024px){.columns.is-variable.is-8-desktop{--columnGap:2rem}}@media screen and (min-width:1024px) and (max-width:1215px){.columns.is-variable.is-8-desktop-only{--columnGap:2rem}}@media screen and (min-width:1216px){.columns.is-variable.is-8-widescreen{--columnGap:2rem}}@media screen and (min-width:1216px) and (max-width:1407px){.columns.is-variable.is-8-widescreen-only{--columnGap:2rem}}@media screen and (min-width:1408px){.columns.is-variable.is-8-fullhd{--columnGap:2rem}}.tile{align-items:stretch;display:block;flex-basis:0;flex-grow:1;flex-shrink:1;min-height:-webkit-min-content;min-height:-moz-min-content;min-height:min-content}.tile.is-ancestor{margin-left:-.75rem;margin-right:-.75rem;margin-top:-.75rem}.tile.is-ancestor:last-child{margin-bottom:-.75rem}.tile.is-ancestor:not(:last-child){margin-bottom:.75rem}.tile.is-child{margin:0!important}.tile.is-parent{padding:.75rem}.tile.is-vertical{flex-direction:column}.tile.is-vertical>.tile.is-child:not(:last-child){margin-bottom:1.5rem!important}@media screen and (min-width:769px),print{.tile:not(.is-child){display:flex}.tile.is-1{flex:none;width:8.33333%}.tile.is-2{flex:none;width:16.66667%}.tile.is-3{flex:none;width:25%}.tile.is-4{flex:none;width:33.33333%}.tile.is-5{flex:none;width:41.66667%}.tile.is-6{flex:none;width:50%}.tile.is-7{flex:none;width:58.33333%}.tile.is-8{flex:none;width:66.66667%}.tile.is-9{flex:none;width:75%}.tile.is-10{flex:none;width:83.33333%}.tile.is-11{flex:none;width:91.66667%}.tile.is-12{flex:none;width:100%}}.has-text-white{color:#fff!important}a.has-text-white:focus,a.has-text-white:hover{color:#e6e6e6!important}.has-background-white{background-color:#fff!important}.has-text-black{color:#0a0a0a!important}a.has-text-black:focus,a.has-text-black:hover{color:#000!important}.has-background-black{background-color:#0a0a0a!important}.has-text-light{color:#f5f5f5!important}a.has-text-light:focus,a.has-text-light:hover{color:#dbdbdb!important}.has-background-light{background-color:#f5f5f5!important}.has-text-dark{color:#363636!important}a.has-text-dark:focus,a.has-text-dark:hover{color:#1c1c1c!important}.has-background-dark{background-color:#363636!important}.has-text-primary{color:#00d1b2!important}a.has-text-primary:focus,a.has-text-primary:hover{color:#009e86!important}.has-background-primary{background-color:#00d1b2!important}.has-text-primary-light{color:#ebfffc!important}a.has-text-primary-light:focus,a.has-text-primary-light:hover{color:#b8fff4!important}.has-background-primary-light{background-color:#ebfffc!important}.has-text-primary-dark{color:#00947e!important}a.has-text-primary-dark:focus,a.has-text-primary-dark:hover{color:#00c7a9!important}.has-background-primary-dark{background-color:#00947e!important}.has-text-link{color:#485fc7!important}a.has-text-link:focus,a.has-text-link:hover{color:#3449a8!important}.has-background-link{background-color:#485fc7!important}.has-text-link-light{color:#eff1fa!important}a.has-text-link-light:focus,a.has-text-link-light:hover{color:#c8cfee!important}.has-background-link-light{background-color:#eff1fa!important}.has-text-link-dark{color:#3850b7!important}a.has-text-link-dark:focus,a.has-text-link-dark:hover{color:#576dcb!important}.has-background-link-dark{background-color:#3850b7!important}.has-text-info{color:#3e8ed0!important}a.has-text-info:focus,a.has-text-info:hover{color:#2b74b1!important}.has-background-info{background-color:#3e8ed0!important}.has-text-info-light{color:#eff5fb!important}a.has-text-info-light:focus,a.has-text-info-light:hover{color:#c6ddf1!important}.has-background-info-light{background-color:#eff5fb!important}.has-text-info-dark{color:#296fa8!important}a.has-text-info-dark:focus,a.has-text-info-dark:hover{color:#368ace!important}.has-background-info-dark{background-color:#296fa8!important}.has-text-success{color:#48c78e!important}a.has-text-success:focus,a.has-text-success:hover{color:#34a873!important}.has-background-success{background-color:#48c78e!important}.has-text-success-light{color:#effaf5!important}a.has-text-success-light:focus,a.has-text-success-light:hover{color:#c8eedd!important}.has-background-success-light{background-color:#effaf5!important}.has-text-success-dark{color:#257953!important}a.has-text-success-dark:focus,a.has-text-success-dark:hover{color:#31a06e!important}.has-background-success-dark{background-color:#257953!important}.has-text-warning{color:#ffe08a!important}a.has-text-warning:focus,a.has-text-warning:hover{color:#ffd257!important}.has-background-warning{background-color:#ffe08a!important}.has-text-warning-light{color:#fffaeb!important}a.has-text-warning-light:focus,a.has-text-warning-light:hover{color:#ffecb8!important}.has-background-warning-light{background-color:#fffaeb!important}.has-text-warning-dark{color:#946c00!important}a.has-text-warning-dark:focus,a.has-text-warning-dark:hover{color:#c79200!important}.has-background-warning-dark{background-color:#946c00!important}.has-text-danger{color:#f14668!important}a.has-text-danger:focus,a.has-text-danger:hover{color:#ee1742!important}.has-background-danger{background-color:#f14668!important}.has-text-danger-light{color:#feecf0!important}a.has-text-danger-light:focus,a.has-text-danger-light:hover{color:#fabdc9!important}.has-background-danger-light{background-color:#feecf0!important}.has-text-danger-dark{color:#cc0f35!important}a.has-text-danger-dark:focus,a.has-text-danger-dark:hover{color:#ee2049!important}.has-background-danger-dark{background-color:#cc0f35!important}.has-text-black-bis{color:#121212!important}.has-background-black-bis{background-color:#121212!important}.has-text-black-ter{color:#242424!important}.has-background-black-ter{background-color:#242424!important}.has-text-grey-darker{color:#363636!important}.has-background-grey-darker{background-color:#363636!important}.has-text-grey-dark{color:#4a4a4a!important}.has-background-grey-dark{background-color:#4a4a4a!important}.has-text-grey{color:#7a7a7a!important}.has-background-grey{background-color:#7a7a7a!important}.has-text-grey-light{color:#b5b5b5!important}.has-background-grey-light{background-color:#b5b5b5!important}.has-text-grey-lighter{color:#dbdbdb!important}.has-background-grey-lighter{background-color:#dbdbdb!important}.has-text-white-ter{color:#f5f5f5!important}.has-background-white-ter{background-color:#f5f5f5!important}.has-text-white-bis{color:#fafafa!important}.has-background-white-bis{background-color:#fafafa!important}.is-flex-direction-row{flex-direction:row!important}.is-flex-direction-row-reverse{flex-direction:row-reverse!important}.is-flex-direction-column{flex-direction:column!important}.is-flex-direction-column-reverse{flex-direction:column-reverse!important}.is-flex-wrap-nowrap{flex-wrap:nowrap!important}.is-flex-wrap-wrap{flex-wrap:wrap!important}.is-flex-wrap-wrap-reverse{flex-wrap:wrap-reverse!important}.is-justify-content-flex-start{justify-content:flex-start!important}.is-justify-content-flex-end{justify-content:flex-end!important}.is-justify-content-center{justify-content:center!important}.is-justify-content-space-between{justify-content:space-between!important}.is-justify-content-space-around{justify-content:space-around!important}.is-justify-content-space-evenly{justify-content:space-evenly!important}.is-justify-content-start{justify-content:start!important}.is-justify-content-end{justify-content:end!important}.is-justify-content-left{justify-content:left!important}.is-justify-content-right{justify-content:right!important}.is-align-content-flex-start{align-content:flex-start!important}.is-align-content-flex-end{align-content:flex-end!important}.is-align-content-center{align-content:center!important}.is-align-content-space-between{align-content:space-between!important}.is-align-content-space-around{align-content:space-around!important}.is-align-content-space-evenly{align-content:space-evenly!important}.is-align-content-stretch{align-content:stretch!important}.is-align-content-start{align-content:start!important}.is-align-content-end{align-content:end!important}.is-align-content-baseline{align-content:baseline!important}.is-align-items-stretch{align-items:stretch!important}.is-align-items-flex-start{align-items:flex-start!important}.is-align-items-flex-end{align-items:flex-end!important}.is-align-items-center{align-items:center!important}.is-align-items-baseline{align-items:baseline!important}.is-align-items-start{align-items:start!important}.is-align-items-end{align-items:end!important}.is-align-items-self-start{align-items:self-start!important}.is-align-items-self-end{align-items:self-end!important}.is-align-self-auto{align-self:auto!important}.is-align-self-flex-start{align-self:flex-start!important}.is-align-self-flex-end{align-self:flex-end!important}.is-align-self-center{align-self:center!important}.is-align-self-baseline{align-self:baseline!important}.is-align-self-stretch{align-self:stretch!important}.is-flex-grow-0{flex-grow:0!important}.is-flex-grow-1{flex-grow:1!important}.is-flex-grow-2{flex-grow:2!important}.is-flex-grow-3{flex-grow:3!important}.is-flex-grow-4{flex-grow:4!important}.is-flex-grow-5{flex-grow:5!important}.is-flex-shrink-0{flex-shrink:0!important}.is-flex-shrink-1{flex-shrink:1!important}.is-flex-shrink-2{flex-shrink:2!important}.is-flex-shrink-3{flex-shrink:3!important}.is-flex-shrink-4{flex-shrink:4!important}.is-flex-shrink-5{flex-shrink:5!important}.is-clearfix::after{clear:both;content:" ";display:table}.is-pulled-left{float:left!important}.is-pulled-right{float:right!important}.is-radiusless{border-radius:0!important}.is-shadowless{box-shadow:none!important}.is-clickable{cursor:pointer!important;pointer-events:all!important}.is-clipped{overflow:hidden!important}.is-relative{position:relative!important}.is-marginless{margin:0!important}.is-paddingless{padding:0!important}.m-0{margin:0!important}.mt-0{margin-top:0!important}.mr-0{margin-right:0!important}.mb-0{margin-bottom:0!important}.ml-0{margin-left:0!important}.mx-0{margin-left:0!important;margin-right:0!important}.my-0{margin-top:0!important;margin-bottom:0!important}.m-1{margin:.25rem!important}.mt-1{margin-top:.25rem!important}.mr-1{margin-right:.25rem!important}.mb-1{margin-bottom:.25rem!important}.ml-1{margin-left:.25rem!important}.mx-1{margin-left:.25rem!important;margin-right:.25rem!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-2{margin:.5rem!important}.mt-2{margin-top:.5rem!important}.mr-2{margin-right:.5rem!important}.mb-2{margin-bottom:.5rem!important}.ml-2{margin-left:.5rem!important}.mx-2{margin-left:.5rem!important;margin-right:.5rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-3{margin:.75rem!important}.mt-3{margin-top:.75rem!important}.mr-3{margin-right:.75rem!important}.mb-3{margin-bottom:.75rem!important}.ml-3{margin-left:.75rem!important}.mx-3{margin-left:.75rem!important;margin-right:.75rem!important}.my-3{margin-top:.75rem!important;margin-bottom:.75rem!important}.m-4{margin:1rem!important}.mt-4{margin-top:1rem!important}.mr-4{margin-right:1rem!important}.mb-4{margin-bottom:1rem!important}.ml-4{margin-left:1rem!important}.mx-4{margin-left:1rem!important;margin-right:1rem!important}.my-4{margin-top:1rem!important;margin-bottom:1rem!important}.m-5{margin:1.5rem!important}.mt-5{margin-top:1.5rem!important}.mr-5{margin-right:1.5rem!important}.mb-5{margin-bottom:1.5rem!important}.ml-5{margin-left:1.5rem!important}.mx-5{margin-left:1.5rem!important;margin-right:1.5rem!important}.my-5{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-6{margin:3rem!important}.mt-6{margin-top:3rem!important}.mr-6{margin-right:3rem!important}.mb-6{margin-bottom:3rem!important}.ml-6{margin-left:3rem!important}.mx-6{margin-left:3rem!important;margin-right:3rem!important}.my-6{margin-top:3rem!important;margin-bottom:3rem!important}.m-auto{margin:auto!important}.mt-auto{margin-top:auto!important}.mr-auto{margin-right:auto!important}.mb-auto{margin-bottom:auto!important}.ml-auto{margin-left:auto!important}.mx-auto{margin-left:auto!important;margin-right:auto!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.p-0{padding:0!important}.pt-0{padding-top:0!important}.pr-0{padding-right:0!important}.pb-0{padding-bottom:0!important}.pl-0{padding-left:0!important}.px-0{padding-left:0!important;padding-right:0!important}.py-0{padding-top:0!important;padding-bottom:0!important}.p-1{padding:.25rem!important}.pt-1{padding-top:.25rem!important}.pr-1{padding-right:.25rem!important}.pb-1{padding-bottom:.25rem!important}.pl-1{padding-left:.25rem!important}.px-1{padding-left:.25rem!important;padding-right:.25rem!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-2{padding:.5rem!important}.pt-2{padding-top:.5rem!important}.pr-2{padding-right:.5rem!important}.pb-2{padding-bottom:.5rem!important}.pl-2{padding-left:.5rem!important}.px-2{padding-left:.5rem!important;padding-right:.5rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-3{padding:.75rem!important}.pt-3{padding-top:.75rem!important}.pr-3{padding-right:.75rem!important}.pb-3{padding-bottom:.75rem!important}.pl-3{padding-left:.75rem!important}.px-3{padding-left:.75rem!important;padding-right:.75rem!important}.py-3{padding-top:.75rem!important;padding-bottom:.75rem!important}.p-4{padding:1rem!important}.pt-4{padding-top:1rem!important}.pr-4{padding-right:1rem!important}.pb-4{padding-bottom:1rem!important}.pl-4{padding-left:1rem!important}.px-4{padding-left:1rem!important;padding-right:1rem!important}.py-4{padding-top:1rem!important;padding-bottom:1rem!important}.p-5{padding:1.5rem!important}.pt-5{padding-top:1.5rem!important}.pr-5{padding-right:1.5rem!important}.pb-5{padding-bottom:1.5rem!important}.pl-5{padding-left:1.5rem!important}.px-5{padding-left:1.5rem!important;padding-right:1.5rem!important}.py-5{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-6{padding:3rem!important}.pt-6{padding-top:3rem!important}.pr-6{padding-right:3rem!important}.pb-6{padding-bottom:3rem!important}.pl-6{padding-left:3rem!important}.px-6{padding-left:3rem!important;padding-right:3rem!important}.py-6{padding-top:3rem!important;padding-bottom:3rem!important}.p-auto{padding:auto!important}.pt-auto{padding-top:auto!important}.pr-auto{padding-right:auto!important}.pb-auto{padding-bottom:auto!important}.pl-auto{padding-left:auto!important}.px-auto{padding-left:auto!important;padding-right:auto!important}.py-auto{padding-top:auto!important;padding-bottom:auto!important}.is-size-1{font-size:3rem!important}.is-size-2{font-size:2.5rem!important}.is-size-3{font-size:2rem!important}.is-size-4{font-size:1.5rem!important}.is-size-5{font-size:1.25rem!important}.is-size-6{font-size:1rem!important}.is-size-7{font-size:.75rem!important}@media screen and (max-width:768px){.is-size-1-mobile{font-size:3rem!important}.is-size-2-mobile{font-size:2.5rem!important}.is-size-3-mobile{font-size:2rem!important}.is-size-4-mobile{font-size:1.5rem!important}.is-size-5-mobile{font-size:1.25rem!important}.is-size-6-mobile{font-size:1rem!important}.is-size-7-mobile{font-size:.75rem!important}}@media screen and (min-width:769px),print{.is-size-1-tablet{font-size:3rem!important}.is-size-2-tablet{font-size:2.5rem!important}.is-size-3-tablet{font-size:2rem!important}.is-size-4-tablet{font-size:1.5rem!important}.is-size-5-tablet{font-size:1.25rem!important}.is-size-6-tablet{font-size:1rem!important}.is-size-7-tablet{font-size:.75rem!important}}@media screen and (max-width:1023px){.is-size-1-touch{font-size:3rem!important}.is-size-2-touch{font-size:2.5rem!important}.is-size-3-touch{font-size:2rem!important}.is-size-4-touch{font-size:1.5rem!important}.is-size-5-touch{font-size:1.25rem!important}.is-size-6-touch{font-size:1rem!important}.is-size-7-touch{font-size:.75rem!important}}@media screen and (min-width:1024px){.is-size-1-desktop{font-size:3rem!important}.is-size-2-desktop{font-size:2.5rem!important}.is-size-3-desktop{font-size:2rem!important}.is-size-4-desktop{font-size:1.5rem!important}.is-size-5-desktop{font-size:1.25rem!important}.is-size-6-desktop{font-size:1rem!important}.is-size-7-desktop{font-size:.75rem!important}}@media screen and (min-width:1216px){.is-size-1-widescreen{font-size:3rem!important}.is-size-2-widescreen{font-size:2.5rem!important}.is-size-3-widescreen{font-size:2rem!important}.is-size-4-widescreen{font-size:1.5rem!important}.is-size-5-widescreen{font-size:1.25rem!important}.is-size-6-widescreen{font-size:1rem!important}.is-size-7-widescreen{font-size:.75rem!important}}@media screen and (min-width:1408px){.is-size-1-fullhd{font-size:3rem!important}.is-size-2-fullhd{font-size:2.5rem!important}.is-size-3-fullhd{font-size:2rem!important}.is-size-4-fullhd{font-size:1.5rem!important}.is-size-5-fullhd{font-size:1.25rem!important}.is-size-6-fullhd{font-size:1rem!important}.is-size-7-fullhd{font-size:.75rem!important}}.has-text-centered{text-align:center!important}.has-text-justified{text-align:justify!important}.has-text-left{text-align:left!important}.has-text-right{text-align:right!important}@media screen and (max-width:768px){.has-text-centered-mobile{text-align:center!important}}@media screen and (min-width:769px),print{.has-text-centered-tablet{text-align:center!important}}@media screen and (min-width:769px) and (max-width:1023px){.has-text-centered-tablet-only{text-align:center!important}}@media screen and (max-width:1023px){.has-text-centered-touch{text-align:center!important}}@media screen and (min-width:1024px){.has-text-centered-desktop{text-align:center!important}}@media screen and (min-width:1024px) and (max-width:1215px){.has-text-centered-desktop-only{text-align:center!important}}@media screen and (min-width:1216px){.has-text-centered-widescreen{text-align:center!important}}@media screen and (min-width:1216px) and (max-width:1407px){.has-text-centered-widescreen-only{text-align:center!important}}@media screen and (min-width:1408px){.has-text-centered-fullhd{text-align:center!important}}@media screen and (max-width:768px){.has-text-justified-mobile{text-align:justify!important}}@media screen and (min-width:769px),print{.has-text-justified-tablet{text-align:justify!important}}@media screen and (min-width:769px) and (max-width:1023px){.has-text-justified-tablet-only{text-align:justify!important}}@media screen and (max-width:1023px){.has-text-justified-touch{text-align:justify!important}}@media screen and (min-width:1024px){.has-text-justified-desktop{text-align:justify!important}}@media screen and (min-width:1024px) and (max-width:1215px){.has-text-justified-desktop-only{text-align:justify!important}}@media screen and (min-width:1216px){.has-text-justified-widescreen{text-align:justify!important}}@media screen and (min-width:1216px) and (max-width:1407px){.has-text-justified-widescreen-only{text-align:justify!important}}@media screen and (min-width:1408px){.has-text-justified-fullhd{text-align:justify!important}}@media screen and (max-width:768px){.has-text-left-mobile{text-align:left!important}}@media screen and (min-width:769px),print{.has-text-left-tablet{text-align:left!important}}@media screen and (min-width:769px) and (max-width:1023px){.has-text-left-tablet-only{text-align:left!important}}@media screen and (max-width:1023px){.has-text-left-touch{text-align:left!important}}@media screen and (min-width:1024px){.has-text-left-desktop{text-align:left!important}}@media screen and (min-width:1024px) and (max-width:1215px){.has-text-left-desktop-only{text-align:left!important}}@media screen and (min-width:1216px){.has-text-left-widescreen{text-align:left!important}}@media screen and (min-width:1216px) and (max-width:1407px){.has-text-left-widescreen-only{text-align:left!important}}@media screen and (min-width:1408px){.has-text-left-fullhd{text-align:left!important}}@media screen and (max-width:768px){.has-text-right-mobile{text-align:right!important}}@media screen and (min-width:769px),print{.has-text-right-tablet{text-align:right!important}}@media screen and (min-width:769px) and (max-width:1023px){.has-text-right-tablet-only{text-align:right!important}}@media screen and (max-width:1023px){.has-text-right-touch{text-align:right!important}}@media screen and (min-width:1024px){.has-text-right-desktop{text-align:right!important}}@media screen and (min-width:1024px) and (max-width:1215px){.has-text-right-desktop-only{text-align:right!important}}@media screen and (min-width:1216px){.has-text-right-widescreen{text-align:right!important}}@media screen and (min-width:1216px) and (max-width:1407px){.has-text-right-widescreen-only{text-align:right!important}}@media screen and (min-width:1408px){.has-text-right-fullhd{text-align:right!important}}.is-capitalized{text-transform:capitalize!important}.is-lowercase{text-transform:lowercase!important}.is-uppercase{text-transform:uppercase!important}.is-italic{font-style:italic!important}.is-underlined{text-decoration:underline!important}.has-text-weight-light{font-weight:300!important}.has-text-weight-normal{font-weight:400!important}.has-text-weight-medium{font-weight:500!important}.has-text-weight-semibold{font-weight:600!important}.has-text-weight-bold{font-weight:700!important}.is-family-primary{font-family:BlinkMacSystemFont,-apple-system,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif!important}.is-family-secondary{font-family:BlinkMacSystemFont,-apple-system,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif!important}.is-family-sans-serif{font-family:BlinkMacSystemFont,-apple-system,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif!important}.is-family-monospace{font-family:monospace!important}.is-family-code{font-family:monospace!important}.is-block{display:block!important}@media screen and (max-width:768px){.is-block-mobile{display:block!important}}@media screen and (min-width:769px),print{.is-block-tablet{display:block!important}}@media screen and (min-width:769px) and (max-width:1023px){.is-block-tablet-only{display:block!important}}@media screen and (max-width:1023px){.is-block-touch{display:block!important}}@media screen and (min-width:1024px){.is-block-desktop{display:block!important}}@media screen and (min-width:1024px) and (max-width:1215px){.is-block-desktop-only{display:block!important}}@media screen and (min-width:1216px){.is-block-widescreen{display:block!important}}@media screen and (min-width:1216px) and (max-width:1407px){.is-block-widescreen-only{display:block!important}}@media screen and (min-width:1408px){.is-block-fullhd{display:block!important}}.is-flex{display:flex!important}@media screen and (max-width:768px){.is-flex-mobile{display:flex!important}}@media screen and (min-width:769px),print{.is-flex-tablet{display:flex!important}}@media screen and (min-width:769px) and (max-width:1023px){.is-flex-tablet-only{display:flex!important}}@media screen and (max-width:1023px){.is-flex-touch{display:flex!important}}@media screen and (min-width:1024px){.is-flex-desktop{display:flex!important}}@media screen and (min-width:1024px) and (max-width:1215px){.is-flex-desktop-only{display:flex!important}}@media screen and (min-width:1216px){.is-flex-widescreen{display:flex!important}}@media screen and (min-width:1216px) and (max-width:1407px){.is-flex-widescreen-only{display:flex!important}}@media screen and (min-width:1408px){.is-flex-fullhd{display:flex!important}}.is-inline{display:inline!important}@media screen and (max-width:768px){.is-inline-mobile{display:inline!important}}@media screen and (min-width:769px),print{.is-inline-tablet{display:inline!important}}@media screen and (min-width:769px) and (max-width:1023px){.is-inline-tablet-only{display:inline!important}}@media screen and (max-width:1023px){.is-inline-touch{display:inline!important}}@media screen and (min-width:1024px){.is-inline-desktop{display:inline!important}}@media screen and (min-width:1024px) and (max-width:1215px){.is-inline-desktop-only{display:inline!important}}@media screen and (min-width:1216px){.is-inline-widescreen{display:inline!important}}@media screen and (min-width:1216px) and (max-width:1407px){.is-inline-widescreen-only{display:inline!important}}@media screen and (min-width:1408px){.is-inline-fullhd{display:inline!important}}.is-inline-block{display:inline-block!important}@media screen and (max-width:768px){.is-inline-block-mobile{display:inline-block!important}}@media screen and (min-width:769px),print{.is-inline-block-tablet{display:inline-block!important}}@media screen and (min-width:769px) and (max-width:1023px){.is-inline-block-tablet-only{display:inline-block!important}}@media screen and (max-width:1023px){.is-inline-block-touch{display:inline-block!important}}@media screen and (min-width:1024px){.is-inline-block-desktop{display:inline-block!important}}@media screen and (min-width:1024px) and (max-width:1215px){.is-inline-block-desktop-only{display:inline-block!important}}@media screen and (min-width:1216px){.is-inline-block-widescreen{display:inline-block!important}}@media screen and (min-width:1216px) and (max-width:1407px){.is-inline-block-widescreen-only{display:inline-block!important}}@media screen and (min-width:1408px){.is-inline-block-fullhd{display:inline-block!important}}.is-inline-flex{display:inline-flex!important}@media screen and (max-width:768px){.is-inline-flex-mobile{display:inline-flex!important}}@media screen and (min-width:769px),print{.is-inline-flex-tablet{display:inline-flex!important}}@media screen and (min-width:769px) and (max-width:1023px){.is-inline-flex-tablet-only{display:inline-flex!important}}@media screen and (max-width:1023px){.is-inline-flex-touch{display:inline-flex!important}}@media screen and (min-width:1024px){.is-inline-flex-desktop{display:inline-flex!important}}@media screen and (min-width:1024px) and (max-width:1215px){.is-inline-flex-desktop-only{display:inline-flex!important}}@media screen and (min-width:1216px){.is-inline-flex-widescreen{display:inline-flex!important}}@media screen and (min-width:1216px) and (max-width:1407px){.is-inline-flex-widescreen-only{display:inline-flex!important}}@media screen and (min-width:1408px){.is-inline-flex-fullhd{display:inline-flex!important}}.is-hidden{display:none!important}.is-sr-only{border:none!important;clip:rect(0,0,0,0)!important;height:.01em!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:.01em!important}@media screen and (max-width:768px){.is-hidden-mobile{display:none!important}}@media screen and (min-width:769px),print{.is-hidden-tablet{display:none!important}}@media screen and (min-width:769px) and (max-width:1023px){.is-hidden-tablet-only{display:none!important}}@media screen and (max-width:1023px){.is-hidden-touch{display:none!important}}@media screen and (min-width:1024px){.is-hidden-desktop{display:none!important}}@media screen and (min-width:1024px) and (max-width:1215px){.is-hidden-desktop-only{display:none!important}}@media screen and (min-width:1216px){.is-hidden-widescreen{display:none!important}}@media screen and (min-width:1216px) and (max-width:1407px){.is-hidden-widescreen-only{display:none!important}}@media screen and (min-width:1408px){.is-hidden-fullhd{display:none!important}}.is-invisible{visibility:hidden!important}@media screen and (max-width:768px){.is-invisible-mobile{visibility:hidden!important}}@media screen and (min-width:769px),print{.is-invisible-tablet{visibility:hidden!important}}@media screen and (min-width:769px) and (max-width:1023px){.is-invisible-tablet-only{visibility:hidden!important}}@media screen and (max-width:1023px){.is-invisible-touch{visibility:hidden!important}}@media screen and (min-width:1024px){.is-invisible-desktop{visibility:hidden!important}}@media screen and (min-width:1024px) and (max-width:1215px){.is-invisible-desktop-only{visibility:hidden!important}}@media screen and (min-width:1216px){.is-invisible-widescreen{visibility:hidden!important}}@media screen and (min-width:1216px) and (max-width:1407px){.is-invisible-widescreen-only{visibility:hidden!important}}@media screen and (min-width:1408px){.is-invisible-fullhd{visibility:hidden!important}}.hero{align-items:stretch;display:flex;flex-direction:column;justify-content:space-between}.hero .navbar{background:0 0}.hero .tabs ul{border-bottom:none}.hero.is-white{background-color:#fff;color:#0a0a0a}.hero.is-white a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-white strong{color:inherit}.hero.is-white .title{color:#0a0a0a}.hero.is-white .subtitle{color:rgba(10,10,10,.9)}.hero.is-white .subtitle a:not(.button),.hero.is-white .subtitle strong{color:#0a0a0a}@media screen and (max-width:1023px){.hero.is-white .navbar-menu{background-color:#fff}}.hero.is-white .navbar-item,.hero.is-white .navbar-link{color:rgba(10,10,10,.7)}.hero.is-white .navbar-link.is-active,.hero.is-white .navbar-link:hover,.hero.is-white a.navbar-item.is-active,.hero.is-white a.navbar-item:hover{background-color:#f2f2f2;color:#0a0a0a}.hero.is-white .tabs a{color:#0a0a0a;opacity:.9}.hero.is-white .tabs a:hover{opacity:1}.hero.is-white .tabs li.is-active a{color:#fff!important;opacity:1}.hero.is-white .tabs.is-boxed a,.hero.is-white .tabs.is-toggle a{color:#0a0a0a}.hero.is-white .tabs.is-boxed a:hover,.hero.is-white .tabs.is-toggle a:hover{background-color:rgba(10,10,10,.1)}.hero.is-white .tabs.is-boxed li.is-active a,.hero.is-white .tabs.is-boxed li.is-active a:hover,.hero.is-white .tabs.is-toggle li.is-active a,.hero.is-white .tabs.is-toggle li.is-active a:hover{background-color:#0a0a0a;border-color:#0a0a0a;color:#fff}.hero.is-white.is-bold{background-image:linear-gradient(141deg,#e6e6e6 0,#fff 71%,#fff 100%)}@media screen and (max-width:768px){.hero.is-white.is-bold .navbar-menu{background-image:linear-gradient(141deg,#e6e6e6 0,#fff 71%,#fff 100%)}}.hero.is-black{background-color:#0a0a0a;color:#fff}.hero.is-black a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-black strong{color:inherit}.hero.is-black .title{color:#fff}.hero.is-black .subtitle{color:rgba(255,255,255,.9)}.hero.is-black .subtitle a:not(.button),.hero.is-black .subtitle strong{color:#fff}@media screen and (max-width:1023px){.hero.is-black .navbar-menu{background-color:#0a0a0a}}.hero.is-black .navbar-item,.hero.is-black .navbar-link{color:rgba(255,255,255,.7)}.hero.is-black .navbar-link.is-active,.hero.is-black .navbar-link:hover,.hero.is-black a.navbar-item.is-active,.hero.is-black a.navbar-item:hover{background-color:#000;color:#fff}.hero.is-black .tabs a{color:#fff;opacity:.9}.hero.is-black .tabs a:hover{opacity:1}.hero.is-black .tabs li.is-active a{color:#0a0a0a!important;opacity:1}.hero.is-black .tabs.is-boxed a,.hero.is-black .tabs.is-toggle a{color:#fff}.hero.is-black .tabs.is-boxed a:hover,.hero.is-black .tabs.is-toggle a:hover{background-color:rgba(10,10,10,.1)}.hero.is-black .tabs.is-boxed li.is-active a,.hero.is-black .tabs.is-boxed li.is-active a:hover,.hero.is-black .tabs.is-toggle li.is-active a,.hero.is-black .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#0a0a0a}.hero.is-black.is-bold{background-image:linear-gradient(141deg,#000 0,#0a0a0a 71%,#181616 100%)}@media screen and (max-width:768px){.hero.is-black.is-bold .navbar-menu{background-image:linear-gradient(141deg,#000 0,#0a0a0a 71%,#181616 100%)}}.hero.is-light{background-color:#f5f5f5;color:rgba(0,0,0,.7)}.hero.is-light a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-light strong{color:inherit}.hero.is-light .title{color:rgba(0,0,0,.7)}.hero.is-light .subtitle{color:rgba(0,0,0,.9)}.hero.is-light .subtitle a:not(.button),.hero.is-light .subtitle strong{color:rgba(0,0,0,.7)}@media screen and (max-width:1023px){.hero.is-light .navbar-menu{background-color:#f5f5f5}}.hero.is-light .navbar-item,.hero.is-light .navbar-link{color:rgba(0,0,0,.7)}.hero.is-light .navbar-link.is-active,.hero.is-light .navbar-link:hover,.hero.is-light a.navbar-item.is-active,.hero.is-light a.navbar-item:hover{background-color:#e8e8e8;color:rgba(0,0,0,.7)}.hero.is-light .tabs a{color:rgba(0,0,0,.7);opacity:.9}.hero.is-light .tabs a:hover{opacity:1}.hero.is-light .tabs li.is-active a{color:#f5f5f5!important;opacity:1}.hero.is-light .tabs.is-boxed a,.hero.is-light .tabs.is-toggle a{color:rgba(0,0,0,.7)}.hero.is-light .tabs.is-boxed a:hover,.hero.is-light .tabs.is-toggle a:hover{background-color:rgba(10,10,10,.1)}.hero.is-light .tabs.is-boxed li.is-active a,.hero.is-light .tabs.is-boxed li.is-active a:hover,.hero.is-light .tabs.is-toggle li.is-active a,.hero.is-light .tabs.is-toggle li.is-active a:hover{background-color:rgba(0,0,0,.7);border-color:rgba(0,0,0,.7);color:#f5f5f5}.hero.is-light.is-bold{background-image:linear-gradient(141deg,#dfd8d9 0,#f5f5f5 71%,#fff 100%)}@media screen and (max-width:768px){.hero.is-light.is-bold .navbar-menu{background-image:linear-gradient(141deg,#dfd8d9 0,#f5f5f5 71%,#fff 100%)}}.hero.is-dark{background-color:#363636;color:#fff}.hero.is-dark a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-dark strong{color:inherit}.hero.is-dark .title{color:#fff}.hero.is-dark .subtitle{color:rgba(255,255,255,.9)}.hero.is-dark .subtitle a:not(.button),.hero.is-dark .subtitle strong{color:#fff}@media screen and (max-width:1023px){.hero.is-dark .navbar-menu{background-color:#363636}}.hero.is-dark .navbar-item,.hero.is-dark .navbar-link{color:rgba(255,255,255,.7)}.hero.is-dark .navbar-link.is-active,.hero.is-dark .navbar-link:hover,.hero.is-dark a.navbar-item.is-active,.hero.is-dark a.navbar-item:hover{background-color:#292929;color:#fff}.hero.is-dark .tabs a{color:#fff;opacity:.9}.hero.is-dark .tabs a:hover{opacity:1}.hero.is-dark .tabs li.is-active a{color:#363636!important;opacity:1}.hero.is-dark .tabs.is-boxed a,.hero.is-dark .tabs.is-toggle a{color:#fff}.hero.is-dark .tabs.is-boxed a:hover,.hero.is-dark .tabs.is-toggle a:hover{background-color:rgba(10,10,10,.1)}.hero.is-dark .tabs.is-boxed li.is-active a,.hero.is-dark .tabs.is-boxed li.is-active a:hover,.hero.is-dark .tabs.is-toggle li.is-active a,.hero.is-dark .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#363636}.hero.is-dark.is-bold{background-image:linear-gradient(141deg,#1f191a 0,#363636 71%,#46403f 100%)}@media screen and (max-width:768px){.hero.is-dark.is-bold .navbar-menu{background-image:linear-gradient(141deg,#1f191a 0,#363636 71%,#46403f 100%)}}.hero.is-primary{background-color:#00d1b2;color:#fff}.hero.is-primary a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-primary strong{color:inherit}.hero.is-primary .title{color:#fff}.hero.is-primary .subtitle{color:rgba(255,255,255,.9)}.hero.is-primary .subtitle a:not(.button),.hero.is-primary .subtitle strong{color:#fff}@media screen and (max-width:1023px){.hero.is-primary .navbar-menu{background-color:#00d1b2}}.hero.is-primary .navbar-item,.hero.is-primary .navbar-link{color:rgba(255,255,255,.7)}.hero.is-primary .navbar-link.is-active,.hero.is-primary .navbar-link:hover,.hero.is-primary a.navbar-item.is-active,.hero.is-primary a.navbar-item:hover{background-color:#00b89c;color:#fff}.hero.is-primary .tabs a{color:#fff;opacity:.9}.hero.is-primary .tabs a:hover{opacity:1}.hero.is-primary .tabs li.is-active a{color:#00d1b2!important;opacity:1}.hero.is-primary .tabs.is-boxed a,.hero.is-primary .tabs.is-toggle a{color:#fff}.hero.is-primary .tabs.is-boxed a:hover,.hero.is-primary .tabs.is-toggle a:hover{background-color:rgba(10,10,10,.1)}.hero.is-primary .tabs.is-boxed li.is-active a,.hero.is-primary .tabs.is-boxed li.is-active a:hover,.hero.is-primary .tabs.is-toggle li.is-active a,.hero.is-primary .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#00d1b2}.hero.is-primary.is-bold{background-image:linear-gradient(141deg,#009e6c 0,#00d1b2 71%,#00e7eb 100%)}@media screen and (max-width:768px){.hero.is-primary.is-bold .navbar-menu{background-image:linear-gradient(141deg,#009e6c 0,#00d1b2 71%,#00e7eb 100%)}}.hero.is-link{background-color:#485fc7;color:#fff}.hero.is-link a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-link strong{color:inherit}.hero.is-link .title{color:#fff}.hero.is-link .subtitle{color:rgba(255,255,255,.9)}.hero.is-link .subtitle a:not(.button),.hero.is-link .subtitle strong{color:#fff}@media screen and (max-width:1023px){.hero.is-link .navbar-menu{background-color:#485fc7}}.hero.is-link .navbar-item,.hero.is-link .navbar-link{color:rgba(255,255,255,.7)}.hero.is-link .navbar-link.is-active,.hero.is-link .navbar-link:hover,.hero.is-link a.navbar-item.is-active,.hero.is-link a.navbar-item:hover{background-color:#3a51bb;color:#fff}.hero.is-link .tabs a{color:#fff;opacity:.9}.hero.is-link .tabs a:hover{opacity:1}.hero.is-link .tabs li.is-active a{color:#485fc7!important;opacity:1}.hero.is-link .tabs.is-boxed a,.hero.is-link .tabs.is-toggle a{color:#fff}.hero.is-link .tabs.is-boxed a:hover,.hero.is-link .tabs.is-toggle a:hover{background-color:rgba(10,10,10,.1)}.hero.is-link .tabs.is-boxed li.is-active a,.hero.is-link .tabs.is-boxed li.is-active a:hover,.hero.is-link .tabs.is-toggle li.is-active a,.hero.is-link .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#485fc7}.hero.is-link.is-bold{background-image:linear-gradient(141deg,#2959b3 0,#485fc7 71%,#5658d2 100%)}@media screen and (max-width:768px){.hero.is-link.is-bold .navbar-menu{background-image:linear-gradient(141deg,#2959b3 0,#485fc7 71%,#5658d2 100%)}}.hero.is-info{background-color:#3e8ed0;color:#fff}.hero.is-info a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-info strong{color:inherit}.hero.is-info .title{color:#fff}.hero.is-info .subtitle{color:rgba(255,255,255,.9)}.hero.is-info .subtitle a:not(.button),.hero.is-info .subtitle strong{color:#fff}@media screen and (max-width:1023px){.hero.is-info .navbar-menu{background-color:#3e8ed0}}.hero.is-info .navbar-item,.hero.is-info .navbar-link{color:rgba(255,255,255,.7)}.hero.is-info .navbar-link.is-active,.hero.is-info .navbar-link:hover,.hero.is-info a.navbar-item.is-active,.hero.is-info a.navbar-item:hover{background-color:#3082c5;color:#fff}.hero.is-info .tabs a{color:#fff;opacity:.9}.hero.is-info .tabs a:hover{opacity:1}.hero.is-info .tabs li.is-active a{color:#3e8ed0!important;opacity:1}.hero.is-info .tabs.is-boxed a,.hero.is-info .tabs.is-toggle a{color:#fff}.hero.is-info .tabs.is-boxed a:hover,.hero.is-info .tabs.is-toggle a:hover{background-color:rgba(10,10,10,.1)}.hero.is-info .tabs.is-boxed li.is-active a,.hero.is-info .tabs.is-boxed li.is-active a:hover,.hero.is-info .tabs.is-toggle li.is-active a,.hero.is-info .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#3e8ed0}.hero.is-info.is-bold{background-image:linear-gradient(141deg,#208fbc 0,#3e8ed0 71%,#4d83db 100%)}@media screen and (max-width:768px){.hero.is-info.is-bold .navbar-menu{background-image:linear-gradient(141deg,#208fbc 0,#3e8ed0 71%,#4d83db 100%)}}.hero.is-success{background-color:#48c78e;color:#fff}.hero.is-success a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-success strong{color:inherit}.hero.is-success .title{color:#fff}.hero.is-success .subtitle{color:rgba(255,255,255,.9)}.hero.is-success .subtitle a:not(.button),.hero.is-success .subtitle strong{color:#fff}@media screen and (max-width:1023px){.hero.is-success .navbar-menu{background-color:#48c78e}}.hero.is-success .navbar-item,.hero.is-success .navbar-link{color:rgba(255,255,255,.7)}.hero.is-success .navbar-link.is-active,.hero.is-success .navbar-link:hover,.hero.is-success a.navbar-item.is-active,.hero.is-success a.navbar-item:hover{background-color:#3abb81;color:#fff}.hero.is-success .tabs a{color:#fff;opacity:.9}.hero.is-success .tabs a:hover{opacity:1}.hero.is-success .tabs li.is-active a{color:#48c78e!important;opacity:1}.hero.is-success .tabs.is-boxed a,.hero.is-success .tabs.is-toggle a{color:#fff}.hero.is-success .tabs.is-boxed a:hover,.hero.is-success .tabs.is-toggle a:hover{background-color:rgba(10,10,10,.1)}.hero.is-success .tabs.is-boxed li.is-active a,.hero.is-success .tabs.is-boxed li.is-active a:hover,.hero.is-success .tabs.is-toggle li.is-active a,.hero.is-success .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#48c78e}.hero.is-success.is-bold{background-image:linear-gradient(141deg,#29b35e 0,#48c78e 71%,#56d2af 100%)}@media screen and (max-width:768px){.hero.is-success.is-bold .navbar-menu{background-image:linear-gradient(141deg,#29b35e 0,#48c78e 71%,#56d2af 100%)}}.hero.is-warning{background-color:#ffe08a;color:rgba(0,0,0,.7)}.hero.is-warning a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-warning strong{color:inherit}.hero.is-warning .title{color:rgba(0,0,0,.7)}.hero.is-warning .subtitle{color:rgba(0,0,0,.9)}.hero.is-warning .subtitle a:not(.button),.hero.is-warning .subtitle strong{color:rgba(0,0,0,.7)}@media screen and (max-width:1023px){.hero.is-warning .navbar-menu{background-color:#ffe08a}}.hero.is-warning .navbar-item,.hero.is-warning .navbar-link{color:rgba(0,0,0,.7)}.hero.is-warning .navbar-link.is-active,.hero.is-warning .navbar-link:hover,.hero.is-warning a.navbar-item.is-active,.hero.is-warning a.navbar-item:hover{background-color:#ffd970;color:rgba(0,0,0,.7)}.hero.is-warning .tabs a{color:rgba(0,0,0,.7);opacity:.9}.hero.is-warning .tabs a:hover{opacity:1}.hero.is-warning .tabs li.is-active a{color:#ffe08a!important;opacity:1}.hero.is-warning .tabs.is-boxed a,.hero.is-warning .tabs.is-toggle a{color:rgba(0,0,0,.7)}.hero.is-warning .tabs.is-boxed a:hover,.hero.is-warning .tabs.is-toggle a:hover{background-color:rgba(10,10,10,.1)}.hero.is-warning .tabs.is-boxed li.is-active a,.hero.is-warning .tabs.is-boxed li.is-active a:hover,.hero.is-warning .tabs.is-toggle li.is-active a,.hero.is-warning .tabs.is-toggle li.is-active a:hover{background-color:rgba(0,0,0,.7);border-color:rgba(0,0,0,.7);color:#ffe08a}.hero.is-warning.is-bold{background-image:linear-gradient(141deg,#ffb657 0,#ffe08a 71%,#fff6a3 100%)}@media screen and (max-width:768px){.hero.is-warning.is-bold .navbar-menu{background-image:linear-gradient(141deg,#ffb657 0,#ffe08a 71%,#fff6a3 100%)}}.hero.is-danger{background-color:#f14668;color:#fff}.hero.is-danger a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-danger strong{color:inherit}.hero.is-danger .title{color:#fff}.hero.is-danger .subtitle{color:rgba(255,255,255,.9)}.hero.is-danger .subtitle a:not(.button),.hero.is-danger .subtitle strong{color:#fff}@media screen and (max-width:1023px){.hero.is-danger .navbar-menu{background-color:#f14668}}.hero.is-danger .navbar-item,.hero.is-danger .navbar-link{color:rgba(255,255,255,.7)}.hero.is-danger .navbar-link.is-active,.hero.is-danger .navbar-link:hover,.hero.is-danger a.navbar-item.is-active,.hero.is-danger a.navbar-item:hover{background-color:#ef2e55;color:#fff}.hero.is-danger .tabs a{color:#fff;opacity:.9}.hero.is-danger .tabs a:hover{opacity:1}.hero.is-danger .tabs li.is-active a{color:#f14668!important;opacity:1}.hero.is-danger .tabs.is-boxed a,.hero.is-danger .tabs.is-toggle a{color:#fff}.hero.is-danger .tabs.is-boxed a:hover,.hero.is-danger .tabs.is-toggle a:hover{background-color:rgba(10,10,10,.1)}.hero.is-danger .tabs.is-boxed li.is-active a,.hero.is-danger .tabs.is-boxed li.is-active a:hover,.hero.is-danger .tabs.is-toggle li.is-active a,.hero.is-danger .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#f14668}.hero.is-danger.is-bold{background-image:linear-gradient(141deg,#fa0a62 0,#f14668 71%,#f7595f 100%)}@media screen and (max-width:768px){.hero.is-danger.is-bold .navbar-menu{background-image:linear-gradient(141deg,#fa0a62 0,#f14668 71%,#f7595f 100%)}}.hero.is-small .hero-body{padding:1.5rem}@media screen and (min-width:769px),print{.hero.is-medium .hero-body{padding:9rem 4.5rem}}@media screen and (min-width:769px),print{.hero.is-large .hero-body{padding:18rem 6rem}}.hero.is-fullheight .hero-body,.hero.is-fullheight-with-navbar .hero-body,.hero.is-halfheight .hero-body{align-items:center;display:flex}.hero.is-fullheight .hero-body>.container,.hero.is-fullheight-with-navbar .hero-body>.container,.hero.is-halfheight .hero-body>.container{flex-grow:1;flex-shrink:1}.hero.is-halfheight{min-height:50vh}.hero.is-fullheight{min-height:100vh}.hero-video{overflow:hidden}.hero-video video{left:50%;min-height:100%;min-width:100%;position:absolute;top:50%;transform:translate3d(-50%,-50%,0)}.hero-video.is-transparent{opacity:.3}@media screen and (max-width:768px){.hero-video{display:none}}.hero-buttons{margin-top:1.5rem}@media screen and (max-width:768px){.hero-buttons .button{display:flex}.hero-buttons .button:not(:last-child){margin-bottom:.75rem}}@media screen and (min-width:769px),print{.hero-buttons{display:flex;justify-content:center}.hero-buttons .button:not(:last-child){margin-right:1.5rem}}.hero-foot,.hero-head{flex-grow:0;flex-shrink:0}.hero-body{flex-grow:1;flex-shrink:0;padding:3rem 1.5rem}@media screen and (min-width:769px),print{.hero-body{padding:3rem 3rem}}.section{padding:3rem 1.5rem}@media screen and (min-width:1024px){.section{padding:3rem 3rem}.section.is-medium{padding:9rem 4.5rem}.section.is-large{padding:18rem 6rem}}.footer{background-color:#fafafa;padding:3rem 1.5rem 6rem} \ No newline at end of file diff --git a/src/public/css/custom-bootstrap.min.css b/src/public/css/custom-bootstrap.min.css new file mode 100644 index 00000000..1fa45850 --- /dev/null +++ b/src/public/css/custom-bootstrap.min.css @@ -0,0 +1,7 @@ +/*! + * Generated using the Bootstrap Customizer (https://getbootstrap.com/docs/3.4/customize/) + *//*! + * Bootstrap v3.4.1 (https://getbootstrap.com/) + * Copyright 2011-2019 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:bold;line-height:1;color:#ffffff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge,.btn-group-xs>.btn .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#ffffff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#ffffff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.tooltip{position:absolute;z-index:1070;display:block;font-family:inherit;font-style:normal;font-weight:400;line-height:1.42857143;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:0.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000000}.tooltip-inner{max-width:200px;padding:3px 8px;color:#ffffff;text-align:center;background-color:#000000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid} diff --git a/src/public/css/styles.css b/src/public/css/styles.css new file mode 100644 index 00000000..8254897c --- /dev/null +++ b/src/public/css/styles.css @@ -0,0 +1 @@ +@font-face{font-family:"Noto";src:url(/public/fonts/NotoSans-Regular.ttf) format("truetype");font-weight:normal}.theme,body{background-color:#fff;color:#333;font-family:Noto, sans-serif}.btn,.login-btn,.clear-btn{box-shadow:0 4px 8px 0 rgba(0,0,0,0.2);background-color:#337ab7;border-color:#2e6da4;border:1px solid transparent;color:white;border-radius:4px;font-size:1em;font-family:inherit;cursor:pointer;text-decoration:none}.btn.disabled,.disabled.login-btn,.disabled.clear-btn{background-color:#f1f1f1;pointer-events:auto;cursor:not-allowed;text-shadow:none}.dropdown-content{display:none;position:absolute;background-color:#f9f9f9;min-width:160px;font-size:0.9em;box-shadow:0px 8px 16px 0px rgba(0,0,0,0.2);z-index:1}.dropdown-content a{color:#333;padding:12px 16px;text-decoration:none;display:block}.dropdown-content a:hover{background-color:#f1f1f1}.dropdown-button{width:fit-content}.dropdown-button:hover .dropdown-content{display:block}.login-btn{width:100%;margin:30px auto;display:block;height:40px;box-shadow:0px 4px 10px 0px rgba(0,0,0,0.5)}.login-btn:hover{background-color:#2e6da4}.clear-btn{font-size:0.9em;background-color:white;align-items:center;border:1.9px solid #ccc;color:#333;margin:auto 5px;box-shadow:none;display:inline-flex;height:40px;padding:0 10px}.clear-btn:hover{background-color:#f1f1f1}.clear-btn img{margin-right:4px}a.clear-btn{height:38px}.tag.clear-btn{height:20px;color:#007AC0;border-color:#007AC0}.badge.tag{border:none;border-radius:4px;height:20px;font-weight:normal;font-size:.8125rem;cursor:pointer}.badge.status{display:inline-flex;height:12px;border-radius:4px;font-weight:normal;font-size:.8125rem;justify-self:center;align-items:center}.badge.tag.disabled{pointer-events:auto;cursor:not-allowed}form{margin:0 auto;padding:25px;border-radius:12px;background-color:white;box-shadow:0 10px 20px 0 rgba(0,0,0,0.1)}form input,form select{font-size:1rem;border:1px solid #ccc;border-radius:4px;padding:10px;width:100%;box-sizing:border-box}form input:focus,form select:focus{border:none;outline-style:solid;outline-color:#007AC0;box-shadow:0 0 4px 2px #007AC0;outline-width:2px}form select{appearance:none;background-color:white;cursor:pointer;background-image:url("/public/images/dropdown.svg");background-repeat:no-repeat;background-position:right 0.7rem top 50%;background-size:1.25em auto}#form_authenticate{font-size:1.25rem;width:550px}@media (max-width: 1023px){#form_authenticate{width:80%}}#form_authenticate input,#form_authenticate form select,form #form_authenticate select{margin:5px auto}#form_authenticate input input[type="text"],#form_authenticate form select input[type="text"],form #form_authenticate select input[type="text"],#form_authenticate input form select[type="text"],form #form_authenticate input select[type="text"],#form_authenticate form select select[type="text"],form #form_authenticate select select[type="text"]{margin-bottom:20px}#form_authenticate select{margin:5px auto 20px auto}.navbar{background-color:white;display:flex;position:fixed;top:0;left:0;width:100%;height:3.5em;align-items:center;box-sizing:border-box;padding:10px 15px;z-index:1000}@media (max-width: 1023px){.navbar{padding:10px 10px}}.navbar .navbar-branding{font-size:1.25rem;font-weight:bold;margin-right:10px}.navbar .navbar-branding img{width:100%;height:1.5em}@media (max-width: 1023px){.navbar #logo.navbar-branding{display:none}}.navbar #title.navbar-branding{display:none}@media (max-width: 1023px){.navbar #title.navbar-branding{display:block}}.navbar ul{list-style-type:none;margin-left:auto;padding:0;display:flex;cursor:pointer}.navbar a{text-decoration:none}.navbar .dropdown{position:relative}@media (min-width: 1023px){.navbar .dropdown:hover .dropdown-menu{display:block;visibility:visible}}.navbar .dropdown ul{width:200px}@media (max-width: 1023px){.navbar .dropdown ul{width:300px}}.navbar .dropdown img{margin:auto 8px;width:20px;height:20px}.navbar .dropdown #dropdown-btn{display:flex;align-items:center}@media (max-width: 1023px){.navbar .dropdown #dropdown-btn{display:none}}.navbar .dropdown-menu{box-shadow:0 10px 20px 0 rgba(0,0,0,0.1);position:absolute;border-radius:4px;top:100%;right:0;padding:10px;background-color:#fff;height:fit-content;border:1px solid #ccc;display:none;visibility:hidden}@media (max-width: 1023px){.navbar .dropdown-menu{top:150%}}.navbar .dropdown-menu li{color:#333;display:flex;align-items:center;height:2em}.navbar .dropdown-menu img{margin:auto 6px auto 0px}.navbar .hamburger-icon{display:none}@media (max-width: 1023px){.navbar .hamburger-icon{width:28px;height:28px;display:flex;padding:0px;flex-direction:column;justify-content:space-around;align-items:center;cursor:pointer}.navbar .hamburger-icon span{width:100%;height:2px;background-color:#333;transition:0.2s}}.navbar .open span:nth-child(1){transform:rotate(45deg) translate(6.5px, 6px)}.navbar .open span:nth-child(2){opacity:0}.navbar .open span:nth-child(3){transform:rotate(-45deg) translate(6.5px, -6px)}.navbar .active-dropdown{display:block;visibility:visible}.spinner{display:block;margin:1em auto;font-size:10px;position:relative;border:0.4em solid rgba(119,119,119,0.2);border-top-color:rgba(119,119,119,0.4);-webkit-transform:translateZ(0);-ms-transform:translateZ(0);transform:translateZ(0);-webkit-animation:loader .9s infinite linear;animation:loader .9s infinite linear;border-radius:50%;width:3em;height:3em}@-webkit-keyframes loader{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes loader{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.table-container{overflow-x:auto;display:flex;margin:0.5em 5px 1em 5px;width:auto;border-radius:8px}.table-container table{border-collapse:collapse;border-spacing:0;width:100%;max-width:100%}.table-container table a{color:#337ab7;text-decoration:none}.table-container table a:hover,.table-container table a:focus{color:#23527c;text-decoration:underline}.table-container table td{font-size:0.95em}.table-container table td:last-child{position:sticky;position:-webkit-sticky;right:0}.table-container table th,.table-container table td{text-align:left;padding:15px}.table-container table th{font-size:.875rem;background-color:rgba(220,220,220,0.6);border-bottom:1px solid #ccc}.table-container table th a{cursor:pointer}.table-container table th a:hover,.table-container table th a:focus{text-decoration:none}.table-container table th a:first-child{padding-right:3px}.table-container table th.header-actions{text-align:right}.table-container table tr:nth-child(even){background-color:#f2f2f2}.table-container table .action-link{cursor:pointer;z-index:-1}.table-container table .action-link:hover,.table-container table .action-link:focus{filter:brightness(0);text-decoration:none}@media (max-width: 600px){.table-container{box-shadow:none}.table-container table{table-layout:fixed}.table-container table thead{display:none}.table-container table tr:nth-child(even){background-color:white}.table-container table td{border-left:1px solid #ddd;border-right:1px solid #ddd;display:block;text-align:right;border-top:none}.table-container table td:not(.error-bg){background-color:#f2f2f2}.table-container table td .empty{padding:15px}.table-container table td::before{content:attr(data-label);float:left}.table-container table td:last-child{margin-bottom:1em;border-bottom:1px solid #ddd;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.table-container table td:first-child{border-top:1px solid #ddd;border-top-left-radius:4px;border-top-right-radius:4px}}.pagination{display:inline-flex;font-size:.875rem;width:100%;justify-content:center;margin:0 auto 70px auto}.pagination button{background-color:white;border:none;width:40px;font-size:1.25rem;cursor:pointer}.pagination a{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;color:black;float:left;margin:auto 1px;padding:8px 16px;text-decoration:none;border-radius:4px;border:1px solid #ccc;cursor:pointer;display:none}.pagination a:nth-child(-n+4),.pagination a.collapse{display:block}.pagination a:nth-last-child(-n+3){display:block}.pagination a.active{background-color:#007AC0;display:block;color:white;border:1px solid #007AC0}.pagination a:hover:not(.active){background-color:#f1f1f1}.pagination .pager-control{display:inline-flex;justify-content:center;align-items:center;margin-left:20px;height:inherit;font-size:.875rem;float:right}.pagination .pager-control span{margin-right:5px}.pagination .pager-control select{font-size:.875rem;background-color:white;border:1px solid #ccc;border-radius:4px;padding:auto;height:inherit}.topnav{overflow-x:auto;background-color:white;max-height:10em;display:flex;border-bottom:1px solid #ccc;position:sticky;position:-webkit-sticky;top:3.4em;z-index:900}.topnav a{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;font-size:1rem;cursor:pointer;float:left;display:block;color:#545454;text-align:center;padding:14px 17px;text-decoration:none}@media (max-width: 1023px){.topnav a{font-size:.875rem}}.topnav a:hover{color:black}.topnav .active{border-bottom:3px solid #007AC0;color:black}.topnav .active span{background-color:#007AC0}.nav-content h2{margin-left:5px}.directive{background-color:#f5f5f5;margin:1em auto;min-height:3em;padding:10px 25px}.directive h3{margin:5px auto}@media (max-width: 1023px){.directive{font-size:0.9em;padding:10px}}.directive .prompt-save a{float:right;top:20%}.directive.get-started{box-shadow:0 4px 8px 0 rgba(0,0,0,0.2);background-color:#f5f5f5;font-size:1.25rem;padding-bottom:40px;text-align:center;border-radius:#ccc;margin:7em 7em;display:flex;flex-direction:column;justify-content:center;align-items:center}.directive.get-started p{max-width:40%}.directive.get-started span{font-size:1.75rem}.directive.get-started .directive-dropdown{display:flex}@media (max-width: 1023px){.directive.get-started{margin:7em 5px;padding:10px 10px 30px 10px}.directive.get-started p{width:90%;max-width:none}.directive.get-started button{font-size:1rem}}.hidden-tag-container{margin-top:10px;font-size:0.95em}.login-page{background-color:#F8F8F8}.container{margin:0 auto;padding-top:0.4em}.border{border:1px solid blue}.actions{display:flex;justify-content:flex-end;padding:10px}.actions .top,.actions .bottom{display:flex;align-items:center;width:fit-content}@media (max-width: 600px){.actions{padding:0;flex-direction:column;width:100%}.actions button,.actions a{width:14em;margin:2px}.actions .top{order:1;width:inherit;justify-content:center;margin:5px auto 3px auto}.actions .bottom{order:2;width:inherit;justify-content:center}}.content{padding-top:3em;margin:auto;width:98%}.center{margin:1em}.hidden{display:none}.active{display:block}img{vertical-align:middle}.error{color:#da4548;text-align:center;display:none;font-size:1rem}.error-text{color:#f14668}.success-text{color:#48c78e}.staging-text{color:#007AC0}.warning-text{color:#ffe08a}.error-bg{background-color:#f14668}.success-bg{background-color:#48c78e}.staging-bg{background-color:#007AC0}.warning-bg{background-color:#ffe08a;color:#333}.striped-bg{background:repeating-linear-gradient(135deg, #606dbc, #606dbc 5px, #465298 5px, #465298 10px)}.logo{width:60%;margin:30px auto 40px auto;display:block}.login-branding{width:400px;margin:0 auto}@media (max-width: 1023px){.login-branding{width:85%}}.login-branding p{text-align:center;font-size:1.5rem;font-weight:bold}progress{width:100%;height:15px;margin:10px auto;background-color:white;border-radius:10px;overflow:hidden}progress::-webkit-progress-bar{background-color:white;border-radius:10px}progress::-moz-progress-bar{background-color:#007AC0}progress::-webkit-progress-value{background-color:#007AC0;border-radius:10px;transition:width 1s ease} diff --git a/src/public/fonts/NotoSans-Regular.ttf b/src/public/fonts/NotoSans-Regular.ttf new file mode 100644 index 00000000..7552fbe8 Binary files /dev/null and b/src/public/fonts/NotoSans-Regular.ttf differ diff --git a/src/public/icons/cloud.svg b/src/public/icons/cloud.svg new file mode 100644 index 00000000..f0442c20 --- /dev/null +++ b/src/public/icons/cloud.svg @@ -0,0 +1 @@ + diff --git a/src/public/icons/delete-all.svg b/src/public/icons/delete-all.svg new file mode 100644 index 00000000..87cc08a2 --- /dev/null +++ b/src/public/icons/delete-all.svg @@ -0,0 +1 @@ + diff --git a/src/public/icons/delete.svg b/src/public/icons/delete.svg new file mode 100644 index 00000000..5255cfbf --- /dev/null +++ b/src/public/icons/delete.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/src/public/icons/dropdown.svg b/src/public/icons/dropdown.svg new file mode 100644 index 00000000..289fd066 --- /dev/null +++ b/src/public/icons/dropdown.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/src/public/icons/edit.svg b/src/public/icons/edit.svg new file mode 100644 index 00000000..19e57deb --- /dev/null +++ b/src/public/icons/edit.svg @@ -0,0 +1 @@ + diff --git a/src/public/icons/error.svg b/src/public/icons/error.svg new file mode 100644 index 00000000..f03443b6 --- /dev/null +++ b/src/public/icons/error.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/src/public/icons/logout.svg b/src/public/icons/logout.svg new file mode 100644 index 00000000..b16865b3 --- /dev/null +++ b/src/public/icons/logout.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/src/public/icons/move.svg b/src/public/icons/move.svg new file mode 100644 index 00000000..3f2f49eb --- /dev/null +++ b/src/public/icons/move.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/src/public/icons/password.svg b/src/public/icons/password.svg new file mode 100644 index 00000000..5834f10f --- /dev/null +++ b/src/public/icons/password.svg @@ -0,0 +1 @@ + diff --git a/src/public/icons/plus.svg b/src/public/icons/plus.svg new file mode 100644 index 00000000..99438e9d --- /dev/null +++ b/src/public/icons/plus.svg @@ -0,0 +1 @@ + diff --git a/src/public/icons/refresh-table.svg b/src/public/icons/refresh-table.svg new file mode 100644 index 00000000..4453703d --- /dev/null +++ b/src/public/icons/refresh-table.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/src/public/icons/refresh.svg b/src/public/icons/refresh.svg new file mode 100644 index 00000000..8181672e --- /dev/null +++ b/src/public/icons/refresh.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/src/public/icons/save.svg b/src/public/icons/save.svg new file mode 100644 index 00000000..3724b653 --- /dev/null +++ b/src/public/icons/save.svg @@ -0,0 +1 @@ + diff --git a/src/public/icons/upload-users.svg b/src/public/icons/upload-users.svg new file mode 100644 index 00000000..abb50508 --- /dev/null +++ b/src/public/icons/upload-users.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/src/public/icons/upload.svg b/src/public/icons/upload.svg new file mode 100644 index 00000000..5b17a336 --- /dev/null +++ b/src/public/icons/upload.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/src/public/icons/warning.svg b/src/public/icons/warning.svg new file mode 100644 index 00000000..d2787a21 --- /dev/null +++ b/src/public/icons/warning.svg @@ -0,0 +1,11 @@ + + + + + + + + + warning + + diff --git a/src/public/material-symbols.css b/src/public/material-symbols.css deleted file mode 100644 index 09ed7b7a..00000000 --- a/src/public/material-symbols.css +++ /dev/null @@ -1,23 +0,0 @@ -/* fallback */ -@font-face { - font-family: 'Material Symbols Outlined'; - font-style: normal; - font-weight: 400; - src: url(/public/material-symbols.woff2) format('woff2'); -} - -.material-symbols-outlined { - font-family: 'Material Symbols Outlined'; - font-weight: normal; - font-style: normal; - font-size: 24px; - line-height: 1; - letter-spacing: normal; - text-transform: none; - display: inline-block; - white-space: nowrap; - word-wrap: normal; - direction: ltr; - -webkit-font-feature-settings: 'liga'; - -webkit-font-smoothing: antialiased; -} diff --git a/src/public/material-symbols.woff2 b/src/public/material-symbols.woff2 deleted file mode 100644 index d1e47732..00000000 Binary files a/src/public/material-symbols.woff2 and /dev/null differ diff --git a/src/public/scripts/bootstrap.min.js b/src/public/scripts/bootstrap.min.js new file mode 100644 index 00000000..a964f219 --- /dev/null +++ b/src/public/scripts/bootstrap.min.js @@ -0,0 +1,11 @@ +/*! + * Generated using the Bootstrap Customizer (https://getbootstrap.com/docs/3.4/customize/) + */ + +/*! + * Bootstrap v3.4.1 (https://getbootstrap.com/) + * Copyright 2011-2024 Twitter, Inc. + * Licensed under the MIT license + */ + +if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(t){"use strict";var e=t.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1==e[0]&&9==e[1]&&e[2]<1||e[0]>3)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4")}(jQuery),+function(t){"use strict";function e(e,i){var o=e.nodeName.toLowerCase();if(-1!==t.inArray(o,i))return-1!==t.inArray(o,s)?Boolean(e.nodeValue.match(l)||e.nodeValue.match(p)):!0;for(var n=t(i).filter(function(t,e){return e instanceof RegExp}),r=0,a=n.length;a>r;r++)if(o.match(n[r]))return!0;return!1}function i(i,o,n){if(0===i.length)return i;if(n&&"function"==typeof n)return n(i);if(!document.implementation||!document.implementation.createHTMLDocument)return i;var s=document.implementation.createHTMLDocument("sanitization");s.body.innerHTML=i;for(var r=t.map(o,function(t,e){return e}),a=t(s.body).find("*"),l=0,p=a.length;p>l;l++){var h=a[l],u=h.nodeName.toLowerCase();if(-1!==t.inArray(u,r))for(var f=t.map(h.attributes,function(t){return t}),c=[].concat(o["*"]||[],o[u]||[]),d=0,m=f.length;m>d;d++)e(f[d],c)||h.removeAttribute(f[d].nodeName);else h.parentNode.removeChild(h)}return s.body.innerHTML}function o(e){return this.each(function(){var i=t(this),o=i.data("bs.tooltip"),n="object"==typeof e&&e;!o&&/destroy|hide/.test(e)||(o||i.data("bs.tooltip",o=new h(this,n)),"string"==typeof e&&o[e]())})}var n=["sanitize","whiteList","sanitizeFn"],s=["background","cite","href","itemtype","longdesc","poster","src","xlink:href"],r=/^aria-[\w-]*$/i,a={"*":["class","dir","id","lang","role",r],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},l=/^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi,p=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i,h=function(t,e){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.inState=null,this.init("tooltip",t,e)};h.VERSION="3.4.1",h.TRANSITION_DURATION=150,h.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0},sanitize:!0,sanitizeFn:null,whiteList:a},h.prototype.init=function(e,i,o){if(this.enabled=!0,this.type=e,this.$element=t(i),this.options=this.getOptions(o),this.$viewport=this.options.viewport&&t(document).find(t.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var n=this.options.trigger.split(" "),s=n.length;s--;){var r=n[s];if("click"==r)this.$element.on("click."+this.type,this.options.selector,t.proxy(this.toggle,this));else if("manual"!=r){var a="hover"==r?"mouseenter":"focusin",l="hover"==r?"mouseleave":"focusout";this.$element.on(a+"."+this.type,this.options.selector,t.proxy(this.enter,this)),this.$element.on(l+"."+this.type,this.options.selector,t.proxy(this.leave,this))}}this.options.selector?this._options=t.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},h.prototype.getDefaults=function(){return h.DEFAULTS},h.prototype.getOptions=function(e){var o=this.$element.data();for(var s in o)o.hasOwnProperty(s)&&-1!==t.inArray(s,n)&&delete o[s];return e=t.extend({},this.getDefaults(),o,e),e.delay&&"number"==typeof e.delay&&(e.delay={show:e.delay,hide:e.delay}),e.sanitize&&(e.template=i(e.template,e.whiteList,e.sanitizeFn)),e},h.prototype.getDelegateOptions=function(){var e={},i=this.getDefaults();return this._options&&t.each(this._options,function(t,o){i[t]!=o&&(e[t]=o)}),e},h.prototype.enter=function(e){var i=e instanceof this.constructor?e:t(e.currentTarget).data("bs."+this.type);return i||(i=new this.constructor(e.currentTarget,this.getDelegateOptions()),t(e.currentTarget).data("bs."+this.type,i)),e instanceof t.Event&&(i.inState["focusin"==e.type?"focus":"hover"]=!0),i.tip().hasClass("in")||"in"==i.hoverState?void(i.hoverState="in"):(clearTimeout(i.timeout),i.hoverState="in",i.options.delay&&i.options.delay.show?void(i.timeout=setTimeout(function(){"in"==i.hoverState&&i.show()},i.options.delay.show)):i.show())},h.prototype.isInStateTrue=function(){for(var t in this.inState)if(this.inState[t])return!0;return!1},h.prototype.leave=function(e){var i=e instanceof this.constructor?e:t(e.currentTarget).data("bs."+this.type);return i||(i=new this.constructor(e.currentTarget,this.getDelegateOptions()),t(e.currentTarget).data("bs."+this.type,i)),e instanceof t.Event&&(i.inState["focusout"==e.type?"focus":"hover"]=!1),i.isInStateTrue()?void 0:(clearTimeout(i.timeout),i.hoverState="out",i.options.delay&&i.options.delay.hide?void(i.timeout=setTimeout(function(){"out"==i.hoverState&&i.hide()},i.options.delay.hide)):i.hide())},h.prototype.show=function(){var e=t.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(e);var i=t.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(e.isDefaultPrevented()||!i)return;var o=this,n=this.tip(),s=this.getUID(this.type);this.setContent(),n.attr("id",s),this.$element.attr("aria-describedby",s),this.options.animation&&n.addClass("fade");var r="function"==typeof this.options.placement?this.options.placement.call(this,n[0],this.$element[0]):this.options.placement,a=/\s?auto?\s?/i,l=a.test(r);l&&(r=r.replace(a,"")||"top"),n.detach().css({top:0,left:0,display:"block"}).addClass(r).data("bs."+this.type,this),this.options.container?n.appendTo(t(document).find(this.options.container)):n.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var p=this.getPosition(),u=n[0].offsetWidth,f=n[0].offsetHeight;if(l){var c=r,d=this.getPosition(this.$viewport);r="bottom"==r&&p.bottom+f>d.bottom?"top":"top"==r&&p.top-fd.width?"left":"left"==r&&p.left-ur.top+r.height&&(n.top=r.top+r.height-l)}else{var p=e.left-s,h=e.left+s+i;pr.right&&(n.left=r.left+r.width-h)}return n},h.prototype.getTitle=function(){var t,e=this.$element,i=this.options;return t=e.attr("data-original-title")||("function"==typeof i.title?i.title.call(e[0]):i.title)},h.prototype.getUID=function(t){do t+=~~(1e6*Math.random());while(document.getElementById(t));return t},h.prototype.tip=function(){if(!this.$tip&&(this.$tip=t(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},h.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},h.prototype.enable=function(){this.enabled=!0},h.prototype.disable=function(){this.enabled=!1},h.prototype.toggleEnabled=function(){this.enabled=!this.enabled},h.prototype.toggle=function(e){var i=this;e&&(i=t(e.currentTarget).data("bs."+this.type),i||(i=new this.constructor(e.currentTarget,this.getDelegateOptions()),t(e.currentTarget).data("bs."+this.type,i))),e?(i.inState.click=!i.inState.click,i.isInStateTrue()?i.enter(i):i.leave(i)):i.tip().hasClass("in")?i.leave(i):i.enter(i)},h.prototype.destroy=function(){var t=this;clearTimeout(this.timeout),this.hide(function(){t.$element.off("."+t.type).removeData("bs."+t.type),t.$tip&&t.$tip.detach(),t.$tip=null,t.$arrow=null,t.$viewport=null,t.$element=null})},h.prototype.sanitizeHtml=function(t){return i(t,this.options.whiteList,this.options.sanitizeFn)};var u=t.fn.tooltip;t.fn.tooltip=o,t.fn.tooltip.Constructor=h,t.fn.tooltip.noConflict=function(){return t.fn.tooltip=u,this}}(jQuery); \ No newline at end of file diff --git a/src/public/htmx.min.js b/src/public/scripts/htmx.min.js similarity index 100% rename from src/public/htmx.min.js rename to src/public/scripts/htmx.min.js diff --git a/src/public/scripts/jquery-3.7.1.slim.min.js b/src/public/scripts/jquery-3.7.1.slim.min.js new file mode 100644 index 00000000..35906b92 --- /dev/null +++ b/src/public/scripts/jquery-3.7.1.slim.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.7.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-deprecated/ajax-event-alias,-effects,-effects/animatedSelector,-effects/Tween | (c) OpenJS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(ie,e){"use strict";var oe=[],r=Object.getPrototypeOf,ae=oe.slice,g=oe.flat?function(e){return oe.flat.call(e)}:function(e){return oe.concat.apply([],e)},s=oe.push,se=oe.indexOf,n={},i=n.toString,ue=n.hasOwnProperty,o=ue.toString,a=o.call(Object),le={},v=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},y=function(e){return null!=e&&e===e.window},m=ie.document,u={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||m).createElement("script");if(o.text=e,t)for(r in u)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[i.call(e)]||"object":typeof e}var t="3.7.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-deprecated/ajax-event-alias,-effects,-effects/animatedSelector,-effects/Tween",l=/HTML$/i,ce=function(e,t){return new ce.fn.init(e,t)};function c(e){var t=!!e&&"length"in e&&e.length,n=x(e);return!v(e)&&!y(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+ge+")"+ge+"*"),b=new RegExp(ge+"|>"),A=new RegExp(g),D=new RegExp("^"+t+"$"),N={ID:new RegExp("^#("+t+")"),CLASS:new RegExp("^\\.("+t+")"),TAG:new RegExp("^("+t+"|[*])"),ATTR:new RegExp("^"+d),PSEUDO:new RegExp("^"+g),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ge+"*(even|odd|(([+-]|)(\\d*)n|)"+ge+"*(?:([+-]|)"+ge+"*(\\d+)|))"+ge+"*\\)|)","i"),bool:new RegExp("^(?:"+f+")$","i"),needsContext:new RegExp("^"+ge+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ge+"*((?:-\\d)?\\d*)"+ge+"*\\)|)(?=[^-]|$)","i")},L=/^(?:input|select|textarea|button)$/i,j=/^h\d$/i,O=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,P=/[+~]/,H=new RegExp("\\\\[\\da-fA-F]{1,6}"+ge+"?|\\\\([^\\r\\n\\f])","g"),q=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},R=function(){V()},M=K(function(e){return!0===e.disabled&&fe(e,"fieldset")},{dir:"parentNode",next:"legend"});try{E.apply(oe=ae.call(ye.childNodes),ye.childNodes),oe[ye.childNodes.length].nodeType}catch(e){E={apply:function(e,t){me.apply(e,ae.call(t))},call:function(e){me.apply(e,ae.call(arguments,1))}}}function I(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,d=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==d&&9!==d&&11!==d)return n;if(!r&&(V(e),e=e||C,T)){if(11!==d&&(u=O.exec(t)))if(i=u[1]){if(9===d){if(!(a=e.getElementById(i)))return n;if(a.id===i)return E.call(n,a),n}else if(f&&(a=f.getElementById(i))&&I.contains(e,a)&&a.id===i)return E.call(n,a),n}else{if(u[2])return E.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&e.getElementsByClassName)return E.apply(n,e.getElementsByClassName(i)),n}if(!(h[t+" "]||p&&p.test(t))){if(c=t,f=e,1===d&&(b.test(t)||m.test(t))){(f=P.test(t)&&X(e.parentNode)||e)==e&&le.scope||((s=e.getAttribute("id"))?s=ce.escapeSelector(s):e.setAttribute("id",s=k)),o=(l=Y(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+G(l[o]);c=l.join(",")}try{return E.apply(n,f.querySelectorAll(c)),n}catch(e){h(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return re(t.replace(ve,"$1"),e,n,r)}function W(){var r=[];return function e(t,n){return r.push(t+" ")>x.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function B(e){return e[k]=!0,e}function F(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function $(t){return function(e){return fe(e,"input")&&e.type===t}}function _(t){return function(e){return(fe(e,"input")||fe(e,"button"))&&e.type===t}}function z(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&M(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function U(a){return B(function(o){return o=+o,B(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function X(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function V(e){var t,n=e?e.ownerDocument||e:ye;return n!=C&&9===n.nodeType&&n.documentElement&&(r=(C=n).documentElement,T=!ce.isXMLDoc(C),i=r.matches||r.webkitMatchesSelector||r.msMatchesSelector,r.msMatchesSelector&&ye!=C&&(t=C.defaultView)&&t.top!==t&&t.addEventListener("unload",R),le.getById=F(function(e){return r.appendChild(e).id=ce.expando,!C.getElementsByName||!C.getElementsByName(ce.expando).length}),le.disconnectedMatch=F(function(e){return i.call(e,"*")}),le.scope=F(function(){return C.querySelectorAll(":scope")}),le.cssHas=F(function(){try{return C.querySelector(":has(*,:jqfake)"),!1}catch(e){return!0}}),le.getById?(x.filter.ID=function(e){var t=e.replace(H,q);return function(e){return e.getAttribute("id")===t}},x.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&T){var n=t.getElementById(e);return n?[n]:[]}}):(x.filter.ID=function(e){var n=e.replace(H,q);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},x.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&T){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),x.find.TAG=function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):t.querySelectorAll(e)},x.find.CLASS=function(e,t){if("undefined"!=typeof t.getElementsByClassName&&T)return t.getElementsByClassName(e)},p=[],F(function(e){var t;r.appendChild(e).innerHTML="",e.querySelectorAll("[selected]").length||p.push("\\["+ge+"*(?:value|"+f+")"),e.querySelectorAll("[id~="+k+"-]").length||p.push("~="),e.querySelectorAll("a#"+k+"+*").length||p.push(".#.+[+~]"),e.querySelectorAll(":checked").length||p.push(":checked"),(t=C.createElement("input")).setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),r.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&p.push(":enabled",":disabled"),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||p.push("\\["+ge+"*name"+ge+"*="+ge+"*(?:''|\"\")")}),le.cssHas||p.push(":has"),p=p.length&&new RegExp(p.join("|")),l=function(e,t){if(e===t)return a=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!le.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument==ye&&I.contains(ye,e)?-1:t===C||t.ownerDocument==ye&&I.contains(ye,t)?1:o?se.call(o,e)-se.call(o,t):0:4&n?-1:1)}),C}for(e in I.matches=function(e,t){return I(e,null,null,t)},I.matchesSelector=function(e,t){if(V(e),T&&!h[t+" "]&&(!p||!p.test(t)))try{var n=i.call(e,t);if(n||le.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){h(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(H,q),e[3]=(e[3]||e[4]||e[5]||"").replace(H,q),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||I.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&I.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return N.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&A.test(n)&&(t=Y(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(H,q).toLowerCase();return"*"===e?function(){return!0}:function(e){return fe(e,t)}},CLASS:function(e){var t=s[e+" "];return t||(t=new RegExp("(^|"+ge+")"+e+"("+ge+"|$)"))&&s(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=I.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function T(e,n,r){return v(n)?ce.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?ce.grep(e,function(e){return e===n!==r}):"string"!=typeof n?ce.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(ce.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||E,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:k.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof ce?t[0]:t,ce.merge(this,ce.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:m,!0)),C.test(r[1])&&ce.isPlainObject(t))for(r in t)v(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=m.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):v(e)?void 0!==n.ready?n.ready(e):e(ce):ce.makeArray(e,this)}).prototype=ce.fn,E=ce(m);var S=/^(?:parents|prev(?:Until|All))/,A={children:!0,contents:!0,next:!0,prev:!0};function D(e,t){while((e=e[t])&&1!==e.nodeType);return e}ce.fn.extend({has:function(e){var t=ce(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,Ce=/^$|^module$|\/(?:java|ecma)script/i;re=m.createDocumentFragment().appendChild(m.createElement("div")),(be=m.createElement("input")).setAttribute("type","radio"),be.setAttribute("checked","checked"),be.setAttribute("name","t"),re.appendChild(be),le.checkClone=re.cloneNode(!0).cloneNode(!0).lastChild.checked,re.innerHTML="",le.noCloneChecked=!!re.cloneNode(!0).lastChild.defaultValue,re.innerHTML="",le.option=!!re.lastChild;var Te={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function Ee(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&fe(e,t)?ce.merge([e],n):n}function ke(e,t){for(var n=0,r=e.length;n",""]);var Se=/<|&#?\w+;/;function Ae(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),d=[],p=0,h=e.length;p\s*$/g;function Re(e,t){return fe(e,"table")&&fe(11!==t.nodeType?t:t.firstChild,"tr")&&ce(e).children("tbody")[0]||e}function Me(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Ie(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function We(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(_.hasData(e)&&(s=_.get(e).events))for(i in _.remove(t,"handle events"),s)for(n=0,r=s[i].length;n
",2===yt.childNodes.length),ce.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(le.createHTMLDocument?((r=(t=m.implementation.createHTMLDocument("")).createElement("base")).href=m.location.href,t.head.appendChild(r)):t=m),o=!n&&[],(i=C.exec(e))?[t.createElement(i[1])]:(i=Ae([e],t,o),o&&o.length&&ce(o).remove(),ce.merge([],i.childNodes)));var r,i,o},ce.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=ce.css(e,"position"),c=ce(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=ce.css(e,"top"),u=ce.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),v(t)&&(t=t.call(e,n,ce.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},ce.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){ce.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===ce.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===ce.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=ce(e).offset()).top+=ce.css(e,"borderTopWidth",!0),i.left+=ce.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-ce.css(r,"marginTop",!0),left:t.left-i.left-ce.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===ce.css(e,"position"))e=e.offsetParent;return e||K})}}),ce.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;ce.fn[t]=function(e){return R(this,function(e,t,n){var r;if(y(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),ce.each(["top","left"],function(e,n){ce.cssHooks[n]=Qe(le.pixelPosition,function(e,t){if(t)return t=Ve(e,n),$e.test(t)?ce(e).position()[n]+"px":t})}),ce.each({Height:"height",Width:"width"},function(a,s){ce.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){ce.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return R(this,function(e,t,n){var r;return y(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?ce.css(e,t,i):ce.style(e,t,n,i)},s,n?e:void 0,n)}})}),ce.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.on("mouseenter",e).on("mouseleave",t||e)}}),ce.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){ce.fn[n]=function(e,t){return 0 { - const { op, type: placeType } = req.query as any; + const { op, type: placeType, page, pageSize } = req.query as any; const contactType = Config.getContactType(placeType); const sessionCache: SessionCache = req.sessionCache; const chtApi = new ChtApi(req.chtSession); if (op === 'new' || op === 'replace') { await PlaceFactory.createOne(req.body, contactType, sessionCache, chtApi); - resp.header('HX-Redirect', `/`); + resp.header('HX-Redirect', `/?type=${contactType.name}&page=${page}&pageSize=${pageSize}`); return; } @@ -74,17 +80,21 @@ export default async function addPlace(fastify: FastifyInstance) { }, }); } - resp.header('HX-Redirect', '/'); + resp.header('HX-Redirect', `/?type=${contactType.name}&page=${page}&pageSize=${pageSize}`); return; } throw new Error('unknown op'); }); - fastify.get('/place/edit/:id', async (req, resp) => { + fastify.get('/place/edit/:id/:contactTypeName', async (req, resp) => { const params: any = req.params; - const { id } = params; - + const { id, contactTypeName } = params; + const queryParams = req.query as any; + const pageInfo = { + page: queryParams.page, + pageSize: queryParams.pageSize, + }; const sessionCache: SessionCache = req.sessionCache; const place = sessionCache.getPlace(id); if (!place || place.isCreated) { @@ -98,10 +108,11 @@ export default async function addPlace(fastify: FastifyInstance) { logo: Config.getLogoBase64(), hierarchy: Config.getHierarchyWithReplacement(place.type, 'desc'), place, + pageInfo, session: req.chtSession, contactType: place.type, contactTypes: Config.contactTypes(), - backend: `/place/edit/${id}`, + backend: `/place/edit/${id}/${contactTypeName}`, data, userRoleProperty: Config.getUserRoleConfig(place.type) }; @@ -110,16 +121,16 @@ export default async function addPlace(fastify: FastifyInstance) { return resp.view('src/liquid/app/view.html', tmplData); }); - fastify.post('/place/edit/:id', async (req, resp) => { - const { id } = req.params as any; + fastify.post('/place/edit/:id/:contactTypeName', async (req, resp) => { + const { id, contactTypeName } = req.params as any; + const { page, pageSize } = req.query as any; const data: any = req.body; const sessionCache: SessionCache = req.sessionCache; const chtApi = new ChtApi(req.chtSession); await PlaceFactory.editOne(id, data, sessionCache, chtApi); - // back to places list - resp.header('HX-Redirect', `/`); + resp.header('HX-Redirect', `/?type=${contactTypeName}&page=${page}&pageSize=${pageSize}`); }); fastify.post('/place/refresh/:id', async (req) => { diff --git a/src/routes/app.ts b/src/routes/app.ts index dbc0cb4c..7432f853 100644 --- a/src/routes/app.ts +++ b/src/routes/app.ts @@ -8,18 +8,20 @@ import RemotePlaceCache from '../lib/remote-place-cache'; import RemotePlaceResolver from '../lib/remote-place-resolver'; import SessionCache from '../services/session-cache'; import { UploadManager } from '../services/upload-manager'; +import Pagination from '../services/pagination'; export default async function sessionCache(fastify: FastifyInstance) { fastify.get('/', async (req, resp) => { const contactTypes = Config.contactTypes(); + const queryParams: any = req.query; const { op = 'table', type: placeTypeName = contactTypes[0].name, - } = req.query as any; + } = queryParams; const contactType = Config.getContactType(placeTypeName); const sessionCache: SessionCache = req.sessionCache; - const directiveModel = new DirectiveModel(sessionCache, req.cookies.filter); + const directiveModel = new DirectiveModel(sessionCache, req.cookies.filter, contactTypes, queryParams.type); const placeData = contactTypes.map((item) => { return { ...item, @@ -28,11 +30,17 @@ export default async function sessionCache(fastify: FastifyInstance) { }; }); + const pageInfo = { + page: queryParams.page, + pageSize: queryParams.pageSize, + }; + const tmplData = { view: 'list', session: req.chtSession, logo: Config.getLogoBase64(), op, + pageInfo, contactType, contactTypes: placeData, directiveModel, @@ -40,32 +48,45 @@ export default async function sessionCache(fastify: FastifyInstance) { return resp.view('src/liquid/app/view.html', tmplData); }); - + fastify.get('/app/list', async (req, resp) => { + const queryParams: any = req.query; + const page = queryParams.page && parseInt(queryParams.page, 10); + const pageSize = queryParams.pageSize && parseInt(queryParams.pageSize, 10); + const requestContactTypeName = queryParams.contactTypeName; + + const pagination = new Pagination({ page, pageSize, requestContactTypeName }); + const contactTypes = Config.contactTypes(); const sessionCache: SessionCache = req.sessionCache; - const directiveModel = new DirectiveModel(sessionCache, req.cookies.filter); + const directiveModel = new DirectiveModel(sessionCache, req.cookies.filter, contactTypes, requestContactTypeName); + const placeData = contactTypes.map((item) => { + const itemPlacesData = sessionCache.getPlaces({ + type: item.name, + filter: directiveModel.filter, + }); return { ...item, - places: sessionCache.getPlaces({ - type: item.name, - filter: directiveModel.filter, - }), + places: pagination.getPageData(itemPlacesData, item.name), hierarchy: Config.getHierarchyWithReplacement(item, 'desc'), userRoleProperty: Config.getUserRoleConfig(item), }; }); + const tmplData = { session: req.chtSession, contactTypes: placeData, + directiveModel }; return resp.view('src/liquid/place/list.html', tmplData); }); - fastify.post('/app/remove-all', async (req, resp) => { + fastify.post('/app/remove-all/:contactTypeName?', async (req, resp) => { + const params: any = req.params; + const contactTypeName = params.contactTypeName; const sessionCache: SessionCache = req.sessionCache; - sessionCache.removeAll(); + sessionCache.removeAll(contactTypeName); resp.header('HX-Redirect', '/'); }); @@ -100,6 +121,7 @@ export default async function sessionCache(fastify: FastifyInstance) { const filter = params.filter; resp.setCookie('filter', filter, { signed: false, + sameSite: 'strict', httpOnly: true, expires: Auth.cookieExpiry(), path: '/', diff --git a/src/routes/authentication.ts b/src/routes/authentication.ts index 0a8efc2b..ef23de53 100644 --- a/src/routes/authentication.ts +++ b/src/routes/authentication.ts @@ -7,7 +7,7 @@ import ChtSession from '../lib/cht-session'; export default async function authentication(fastify: FastifyInstance) { const unauthenticatedOptions = { - preParsing: async (req : FastifyRequest) => { + preParsing: async (req: FastifyRequest) => { req.unauthenticated = true; }, }; @@ -45,6 +45,7 @@ export default async function authentication(fastify: FastifyInstance) { const expires = Auth.cookieExpiry(); resp.setCookie(Auth.AUTH_COOKIE_NAME, tokenizedSession, { signed: false, + sameSite: 'strict', httpOnly: true, expires, secure: true diff --git a/src/routes/events.ts b/src/routes/events.ts index 231db602..8e8cc93d 100644 --- a/src/routes/events.ts +++ b/src/routes/events.ts @@ -30,6 +30,28 @@ export default async function events(fastify: FastifyInstance) { }); }; + const updateNavBadge = async () => { + const contactTypes = Config.contactTypes(); + const directiveModel = new DirectiveModel( + sessionCache, + req.cookies.filter, + contactTypes + ); + for (const contactType of contactTypes) { + const html = await fastify.view( + 'src/liquid/components/nav_badge.html', + { contactType, directiveModel } + ); + resp.sse({ + event: `badge-${contactType.name}`, + data: minify(html, { + html5: true, + collapseWhitespace: true, + }), + }); + } + }; + const placeChangeListener = async (arg: string) => { const place = sessionCache.getPlace(arg); if (!place) { @@ -57,6 +79,7 @@ export default async function events(fastify: FastifyInstance) { }); } await updateDirective(); + await updateNavBadge(); }; uploadManager.on('refresh_table_row', placeChangeListener); diff --git a/src/scss/_buttons.scss b/src/scss/_buttons.scss new file mode 100644 index 00000000..83c71332 --- /dev/null +++ b/src/scss/_buttons.scss @@ -0,0 +1,111 @@ +.btn { + @include card-shadow; + background-color: #337ab7; + border-color: #2e6da4; + border: 1px solid transparent; + color: white; + border-radius: $border-radius; + font-size: 1em; + font-family: inherit; + cursor: pointer; + text-decoration: none; +} + +.btn.disabled { + background-color: #f1f1f1; + pointer-events: auto; + cursor: not-allowed; + text-shadow: none; +} + +.dropdown-content { + display: none; + position: absolute; + background-color: #f9f9f9; + min-width: 160px; + font-size: 0.9em; + box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2); + z-index: 1; + + a { + color: $default-text-color; + padding: 12px 16px; + text-decoration: none; + display: block; + &:hover { + background-color: #f1f1f1; + } + } +} +.dropdown-button { + width: fit-content; +} + +.dropdown-button:hover .dropdown-content { + display: block; +} + +.login-btn { + @extend .btn; + width: 100%; + margin: 30px auto; + display: block; + height: 40px; + box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.5); + &:hover { + background-color: #2e6da4; + } +} + +.clear-btn { + @extend .btn; + font-size: 0.9em; + background-color: white; + align-items: center; + border: 1.9px solid $element-border-color; + color: $default-text-color; + margin: auto 5px; + box-shadow: none; + display: inline-flex; + height: 40px; + padding: 0 10px; + &:hover { + background-color: #f1f1f1; + } + img { + margin-right: 4px; + } +} + +a.clear-btn { + height: 38px; +} +.tag.clear-btn { + height: 20px; + color: $primary-color; + border-color: $primary-color; +} + +.badge.tag { + border: none; + border-radius: 4px; + height: 20px; + font-weight: normal; + font-size: $font-extra-small; + cursor: pointer; +} + +.badge.status { + display: inline-flex; + height: 12px; + border-radius: 4px; + font-weight: normal; + font-size: $font-extra-small; + justify-self: center; + align-items: center; +} + +.badge.tag.disabled { + pointer-events: auto; + cursor: not-allowed; +} diff --git a/src/scss/_directives.scss b/src/scss/_directives.scss new file mode 100644 index 00000000..4691d317 --- /dev/null +++ b/src/scss/_directives.scss @@ -0,0 +1,58 @@ +.directive { + background-color: #f5f5f5; + margin: 1em auto; + min-height: 3em; + padding: 10px 25px; + h3 { + margin: 5px auto; + } + @include mobile-only { + font-size: 0.9em; + padding: 10px; + } + .prompt-save { + a { + float: right; + top: 20%; + } + } +} + +.directive.get-started { + @include card-shadow; + background-color: #f5f5f5; + font-size: $font-extra-large; + padding-bottom: 40px; + text-align: center; + border-radius: $element-border-color; + margin: 7em 7em; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + p { + max-width: 40%; + } + span { + font-size: $font-extra-extra-extra-large; + } + .directive-dropdown { + display: flex; + } + @include mobile-only { + margin: 7em 5px; + padding: 10px 10px 30px 10px; + p { + width: 90%; + max-width: none; + } + button { + font-size: $font-medium; + } + } +} + +.hidden-tag-container { + margin-top: 10px; + font-size: 0.95em; +} diff --git a/src/scss/_header.scss b/src/scss/_header.scss new file mode 100644 index 00000000..8c27f42a --- /dev/null +++ b/src/scss/_header.scss @@ -0,0 +1,144 @@ +$dropdown-bg-color: white; +$dropdown-width: 200px; + +.navbar { + background-color: white; + display: flex; + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 3.5em; + align-items: center; + box-sizing: border-box; + padding: 10px 15px; + z-index: 1000; + @include mobile-only { + padding: 10px 10px; + } + + .navbar-branding { + font-size: $font-extra-large; + font-weight: bold; + margin-right: 10px; + img { + width: 100%; + height: 1.5em; + } + } + #logo.navbar-branding { + @include mobile-only { + display: none; + } + } + + #title.navbar-branding { + display: none; + @include mobile-only { + display: block; + } + } + + //dropdown menu + ul { + list-style-type: none; + margin-left: auto; + padding: 0; + display: flex; + cursor: pointer; + } + a { + text-decoration: none; + } + + .dropdown { + position: relative; + @include web-only { + &:hover .dropdown-menu { + display: block; + visibility: visible; + } + } + ul { + width: $dropdown-width; + @include mobile-only { + width: 300px; + } + } + img { + margin: auto 8px; + width: 20px; + height: 20px; + } + #dropdown-btn { + display: flex; + align-items: center; + @include mobile-only { + display: none; + } + } + } + + .dropdown-menu { + @include default-shadow; + position: absolute; + border-radius: $border-radius; + top: 100%; + @include mobile-only { + top: 150%; + } + right: 0; + padding: 10px; + background-color: $dropdown-bg-color; + height: fit-content; + border: 1px solid $element-border-color; + display: none; + visibility: hidden; + li { + color: $default-text-color; + display: flex; + align-items: center; + height: 2em; + } + img { + margin: auto 6px auto 0px; + } + } + + //mobile hamburger icon effect + .hamburger-icon { + display: none; + @include mobile-only { + width: 28px; + height: 28px; + display: flex; + padding: 0px; + flex-direction: column; + justify-content: space-around; + align-items: center; + cursor: pointer; + span { + width: 100%; + height: 2px; + background-color: $default-text-color; + transition: 0.2s; + } + } + } + .open { + span:nth-child(1) { + transform: rotate(45deg) translate(6.5px, 6px); + } + span:nth-child(2) { + opacity: 0; + } + span:nth-child(3) { + transform: rotate(-45deg) translate(6.5px, -6px); + } + } + //toggle dropdown visibility + .active-dropdown { + display: block; + visibility: visible; + } +} diff --git a/src/scss/_input-forms.scss b/src/scss/_input-forms.scss new file mode 100644 index 00000000..dfb1d704 --- /dev/null +++ b/src/scss/_input-forms.scss @@ -0,0 +1,51 @@ +form { + margin: 0 auto; + padding: 25px; + border-radius: 12px; + background-color: white; + @include default-shadow; + input { + font-size: $font-medium; + border: 1px solid $element-border-color; + border-radius: $border-radius; + padding: 10px; + width: 100%; + box-sizing: border-box; + &:focus { + border: none; + outline-style: solid; + outline-color: $primary-color; + box-shadow: 0 0 4px 2px $primary-color; + outline-width: 2px; + } + } + + select { + @extend input; + appearance: none; + background-color: white; + cursor: pointer; + /*drop down arrow*/ + background-image: url("/public/images/dropdown.svg"); + background-repeat: no-repeat; + background-position: right 0.7rem top 50%; + background-size: 1.25em auto; + } +} + +#form_authenticate { + font-size: $font-extra-large; + width: 550px; + @include mobile-only { + width: 80%; + } + input { + margin: 5px auto; + input[type="text"] { + margin-bottom: 20px; + } + } + select { + margin: 5px auto 20px auto; + } +} diff --git a/src/scss/_mixins.scss b/src/scss/_mixins.scss new file mode 100644 index 00000000..5e748430 --- /dev/null +++ b/src/scss/_mixins.scss @@ -0,0 +1,26 @@ +@mixin mobile-only { + @media (max-width: $mobile-max-width) { + @content; + } +} + +@mixin web-only { + @media (min-width: $mobile-max-width) { + @content; + } +} + +@mixin default-shadow { + box-shadow: 0 10px 20px 0 rgba(0, 0, 0, 0.1); +} + +@mixin card-shadow { + box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2); +} + +@mixin unselectable-text { + user-select: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; +} diff --git a/src/scss/_place-nav.scss b/src/scss/_place-nav.scss new file mode 100644 index 00000000..89b74562 --- /dev/null +++ b/src/scss/_place-nav.scss @@ -0,0 +1,39 @@ +.topnav { + overflow-x: auto; + background-color: white; + max-height: 10em; + display: flex; + border-bottom: 1px solid $element-border-color; + position: sticky; + position: -webkit-sticky; + top: 3.4em; + z-index: 900; + a { + @include unselectable-text; + font-size: $font-medium; + @include mobile-only { + font-size: $font-small; + } + cursor: pointer; + float: left; + display: block; + color: $disabled-color; + text-align: center; + padding: 14px 17px; + text-decoration: none; + &:hover { + color: black; + } + } + .active { + border-bottom: 3px solid $button-color; + color: black; + span { + background-color: $button-color; + } + } +} + +.nav-content h2 { + margin-left: 5px; +} diff --git a/src/scss/_spinner.scss b/src/scss/_spinner.scss new file mode 100644 index 00000000..caf7bf52 --- /dev/null +++ b/src/scss/_spinner.scss @@ -0,0 +1,41 @@ +$spinner-color: $_gray-dark; +$spinner-speed: .9s; +$spinner-size: 10px; +.spinner { + display: block; + margin: 1em auto; + font-size: $spinner-size; + position: relative; + border: 0.4em solid rgba($spinner-color, 0.2); + border-top-color: rgba($spinner-color,0.4); + -webkit-transform: translateZ(0); + -ms-transform: translateZ(0); + transform: translateZ(0); + -webkit-animation: loader $spinner-speed infinite linear; + animation: loader $spinner-speed infinite linear; + border-radius: 50%; + width: 3em; + height: 3em; + } + +@-webkit-keyframes loader { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } + } + + @keyframes loader { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } + } \ No newline at end of file diff --git a/src/scss/_tables.scss b/src/scss/_tables.scss new file mode 100644 index 00000000..6e8b6fcf --- /dev/null +++ b/src/scss/_tables.scss @@ -0,0 +1,181 @@ +$table-bg-color: #f2f2f2; +$table-header-bg-color: rgba(#dcdcdc, 0.6); + +.table-container { + overflow-x: auto; + display: flex; + margin: 0.5em 5px 1em 5px; + width: auto; + border-radius: $element-border-radius; + + table { + border-collapse: collapse; + border-spacing: 0; + width: 100%; + max-width: 100%; + a { + color: #337ab7; + text-decoration: none; + &:hover, + &:focus { + color: #23527c; + text-decoration: underline; + } + } + td { + font-size: 0.95em; + &:last-child { + position: sticky; + position: -webkit-sticky; + right: 0; + } + } + th, + td { + text-align: left; + padding: 15px; + } + th { + font-size: $font-small; + background-color: $table-header-bg-color; + border-bottom: 1px solid $element-border-color; + a { + cursor: pointer; + &:hover, + &:focus { + text-decoration: none; + } + &:first-child { + padding-right: 3px; + } + } + &.header-actions { + text-align: right; + } + } + tr:nth-child(even) { + background-color: $table-bg-color; + } + + .action-link { + cursor: pointer; + z-index: -1; + &:hover, + &:focus { + filter: brightness(0); + text-decoration: none; + } + } + } +} + +//collapse table +@media (max-width: 600px) { + .table-container { + box-shadow: none; + table { + table-layout: fixed; + thead { + display: none; + } + tr { + &:nth-child(even) { + background-color: white; + } + } + td { + border-left: 1px solid #ddd; + border-right: 1px solid #ddd; + &:not(.error-bg){ + background-color: $table-bg-color; + } + display: block; + text-align: right; + border-top: none; + .empty { + padding: 15px; + } + &::before { + content: attr(data-label); + float: left; + } + &:last-child { + margin-bottom: 1em; + border-bottom: 1px solid #ddd; + border-bottom-left-radius: $border-radius; + border-bottom-right-radius: $border-radius; + } + &:first-child { + border-top: 1px solid #ddd; + border-top-left-radius: $border-radius; + border-top-right-radius: $border-radius; + } + } + } + } +} + +.pagination { + display: inline-flex; + font-size: $font-small; + width: 100%; + justify-content: center; + margin: 0 auto 70px auto; + button { + background-color: white; + border: none; + width: 40px; + font-size: $font-extra-large; + cursor: pointer; + } + a { + @include unselectable-text; + color: black; + float: left; + margin: auto 1px; + padding: 8px 16px; + text-decoration: none; + border-radius: 4px; + border: 1px solid $element-border-color; + cursor: pointer; + display: none; + &:nth-child(-n + 4), + &.collapse { + display: block; + } + &:nth-last-child(-n + 3) { + display: block; + } + &.active { + background-color: $primary-color; + display: block; + color: white; + border: 1px solid $primary-color; + } + + &:hover:not(.active) { + background-color: #f1f1f1; + } + } + + .pager-control { + display: inline-flex; + justify-content: center; + align-items: center; + margin-left: 20px; + height: inherit; + font-size: $font-small; + float: right; + span { + margin-right: 5px; + } + select { + font-size: $font-small; + background-color: white; + border: 1px solid $element-border-color; + border-radius: $border-radius; + padding: auto; + height: inherit; + } + } +} diff --git a/src/scss/_themes.scss b/src/scss/_themes.scss new file mode 100644 index 00000000..4dfe65f3 --- /dev/null +++ b/src/scss/_themes.scss @@ -0,0 +1,10 @@ +@font-face { + font-family: "Noto"; + src: url(/public/fonts/NotoSans-Regular.ttf) format("truetype"); + font-weight: normal; +} +.theme { + background-color: $theme-bg-color; + color: $default-text-color; + font-family: Noto, sans-serif; +} diff --git a/src/scss/_variables.scss b/src/scss/_variables.scss new file mode 100644 index 00000000..983392cc --- /dev/null +++ b/src/scss/_variables.scss @@ -0,0 +1,37 @@ +$_gray-ultra-light: #F2F2F2; +$_gray-ultra-lighter: #F8F8F8; +$_gray-light: #E0E0E0; +$_gray-medium: #A0A0A0; +$_gray-medium-dark: #BDBEBF; +$_gray-dark: #777777; +$_gray-ultra-dark: #333333; +$_medic-grey: #323232; + + +/* app colors */ +$theme-bg-color: white; +$primary-color: #007AC0; +$login-bg-color: $_gray-ultra-lighter; +$element-border-color: #ccc; +$input-placeholder-color: #999; +$button-color: $primary-color; +$default-text-color: #333333; +$disabled-color: rgb(84, 84, 84); +$warning-color: #ffe08a; +$success-color: #48c78e; +$failure-color: #f14668; + +/* font sizes */ +$font-extra-extra-extra-large: 1.75rem; +$font-extra-extra-large: 1.5rem; +$font-extra-large: 1.25rem; +$font-large: 1.125rem; +$font-medium: 1rem; +$font-small: 0.875rem; +$font-extra-small: 0.8125rem; +$font-extra-extra-small: 0.625rem; + +$border-radius: 4px; +$element-border-radius: 8px; +//mobile phone, landscape and tablets +$mobile-max-width: 1023px; \ No newline at end of file diff --git a/src/scss/styles.scss b/src/scss/styles.scss new file mode 100644 index 00000000..15060df2 --- /dev/null +++ b/src/scss/styles.scss @@ -0,0 +1,163 @@ +@import "variables"; +@import "themes"; +@import "mixins"; +@import "buttons"; +@import "input-forms"; +@import "header"; +@import "spinner"; +@import "tables"; +@import "place-nav"; +@import "directives"; + +body { + @extend .theme; +} +.login-page { + background-color: $login-bg-color; +} + +.container { + margin: 0 auto; + padding-top: 0.4em; +} +.border { + border: 1px solid blue; +} + +.actions { + display: flex; + justify-content: flex-end; + padding: 10px; + + .top, + .bottom { + display: flex; + align-items: center; + width: fit-content; + } + + @media (max-width: 600px) { + padding: 0; + flex-direction: column; + width: 100%; + + button, a { + width: 14em; + margin: 2px; + } + + .top { + order: 1; + width: inherit; + justify-content: center; + margin: 5px auto 3px auto; + } + .bottom { + order: 2; + width: inherit; + justify-content: center; + } + } +} + +.content { + padding-top: 3em; + margin: auto; + width: 98%; +} +.center { + margin: 1em; +} + +.hidden { + display: none; +} + +.active { + display: block; +} + +img { + vertical-align: middle; +} +.error { + color: #da4548; + text-align: center; + display: none; + font-size: $font-medium; +} + +.error-text { + color: $failure-color; +} +.success-text { + color: $success-color; +} +.staging-text { + color: $primary-color +} +.warning-text { + color: $warning-color; +} + +.error-bg { + background-color: $failure-color; +} +.success-bg { + background-color: $success-color; +} +.staging-bg { + background-color: $primary-color +} +.warning-bg { + background-color: $warning-color; + color: $default-text-color; +} + +.striped-bg { + background: repeating-linear-gradient(135deg, #606dbc, #606dbc 5px, #465298 5px, #465298 10px); +} + +.logo { + width: 60%; + margin: 30px auto 40px auto; + display: block; +} + +.login-branding { + width: 400px; + margin: 0 auto; + @include mobile-only { + width: 85%; + } + p { + text-align: center; + font-size: $font-extra-extra-large; + font-weight: bold; + } +} + +progress { + width: 100%; + height: 15px; + margin: 10px auto; + background-color: white; + border-radius: 10px; + overflow: hidden; + + &::-webkit-progress-bar { + background-color: white; + border-radius: 10px; + } + + &::-moz-progress-bar { + background-color: $primary-color; + } + + &::-webkit-progress-value { + background-color: $primary-color; + border-radius: 10px; + transition: width 1s ease; + } + +} diff --git a/src/services/directive-model.ts b/src/services/directive-model.ts index 1e389cd1..171dac74 100644 --- a/src/services/directive-model.ts +++ b/src/services/directive-model.ts @@ -1,3 +1,4 @@ +import { ContactType } from '../config'; import { PlaceUploadState } from './place'; import SessionCache from './session-cache'; @@ -14,10 +15,12 @@ export default class DirectiveModel { public readonly validationErrorCount: number; public readonly totalCount: number; public readonly hiddenCount: number; + public readonly totalCountByContactType: {[key: string]: number}; + public readonly activeTab?: string; public readonly filter?: DirectiveFilter; - constructor(sessionCache: SessionCache, filterCookie?: string) { + constructor(sessionCache: SessionCache, filterCookie?: string, contactTypes?: ContactType[], activeTab?: string ) { this.successCount = sessionCache.getPlaces({ filter: 'success' }).length; this.failureCount = sessionCache.getPlaces({ filter: 'failure' }).length; this.validationErrorCount = sessionCache.getPlaces({ filter: 'invalid' }).length; @@ -31,8 +34,21 @@ export default class DirectiveModel { const percentage = this.stagedCount > 0 ? this.completeCount / this.totalCount : 0; this.percent = Math.round(percentage * 100.0) + '%'; + this.activeTab = (this.totalCount > 0 && activeTab) || contactTypes?.[0].name; this.filter = this.stringToDirectiveFilter(filterCookie); this.hiddenCount = this.totalCount - sessionCache.getPlaces({ filter: this.filter }).length; + this.totalCountByContactType = this.getTotalsByContactType(sessionCache, contactTypes, this.filter); + } + + private getTotalsByContactType (sessionCache: SessionCache, contactTypes?: ContactType[], filterString?: string): {[key: string]: number} { + const placeFilter = filterString as DirectiveFilter; + const result: {[key: string]: number} = {}; + if (contactTypes) { + contactTypes.forEach(contactType => { + result[contactType.name] = sessionCache.getPlaces({ filter: placeFilter, type: contactType.name }).length; + }); + } + return result; } private stringToDirectiveFilter(filterString: string | undefined): DirectiveFilter { diff --git a/src/services/pagination.ts b/src/services/pagination.ts new file mode 100644 index 00000000..cb1d3202 --- /dev/null +++ b/src/services/pagination.ts @@ -0,0 +1,49 @@ +import Place from './place'; + +export type ListPage = { + page: number; + pageSize: number; + totalPlaces: number; + totalPages: number; + pagePlaces: Place[]; +}; + +export default class Pagination { + private page: number; + private pageSize: number; + private requestContactTypeName: string | undefined; + + constructor(options: { page: number; pageSize?: number; requestContactTypeName?: string }) { + this.pageSize = options.pageSize ? options.pageSize : 10; + this.page = options.page || 1; + this.requestContactTypeName = options.requestContactTypeName; + } + + public getPageData(places: Place[], contactTypeName: string): ListPage { + const selectedPageSize = contactTypeName === this.requestContactTypeName ? this.pageSize : 1; + let currentPage = contactTypeName === this.requestContactTypeName ? this.page : 1; + + const totalPlaces = places.length; + const totalPages = Math.ceil(totalPlaces / selectedPageSize); + currentPage = currentPage > totalPages ? totalPages : currentPage; + const startIndex = (currentPage - 1) * selectedPageSize; + const endIndex = startIndex + selectedPageSize; + + places.forEach((place, index) => { + place.placeNumber = index + 1; + }); + + let pagePlaces = places.slice(startIndex, endIndex); + if (this.requestContactTypeName){ + pagePlaces = pagePlaces.filter(place => place.type.name === this.requestContactTypeName); + } + return { + page: currentPage, + pageSize: selectedPageSize, + totalPlaces, + totalPages, + pagePlaces + }; + } + +} diff --git a/src/services/place.ts b/src/services/place.ts index b4de42f2..f59009af 100644 --- a/src/services/place.ts +++ b/src/services/place.ts @@ -31,6 +31,7 @@ const USER_PREFIX = 'user_'; export default class Place { public readonly id: string; + public placeNumber?: number; public readonly type: ContactType; public readonly contact : Contact; public readonly creationDetails : UserCreationDetails = {}; diff --git a/src/services/session-cache.ts b/src/services/session-cache.ts index 4d7b9ac4..9f78bd97 100644 --- a/src/services/session-cache.ts +++ b/src/services/session-cache.ts @@ -8,7 +8,7 @@ export default class SessionCache { private static caches: Map = new Map(); private places: { [key: string]: Place } = {}; - private constructor() {} + private constructor() { } public static getForSession = (session: ChtSession): SessionCache => { const lookup = session.sessionToken; @@ -37,7 +37,7 @@ export default class SessionCache { id?: string; nameExact?: string; nameIncludes?: string; - }) : Place[] => { + }): Place[] => { return Object.values(this.places) .filter(p => !options?.filter || getFilterFunction(options.filter)(p)) .filter(p => !options?.type || p.type.name === options.type) @@ -56,8 +56,16 @@ export default class SessionCache { delete this.places[placeId]; }; - public removeAll = (): void => { - this.places = {}; + public removeAll = (contactTypeName?: string): void => { + if (contactTypeName) { + for (const [key, place] of Object.entries(this.places)) { + if (place.type.name === contactTypeName){ + delete this.places[key]; + } + } + } else { + this.places = {}; + } }; } diff --git a/test/services/directive-model.spec.ts b/test/services/directive-model.spec.ts index f994fe80..0b068f5e 100644 --- a/test/services/directive-model.spec.ts +++ b/test/services/directive-model.spec.ts @@ -30,6 +30,8 @@ describe('services/directive-model.ts', () => { stagedCount: 3, totalCount: 6, percent: '33%', + totalCountByContactType: {}, + activeTab: undefined }); }); @@ -58,6 +60,8 @@ describe('services/directive-model.ts', () => { percent: '0%', filter: undefined, hiddenCount: 0, + totalCountByContactType: {}, + activeTab: undefined }); }); });