From 4bbcf69a4dcaa33de6e85111885cab225cce78f9 Mon Sep 17 00:00:00 2001 From: tanishk818 <52106030+tanishk818@users.noreply.github.com> Date: Tue, 29 Mar 2022 20:47:17 +0530 Subject: [PATCH 01/34] Code shift to node --- app.js | 16 + package-lock.json | 1255 +++++++++++++++++ package.json | 16 + Drip.wav => public/Drip.wav | Bin InvalidMove.wav => public/InvalidMove.wav | Bin arrow.css => public/css/arrow.css | 0 index.css => public/css/index.css | 0 main.css => public/css/main.css | 0 small_arrow.css => public/css/small_arrow.css | 0 bg.png => public/img/bg.png | Bin .../img/learnig_loop_logo2.jpeg | Bin loss.jpeg => public/img/loss.jpeg | Bin mb.png => public/img/mb.png | Bin uv.jpeg => public/img/uv.jpeg | Bin win.jpeg => public/img/win.jpeg | Bin .../intro_tutorials.mp4 | Bin .../js/THREEx.KeyboardState.js | 0 anime.es.js => public/js/anime.es.js | 0 anime.js => public/js/anime.js | 0 anime.min.js => public/js/anime.min.js | 0 public/js/main.js | 132 ++ three.js => public/js/three.js | 0 three.min.js => public/js/three.min.js | 0 three.module.js => public/js/three.module.js | 0 routes/home.js | 19 + routes/lev.js | 28 + ta.jfif | Bin 29807 -> 0 bytes index.html => views/index.ejs | 10 +- intro.html => views/intro.ejs | 6 +- lev1.html => views/lev1.ejs | 126 +- lev2.html => views/lev2.ejs | 249 +--- lev3.html => views/lev3.ejs | 249 +--- lev4.html => views/lev4.ejs | 296 +--- views/lev5.ejs | 327 +++++ views/partials/head.ejs | 79 ++ views/partials/key.ejs | 7 + views/partials/mac_window.ejs | 14 + views/partials/script.ejs | 7 + tutorial.html => views/tutorial.ejs | 2 +- 39 files changed, 1990 insertions(+), 848 deletions(-) create mode 100644 app.js create mode 100644 package-lock.json create mode 100644 package.json rename Drip.wav => public/Drip.wav (100%) rename InvalidMove.wav => public/InvalidMove.wav (100%) rename arrow.css => public/css/arrow.css (100%) rename index.css => public/css/index.css (100%) rename main.css => public/css/main.css (100%) rename small_arrow.css => public/css/small_arrow.css (100%) rename bg.png => public/img/bg.png (100%) rename learnig_loop_logo2.jpeg => public/img/learnig_loop_logo2.jpeg (100%) rename loss.jpeg => public/img/loss.jpeg (100%) rename mb.png => public/img/mb.png (100%) rename uv.jpeg => public/img/uv.jpeg (100%) rename win.jpeg => public/img/win.jpeg (100%) rename intro_tutorials.mp4 => public/intro_tutorials.mp4 (100%) rename THREEx.KeyboardState.js => public/js/THREEx.KeyboardState.js (100%) rename anime.es.js => public/js/anime.es.js (100%) rename anime.js => public/js/anime.js (100%) rename anime.min.js => public/js/anime.min.js (100%) create mode 100644 public/js/main.js rename three.js => public/js/three.js (100%) rename three.min.js => public/js/three.min.js (100%) rename three.module.js => public/js/three.module.js (100%) create mode 100644 routes/home.js create mode 100644 routes/lev.js delete mode 100644 ta.jfif rename index.html => views/index.ejs (94%) rename intro.html => views/intro.ejs (94%) rename lev1.html => views/lev1.ejs (71%) rename lev2.html => views/lev2.ejs (56%) rename lev3.html => views/lev3.ejs (57%) rename lev4.html => views/lev4.ejs (57%) create mode 100644 views/lev5.ejs create mode 100644 views/partials/head.ejs create mode 100644 views/partials/key.ejs create mode 100644 views/partials/mac_window.ejs create mode 100644 views/partials/script.ejs rename tutorial.html => views/tutorial.ejs (98%) diff --git a/app.js b/app.js new file mode 100644 index 0000000..792badc --- /dev/null +++ b/app.js @@ -0,0 +1,16 @@ +var express=require('express'); +var app=express(); +var path=require('path'); +const lev=require('./routes/lev') +const home=require('./routes/home') + +app.set('view engine', 'ejs'); +app.use(express.static(__dirname + '/public')); + +app.use('/',home) +app.use('/lev',lev) + +app.listen(3000) + + + diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..a62944a --- /dev/null +++ b/package-lock.json @@ -0,0 +1,1255 @@ +{ + "name": "lln", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@sindresorhus/is": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==" + }, + "@szmarczak/http-timer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", + "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", + "requires": { + "defer-to-connect": "^1.0.1" + } + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + }, + "accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "requires": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + } + }, + "ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "requires": { + "string-width": "^4.1.0" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + }, + "async": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", + "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=" + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" + }, + "body-parser": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw==", + "requires": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.8.1", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.9.7", + "raw-body": "2.4.3", + "type-is": "~1.6.18" + } + }, + "boxen": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz", + "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==", + "requires": { + "ansi-align": "^3.0.0", + "camelcase": "^6.2.0", + "chalk": "^4.1.0", + "cli-boxes": "^2.2.1", + "string-width": "^4.2.2", + "type-fest": "^0.20.2", + "widest-line": "^3.1.0", + "wrap-ansi": "^7.0.0" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" + }, + "cacheable-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", + "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", + "requires": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^3.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^1.0.2" + }, + "dependencies": { + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "requires": { + "pump": "^3.0.0" + } + }, + "lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" + } + } + }, + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + } + }, + "ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" + }, + "cli-boxes": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", + "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==" + }, + "clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", + "requires": { + "mimic-response": "^1.0.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "configstore": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", + "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", + "requires": { + "dot-prop": "^5.2.0", + "graceful-fs": "^4.1.2", + "make-dir": "^3.0.0", + "unique-string": "^2.0.0", + "write-file-atomic": "^3.0.0", + "xdg-basedir": "^4.0.0" + } + }, + "content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "requires": { + "safe-buffer": "5.2.1" + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + }, + "cookie": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==" + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + }, + "crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==" + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "requires": { + "mimic-response": "^1.0.0" + } + }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" + }, + "defer-to-connect": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", + "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==" + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "requires": { + "is-obj": "^2.0.0" + } + }, + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "ejs": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.6.tgz", + "integrity": "sha512-9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw==", + "requires": { + "jake": "^10.6.1" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "requires": { + "once": "^1.4.0" + } + }, + "escape-goat": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz", + "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==" + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + }, + "express": { + "version": "4.17.3", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.3.tgz", + "integrity": "sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg==", + "requires": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.19.2", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.4.2", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.9.7", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.17.2", + "serve-static": "1.14.2", + "setprototypeof": "1.2.0", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + } + }, + "filelist": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.2.tgz", + "integrity": "sha512-z7O0IS8Plc39rTCq6i6iHxk43duYOn8uFJiWSewIq0Bww1RNybVHSCjahmcC87ZqAm4OTvFzlzeGu3XAzG1ctQ==", + "requires": { + "minimatch": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + } + }, + "forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "optional": true + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "requires": { + "pump": "^3.0.0" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "requires": { + "is-glob": "^4.0.1" + } + }, + "global-dirs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz", + "integrity": "sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==", + "requires": { + "ini": "2.0.0" + } + }, + "got": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", + "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", + "requires": { + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" + } + }, + "graceful-fs": { + "version": "4.2.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", + "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "has-yarn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", + "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==" + }, + "http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" + }, + "http-errors": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", + "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.1" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore-by-default": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", + "integrity": "sha1-SMptcvbGo68Aqa1K5odr44ieKwk=" + }, + "import-lazy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", + "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=" + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==" + }, + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "requires": { + "ci-info": "^2.0.0" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-installed-globally": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", + "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", + "requires": { + "global-dirs": "^3.0.0", + "is-path-inside": "^3.0.2" + } + }, + "is-npm": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz", + "integrity": "sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==" + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==" + }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==" + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "is-yarn-global": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", + "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==" + }, + "jake": { + "version": "10.8.4", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.4.tgz", + "integrity": "sha512-MtWeTkl1qGsWUtbl/Jsca/8xSoK3x0UmS82sNbjqxxG/de/M/3b1DntdjHgPMC50enlTNwXOCRqPXLLt5cCfZA==", + "requires": { + "async": "0.9.x", + "chalk": "^4.0.2", + "filelist": "^1.0.1", + "minimatch": "^3.0.4" + } + }, + "json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=" + }, + "keyv": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", + "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", + "requires": { + "json-buffer": "3.0.0" + } + }, + "latest-version": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", + "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", + "requires": { + "package-json": "^6.3.0" + } + }, + "lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "requires": { + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "requires": { + "mime-db": "1.52.0" + } + }, + "mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" + }, + "nodemon": { + "version": "2.0.15", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.15.tgz", + "integrity": "sha512-gdHMNx47Gw7b3kWxJV64NI+Q5nfl0y5DgDbiVtShiwa7Z0IZ07Ll4RLFo6AjrhzMtoEZn5PDE3/c2AbVsiCkpA==", + "requires": { + "chokidar": "^3.5.2", + "debug": "^3.2.7", + "ignore-by-default": "^1.0.1", + "minimatch": "^3.0.4", + "pstree.remy": "^1.1.8", + "semver": "^5.7.1", + "supports-color": "^5.5.0", + "touch": "^3.1.0", + "undefsafe": "^2.0.5", + "update-notifier": "^5.1.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "requires": { + "ms": "^2.1.1" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "nopt": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", + "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=", + "requires": { + "abbrev": "1" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "normalize-url": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", + "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==" + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "requires": { + "ee-first": "1.1.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "p-cancelable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", + "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==" + }, + "package-json": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", + "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", + "requires": { + "got": "^9.6.0", + "registry-auth-token": "^4.0.0", + "registry-url": "^5.0.0", + "semver": "^6.2.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + }, + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" + }, + "proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "requires": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + } + }, + "pstree.remy": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", + "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==" + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pupa": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz", + "integrity": "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==", + "requires": { + "escape-goat": "^2.0.0" + } + }, + "qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==" + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + }, + "raw-body": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.3.tgz", + "integrity": "sha512-UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g==", + "requires": { + "bytes": "3.1.2", + "http-errors": "1.8.1", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + } + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "requires": { + "picomatch": "^2.2.1" + } + }, + "registry-auth-token": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz", + "integrity": "sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==", + "requires": { + "rc": "^1.2.8" + } + }, + "registry-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", + "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", + "requires": { + "rc": "^1.2.8" + } + }, + "responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "requires": { + "lowercase-keys": "^1.0.0" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + }, + "semver-diff": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", + "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", + "requires": { + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "send": { + "version": "0.17.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz", + "integrity": "sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==", + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "1.8.1", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + } + } + }, + "serve-static": { + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz", + "integrity": "sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.2" + } + }, + "setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "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==" + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "to-readable-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", + "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==" + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + }, + "toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" + }, + "touch": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz", + "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==", + "requires": { + "nopt": "~1.0.10" + } + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "requires": { + "is-typedarray": "^1.0.0" + } + }, + "undefsafe": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz", + "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==" + }, + "unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "requires": { + "crypto-random-string": "^2.0.0" + } + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + }, + "update-notifier": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz", + "integrity": "sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==", + "requires": { + "boxen": "^5.0.0", + "chalk": "^4.1.0", + "configstore": "^5.0.1", + "has-yarn": "^2.1.0", + "import-lazy": "^2.1.0", + "is-ci": "^2.0.0", + "is-installed-globally": "^0.4.0", + "is-npm": "^5.0.0", + "is-yarn-global": "^0.3.0", + "latest-version": "^5.1.0", + "pupa": "^2.1.1", + "semver": "^7.3.4", + "semver-diff": "^3.1.1", + "xdg-basedir": "^4.0.0" + }, + "dependencies": { + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", + "requires": { + "prepend-http": "^2.0.0" + } + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + }, + "widest-line": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", + "requires": { + "string-width": "^4.0.0" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "xdg-basedir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", + "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==" + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..b13f947 --- /dev/null +++ b/package.json @@ -0,0 +1,16 @@ +{ + "name": "lln", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "", + "license": "ISC", + "dependencies": { + "ejs": "^3.1.6", + "express": "^4.17.3", + "nodemon": "^2.0.15" + } +} diff --git a/Drip.wav b/public/Drip.wav similarity index 100% rename from Drip.wav rename to public/Drip.wav diff --git a/InvalidMove.wav b/public/InvalidMove.wav similarity index 100% rename from InvalidMove.wav rename to public/InvalidMove.wav diff --git a/arrow.css b/public/css/arrow.css similarity index 100% rename from arrow.css rename to public/css/arrow.css diff --git a/index.css b/public/css/index.css similarity index 100% rename from index.css rename to public/css/index.css diff --git a/main.css b/public/css/main.css similarity index 100% rename from main.css rename to public/css/main.css diff --git a/small_arrow.css b/public/css/small_arrow.css similarity index 100% rename from small_arrow.css rename to public/css/small_arrow.css diff --git a/bg.png b/public/img/bg.png similarity index 100% rename from bg.png rename to public/img/bg.png diff --git a/learnig_loop_logo2.jpeg b/public/img/learnig_loop_logo2.jpeg similarity index 100% rename from learnig_loop_logo2.jpeg rename to public/img/learnig_loop_logo2.jpeg diff --git a/loss.jpeg b/public/img/loss.jpeg similarity index 100% rename from loss.jpeg rename to public/img/loss.jpeg diff --git a/mb.png b/public/img/mb.png similarity index 100% rename from mb.png rename to public/img/mb.png diff --git a/uv.jpeg b/public/img/uv.jpeg similarity index 100% rename from uv.jpeg rename to public/img/uv.jpeg diff --git a/win.jpeg b/public/img/win.jpeg similarity index 100% rename from win.jpeg rename to public/img/win.jpeg diff --git a/intro_tutorials.mp4 b/public/intro_tutorials.mp4 similarity index 100% rename from intro_tutorials.mp4 rename to public/intro_tutorials.mp4 diff --git a/THREEx.KeyboardState.js b/public/js/THREEx.KeyboardState.js similarity index 100% rename from THREEx.KeyboardState.js rename to public/js/THREEx.KeyboardState.js diff --git a/anime.es.js b/public/js/anime.es.js similarity index 100% rename from anime.es.js rename to public/js/anime.es.js diff --git a/anime.js b/public/js/anime.js similarity index 100% rename from anime.js rename to public/js/anime.js diff --git a/anime.min.js b/public/js/anime.min.js similarity index 100% rename from anime.min.js rename to public/js/anime.min.js diff --git a/public/js/main.js b/public/js/main.js new file mode 100644 index 0000000..454bad2 --- /dev/null +++ b/public/js/main.js @@ -0,0 +1,132 @@ + function RightMove() { + + myMusic = new sound("/Drip.wav"); + myMusic.play(); + value.x = +document.getElementsByTagName("circle")[15].getAttribute("cx"); + temp = +document.getElementsByTagName("circle")[15].getAttribute("cx") + +110; + check(1); + print(); + if (temp >= 380) + { + temp = 50; + } + + anime({ + targets: value, + x: temp, + duration: 300, + autoplay: true, + update: function () { + document.getElementsByTagName("circle")[15].setAttribute("cx", value.x); + + + + }, + easing: 'easeInOutSine' + }); + + + } + function LeftMove() + { + + temp = document.getElementsByTagName("circle")[15].getAttribute("cx"); + + myMusic = new sound("/Drip.wav"); + myMusic.play(); + + value.x = document.getElementsByTagName("circle")[15].getAttribute("cx"); + temp = temp - 110; + check(-1); + print(); + if (temp < 0) + { + temp = 270 + } + + anime({ + targets: value, + x: temp, + duration: 300, + autoplay: true, + update: function () { + console.log("SS" + value.x); + + document.getElementsByTagName("circle")[15].setAttribute("cx", value.x); + + + + }, + easing: 'easeInOutSine' + }); + } + function DownMove() + { + temp = document.getElementsByTagName("circle")[15].getAttribute("cy"); + + myMusic = new sound("/InvalidMove.wav"); + myMusic.play(); + + value.x = document.getElementsByTagName("circle")[15].getAttribute("cy"); + temp = +document.getElementsByTagName("circle")[15].getAttribute("cy") + +110; + console.log(temp); + if (temp > 490) + { + temp = 50; + } + check(-2); + print(); + + + anime({ + targets: value, + x: temp, + duration: 300, + autoplay: true, + update: function () { + + + document.getElementsByTagName("circle")[15].setAttribute("cy", value.x); + + + + + }, + easing: 'easeInOutSine' + }); + } + function UpMove() + { + temp = document.getElementsByTagName("circle")[15].getAttribute("cy"); + + myMusic = new sound("/InvalidMove.wav"); + myMusic.play(); + + value.x = document.getElementsByTagName("circle")[15].getAttribute("cy"); + temp = +document.getElementsByTagName("circle")[15].getAttribute("cy") - 110; + if (temp < 50) + { + temp = 490; + } + check(2); + print(); + + + anime({ + targets: value, + x: temp, + duration: 300, + autoplay: true, + update: function () { + + + document.getElementsByTagName("circle")[15].setAttribute("cy", value.x); + + + + + }, + easing: 'easeInOutSine' + }); + + } \ No newline at end of file diff --git a/three.js b/public/js/three.js similarity index 100% rename from three.js rename to public/js/three.js diff --git a/three.min.js b/public/js/three.min.js similarity index 100% rename from three.min.js rename to public/js/three.min.js diff --git a/three.module.js b/public/js/three.module.js similarity index 100% rename from three.module.js rename to public/js/three.module.js diff --git a/routes/home.js b/routes/home.js new file mode 100644 index 0000000..ce32f81 --- /dev/null +++ b/routes/home.js @@ -0,0 +1,19 @@ +const express=require('express') +var app=express.Router(); + + + +app.get('/',(req,res)=>{ + // res.sendFile(path.join(__dirname+'/lev1.html')); + res.render('index.ejs') + }); + app.get('/tutorial',(req,res)=>{ + // res.sendFile(path.join(__dirname+'/lev1.html')); + res.render('tutorial.ejs') + }); + app.get('/intro',(req,res)=>{ + // res.sendFile(path.join(__dirname+'/lev1.html')); + res.render('intro.ejs') + }); + +module.exports=app \ No newline at end of file diff --git a/routes/lev.js b/routes/lev.js new file mode 100644 index 0000000..190c691 --- /dev/null +++ b/routes/lev.js @@ -0,0 +1,28 @@ +const express=require('express') +var app=express.Router(); + + + + + app.get('/1',(req,res)=>{ + // res.sendFile(path.join(__dirname+'/lev1.html')); + res.render('lev1.ejs') + }); + app.get('/2',(req,res)=>{ + // res.sendFile(path.join(__dirname+'/lev1.html')); + res.render('lev2.ejs') + }); + app.get('/3',(req,res)=>{ + // res.sendFile(path.join(__dirname+'/lev1.html')); + res.render('lev3.ejs') + }); + app.get('/4',(req,res)=>{ + // res.sendFile(path.join(__dirname+'/lev1.html')); + res.render('lev4.ejs') + }); + app.get('/5',(req,res)=>{ + // res.sendFile(path.join(__dirname+'/lev1.html')); + res.render('lev5.ejs') + }); + +module.exports=app \ No newline at end of file diff --git a/ta.jfif b/ta.jfif deleted file mode 100644 index 7b20fff5d579d47dc63fdb60e2e12a1cba01fe68..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29807 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[q*LZJ}mdlJNr;i=92Ni!$5|(#O5kW-z=ZgK=*dZa}kJRgfIarU5_jf(dd?d#|9OO(8L9pGY@omkRdb=%KrekXr*S2 zk$O?X)G8B1;g^FnUy?f*=x6F+R8eb&{{X0?k;;r-lI4#!O*l8IR$4|8*Mx-Ng9;@e>^+`VT1qr!{WrBHw zX;Vi~%h{|k&H%+bl@T%=*dw8JXwZk)*C7qSzAJLpxp{$Uva2NIQCq}g&bJI9wc;Jt zj`x@XVT8mbO;FjuEO4ea%T!AW*+F!ifp!;PHSwD%(W;@?`jg18qfRw1Z!%RZjGkJmc zDJPOy+Yt)ua6Za(Mz1NBB-)5vf+A)7z_bYV%~Hcj7$Xj$>i+;3m{eF}a07(?NM4A@e3yG@&00)p1BgcJ?{`8>f~lnW%Zb>MP@sP zxH|~Hmrx9^M7;)*!r~yJ*m_(M@GwtT5Ku!uMAQiZgOA!ZxQ`O(u*?K{WCeXU^7M^p og_L-8ei-or20^5TFsjDvC_1R-2yPlTkgnjTS%~oyk~1Lx*=CDz(*OVf diff --git a/index.html b/views/index.ejs similarity index 94% rename from index.html rename to views/index.ejs index bd8d345..6d63cbd 100644 --- a/index.html +++ b/views/index.ejs @@ -7,14 +7,14 @@ - +