diff --git a/.babelrc b/.babelrc
index 4c8702e887..0bddca3824 100644
--- a/.babelrc
+++ b/.babelrc
@@ -1,6 +1,12 @@
{
- "plugins": [
- "transform-es2015-modules-commonjs",
- "syntax-object-rest-spread",
+ "presets": [
+ [
+ "@babel/preset-env",
+ {
+ "targets": {
+ "node": true
+ }
+ }
+ ]
]
-}
+}
\ No newline at end of file
diff --git a/.eslintignore b/.eslintignore
index d2db8508cf..2569aef9fe 100644
--- a/.eslintignore
+++ b/.eslintignore
@@ -3,6 +3,8 @@ coverage/
database_reports/
website/build/
website/transpiled-babel/
+# Has its own linter
+website/client/
website/common/transpiled-babel/
dist/
dist-client/
diff --git a/.eslintrc b/.eslintrc
deleted file mode 100644
index 17a4f64b77..0000000000
--- a/.eslintrc
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "root": true,
- "env": {
- "node": true,
- },
- "extends": [
- "habitrpg",
- "habitrpg/esnext"
- ],
-}
diff --git a/.eslintrc.js b/.eslintrc.js
new file mode 100644
index 0000000000..df826ca6a7
--- /dev/null
+++ b/.eslintrc.js
@@ -0,0 +1,6 @@
+module.exports = {
+ root: true,
+ extends: [
+ 'habitrpg/lib/node'
+ ],
+}
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
new file mode 100644
index 0000000000..3ee78e4dc1
--- /dev/null
+++ b/.github/workflows/test.yml
@@ -0,0 +1,198 @@
+name: Test
+
+on: [push, pull_request]
+
+jobs:
+ lint:
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ node-version: [12.x]
+ steps:
+ - uses: actions/checkout@v1
+ with:
+ fetch-depth: 1
+ - name: Use Node.js ${{ matrix.node-version }}
+ uses: actions/setup-node@v1
+ with:
+ node-version: ${{ matrix.node-version }}
+ - run: cp config.json.example config.json
+ - name: npm install
+ run: |
+ npm ci
+ env:
+ CI: true
+ - run: npm run lint
+ apidoc:
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ node-version: [12.x]
+ steps:
+ - uses: actions/checkout@v1
+ with:
+ fetch-depth: 1
+ - name: Use Node.js ${{ matrix.node-version }}
+ uses: actions/setup-node@v1
+ with:
+ node-version: ${{ matrix.node-version }}
+ - run: cp config.json.example config.json
+ - name: npm install
+ run: |
+ npm ci
+ env:
+ CI: true
+ - run: npm run apidoc
+ sanity:
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ node-version: [12.x]
+ steps:
+ - uses: actions/checkout@v1
+ with:
+ fetch-depth: 1
+ - name: Use Node.js ${{ matrix.node-version }}
+ uses: actions/setup-node@v1
+ with:
+ node-version: ${{ matrix.node-version }}
+ - run: cp config.json.example config.json
+ - name: npm install
+ run: |
+ npm ci
+ env:
+ CI: true
+ - run: npm run test:sanity
+
+ common:
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ node-version: [12.x]
+ steps:
+ - uses: actions/checkout@v1
+ with:
+ fetch-depth: 1
+ - name: Use Node.js ${{ matrix.node-version }}
+ uses: actions/setup-node@v1
+ with:
+ node-version: ${{ matrix.node-version }}
+ - run: cp config.json.example config.json
+ - name: npm install
+ run: |
+ npm ci
+ env:
+ CI: true
+ - run: npm run test:common
+ content:
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ node-version: [12.x]
+ steps:
+ - uses: actions/checkout@v1
+ with:
+ fetch-depth: 1
+ - name: Use Node.js ${{ matrix.node-version }}
+ uses: actions/setup-node@v1
+ with:
+ node-version: ${{ matrix.node-version }}
+ - run: cp config.json.example config.json
+ - name: npm install
+ run: |
+ npm ci
+ env:
+ CI: true
+ - run: npm run test:content
+
+ api-unit:
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ node-version: [12.x]
+ steps:
+ - uses: actions/checkout@v1
+ with:
+ fetch-depth: 1
+ - name: Use Node.js ${{ matrix.node-version }}
+ uses: actions/setup-node@v1
+ with:
+ node-version: ${{ matrix.node-version }}
+ - run: sudo docker run --name mongo -d -p 27017:27017 mongo
+ - run: cp config.json.example config.json
+ - name: npm install
+ run: |
+ npm ci
+ env:
+ CI: true
+ - run: npm run test:api:unit
+ env:
+ REQUIRES_SERVER=true: true
+ api-v3-integration:
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ node-version: [12.x]
+ steps:
+ - uses: actions/checkout@v1
+ with:
+ fetch-depth: 1
+ - name: Use Node.js ${{ matrix.node-version }}
+ uses: actions/setup-node@v1
+ with:
+ node-version: ${{ matrix.node-version }}
+ - run: sudo docker run --name mongo -d -p 27017:27017 mongo
+ - run: cp config.json.example config.json
+ - name: npm install
+ run: |
+ npm ci
+ env:
+ CI: true
+ - run: npm run test:api-v3:integration
+ env:
+ REQUIRES_SERVER=true: true
+ api-v4-integration:
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ node-version: [12.x]
+ steps:
+ - uses: actions/checkout@v1
+ with:
+ fetch-depth: 1
+ - name: Use Node.js ${{ matrix.node-version }}
+ uses: actions/setup-node@v1
+ with:
+ node-version: ${{ matrix.node-version }}
+ - run: sudo docker run --name mongo -d -p 27017:27017 mongo
+ - run: cp config.json.example config.json
+ - name: npm install
+ run: |
+ npm ci
+ env:
+ CI: true
+ - run: npm run test:api-v4:integration
+ env:
+ REQUIRES_SERVER=true: true
+
+ client-unit:
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ node-version: [12.x]
+ steps:
+ - uses: actions/checkout@v1
+ with:
+ fetch-depth: 1
+ - name: Use Node.js ${{ matrix.node-version }}
+ uses: actions/setup-node@v1
+ with:
+ node-version: ${{ matrix.node-version }}
+ - run: cp config.json.example config.json
+ - name: npm install
+ run: |
+ npm ci
+ env:
+ CI: true
+ - run: npm run test:unit
+ working-directory: ./website/client
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index cd995e5489..58fc58e82d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,10 +1,5 @@
.DS_Store
-website/client-old/gen
-website/client-old/common
-website/client-old/apidoc
website/build
-website/client-old/js/habitrpg-shared.js*
-website/client-old/css/habitrpg-shared.css
website/transpiled-babel/
website/common/transpiled-babel/
node_modules
@@ -15,8 +10,6 @@ apidoc_build
config.json
npm-debug.log*
lib
-website/client-old/bower_components
-website/client-old/new-stuff.html
newrelic_agent.log
.bower-tmp
.bower-registry
@@ -27,15 +20,13 @@ TODO
*.log
src/*/*.map
src/*/*/*.map
-test/*.js
-test/*.map
-website/client-old/docs
*.sublime-workspace
coverage
coverage.html
common/dist/scripts/*
dist
dist-client
+website/client/dist
test/client/unit/coverage
test/client/e2e/reports
test/client-old/spec/mocks/translations.js
diff --git a/.nodemonignore b/.nodemonignore
index b6719b450e..4275bc9184 100644
--- a/.nodemonignore
+++ b/.nodemonignore
@@ -1,20 +1,9 @@
node_modules/**
-.bower-cache/**
-.bower-tmp/**
-.bower-registry/**
-website/client-old/**
website/client/**
-website/client/store/**
-website/views/**
-website/build/**
-dist/**
test/**
.git/**
-Gruntfile.js
-CHANGELOG.md
.idea*
*.log
-newrelic_agent.log
*.swp
*.swx
website/raw_sprites/**
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index a378d70294..0000000000
--- a/.travis.yml
+++ /dev/null
@@ -1,29 +0,0 @@
-language: node_js
-node_js:
- - '12'
-services:
- - mongodb
-cache:
- directories:
- - 'node_modules'
-addons:
- chrome: stable
-before_script:
- - npm run test:build
- - cp config.json.example config.json
- - sleep 5
-script:
- - npm run $TEST
-env:
- global:
- - DISABLE_REQUEST_LOGGING=true
- matrix:
- - TEST="lint"
- - TEST="test:api:unit" REQUIRES_SERVER=true COVERAGE=true
- - TEST="test:api-v3:integration" REQUIRES_SERVER=true COVERAGE=true
- - TEST="test:api-v4:integration" REQUIRES_SERVER=true COVERAGE=true
- - TEST="test:sanity"
- - TEST="test:content" COVERAGE=true
- - TEST="test:common" COVERAGE=true
- - TEST="client:unit" COVERAGE=true
- - TEST="apidoc"
diff --git a/Dockerfile b/Dockerfile
index 65f734e1a4..fc21e9acb4 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -22,9 +22,6 @@ RUN git clone --branch release --depth 1 https://github.com/HabitRPG/habitica.gi
RUN npm install
RUN gulp build:prod --force
-# Create Build dir
-RUN mkdir -p ./website/build
-
# Start Habitica
EXPOSE 3000
CMD ["node", "./website/transpiled-babel/index.js"]
diff --git a/README.md b/README.md
index 3437bf8a36..d5466acdc1 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-Habitica [](https://travis-ci.org/HabitRPG/habitica) [](https://codeclimate.com/github/HabitRPG/habitrpg) [](https://www.bountysource.com/trackers/68393-habitrpg?utm_source=68393&utm_medium=shield&utm_campaign=TRACKER_BADGE) [](https://www.codetriage.com/habitrpg/habitica)
+Habitica  [](https://codeclimate.com/github/HabitRPG/habitrpg) [](https://www.bountysource.com/trackers/68393-habitrpg?utm_source=68393&utm_medium=shield&utm_campaign=TRACKER_BADGE) [](https://www.codetriage.com/habitrpg/habitica)
===============
[](https://greenkeeper.io/)
diff --git a/config.json.example b/config.json.example
index ae805b0561..32ba8cf1a1 100644
--- a/config.json.example
+++ b/config.json.example
@@ -33,6 +33,7 @@
"LOGGLY_TOKEN": "example-token",
"MAINTENANCE_MODE": "false",
"NODE_DB_URI": "mongodb://localhost/habitrpg",
+ "MONGODB_POOL_SIZE": "10",
"NODE_ENV": "development",
"PATH": "bin:node_modules/.bin:/usr/local/bin:/usr/bin:/bin",
"PAYPAL_BILLING_PLANS_basic_12mo": "basic_12mo",
diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml
index ceacc2c94f..f7d0bd961c 100644
--- a/docker-compose.dev.yml
+++ b/docker-compose.dev.yml
@@ -35,7 +35,7 @@ services:
- .:/code
- /code/node_modules
mongo:
- image: mongo:3.4
+ image: mongo:3.6
networks:
- habitica
ports:
diff --git a/docker-compose.yml b/docker-compose.yml
index fbbd2f0fa8..8ef78d4eea 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -25,7 +25,7 @@ services:
- mongo
mongo:
- image: mongo:3.4
+ image: mongo:3.6
ports:
- "27017:27017"
networks:
diff --git a/gulp/gulp-apidoc.js b/gulp/gulp-apidoc.js
index 6d34e6f026..55709fbdc2 100644
--- a/gulp/gulp-apidoc.js
+++ b/gulp/gulp-apidoc.js
@@ -4,12 +4,12 @@ import apidoc from 'apidoc';
const APIDOC_DEST_PATH = './apidoc_build';
const APIDOC_SRC_PATH = './website/server';
-gulp.task('apidoc:clean', (done) => {
+gulp.task('apidoc:clean', done => {
clean(APIDOC_DEST_PATH, done);
});
-gulp.task('apidoc', gulp.series('apidoc:clean', (done) => {
- let result = apidoc.createDoc({
+gulp.task('apidoc', gulp.series('apidoc:clean', done => {
+ const result = apidoc.createDoc({
src: APIDOC_SRC_PATH,
dest: APIDOC_DEST_PATH,
});
@@ -21,6 +21,4 @@ gulp.task('apidoc', gulp.series('apidoc:clean', (done) => {
}
}));
-gulp.task('apidoc:watch', gulp.series('apidoc', (done) => {
- return gulp.watch(`${APIDOC_SRC_PATH}/**/*.js`, gulp.series('apidoc', done));
-}));
+gulp.task('apidoc:watch', gulp.series('apidoc', done => gulp.watch(`${APIDOC_SRC_PATH}/**/*.js`, gulp.series('apidoc', done))));
diff --git a/gulp/gulp-build.js b/gulp/gulp-build.js
index ae6e2ba419..535b0178b5 100644
--- a/gulp/gulp-build.js
+++ b/gulp/gulp-build.js
@@ -1,43 +1,28 @@
import gulp from 'gulp';
import babel from 'gulp-babel';
-import webpackProductionBuild from '../webpack/build';
-gulp.task('build:src', () => {
- return gulp.src('website/server/**/*.js')
- .pipe(babel())
- .pipe(gulp.dest('website/transpiled-babel/'));
-});
+gulp.task('build:src', () => gulp.src('website/server/**/*.js')
+ .pipe(babel())
+ .pipe(gulp.dest('website/transpiled-babel/')));
-gulp.task('build:common', () => {
- return gulp.src('website/common/script/**/*.js')
- .pipe(babel())
- .pipe(gulp.dest('website/common/transpiled-babel/'));
-});
+gulp.task('build:common', () => gulp.src('website/common/script/**/*.js')
+ .pipe(babel())
+ .pipe(gulp.dest('website/common/transpiled-babel/')));
gulp.task('build:server', gulp.series('build:src', 'build:common', done => done()));
-// Client Production Build
-gulp.task('build:client', (done) => {
- webpackProductionBuild((err, output) => {
- if (err) return done(err);
- console.log(output); // eslint-disable-line no-console
- done();
- });
-});
-
gulp.task('build:prod', gulp.series(
'build:server',
- 'build:client',
'apidoc',
- done => done()
+ done => done(),
));
-let buildArgs = [];
+const buildArgs = [];
if (process.env.NODE_ENV === 'production') { // eslint-disable-line no-process-env
buildArgs.push('build:prod');
}
-gulp.task('build', gulp.series(buildArgs, (done) => {
+gulp.task('build', gulp.series(buildArgs, done => {
done();
-}));
\ No newline at end of file
+}));
diff --git a/gulp/gulp-console.js b/gulp/gulp-console.js
index 3fc83bb793..15038fd6b5 100644
--- a/gulp/gulp-console.js
+++ b/gulp/gulp-console.js
@@ -1,26 +1,30 @@
import mongoose from 'mongoose';
-import logger from '../website/server/libs/logger';
-import nconf from 'nconf';
-import repl from 'repl';
-import gulp from 'gulp';
+import nconf from 'nconf';
+import repl from 'repl';
+import gulp from 'gulp';
+import logger from '../website/server/libs/logger';
// Add additional properties to the repl's context
-let improveRepl = (context) => {
+const improveRepl = context => {
// Let "exit" and "quit" terminate the console
- ['exit', 'quit'].forEach((term) => {
- Object.defineProperty(context, term, { get () {
- process.exit();
- }});
+ ['exit', 'quit'].forEach(term => {
+ Object.defineProperty(context, term, {
+ get () { // eslint-disable-line getter-return
+ process.exit();
+ },
+ });
});
// "clear" clears the screen
- Object.defineProperty(context, 'clear', { get () {
- process.stdout.write('\u001B[2J\u001B[0;0f');
- }});
+ Object.defineProperty(context, 'clear', {
+ get () { // eslint-disable-line getter-return
+ process.stdout.write('\u001B[2J\u001B[0;0f');
+ },
+ });
context.Challenge = require('../website/server/models/challenge').model; // eslint-disable-line global-require
- context.Group = require('../website/server/models/group').model; // eslint-disable-line global-require
- context.User = require('../website/server/models/user').model; // eslint-disable-line global-require
+ context.Group = require('../website/server/models/group').model; // eslint-disable-line global-require
+ context.User = require('../website/server/models/user').model; // eslint-disable-line global-require
const isProd = nconf.get('NODE_ENV') === 'production';
const mongooseOptions = !isProd ? {} : {
@@ -30,14 +34,14 @@ let improveRepl = (context) => {
mongoose.connect(
nconf.get('NODE_DB_URI'),
mongooseOptions,
- (err) => {
+ err => {
if (err) throw err;
logger.info('Connected with Mongoose');
- }
+ },
);
};
-gulp.task('console', (done) => {
+gulp.task('console', done => {
improveRepl(repl.start({
prompt: 'Habitica > ',
}).context);
diff --git a/gulp/gulp-sprites.js b/gulp/gulp-sprites.js
index c232fb475a..fce0bae980 100644
--- a/gulp/gulp-sprites.js
+++ b/gulp/gulp-sprites.js
@@ -4,29 +4,29 @@ import spritesmith from 'gulp.spritesmith';
import clean from 'rimraf';
import sizeOf from 'image-size';
import mergeStream from 'merge-stream';
-import {basename} from 'path';
-import {sync} from 'glob';
-import {each} from 'lodash';
+import { basename } from 'path';
+import { sync } from 'glob';
+import { each } from 'lodash';
import vinylBuffer from 'vinyl-buffer';
// https://github.com/Ensighten/grunt-spritesmith/issues/67#issuecomment-34786248
const MAX_SPRITESHEET_SIZE = 1024 * 1024 * 3;
-const IMG_DIST_PATH = 'website/client/assets/images/sprites/';
-const CSS_DIST_PATH = 'website/client/assets/css/sprites/';
+const IMG_DIST_PATH = 'website/client/src/assets/images/sprites/';
+const CSS_DIST_PATH = 'website/client/src/assets/css/sprites/';
function checkForSpecialTreatment (name) {
- let regex = /^hair|skin|beard|mustach|shirt|flower|^headAccessory_special_\w+Ears|^eyewear_special_\w+TopFrame|^eyewear_special_\w+HalfMoon/;
+ const regex = /^hair|skin|beard|mustach|shirt|flower|^headAccessory_special_\w+Ears|^eyewear_special_\w+TopFrame|^eyewear_special_\w+HalfMoon/;
return name.match(regex) || name === 'head_0';
}
function calculateImgDimensions (img, addPadding) {
let dims = sizeOf(img);
- let requiresSpecialTreatment = checkForSpecialTreatment(img);
+ const requiresSpecialTreatment = checkForSpecialTreatment(img);
if (requiresSpecialTreatment) {
- let newWidth = dims.width < 90 ? 90 : dims.width;
- let newHeight = dims.height < 90 ? 90 : dims.height;
+ const newWidth = dims.width < 90 ? 90 : dims.width;
+ const newHeight = dims.height < 90 ? 90 : dims.height;
dims = {
width: newWidth,
height: newHeight,
@@ -41,17 +41,17 @@ function calculateImgDimensions (img, addPadding) {
if (!dims.width || !dims.height) console.error('MISSING DIMENSIONS:', dims); // eslint-disable-line no-console
- let totalPixelSize = dims.width * dims.height + padding;
+ const totalPixelSize = dims.width * dims.height + padding;
return totalPixelSize;
}
function calculateSpritesheetsSrcIndicies (src) {
let totalPixels = 0;
- let slices = [0];
+ const slices = [0];
each(src, (img, index) => {
- let imageSize = calculateImgDimensions(img, true);
+ const imageSize = calculateImgDimensions(img, true);
totalPixels += imageSize;
if (totalPixels > MAX_SPRITESHEET_SIZE) {
@@ -64,37 +64,35 @@ function calculateSpritesheetsSrcIndicies (src) {
}
function cssVarMap (sprite) {
- // For hair, skins, beards, etc. we want to output a '.customize-options.WHATEVER' class, which works as a
- // 60x60 image pointing at the proper part of the 90x90 sprite.
+ // For hair, skins, beards, etc. we want to output a '.customize-options.WHATEVER' class,
+ // which works as a 60x60 image pointing at the proper part of the 90x90 sprite.
// We set up the custom info here, and the template makes use of it.
- let requiresSpecialTreatment = checkForSpecialTreatment(sprite.name);
+ const requiresSpecialTreatment = checkForSpecialTreatment(sprite.name);
if (requiresSpecialTreatment) {
sprite.custom = {
px: {
- offsetX: `-${ sprite.x + 25 }px`,
- offsetY: `-${ sprite.y + 15 }px`,
+ offsetX: `-${sprite.x + 25}px`,
+ offsetY: `-${sprite.y + 15}px`,
width: '60px',
height: '60px',
},
};
}
- if (sprite.name.indexOf('shirt') !== -1)
- sprite.custom.px.offsetY = `-${ sprite.y + 35 }px`; // even more for shirts
+ if (sprite.name.indexOf('shirt') !== -1) sprite.custom.px.offsetY = `-${sprite.y + 35}px`; // even more for shirts
if (sprite.name.indexOf('hair_base') !== -1) {
- let styleArray = sprite.name.split('_').slice(2, 3);
- if (Number(styleArray[0]) > 14)
- sprite.custom.px.offsetY = `-${ sprite.y }px`; // don't crop updos
+ const styleArray = sprite.name.split('_').slice(2, 3);
+ if (Number(styleArray[0]) > 14) sprite.custom.px.offsetY = `-${sprite.y}px`; // don't crop updos
}
}
function createSpritesStream (name, src) {
- let spritesheetSliceIndicies = calculateSpritesheetsSrcIndicies(src);
- let stream = mergeStream();
+ const spritesheetSliceIndicies = calculateSpritesheetsSrcIndicies(src);
+ const stream = mergeStream();
each(spritesheetSliceIndicies, (start, index) => {
- let slicedSrc = src.slice(start, spritesheetSliceIndicies[index + 1]);
+ const slicedSrc = src.slice(start, spritesheetSliceIndicies[index + 1]);
- let spriteData = gulp.src(slicedSrc)
+ const spriteData = gulp.src(slicedSrc)
.pipe(spritesmith({
imgName: `spritesmith-${name}-${index}.png`,
cssName: `spritesmith-${name}-${index}.css`,
@@ -104,12 +102,12 @@ function createSpritesStream (name, src) {
cssVarMap,
}));
- let imgStream = spriteData.img
+ const imgStream = spriteData.img
.pipe(vinylBuffer())
.pipe(imagemin())
.pipe(gulp.dest(IMG_DIST_PATH));
- let cssStream = spriteData.css
+ const cssStream = spriteData.css
.pipe(gulp.dest(CSS_DIST_PATH));
stream.add(imgStream);
@@ -120,32 +118,32 @@ function createSpritesStream (name, src) {
}
gulp.task('sprites:main', () => {
- let mainSrc = sync('website/raw_sprites/spritesmith/**/*.png');
+ const mainSrc = sync('website/raw_sprites/spritesmith/**/*.png');
return createSpritesStream('main', mainSrc);
});
gulp.task('sprites:largeSprites', () => {
- let largeSrc = sync('website/raw_sprites/spritesmith_large/**/*.png');
+ const largeSrc = sync('website/raw_sprites/spritesmith_large/**/*.png');
return createSpritesStream('largeSprites', largeSrc);
});
-gulp.task('sprites:clean', (done) => {
+gulp.task('sprites:clean', done => {
clean(`${IMG_DIST_PATH}spritesmith*,${CSS_DIST_PATH}spritesmith*}`, done);
});
-gulp.task('sprites:checkCompiledDimensions', gulp.series('sprites:main', 'sprites:largeSprites', (done) => {
+gulp.task('sprites:checkCompiledDimensions', gulp.series('sprites:main', 'sprites:largeSprites', done => {
console.log('Verifiying that images do not exceed max dimensions'); // eslint-disable-line no-console
let numberOfSheetsThatAreTooBig = 0;
- let distSpritesheets = sync(`${IMG_DIST_PATH}*.png`);
+ const distSpritesheets = sync(`${IMG_DIST_PATH}*.png`);
- each(distSpritesheets, (img) => {
- let spriteSize = calculateImgDimensions(img);
+ each(distSpritesheets, img => {
+ const spriteSize = calculateImgDimensions(img);
if (spriteSize > MAX_SPRITESHEET_SIZE) {
- numberOfSheetsThatAreTooBig++;
- let name = basename(img, '.png');
+ numberOfSheetsThatAreTooBig += 1;
+ const name = basename(img, '.png');
console.error(`WARNING: ${name} might be too big - ${spriteSize} > ${MAX_SPRITESHEET_SIZE}`); // eslint-disable-line no-console
}
});
@@ -155,7 +153,8 @@ gulp.task('sprites:checkCompiledDimensions', gulp.series('sprites:main', 'sprite
console.error( // eslint-disable-line no-console
`${numberOfSheetsThatAreTooBig} sheets might too big for mobile Safari to be able to handle
them, but there is a margin of error in these calculations so it is probably okay. Mention
- this to an admin so they can test a staging site on mobile Safari after your PR is merged.`);
+ this to an admin so they can test a staging site on mobile Safari after your PR is merged.`,
+ );
} else {
console.log('All images are within the correct dimensions'); // eslint-disable-line no-console
}
diff --git a/gulp/gulp-start.js b/gulp/gulp-start.js
index cca07d433d..736f5cb325 100644
--- a/gulp/gulp-start.js
+++ b/gulp/gulp-start.js
@@ -1,16 +1,11 @@
import gulp from 'gulp';
import nodemon from 'gulp-nodemon';
-let pkg = require('../package.json');
+import pkg from '../package.json';
-gulp.task('nodemon', (done) => {
+gulp.task('nodemon', done => {
nodemon({
script: pkg.main,
- ignore: [
- 'website/client-old/*',
- 'website/views/*',
- 'common/dist/script/content/*',
- ],
});
done();
});
diff --git a/gulp/gulp-tests.js b/gulp/gulp-tests.js
index 7294a90574..47eec297ec 100644
--- a/gulp/gulp-tests.js
+++ b/gulp/gulp-tests.js
@@ -1,60 +1,59 @@
+import mongoose from 'mongoose';
+import { exec } from 'child_process';
+import gulp from 'gulp';
+import os from 'os';
+import nconf from 'nconf';
import {
pipe,
-} from './taskHelper';
-import mongoose from 'mongoose';
-import { exec } from 'child_process';
-import gulp from 'gulp';
-import os from 'os';
-import nconf from 'nconf';
+} from './taskHelper';
// TODO rewrite
-const TEST_SERVER_PORT = 3003;
+const TEST_SERVER_PORT = 3003;
let server;
-const TEST_DB_URI = nconf.get('TEST_DB_URI');
+const TEST_DB_URI = nconf.get('TEST_DB_URI');
const SANITY_TEST_COMMAND = 'npm run test:sanity';
const COMMON_TEST_COMMAND = 'npm run test:common';
const CONTENT_TEST_COMMAND = 'npm run test:content';
-const CONTENT_OPTIONS = {maxBuffer: 1024 * 500};
+const CONTENT_OPTIONS = { maxBuffer: 1024 * 500 };
/* Helper methods for reporting test summary */
-let testResults = [];
-let testCount = (stdout, regexp) => {
- let match = stdout.match(regexp);
- return parseInt(match && match[1] || 0, 10);
+const testResults = [];
+const testCount = (stdout, regexp) => {
+ const match = stdout.match(regexp);
+ return parseInt(match && (match[1] || 0), 10);
};
-let testBin = (string, additionalEnvVariables = '') => {
+const testBin = (string, additionalEnvVariables = '') => {
if (os.platform() === 'win32') {
if (additionalEnvVariables !== '') {
- additionalEnvVariables = additionalEnvVariables.split(' ').join('&&set ');
- additionalEnvVariables = `set ${additionalEnvVariables}&&`;
+ additionalEnvVariables = additionalEnvVariables.split(' ').join('&&set '); // eslint-disable-line no-param-reassign
+ additionalEnvVariables = `set ${additionalEnvVariables}&&`; // eslint-disable-line no-param-reassign
}
return `set NODE_ENV=test&&${additionalEnvVariables}${string}`;
- } else {
- return `NODE_ENV=test ${additionalEnvVariables} ${string}`;
}
+ return `NODE_ENV=test ${additionalEnvVariables} ${string}`;
};
-gulp.task('test:nodemon', gulp.series(function setupNodemon (done) {
+gulp.task('test:nodemon', gulp.series(done => {
process.env.PORT = TEST_SERVER_PORT; // eslint-disable-line no-process-env
process.env.NODE_DB_URI = TEST_DB_URI; // eslint-disable-line no-process-env
done();
}, 'nodemon'));
-gulp.task('test:prepare:mongo', (cb) => {
- mongoose.connect(TEST_DB_URI, (err) => {
+gulp.task('test:prepare:mongo', cb => {
+ mongoose.connect(TEST_DB_URI, err => {
if (err) return cb(`Unable to connect to mongo database. Are you sure it's running? \n\n${err}`);
- mongoose.connection.dropDatabase((err2) => {
+ return mongoose.connection.dropDatabase(err2 => {
if (err2) return cb(err2);
- mongoose.connection.close(cb);
+ return mongoose.connection.close(cb);
});
});
});
-gulp.task('test:prepare:server', gulp.series('test:prepare:mongo', (done) => {
+gulp.task('test:prepare:server', gulp.series('test:prepare:mongo', done => {
if (!server) {
server = exec(testBin('node ./website/server/index.js', `NODE_DB_URI=${TEST_DB_URI} PORT=${TEST_SERVER_PORT}`), (error, stdout, stderr) => {
if (error) {
@@ -73,45 +72,43 @@ gulp.task('test:prepare:build', gulp.series('build', done => done()));
gulp.task('test:prepare', gulp.series(
'test:prepare:build',
'test:prepare:mongo',
- done => done()
+ done => done(),
));
-gulp.task('test:sanity', (cb) => {
- let runner = exec(
+gulp.task('test:sanity', cb => {
+ const runner = exec(
testBin(SANITY_TEST_COMMAND),
- (err) => {
+ err => {
if (err) {
process.exit(1);
}
cb();
- }
+ },
);
pipe(runner);
});
-gulp.task('test:common', gulp.series('test:prepare:build', (cb) => {
- let runner = exec(
+gulp.task('test:common', gulp.series('test:prepare:build', cb => {
+ const runner = exec(
testBin(COMMON_TEST_COMMAND),
- (err) => {
+ err => {
if (err) {
process.exit(1);
}
cb();
- }
+ },
);
pipe(runner);
}));
-gulp.task('test:common:clean', (cb) => {
+gulp.task('test:common:clean', cb => {
pipe(exec(testBin(COMMON_TEST_COMMAND), () => cb()));
});
-gulp.task('test:common:watch', gulp.series('test:common:clean', () => {
- return gulp.watch(['common/script/**/*', 'test/common/**/*'], gulp.series('test:common:clean', done => done()));
-}));
+gulp.task('test:common:watch', gulp.series('test:common:clean', () => gulp.watch(['common/script/**/*', 'test/common/**/*'], gulp.series('test:common:clean', done => done()))));
-gulp.task('test:common:safe', gulp.series('test:prepare:build', (cb) => {
- let runner = exec(
+gulp.task('test:common:safe', gulp.series('test:prepare:build', cb => {
+ const runner = exec(
testBin(COMMON_TEST_COMMAND),
(err, stdout) => { // eslint-disable-line handle-callback-err
testResults.push({
@@ -121,38 +118,36 @@ gulp.task('test:common:safe', gulp.series('test:prepare:build', (cb) => {
pend: testCount(stdout, /(\d+) pending/),
});
cb();
- }
+ },
);
pipe(runner);
}));
-gulp.task('test:content', gulp.series('test:prepare:build', (cb) => {
- let runner = exec(
+gulp.task('test:content', gulp.series('test:prepare:build', cb => {
+ const runner = exec(
testBin(CONTENT_TEST_COMMAND),
CONTENT_OPTIONS,
- (err) => {
+ err => {
if (err) {
process.exit(1);
}
cb();
- }
+ },
);
pipe(runner);
}));
-gulp.task('test:content:clean', (cb) => {
+gulp.task('test:content:clean', cb => {
pipe(exec(testBin(CONTENT_TEST_COMMAND), CONTENT_OPTIONS, () => cb()));
});
-gulp.task('test:content:watch', gulp.series('test:content:clean', () => {
- return gulp.watch(['common/script/content/**', 'test/**'], gulp.series('test:content:clean', done => done()));
-}));
+gulp.task('test:content:watch', gulp.series('test:content:clean', () => gulp.watch(['common/script/content/**', 'test/**'], gulp.series('test:content:clean', done => done()))));
-gulp.task('test:content:safe', gulp.series('test:prepare:build', (cb) => {
- let runner = exec(
+gulp.task('test:content:safe', gulp.series('test:prepare:build', cb => {
+ const runner = exec(
testBin(CONTENT_TEST_COMMAND),
CONTENT_OPTIONS,
- (err, stdout) => { // eslint-disable-line handle-callback-err
+ (err, stdout) => { // eslint-disable-line handle-callback-err
testResults.push({
suite: 'Content Specs\t',
pass: testCount(stdout, /(\d+) passing/),
@@ -160,81 +155,77 @@ gulp.task('test:content:safe', gulp.series('test:prepare:build', (cb) => {
pend: testCount(stdout, /(\d+) pending/),
});
cb();
- }
+ },
);
pipe(runner);
}));
-gulp.task('test:api:unit', (done) => {
- let runner = exec(
+gulp.task('test:api:unit', done => {
+ const runner = exec(
testBin('istanbul cover --dir coverage/api-unit node_modules/mocha/bin/_mocha -- test/api/unit --recursive --require ./test/helpers/start-server'),
- (err) => {
+ err => {
if (err) {
process.exit(1);
}
done();
- }
+ },
);
pipe(runner);
});
-gulp.task('test:api:unit:watch', () => {
- return gulp.watch(['website/server/libs/*', 'test/api/unit/**/*', 'website/server/controllers/**/*'], gulp.series('test:api:unit', done => done()));
-});
+gulp.task('test:api:unit:watch', () => gulp.watch(['website/server/libs/*', 'test/api/unit/**/*', 'website/server/controllers/**/*'], gulp.series('test:api:unit', done => done())));
-gulp.task('test:api-v3:integration', (done) => {
- let runner = exec(
+gulp.task('test:api-v3:integration', done => {
+ const runner = exec(
testBin('istanbul cover --dir coverage/api-v3-integration --report lcovonly node_modules/mocha/bin/_mocha -- test/api/v3/integration --recursive --require ./test/helpers/start-server'),
- {maxBuffer: 500 * 1024},
- (err) => {
+ { maxBuffer: 500 * 1024 },
+ err => {
if (err) {
process.exit(1);
}
done();
- }
+ },
);
pipe(runner);
});
-gulp.task('test:api-v3:integration:watch', () => {
- return gulp.watch([
- 'website/server/controllers/api-v3/**/*', 'common/script/ops/*', 'website/server/libs/*.js',
- 'test/api/v3/integration/**/*',
- ], gulp.series('test:api-v3:integration', done => done()));
-});
+gulp.task('test:api-v3:integration:watch', () => gulp.watch([
+ 'website/server/controllers/api-v3/**/*', 'common/script/ops/*', 'website/server/libs/*.js',
+ 'test/api/v3/integration/**/*',
+], gulp.series('test:api-v3:integration', done => done())));
-gulp.task('test:api-v3:integration:separate-server', (done) => {
- let runner = exec(
+gulp.task('test:api-v3:integration:separate-server', done => {
+ const runner = exec(
testBin('mocha test/api/v3/integration --recursive --require ./test/helpers/start-server', 'LOAD_SERVER=0'),
- {maxBuffer: 500 * 1024},
- (err) => done(err)
+ { maxBuffer: 500 * 1024 },
+ err => done(err),
);
pipe(runner);
});
-gulp.task('test:api-v4:integration', (done) => {
- let runner = exec(
+gulp.task('test:api-v4:integration', done => {
+ const runner = exec(
testBin('istanbul cover --dir coverage/api-v4-integration --report lcovonly node_modules/mocha/bin/_mocha -- test/api/v4 --recursive --require ./test/helpers/start-server'),
- {maxBuffer: 500 * 1024},
- (err) => {
+ { maxBuffer: 500 * 1024 },
+ err => {
if (err) {
process.exit(1);
}
done();
- }
+ },
);
pipe(runner);
});
-gulp.task('test:api-v4:integration:separate-server', (done) => {
- let runner = exec(
+gulp.task('test:api-v4:integration:separate-server', done => {
+ const runner = exec(
testBin('mocha test/api/v4 --recursive --require ./test/helpers/start-server', 'LOAD_SERVER=0'),
- {maxBuffer: 500 * 1024},
- (err) => done(err)
+ { maxBuffer: 500 * 1024 },
+ err => done(err),
);
pipe(runner);
@@ -247,11 +238,11 @@ gulp.task('test', gulp.series(
'test:api:unit',
'test:api-v3:integration',
'test:api-v4:integration',
- done => done()
+ done => done(),
));
gulp.task('test:api-v3', gulp.series(
'test:api:unit',
'test:api-v3:integration',
- done => done()
+ done => done(),
));
diff --git a/gulp/gulp-transifex-test.js b/gulp/gulp-transifex-test.js
index 2403707ecf..5ecb013e2d 100644
--- a/gulp/gulp-transifex-test.js
+++ b/gulp/gulp-transifex-test.js
@@ -1,6 +1,6 @@
-import fs from 'fs';
-import _ from 'lodash';
-import gulp from 'gulp';
+import fs from 'fs';
+import _ from 'lodash';
+import gulp from 'gulp';
import { postToSlack, conf } from './taskHelper';
const SLACK_CONFIG = {
@@ -14,7 +14,7 @@ const ENGLISH_LOCALE = `${LOCALES}en/`;
function getArrayOfLanguages () {
- let languages = fs.readdirSync(LOCALES);
+ const languages = fs.readdirSync(LOCALES);
languages.shift(); // Remove README.md from array of languages
return languages;
@@ -23,18 +23,16 @@ function getArrayOfLanguages () {
const ALL_LANGUAGES = getArrayOfLanguages();
function stripOutNonJsonFiles (collection) {
- let onlyJson = _.filter(collection, (file) => {
- return file.match(/[a-zA-Z]*\.json/);
- });
+ const onlyJson = _.filter(collection, file => file.match(/[a-zA-Z]*\.json/));
return onlyJson;
}
function eachTranslationFile (languages, cb) {
- let jsonFiles = stripOutNonJsonFiles(fs.readdirSync(ENGLISH_LOCALE));
+ const jsonFiles = stripOutNonJsonFiles(fs.readdirSync(ENGLISH_LOCALE));
- _.each(languages, (lang) => {
- _.each(jsonFiles, (filename) => {
+ _.each(languages, lang => {
+ _.each(jsonFiles, filename => {
let parsedTranslationFile;
try {
const translationFile = fs.readFileSync(`${LOCALES}${lang}/${filename}`);
@@ -43,10 +41,10 @@ function eachTranslationFile (languages, cb) {
return cb(err);
}
- let englishFile = fs.readFileSync(ENGLISH_LOCALE + filename);
- let parsedEnglishFile = JSON.parse(englishFile);
+ const englishFile = fs.readFileSync(ENGLISH_LOCALE + filename);
+ const parsedEnglishFile = JSON.parse(englishFile);
- cb(null, lang, filename, parsedEnglishFile, parsedTranslationFile);
+ return cb(null, lang, filename, parsedEnglishFile, parsedTranslationFile);
});
});
}
@@ -71,9 +69,9 @@ function formatMessageForPosting (msg, items) {
}
function getStringsWith (json, interpolationRegex) {
- let strings = {};
+ const strings = {};
- _.each(json, (fileName) => {
+ _.each(json, fileName => {
const rawFile = fs.readFileSync(ENGLISH_LOCALE + fileName);
const parsedJson = JSON.parse(rawFile);
@@ -93,66 +91,69 @@ const malformedStringExceptions = {
feedPet: true,
};
-gulp.task('transifex:missingFiles', (done) => {
- let missingStrings = [];
+gulp.task('transifex:missingFiles', done => {
+ const missingStrings = [];
- eachTranslationFile(ALL_LANGUAGES, (error) => {
+ eachTranslationFile(ALL_LANGUAGES, error => {
if (error) {
missingStrings.push(error.path);
}
});
if (!_.isEmpty(missingStrings)) {
- let message = 'the following files were missing from the translations folder';
- let formattedMessage = formatMessageForPosting(message, missingStrings);
+ const message = 'the following files were missing from the translations folder';
+ const formattedMessage = formatMessageForPosting(message, missingStrings);
postToSlack(formattedMessage, SLACK_CONFIG);
}
done();
});
-gulp.task('transifex:missingStrings', (done) => {
- let missingStrings = [];
+gulp.task('transifex:missingStrings', done => {
+ const missingStrings = [];
- eachTranslationString(ALL_LANGUAGES, (language, filename, key, englishString, translationString) => {
+ eachTranslationString(ALL_LANGUAGES, (lang, filename, key, englishString, translationString) => {
if (!translationString) {
- let errorString = `${language} - ${filename} - ${key} - ${englishString}`;
+ const errorString = `${lang} - ${filename} - ${key} - ${englishString}`;
missingStrings.push(errorString);
}
});
if (!_.isEmpty(missingStrings)) {
- let message = 'The following strings are not translated';
- let formattedMessage = formatMessageForPosting(message, missingStrings);
+ const message = 'The following strings are not translated';
+ const formattedMessage = formatMessageForPosting(message, missingStrings);
postToSlack(formattedMessage, SLACK_CONFIG);
}
done();
});
-gulp.task('transifex:malformedStrings', (done) => {
- let jsonFiles = stripOutNonJsonFiles(fs.readdirSync(ENGLISH_LOCALE));
- let interpolationRegex = /<%= [a-zA-Z]* %>/g;
- let stringsToLookFor = getStringsWith(jsonFiles, interpolationRegex);
+gulp.task('transifex:malformedStrings', done => {
+ const jsonFiles = stripOutNonJsonFiles(fs.readdirSync(ENGLISH_LOCALE));
+ const interpolationRegex = /<%= [a-zA-Z]* %>/g;
+ const stringsToLookFor = getStringsWith(jsonFiles, interpolationRegex);
- let stringsWithMalformedInterpolations = [];
- let stringsWithIncorrectNumberOfInterpolations = [];
+ const stringsWithMalformedInterpolations = [];
+ const stringsWithIncorrectNumberOfInterpolations = [];
- _.each(ALL_LANGUAGES, (lang) => {
+ _.each(ALL_LANGUAGES, lang => {
_.each(stringsToLookFor, (strings, filename) => {
- let translationFile = fs.readFileSync(`${LOCALES}${lang}/${filename}`);
- let parsedTranslationFile = JSON.parse(translationFile);
+ const translationFile = fs.readFileSync(`${LOCALES}${lang}/${filename}`);
+ const parsedTranslationFile = JSON.parse(translationFile);
_.each(strings, (value, key) => { // eslint-disable-line max-nested-callbacks
- let translationString = parsedTranslationFile[key];
+ const translationString = parsedTranslationFile[key];
if (!translationString) return;
- let englishOccurences = stringsToLookFor[filename][key];
- let translationOccurences = translationString.match(interpolationRegex);
+ const englishOccurences = stringsToLookFor[filename][key];
+ const translationOccurences = translationString.match(interpolationRegex);
if (!translationOccurences) {
- let malformedString = `${lang} - ${filename} - ${key} - ${translationString}`;
+ const malformedString = `${lang} - ${filename} - ${key} - ${translationString}`;
stringsWithMalformedInterpolations.push(malformedString);
- } else if (englishOccurences.length !== translationOccurences.length && !malformedStringExceptions[key]) {
- let missingInterpolationString = `${lang} - ${filename} - ${key} - ${translationString}`;
+ } else if (
+ englishOccurences.length !== translationOccurences.length
+ && !malformedStringExceptions[key]
+ ) {
+ const missingInterpolationString = `${lang} - ${filename} - ${key} - ${translationString}`;
stringsWithIncorrectNumberOfInterpolations.push(missingInterpolationString);
}
});
@@ -160,14 +161,17 @@ gulp.task('transifex:malformedStrings', (done) => {
});
if (!_.isEmpty(stringsWithMalformedInterpolations)) {
- let message = 'The following strings have malformed or missing interpolations';
- let formattedMessage = formatMessageForPosting(message, stringsWithMalformedInterpolations);
+ const message = 'The following strings have malformed or missing interpolations';
+ const formattedMessage = formatMessageForPosting(message, stringsWithMalformedInterpolations);
postToSlack(formattedMessage, SLACK_CONFIG);
}
if (!_.isEmpty(stringsWithIncorrectNumberOfInterpolations)) {
- let message = 'The following strings have a different number of string interpolations';
- let formattedMessage = formatMessageForPosting(message, stringsWithIncorrectNumberOfInterpolations);
+ const message = 'The following strings have a different number of string interpolations';
+ const formattedMessage = formatMessageForPosting(
+ message,
+ stringsWithIncorrectNumberOfInterpolations,
+ );
postToSlack(formattedMessage, SLACK_CONFIG);
}
done();
@@ -176,5 +180,5 @@ gulp.task('transifex:malformedStrings', (done) => {
gulp.task(
'transifex',
gulp.series('transifex:missingFiles', 'transifex:missingStrings', 'transifex:malformedStrings'),
- (done) => done()
-);
\ No newline at end of file
+ done => done(),
+);
diff --git a/gulp/taskHelper.js b/gulp/taskHelper.js
index 270573ba70..b22897747e 100644
--- a/gulp/taskHelper.js
+++ b/gulp/taskHelper.js
@@ -1,11 +1,11 @@
-import { exec } from 'child_process';
-import psTree from 'ps-tree';
-import nconf from 'nconf';
-import net from 'net';
-import { post } from 'superagent';
-import { sync as glob } from 'glob';
-import Mocha from 'mocha';
-import { resolve } from 'path';
+import { exec } from 'child_process';
+import psTree from 'ps-tree';
+import nconf from 'nconf';
+import net from 'net';
+import { post } from 'superagent';
+import { sync as glob } from 'glob';
+import Mocha from 'mocha'; // eslint-disable-line import/no-extraneous-dependencies
+import { resolve } from 'path';
/*
* Get access to configruable values
@@ -19,15 +19,15 @@ export const conf = nconf;
* its tasks.
*/
export function kill (proc) {
- let killProcess = (pid) => {
+ const killProcess = pid => {
psTree(pid, (_, pids) => {
if (pids.length) {
pids.forEach(kill); return;
}
try {
- exec(/^win/.test(process.platform) ?
- `taskkill /PID ${pid} /T /F` :
- `kill -9 ${pid}`);
+ exec(/^win/.test(process.platform)
+ ? `taskkill /PID ${pid} /T /F`
+ : `kill -9 ${pid}`);
} catch (e) {
console.log(e); // eslint-disable-line no-console
}
@@ -46,16 +46,15 @@ export function kill (proc) {
export function awaitPort (port, max = 60) {
return new Promise((rej, res) => {
let socket;
- let timeout;
let interval;
- timeout = setTimeout(() => {
+ const timeout = setTimeout(() => {
clearInterval(interval);
rej(`Timed out after ${max} seconds`);
}, max * 1000);
interval = setInterval(() => {
- socket = net.connect({port}, () => {
+ socket = net.connect({ port }, () => {
clearInterval(interval);
clearTimeout(timeout);
socket.destroy();
@@ -71,10 +70,10 @@ export function awaitPort (port, max = 60) {
* Pipe the child's stdin and stderr to the parent process.
*/
export function pipe (child) {
- child.stdout.on('data', (data) => {
+ child.stdout.on('data', data => {
process.stdout.write(data);
});
- child.stderr.on('data', (data) => {
+ child.stderr.on('data', data => {
process.stderr.write(data);
});
}
@@ -83,7 +82,7 @@ export function pipe (child) {
* Post request to notify configured slack channel
*/
export function postToSlack (msg, config = {}) {
- let slackUrl = nconf.get('SLACK_URL');
+ const slackUrl = nconf.get('SLACK_URL');
if (!slackUrl) {
console.error('No slack post url specified. Your message was:'); // eslint-disable-line no-console
@@ -99,7 +98,7 @@ export function postToSlack (msg, config = {}) {
text: msg,
icon_emoji: `:${config.emoji || 'gulp'}:`, // eslint-disable-line camelcase
})
- .end((err) => {
+ .end(err => {
if (err) console.error('Unable to post to slack', err); // eslint-disable-line no-console
});
}
@@ -107,15 +106,15 @@ export function postToSlack (msg, config = {}) {
export function runMochaTests (files, server, cb) {
require('../test/helpers/globals.helper'); // eslint-disable-line global-require
- let mocha = new Mocha({reporter: 'spec'});
- let tests = glob(files);
+ const mocha = new Mocha({ reporter: 'spec' });
+ const tests = glob(files);
- tests.forEach((test) => {
+ tests.forEach(test => {
delete require.cache[resolve(test)];
mocha.addFile(test);
});
- mocha.run((numberOfFailures) => {
+ mocha.run(numberOfFailures => {
if (!process.env.RUN_INTEGRATION_TEST_FOREVER) { // eslint-disable-line no-process-env
if (server) kill(server);
process.exit(numberOfFailures);
diff --git a/gulpfile.js b/gulpfile.js
index f28f6b975f..9283119db9 100644
--- a/gulpfile.js
+++ b/gulpfile.js
@@ -6,7 +6,8 @@
* directory, and it will automatically be included.
*/
-require('babel-register');
+/* eslint-disable import/no-commonjs */
+require('@babel/register');
const gulp = require('gulp');
diff --git a/migrations/.eslintrc b/migrations/.eslintrc
deleted file mode 100644
index 6509e9ee6b..0000000000
--- a/migrations/.eslintrc
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "root": false,
- "rules": {
- "no-console": 0,
- "no-use-before-define": ["error", { "functions": false }]
- }
-}
diff --git a/migrations/.eslintrc.js b/migrations/.eslintrc.js
new file mode 100644
index 0000000000..d8d1723174
--- /dev/null
+++ b/migrations/.eslintrc.js
@@ -0,0 +1,8 @@
+/* eslint-disable import/no-commonjs */
+module.exports = {
+ root: false,
+ rules: {
+ 'no-console': 0,
+ 'no-use-before-define': ['error', { functions: false }]
+ }
+}
diff --git a/migrations/challenges/sync-all-challenges.js b/migrations/challenges/sync-all-challenges.js
index 7998aecdd1..5e6e7df2e1 100644
--- a/migrations/challenges/sync-all-challenges.js
+++ b/migrations/challenges/sync-all-challenges.js
@@ -2,14 +2,14 @@ import { model as Challenges } from '../../website/server/models/challenge';
import { model as User } from '../../website/server/models/user';
async function syncChallengeToMembers (challenges) {
- let challengSyncPromises = challenges.map(async (challenge) => {
- let users = await User.find({
+ const challengSyncPromises = challenges.map(async challenge => {
+ const users = await User.find({
// _id: '',
challenges: challenge._id,
}).exec();
- let promises = [];
- users.forEach((user) => {
+ const promises = [];
+ users.forEach(user => {
promises.push(challenge.syncToUser(user));
promises.push(challenge.save());
promises.push(user.save());
@@ -18,11 +18,11 @@ async function syncChallengeToMembers (challenges) {
return Promise.all(promises);
});
- return await Promise.all(challengSyncPromises);
+ return Promise.all(challengSyncPromises);
}
async function syncChallenges (lastChallengeDate) {
- let query = {
+ const query = {
// _id: '',
};
@@ -30,16 +30,16 @@ async function syncChallenges (lastChallengeDate) {
query.createdOn = { $lte: lastChallengeDate };
}
- let challengesFound = await Challenges.find(query)
+ const challengesFound = await Challenges.find(query)
.limit(10)
.sort('-createdAt')
.exec();
- let syncedChallenges = await syncChallengeToMembers(challengesFound)
+ const syncedChallenges = await syncChallengeToMembers(challengesFound)
.catch(reason => console.error(reason));
- let lastChallenge = challengesFound[challengesFound.length - 1];
+ const lastChallenge = challengesFound[challengesFound.length - 1];
if (lastChallenge) syncChallenges(lastChallenge.createdAt);
return syncedChallenges;
}
-module.exports = syncChallenges;
+export default syncChallenges;
diff --git a/migrations/command-line/apology_gems.js b/migrations/command-line/apology_gems.js
index 347a63d141..f56b8e6323 100644
--- a/migrations/command-line/apology_gems.js
+++ b/migrations/command-line/apology_gems.js
@@ -1 +1 @@
-db.users.update({_id: {$in: ['']}}, {$inc: {balance: 0.5}}, {multi: true});
\ No newline at end of file
+db.users.update({ _id: { $in: [''] } }, { $inc: { balance: 0.5 } }, { multi: true });
diff --git a/migrations/command-line/cancelSubscription.js b/migrations/command-line/cancelSubscription.js
index f823bed40f..a59a0a4c7f 100644
--- a/migrations/command-line/cancelSubscription.js
+++ b/migrations/command-line/cancelSubscription.js
@@ -1,11 +1,14 @@
// mongo habitrpg ./node_modules/moment/moment.js ./migrations/cancelSubscription.js
-// For some reason people often to contact me to cancel their sub, rather than do it online. Even when I point them to
+// For some reason people often to contact me to cancel their sub,
+// rather than do it online. Even when I point them to
// the FAQ (http://goo.gl/1uoPGQ) they insist...
db.users.update(
- {_id: ''},
- {$set: {
- 'purchased.plan.dateTerminated': moment().add('month', 1).toDate(),
- }}
-);
\ No newline at end of file
+ { _id: '' },
+ {
+ $set: {
+ 'purchased.plan.dateTerminated': moment().add('month', 1).toDate(),
+ },
+ },
+);
diff --git a/migrations/command-line/contribs_plan.js b/migrations/command-line/contribs_plan.js
index 548ff6f18f..3a6d66359e 100644
--- a/migrations/command-line/contribs_plan.js
+++ b/migrations/command-line/contribs_plan.js
@@ -1,8 +1,7 @@
// Give contrib.level 7+ free subscription for life
db.users.update(
-
{
- 'contributor.level': {$gte: 7},
+ 'contributor.level': { $gte: 7 },
'purchased.plan.customerId': null,
},
@@ -18,6 +17,6 @@ db.users.update(
},
},
- {multi: true}
+ { multi: true },
-);
\ No newline at end of file
+);
diff --git a/migrations/command-line/current_period_end.js b/migrations/command-line/current_period_end.js
index 56c9e8b45d..d91ff5a250 100644
--- a/migrations/command-line/current_period_end.js
+++ b/migrations/command-line/current_period_end.js
@@ -1,5 +1,5 @@
// mongo habitrpg ./node_modules/moment/moment.js ./migrations/current_period_end.js
db.users.update(
- {_id: ''},
- {$set: {'purchased.plan.dateTerminated': moment().add({days: 7}).toDate()}}
-);
\ No newline at end of file
+ { _id: '' },
+ { $set: { 'purchased.plan.dateTerminated': moment().add({ days: 7 }).toDate() } },
+);
diff --git a/migrations/command-line/duplicatedTasksFindAndRemove.js b/migrations/command-line/duplicatedTasksFindAndRemove.js
index 2dcdb10e5c..d96b22356e 100644
--- a/migrations/command-line/duplicatedTasksFindAndRemove.js
+++ b/migrations/command-line/duplicatedTasksFindAndRemove.js
@@ -39,38 +39,52 @@
// needed. Do not miss any of them!
-let uuid = '30fb2640-7121-4968-ace5-f385e60ea6c5';
+const uuid = '30fb2640-7121-4968-ace5-f385e60ea6c5';
db.users.aggregate([
- {$match: {
- _id: uuid,
- }},
- {$project: {
- _id: 0, todos: 1,
- }},
- {$unwind: '$todos'},
- {$group: {
- _id: { taskid: '$todos.id' },
- count: { $sum: 1 },
- }},
- {$match: {
- count: { $gt: 1 },
- }},
- {$project: {
- '_id.taskid': 1,
- }},
- {$group: {
- _id: { taskid: '$todos.id' },
- troublesomeIds: { $addToSet: '$_id.taskid' },
- }},
- {$project: {
- _id: 0,
- troublesomeIds: 1,
- }},
-]).forEach((data) => {
+ {
+ $match: {
+ _id: uuid,
+ },
+ },
+ {
+ $project: {
+ _id: 0, todos: 1,
+ },
+ },
+ { $unwind: '$todos' },
+ {
+ $group: {
+ _id: { taskid: '$todos.id' },
+ count: { $sum: 1 },
+ },
+ },
+ {
+ $match: {
+ count: { $gt: 1 },
+ },
+ },
+ {
+ $project: {
+ '_id.taskid': 1,
+ },
+ },
+ {
+ $group: {
+ _id: { taskid: '$todos.id' },
+ troublesomeIds: { $addToSet: '$_id.taskid' },
+ },
+ },
+ {
+ $project: {
+ _id: 0,
+ troublesomeIds: 1,
+ },
+ },
+]).forEach(data => {
// print( "\n" ); printjson(data);
- data.troublesomeIds.forEach((taskid) => {
- print(`non-unique task: ${ taskid}`);
+ data.troublesomeIds.forEach(taskid => {
+ print(`non-unique task: ${taskid}`); // eslint-disable-line no-restricted-globals
db.users.update({
_id: uuid,
todos: { $elemMatch: { id: taskid } },
@@ -81,8 +95,7 @@ db.users.aggregate([
});
db.users.update(
- {_id: uuid},
- {$pull: { todos: { id: 'de666' } } },
- {multi: false }
+ { _id: uuid },
+ { $pull: { todos: { id: 'de666' } } },
+ { multi: false },
);
-
diff --git a/migrations/command-line/facebook_to_local.js b/migrations/command-line/facebook_to_local.js
index de707c4f05..fb9c65d324 100644
--- a/migrations/command-line/facebook_to_local.js
+++ b/migrations/command-line/facebook_to_local.js
@@ -1,10 +1,10 @@
-let oldId = '';
-let newId = '';
-let newUser = db.users.findOne({_id: newId});
+const oldId = '';
+const newId = '';
+const newUser = db.users.findOne({ _id: newId });
-db.users.update({_id: oldId}, {$set: {auth: newUser.auth}});
+db.users.update({ _id: oldId }, { $set: { auth: newUser.auth } });
-// remove the auth on the new user (which is a template account). The account will be preened automatically later,
+// remove the auth on the new user (which is a template account).
+// The account will be preened automatically later,
// this allows us to keep the account around a few days in case there was a mistake
-db.users.update({_id: newId}, {$unset: {auth: 1}});
-
+db.users.update({ _id: newId }, { $unset: { auth: 1 } });
diff --git a/migrations/command-line/find_unique_user.js b/migrations/command-line/find_unique_user.js
index 378c6c8708..bb3e590df0 100644
--- a/migrations/command-line/find_unique_user.js
+++ b/migrations/command-line/find_unique_user.js
@@ -5,8 +5,8 @@
* Past in the text of a unique habit here to find the user, then you can restore their UUID
*/
-db.users.find().forEach((user) => {
+db.users.find().forEach(user => {
user.tasks = user.habits.concat(user.dailys).concat(user.todos).concat(user.rewards);
- let found = _.some(user.tasks, {text: ''});
- if (found) printjson({id: user._id, auth: user.auth});
-});
\ No newline at end of file
+ const found = _.some(user.tasks, { text: '' });
+ if (found) printjson({ id: user._id, auth: user.auth });
+});
diff --git a/migrations/command-line/freeMonth.js b/migrations/command-line/freeMonth.js
index 2b9b19cccd..eccf3f7cc4 100644
--- a/migrations/command-line/freeMonth.js
+++ b/migrations/command-line/freeMonth.js
@@ -1,32 +1,34 @@
// mongo habitrpg ./node_modules/moment/moment.js ./migrations/freeMonth.js
db.users.update(
- {_id: ''},
- {$set: {
- 'purchased.plan.customerId': 'temporary',
- 'purchased.plan.paymentMethod': 'Stripe',
- 'purchased.plan.planId': 'basic_earned',
- 'purchased.plan.dateTerminated': moment().add('month', 1).toDate(),
- }}
+ { _id: '' },
+ {
+ $set: {
+ 'purchased.plan.customerId': 'temporary',
+ 'purchased.plan.paymentMethod': 'Stripe',
+ 'purchased.plan.planId': 'basic_earned',
+ 'purchased.plan.dateTerminated': moment().add('month', 1).toDate(),
+ },
+ },
);
// var m = 12;
// db.users.update(
// {_id:''},
// {$set:{'purchased.plan':{
-// planId: 'basic_'+m+'mo',
-// paymentMethod: 'Paypal',
-// customerId: 'Gift',
-// dateCreated: new Date(),
-// dateTerminated: moment().add('month',m).toDate(),
-// dateUpdated: new Date(),
-// extraMonths: 0,
-// gemsBought: 0,
-// mysteryItems: [],
-// consecutive: {
-// count: 0,
-// offset: m,
-// gemCapExtra: m/3*5,
-// trinkets: m/3
-// }
+// planId: 'basic_'+m+'mo',
+// paymentMethod: 'Paypal',
+// customerId: 'Gift',
+// dateCreated: new Date(),
+// dateTerminated: moment().add('month',m).toDate(),
+// dateUpdated: new Date(),
+// extraMonths: 0,
+// gemsBought: 0,
+// mysteryItems: [],
+// consecutive: {
+// count: 0,
+// offset: m,
+// gemCapExtra: m/3*5,
+// trinkets: m/3
+// }
// }}}
-// )
\ No newline at end of file
+// )
diff --git a/migrations/command-line/habitica_day.js b/migrations/command-line/habitica_day.js
index 9e4fd3af5b..61787298e1 100644
--- a/migrations/command-line/habitica_day.js
+++ b/migrations/command-line/habitica_day.js
@@ -1,5 +1,5 @@
db.users.update(
{},
- {$inc: {'achievements.habiticaDays': 1}},
- {multi: 1}
+ { $inc: { 'achievements.habiticaDays': 1 } },
+ { multi: 1 },
);
diff --git a/migrations/command-line/missing_gems.js b/migrations/command-line/missing_gems.js
index 080bfbd687..fad6c750dd 100644
--- a/migrations/command-line/missing_gems.js
+++ b/migrations/command-line/missing_gems.js
@@ -1 +1 @@
-db.users.update({_id: ''}, {$inc: {balance: 5}});
\ No newline at end of file
+db.users.update({ _id: '' }, { $inc: { balance: 5 } });
diff --git a/migrations/groups/add-unlimited-subscription.js b/migrations/groups/add-unlimited-subscription.js
index 43fbe55b5d..ede00fc74e 100644
--- a/migrations/groups/add-unlimited-subscription.js
+++ b/migrations/groups/add-unlimited-subscription.js
@@ -13,7 +13,7 @@ import { model as Group } from '../../website/server/models/group';
// @TODO: this should probably be a GroupManager library method
async function addUnlimitedSubscription (groupId, dateTerminated) {
- let group = await Group.findOne({_id: groupId});
+ const group = await Group.findOne({ _id: groupId });
group.purchased.plan.customerId = 'group-unlimited';
group.purchased.plan.dateCreated = new Date();
@@ -22,7 +22,7 @@ async function addUnlimitedSubscription (groupId, dateTerminated) {
group.purchased.plan.planId = 'group_monthly';
group.purchased.plan.dateTerminated = null;
if (dateTerminated) {
- let dateToEnd = moment(dateTerminated).toDate();
+ const dateToEnd = moment(dateTerminated).toDate();
group.purchased.plan.dateTerminated = dateToEnd;
}
// group.purchased.plan.owner = ObjectId();
@@ -31,12 +31,12 @@ async function addUnlimitedSubscription (groupId, dateTerminated) {
return group.save();
}
-module.exports = async function addUnlimitedSubscriptionCreator () {
- let groupId = process.argv[2];
+export default async function addUnlimitedSubscriptionCreator () {
+ const groupId = process.argv[2];
if (!groupId) throw Error('Group ID is required');
- let dateTerminated = process.argv[3];
+ const dateTerminated = process.argv[3];
await addUnlimitedSubscription(groupId, dateTerminated);
-};
+}
diff --git a/migrations/groups/create-group.js b/migrations/groups/create-group.js
index b1d266890f..2524edf2eb 100644
--- a/migrations/groups/create-group.js
+++ b/migrations/groups/create-group.js
@@ -3,9 +3,9 @@ import { model as User } from '../../website/server/models/user';
// @TODO: this should probably be a GroupManager library method
async function createGroup (name, privacy, type, leaderId) {
- let user = await User.findOne({_id: leaderId});
+ const user = await User.findOne({ _id: leaderId });
- let group = new Group({
+ const group = new Group({
name,
privacy,
type,
@@ -17,13 +17,11 @@ async function createGroup (name, privacy, type, leaderId) {
return Promise.all([group.save(), user.save()]);
}
-module.exports = async function groupCreator () {
- let name = process.argv[2];
- let privacy = process.argv[3];
- let type = process.argv[4];
- let leaderId = process.argv[5];
+export default async function groupCreator () {
+ const name = process.argv[2];
+ const privacy = process.argv[3];
+ const type = process.argv[4];
+ const leaderId = process.argv[5];
await createGroup(name, privacy, type, leaderId);
-};
-
-
+}
diff --git a/migrations/groups/habitrpg-jackalopes.js b/migrations/groups/habitrpg-jackalopes.js
index a33ae3a2f3..06b18d5d52 100644
--- a/migrations/groups/habitrpg-jackalopes.js
+++ b/migrations/groups/habitrpg-jackalopes.js
@@ -1,44 +1,43 @@
/* let migrationName = 'Jackalopes for Unlimited Subscribers'; */
/*
- * This migration will find users with unlimited subscriptions who are also eligible for Jackalope mounts, and award them
+ * This migration will find users with unlimited subscriptions who are also eligible
+ * for Jackalope mounts, and award them
*/
import { model as Group } from '../../website/server/models/group';
import { model as User } from '../../website/server/models/user';
async function handOutJackalopes () {
- let promises = [];
- let cursor = User.find({
+ const promises = [];
+ const cursor = User.find({
'purchased.plan.customerId': 'habitrpg',
}).cursor();
- cursor.on('data', async (user) => {
- console.log(`User: ${ user._id}`);
+ cursor.on('data', async user => {
+ console.log(`User: ${user._id}`);
let groupList = [];
if (user.party._id) groupList.push(user.party._id);
groupList = groupList.concat(user.guilds);
- let subscribedGroup =
- await Group.findOne({
- _id: {$in: groupList},
- 'purchased.plan.planId': 'group_monthly',
- 'purchased.plan.dateTerminated': null,
- },
- {_id: 1}
- );
+ const subscribedGroup = await Group.findOne({
+ _id: { $in: groupList },
+ 'purchased.plan.planId': 'group_monthly',
+ 'purchased.plan.dateTerminated': null,
+ },
+ { _id: 1 });
if (subscribedGroup) {
- User.update({_id: user._id}, {$set: {'items.mounts.Jackalope-RoyalPurple': true}}).exec();
+ User.update({ _id: user._id }, { $set: { 'items.mounts.Jackalope-RoyalPurple': true } }).exec();
promises.push(user.save());
}
});
cursor.on('close', async () => {
console.log('done');
- return await Promise.all(promises);
+ return Promise.all(promises);
});
}
-module.exports = handOutJackalopes;
+export default handOutJackalopes;
diff --git a/migrations/groups/migrate-chat.js b/migrations/groups/migrate-chat.js
index 8b341952cd..61e15a636d 100644
--- a/migrations/groups/migrate-chat.js
+++ b/migrations/groups/migrate-chat.js
@@ -8,7 +8,7 @@
*/
import { model as Group } from '../../website/server/models/group';
-import { model as Chat } from '../../website/server/models/chat';
+import { chatModel as Chat } from '../../website/server/models/message';
async function moveGroupChatToModel (skip = 0) {
const groups = await Group.find({})
@@ -40,7 +40,7 @@ async function moveGroupChatToModel (skip = 0) {
const reducedPromises = promises.reduce((acc, curr) => {
- acc = acc.concat(curr);
+ acc = acc.concat(curr); // eslint-disable-line no-param-reassign
return acc;
}, []);
@@ -49,4 +49,4 @@ async function moveGroupChatToModel (skip = 0) {
moveGroupChatToModel(skip + 50);
}
-module.exports = moveGroupChatToModel;
+export default moveGroupChatToModel;
diff --git a/migrations/groups/reconcile-group-plan-members.js b/migrations/groups/reconcile-group-plan-members.js
index 06296090e4..c7f5323608 100644
--- a/migrations/groups/reconcile-group-plan-members.js
+++ b/migrations/groups/reconcile-group-plan-members.js
@@ -1,4 +1,4 @@
-import monk from 'monk';
+import monk from 'monk'; // eslint-disable-line import/no-extraneous-dependencies
import nconf from 'nconf';
import stripePayments from '../../website/server/libs/payments/stripe';
@@ -12,8 +12,8 @@ import stripePayments from '../../website/server/libs/payments/stripe';
const CONNECTION_STRING = nconf.get('MIGRATION_CONNECT_STRING');
-let dbGroups = monk(CONNECTION_STRING).get('groups', { castIds: false });
-let dbUsers = monk(CONNECTION_STRING).get('users', { castIds: false });
+const dbGroups = monk(CONNECTION_STRING).get('groups', { castIds: false });
+const dbUsers = monk(CONNECTION_STRING).get('users', { castIds: false });
async function fixGroupPlanMembers () {
console.info('Group ID, Customer ID, Plan ID, Quantity, Recorded Member Count, Actual Member Count');
@@ -24,15 +24,15 @@ async function fixGroupPlanMembers () {
{
$and:
[
- {'purchased.plan.planId': {$ne: null}},
- {'purchased.plan.planId': {$ne: ''}},
- {'purchased.plan.customerId': {$ne: 'cus_9f0DV4g7WHRzpM'}}, // Demo groups
- {'purchased.plan.customerId': {$ne: 'cus_9maalqDOFTrvqx'}},
+ { 'purchased.plan.planId': { $ne: null } },
+ { 'purchased.plan.planId': { $ne: '' } },
+ { 'purchased.plan.customerId': { $ne: 'cus_9f0DV4g7WHRzpM' } }, // Demo groups
+ { 'purchased.plan.customerId': { $ne: 'cus_9maalqDOFTrvqx' } },
],
$or:
[
- {'purchased.plan.dateTerminated': null},
- {'purchased.plan.dateTerminated': ''},
+ { 'purchased.plan.dateTerminated': null },
+ { 'purchased.plan.dateTerminated': '' },
],
},
{
@@ -40,19 +40,19 @@ async function fixGroupPlanMembers () {
memberCount: 1,
'purchased.plan': 1,
},
- }
- ).each(async (group, {close, pause, resume}) => { // eslint-disable-line no-unused-vars
+ },
+ ).each(async (group, { close, pause, resume }) => { // eslint-disable-line no-unused-vars
pause();
- groupPlanCount++;
+ groupPlanCount += 1;
const canonicalMemberCount = await dbUsers.count(
{
$or:
[
- {'party._id': group._id},
- {guilds: group._id},
+ { 'party._id': group._id },
+ { guilds: group._id },
],
- }
+ },
);
const incorrectMemberCount = group.memberCount !== canonicalMemberCount;
@@ -73,24 +73,24 @@ async function fixGroupPlanMembers () {
$set: {
memberCount: canonicalMemberCount,
},
- }
+ },
);
if (!groupUpdate) return;
- fixedGroupCount++;
+ fixedGroupCount += 1;
if (group.purchased.plan.paymentMethod === 'Stripe') {
await stripePayments.chargeForAdditionalGroupMember(group);
await dbGroups.update(
- {_id: group._id},
- {$set: {'purchased.plan.quantity': canonicalMemberCount + 2}}
+ { _id: group._id },
+ { $set: { 'purchased.plan.quantity': canonicalMemberCount + 2 } },
);
}
if (incorrectQuantity) {
await dbGroups.update(
- {_id: group._id},
- {$set: {'purchased.plan.quantity': canonicalMemberCount + 2}}
+ { _id: group._id },
+ { $set: { 'purchased.plan.quantity': canonicalMemberCount + 2 } },
);
}
@@ -98,10 +98,10 @@ async function fixGroupPlanMembers () {
}).then(() => {
console.info(`Fixed ${fixedGroupCount} out of ${groupPlanCount} active Group Plans`);
return process.exit(0);
- }).catch((err) => {
+ }).catch(err => {
console.log(err);
return process.exit(1);
});
}
-module.exports = fixGroupPlanMembers;
+export default fixGroupPlanMembers;
diff --git a/migrations/groups/update-groups-with-group-plans.js b/migrations/groups/update-groups-with-group-plans.js
index d544f389ab..723f3e73b7 100644
--- a/migrations/groups/update-groups-with-group-plans.js
+++ b/migrations/groups/update-groups-with-group-plans.js
@@ -5,29 +5,27 @@ let authorUuid = ''; // ... own data is done
*/
/*
- * This migrations will iterate through all groups with a group plan a subscription and resync the free
- * subscription to all members
+ * This migrations will iterate through all groups with a group plan
+ * a subscription and resync the free subscription to all members
*/
import { model as Group } from '../../website/server/models/group';
-import * as payments from '../../website/server/libs/payments';
+import payments from '../../website/server/libs/payments/payments';
async function updateGroupsWithGroupPlans () {
- let cursor = Group.find({
+ const cursor = Group.find({
'purchased.plan.planId': 'group_monthly',
'purchased.plan.dateTerminated': null,
}).cursor();
- let promises = [];
+ const promises = [];
- cursor.on('data', (group) => {
+ cursor.on('data', group => {
promises.push(payments.addSubscriptionToGroupUsers(group));
promises.push(group.save());
});
- cursor.on('close', async () => {
- return await Promise.all(promises);
- });
+ cursor.on('close', async () => Promise.all(promises));
}
-module.exports = updateGroupsWithGroupPlans;
+export default updateGroupsWithGroupPlans;
diff --git a/migrations/migration-runner.js b/migrations/migration-runner.js
index 39cec8b1aa..60926b4264 100644
--- a/migrations/migration-runner.js
+++ b/migrations/migration-runner.js
@@ -1,4 +1,5 @@
-require('babel-register');
+/* eslint-disable import/no-commonjs */
+require('@babel/register'); // eslint-disable-line import/no-extraneous-dependencies
// This file must use ES5, everything required can be in ES6
@@ -17,12 +18,13 @@ function setUpServer () {
setUpServer();
// Replace this with your migration
-const processUsers = require('');
+const processUsers = () => {}; // require('').default;
+
processUsers()
- .then(function success () {
+ .then(() => {
process.exit(0);
})
- .catch(function failure (err) {
+ .catch(err => {
console.log(err);
process.exit(1);
});
diff --git a/migrations/new_stuff.js b/migrations/new_stuff.js
index 3ee124ab6b..c3c0b44745 100644
--- a/migrations/new_stuff.js
+++ b/migrations/new_stuff.js
@@ -1,19 +1,21 @@
+/* eslint-disable import/no-commonjs */
/* let migrationName = 'new_stuff.js'; */
-let authorName = 'Sabe'; // in case script author needs to know when their ...
-let authorUuid = '7f14ed62-5408-4e1b-be83-ada62d504931'; // ... own data is done
+const authorName = 'Sabe'; // in case script author needs to know when their ...
+const authorUuid = '7f14ed62-5408-4e1b-be83-ada62d504931'; // ... own data is done
/*
* set the newStuff flag in all user accounts so they see a Bailey message
*/
-let monk = require('monk');
-let connectionString = 'mongodb://localhost:27017/habitrpg?auto_reconnect=true'; // FOR TEST DATABASE
-let dbUsers = monk(connectionString).get('users', { castIds: false });
+const monk = require('monk'); // eslint-disable-line import/no-extraneous-dependencies
+
+const connectionString = 'mongodb://localhost:27017/habitrpg?auto_reconnect=true'; // FOR TEST DATABASE
+const dbUsers = monk(connectionString).get('users', { castIds: false });
function processUsers (lastId) {
// specify a query to limit the affected users (empty for all users):
- let query = {
- 'flags.newStuff': {$ne: true},
+ const query = {
+ 'flags.newStuff': { $ne: true },
};
if (lastId) {
@@ -23,29 +25,31 @@ function processUsers (lastId) {
}
dbUsers.find(query, {
- sort: {_id: 1},
+ sort: { _id: 1 },
limit: 250,
- fields: [], // specify fields we are interested in to limit retrieved data (empty if we're not reading data):
+ // specify fields we are interested in to limit retrieved data
+ // (empty if we're not reading data):
+ fields: [],
})
.then(updateUsers)
- .catch((err) => {
+ .catch(err => {
console.log(err);
- return exiting(1, `ERROR! ${ err}`);
+ return exiting(1, `ERROR! ${err}`);
});
}
-let progressCount = 1000;
+const progressCount = 1000;
let count = 0;
function updateUsers (users) {
if (!users || users.length === 0) {
console.warn('All appropriate users found and modified.');
displayData();
- return;
+ return null;
}
- let userPromises = users.map(updateUser);
- let lastUser = users[users.length - 1];
+ const userPromises = users.map(updateUser);
+ const lastUser = users[users.length - 1];
return Promise.all(userPromises)
.then(() => {
@@ -54,30 +58,31 @@ function updateUsers (users) {
}
function updateUser (user) {
- count++;
+ count += 1;
- let set = {'flags.newStuff': true};
+ const set = { 'flags.newStuff': true };
- dbUsers.update({_id: user._id}, {$set: set});
+ dbUsers.update({ _id: user._id }, { $set: set });
- if (count % progressCount === 0) console.warn(`${count } ${ user._id}`);
- if (user._id === authorUuid) console.warn(`${authorName } processed`);
+ if (count % progressCount === 0) console.warn(`${count} ${user._id}`);
+ if (user._id === authorUuid) console.warn(`${authorName} processed`);
}
function displayData () {
- console.warn(`\n${ count } users processed\n`);
+ console.warn(`\n${count} users processed\n`);
return exiting(0);
}
function exiting (code, msg) {
- code = code || 0; // 0 = success
+ // 0 = success
+ code = code || 0; // eslint-disable-line no-param-reassign
if (code && !msg) {
- msg = 'ERROR!';
+ msg = 'ERROR!'; // eslint-disable-line no-param-reassign
}
if (msg) {
if (code) {
console.error(msg);
- } else {
+ } else {
console.log(msg);
}
}
diff --git a/migrations/restock_armoire.js b/migrations/restock_armoire.js
index 5046998a3b..182213b85b 100644
--- a/migrations/restock_armoire.js
+++ b/migrations/restock_armoire.js
@@ -1,18 +1,20 @@
-let migrationName = 'restock_armoire.js';
-let authorName = 'Sabe'; // in case script author needs to know when their ...
-let authorUuid = '7f14ed62-5408-4e1b-be83-ada62d504931'; // ... own data is done
+/* eslint-disable import/no-commonjs */
+const migrationName = 'restock_armoire.js';
+const authorName = 'Sabe'; // in case script author needs to know when their ...
+const authorUuid = '7f14ed62-5408-4e1b-be83-ada62d504931'; // ... own data is done
/*
* Remove flag stating that the Enchanted Armoire is empty, for when new equipment is added
*/
-let monk = require('monk');
-let connectionString = 'mongodb://localhost:27017/habitrpg?auto_reconnect=true'; // FOR TEST DATABASE
-let dbUsers = monk(connectionString).get('users', { castIds: false });
+const monk = require('monk'); // eslint-disable-line import/no-extraneous-dependencies
+
+const connectionString = 'mongodb://localhost:27017/habitrpg?auto_reconnect=true'; // FOR TEST DATABASE
+const dbUsers = monk(connectionString).get('users', { castIds: false });
function processUsers (lastId) {
// specify a query to limit the affected users (empty for all users):
- let query = {
+ const query = {
'flags.armoireEmpty': true,
};
@@ -23,29 +25,31 @@ function processUsers (lastId) {
}
dbUsers.find(query, {
- sort: {_id: 1},
+ sort: { _id: 1 },
limit: 250,
- fields: [], // specify fields we are interested in to limit retrieved data (empty if we're not reading data):
+ // specify fields we are interested in to limit retrieved data
+ // (empty if we're not reading data):
+ fields: [],
})
.then(updateUsers)
- .catch((err) => {
+ .catch(err => {
console.log(err);
- return exiting(1, `ERROR! ${ err}`);
+ return exiting(1, `ERROR! ${err}`);
});
}
-let progressCount = 1000;
+const progressCount = 1000;
let count = 0;
function updateUsers (users) {
if (!users || users.length === 0) {
console.warn('All appropriate users found and modified.');
displayData();
- return;
+ return null;
}
- let userPromises = users.map(updateUser);
- let lastUser = users[users.length - 1];
+ const userPromises = users.map(updateUser);
+ const lastUser = users[users.length - 1];
return Promise.all(userPromises)
.then(() => {
@@ -54,30 +58,31 @@ function updateUsers (users) {
}
function updateUser (user) {
- count++;
+ count += 1;
- let set = {migration: migrationName, 'flags.armoireEmpty': false};
+ const set = { migration: migrationName, 'flags.armoireEmpty': false };
- dbUsers.update({_id: user._id}, {$set: set});
+ dbUsers.update({ _id: user._id }, { $set: set });
- if (count % progressCount === 0) console.warn(`${count } ${ user._id}`);
- if (user._id === authorUuid) console.warn(`${authorName } processed`);
+ if (count % progressCount === 0) console.warn(`${count} ${user._id}`);
+ if (user._id === authorUuid) console.warn(`${authorName} processed`);
}
function displayData () {
- console.warn(`\n${ count } users processed\n`);
+ console.warn(`\n${count} users processed\n`);
return exiting(0);
}
function exiting (code, msg) {
- code = code || 0; // 0 = success
+ // 0 = success
+ code = code || 0; // eslint-disable-line no-param-reassign
if (code && !msg) {
- msg = 'ERROR!';
+ msg = 'ERROR!'; // eslint-disable-line no-param-reassign
}
if (msg) {
if (code) {
console.error(msg);
- } else {
+ } else {
console.log(msg);
}
}
diff --git a/migrations/restock_armoire_for_users_that_need_it.js b/migrations/restock_armoire_for_users_that_need_it.js
index 5bf0422d04..c1de8a9a8f 100644
--- a/migrations/restock_armoire_for_users_that_need_it.js
+++ b/migrations/restock_armoire_for_users_that_need_it.js
@@ -1,6 +1,7 @@
-let migrationName = 'restock_armoire_for_users_that_need_it.js';
-let authorName = 'Alys (ALittleYellowSpider)'; // in case script author needs to know when their ...
-let authorUuid = '3e595299-3d8a-4a10-bfe0-88f555e4aa0c'; // ... own data is done
+/* eslint-disable import/no-commonjs */
+const migrationName = 'restock_armoire_for_users_that_need_it.js';
+const authorName = 'Alys (ALittleYellowSpider)'; // in case script author needs to know when their ...
+const authorUuid = '3e595299-3d8a-4a10-bfe0-88f555e4aa0c'; // ... own data is done
/*
* Remove flag stating that the Enchanted Armoire is empty,
@@ -18,16 +19,17 @@ let authorUuid = '3e595299-3d8a-4a10-bfe0-88f555e4aa0c'; // ... own data is done
*
*/
-let connectionString = 'mongodb://localhost:27017/habitrpg?auto_reconnect=true'; // FOR TEST DATABASE
+const connectionString = 'mongodb://localhost:27017/habitrpg?auto_reconnect=true'; // FOR TEST DATABASE
-let monk = require('monk');
-let dbUsers = monk(connectionString).get('users', { castIds: false });
+const monk = require('monk'); // eslint-disable-line import/no-extraneous-dependencies
+
+const dbUsers = monk(connectionString).get('users', { castIds: false });
function processUsers (lastId) {
// specify a query to limit the affected users (empty for all users):
- let query = {
- 'auth.timestamps.loggedin': {$gt: new Date('2016-01-04')},
+ const query = {
+ 'auth.timestamps.loggedin': { $gt: new Date('2016-01-04') },
// '_id': authorUuid // FOR TESTING
};
@@ -35,7 +37,7 @@ function processUsers (lastId) {
/* let fields = {
'flags.armoireEmpty': 1,
'items.gear.owned': 1,
- };*/
+ }; */
if (lastId) {
query._id = {
@@ -44,32 +46,34 @@ function processUsers (lastId) {
}
dbUsers.find(query, {
- sort: {_id: 1},
+ sort: { _id: 1 },
limit: 250,
+ // specify fields we are interested in to limit retrieved data
+ // (empty if we're not reading data):
fields: {
'flags.armoireEmpty': 1,
'items.gear.owned': 1,
- }, // specify fields we are interested in to limit retrieved data (empty if we're not reading data):
+ },
})
.then(updateUsers)
- .catch((err) => {
+ .catch(err => {
console.log(err);
- return exiting(1, `ERROR! ${ err}`);
+ return exiting(1, `ERROR! ${err}`);
});
}
-let progressCount = 1000;
+const progressCount = 1000;
let count = 0;
function updateUsers (users) {
if (!users || users.length === 0) {
console.warn('All appropriate users found and modified.');
displayData();
- return;
+ return null;
}
- let userPromises = users.map(updateUser);
- let lastUser = users[users.length - 1];
+ const userPromises = users.map(updateUser);
+ const lastUser = users[users.length - 1];
return Promise.all(userPromises)
.then(() => {
@@ -78,19 +82,69 @@ function updateUsers (users) {
}
function updateUser (user) {
- count++;
+ count += 1;
- let set = {migration: migrationName, 'flags.armoireEmpty': false};
+ const set = { migration: migrationName, 'flags.armoireEmpty': false };
if (user.flags.armoireEmpty) {
// this user believes their armoire has no more items in it
- if (user.items.gear.owned.weapon_armoire_barristerGavel && user.items.gear.owned.armor_armoire_barristerRobes && user.items.gear.owned.head_armoire_jesterCap && user.items.gear.owned.armor_armoire_jesterCostume && user.items.gear.owned.head_armoire_barristerWig && user.items.gear.owned.weapon_armoire_jesterBaton && user.items.gear.owned.weapon_armoire_lunarSceptre && user.items.gear.owned.armor_armoire_gladiatorArmor && user.items.gear.owned.weapon_armoire_basicCrossbow && user.items.gear.owned.head_armoire_gladiatorHelm && user.items.gear.owned.armor_armoire_lunarArmor && user.items.gear.owned.head_armoire_redHairbow && user.items.gear.owned.head_armoire_violetFloppyHat && user.items.gear.owned.head_armoire_rancherHat && user.items.gear.owned.shield_armoire_gladiatorShield && user.items.gear.owned.head_armoire_blueHairbow && user.items.gear.owned.weapon_armoire_mythmakerSword && user.items.gear.owned.head_armoire_royalCrown && user.items.gear.owned.head_armoire_hornedIronHelm && user.items.gear.owned.weapon_armoire_rancherLasso && user.items.gear.owned.armor_armoire_rancherRobes && user.items.gear.owned.armor_armoire_hornedIronArmor && user.items.gear.owned.armor_armoire_goldenToga && user.items.gear.owned.weapon_armoire_ironCrook && user.items.gear.owned.head_armoire_goldenLaurels && user.items.gear.owned.head_armoire_redFloppyHat && user.items.gear.owned.armor_armoire_plagueDoctorOvercoat && user.items.gear.owned.head_armoire_plagueDoctorHat && user.items.gear.owned.weapon_armoire_goldWingStaff && user.items.gear.owned.head_armoire_yellowHairbow && user.items.gear.owned.eyewear_armoire_plagueDoctorMask && user.items.gear.owned.head_armoire_blackCat && user.items.gear.owned.weapon_armoire_batWand && user.items.gear.owned.head_armoire_orangeCat && user.items.gear.owned.shield_armoire_midnightShield && user.items.gear.owned.armor_armoire_royalRobes && user.items.gear.owned.head_armoire_blueFloppyHat && user.items.gear.owned.shield_armoire_royalCane && user.items.gear.owned.weapon_armoire_shepherdsCrook && user.items.gear.owned.armor_armoire_shepherdRobes && user.items.gear.owned.head_armoire_shepherdHeaddress && user.items.gear.owned.weapon_armoire_blueLongbow && user.items.gear.owned.weapon_armoire_crystalCrescentStaff && user.items.gear.owned.head_armoire_crystalCrescentHat && user.items.gear.owned.armor_armoire_dragonTamerArmor && user.items.gear.owned.head_armoire_dragonTamerHelm && user.items.gear.owned.armor_armoire_crystalCrescentRobes && user.items.gear.owned.shield_armoire_dragonTamerShield && user.items.gear.owned.weapon_armoire_glowingSpear) {
+ if (
+ user.items.gear.owned.weapon_armoire_barristerGavel
+ && user.items.gear.owned.armor_armoire_barristerRobes
+ && user.items.gear.owned.head_armoire_jesterCap
+ && user.items.gear.owned.armor_armoire_jesterCostume
+ && user.items.gear.owned.head_armoire_barristerWig
+ && user.items.gear.owned.weapon_armoire_jesterBaton
+ && user.items.gear.owned.weapon_armoire_lunarSceptre
+ && user.items.gear.owned.armor_armoire_gladiatorArmor
+ && user.items.gear.owned.weapon_armoire_basicCrossbow
+ && user.items.gear.owned.head_armoire_gladiatorHelm
+ && user.items.gear.owned.armor_armoire_lunarArmor
+ && user.items.gear.owned.head_armoire_redHairbow
+ && user.items.gear.owned.head_armoire_violetFloppyHat
+ && user.items.gear.owned.head_armoire_rancherHat
+ && user.items.gear.owned.shield_armoire_gladiatorShield
+ && user.items.gear.owned.head_armoire_blueHairbow
+ && user.items.gear.owned.weapon_armoire_mythmakerSword
+ && user.items.gear.owned.head_armoire_royalCrown
+ && user.items.gear.owned.head_armoire_hornedIronHelm
+ && user.items.gear.owned.weapon_armoire_rancherLasso
+ && user.items.gear.owned.armor_armoire_rancherRobes
+ && user.items.gear.owned.armor_armoire_hornedIronArmor
+ && user.items.gear.owned.armor_armoire_goldenToga
+ && user.items.gear.owned.weapon_armoire_ironCrook
+ && user.items.gear.owned.head_armoire_goldenLaurels
+ && user.items.gear.owned.head_armoire_redFloppyHat
+ && user.items.gear.owned.armor_armoire_plagueDoctorOvercoat
+ && user.items.gear.owned.head_armoire_plagueDoctorHat
+ && user.items.gear.owned.weapon_armoire_goldWingStaff
+ && user.items.gear.owned.head_armoire_yellowHairbow
+ && user.items.gear.owned.eyewear_armoire_plagueDoctorMask
+ && user.items.gear.owned.head_armoire_blackCat
+ && user.items.gear.owned.weapon_armoire_batWand
+ && user.items.gear.owned.head_armoire_orangeCat
+ && user.items.gear.owned.shield_armoire_midnightShield
+ && user.items.gear.owned.armor_armoire_royalRobes
+ && user.items.gear.owned.head_armoire_blueFloppyHat
+ && user.items.gear.owned.shield_armoire_royalCane
+ && user.items.gear.owned.weapon_armoire_shepherdsCrook
+ && user.items.gear.owned.armor_armoire_shepherdRobes
+ && user.items.gear.owned.head_armoire_shepherdHeaddress
+ && user.items.gear.owned.weapon_armoire_blueLongbow
+ && user.items.gear.owned.weapon_armoire_crystalCrescentStaff
+ && user.items.gear.owned.head_armoire_crystalCrescentHat
+ && user.items.gear.owned.armor_armoire_dragonTamerArmor
+ && user.items.gear.owned.head_armoire_dragonTamerHelm
+ && user.items.gear.owned.armor_armoire_crystalCrescentRobes
+ && user.items.gear.owned.shield_armoire_dragonTamerShield
+ && user.items.gear.owned.weapon_armoire_glowingSpear
+ ) {
// this user does have all the armoire items so we don't change the flag
// console.log("don't change: " + user._id); // FOR TESTING
} else {
// console.log("change: " + user._id); // FOR TESTING
- dbUsers.update({_id: user._id}, {$set: set});
+ dbUsers.update({ _id: user._id }, { $set: set });
}
} else {
// this user already has armoire marked as containing items to be bought
@@ -98,24 +152,25 @@ function updateUser (user) {
// console.log("DON'T CHANGE: " + user._id); // FOR TESTING
}
- if (count % progressCount === 0) console.warn(`${count } ${ user._id}`);
- if (user._id === authorUuid) console.warn(`${authorName } processed`);
+ if (count % progressCount === 0) console.warn(`${count} ${user._id}`);
+ if (user._id === authorUuid) console.warn(`${authorName} processed`);
}
function displayData () {
- console.warn(`\n${ count } users processed\n`);
+ console.warn(`\n${count} users processed\n`);
return exiting(0);
}
function exiting (code, msg) {
- code = code || 0; // 0 = success
+ // 0 = success
+ code = code || 0; // eslint-disable-line no-param-reassign
if (code && !msg) {
- msg = 'ERROR!';
+ msg = 'ERROR!'; // eslint-disable-line no-param-reassign
}
if (msg) {
if (code) {
console.error(msg);
- } else {
+ } else {
console.log(msg);
}
}
diff --git a/migrations/restore-profile-data.js b/migrations/restore-profile-data.js
index 750a991efb..0fd8691b04 100644
--- a/migrations/restore-profile-data.js
+++ b/migrations/restore-profile-data.js
@@ -1,22 +1,25 @@
+/* eslint-disable import/no-commonjs */
/* let migrationName = 'restore_profile_data.js'; */
-let authorName = 'ThehollidayInn'; // in case script author needs to know when their ...
-let authorUuid = ''; // ... own data is done
+const authorName = 'ThehollidayInn'; // in case script author needs to know when their ...
+const authorUuid = ''; // ... own data is done
/*
* Check if users have empty profile data in new database and update it with old database info
*/
-let monk = require('monk');
-let connectionString = ''; // FOR TEST DATABASE
-let dbUsers = monk(connectionString).get('users', { castIds: false });
+const monk = require('monk'); // eslint-disable-line import/no-extraneous-dependencies
-let monk2 = require('monk');
-let oldDbConnectionString = 'mongodb://localhost:27017/habitrpg?auto_reconnect=true'; // FOR TEST DATABASE
-let olDbUsers = monk2(oldDbConnectionString).get('users', { castIds: false });
+const connectionString = ''; // FOR TEST DATABASE
+const dbUsers = monk(connectionString).get('users', { castIds: false });
+
+const monk2 = require('monk'); // eslint-disable-line import/no-extraneous-dependencies
+
+const oldDbConnectionString = 'mongodb://localhost:27017/habitrpg?auto_reconnect=true'; // FOR TEST DATABASE
+const olDbUsers = monk2(oldDbConnectionString).get('users', { castIds: false });
function processUsers (lastId) {
// specify a query to limit the affected users (empty for all users):
- let query = {
+ const query = {
// 'profile.name': 'profile name not found',
'profile.blurb': null,
// 'auth.timestamps.loggedin': {$gt: new Date('11/30/2016')},
@@ -29,49 +32,47 @@ function processUsers (lastId) {
}
dbUsers.find(query, {
- sort: {_id: 1},
+ sort: { _id: 1 },
limit: 250,
fields: ['_id', 'profile', 'auth.timestamps.loggedin'], // specify fields we are interested in to limit retrieved data (empty if we're not reading data):
})
.then(updateUsers)
- .catch((err) => {
+ .catch(err => {
console.log(err);
- return exiting(1, `ERROR! ${ err}`);
+ return exiting(1, `ERROR! ${err}`);
});
}
-let progressCount = 1000;
+const progressCount = 1000;
let count = 0;
function updateUsers (users) {
if (!users || users.length === 0) {
console.warn('All appropriate users found and modified.');
setTimeout(displayData, 300000);
- return;
+ return null;
}
- let userPaymentPromises = users.map(updateUser);
- let lastUser = users[users.length - 1];
+ const userPaymentPromises = users.map(updateUser);
+ const lastUser = users[users.length - 1];
return Promise.all(userPaymentPromises)
- .then(() => {
- return processUsers(lastUser._id);
- });
+ .then(() => processUsers(lastUser._id));
}
function updateUser (user) {
- count++;
+ count += 1;
if (!user.profile.name || user.profile.name === 'profile name not found' || !user.profile.imageUrl || !user.profile.blurb) {
- return olDbUsers.findOne({_id: user._id}, '_id profile')
- .then((oldUserData) => {
- if (!oldUserData) return;
+ return olDbUsers.findOne({ _id: user._id }, '_id profile')
+ .then(oldUserData => {
+ if (!oldUserData) return null;
// specify user data to change:
- let set = {};
+ const set = {};
- if (oldUserData.profile.name === 'profile name not found') return;
+ if (oldUserData.profile.name === 'profile name not found') return null;
- let userNeedsProfileName = !user.profile.name || user.profile.name === 'profile name not found';
+ const userNeedsProfileName = !user.profile.name || user.profile.name === 'profile name not found';
if (userNeedsProfileName && oldUserData.profile.name) {
set['profile.name'] = oldUserData.profile.name;
}
@@ -86,29 +87,34 @@ function updateUser (user) {
if (Object.keys(set).length !== 0 && set.constructor === Object) {
console.log(set);
- return dbUsers.update({_id: user._id}, {$set: set});
+ return dbUsers.update({ _id: user._id }, { $set: set });
}
+
+ return null;
});
}
- if (count % progressCount === 0) console.warn(`${count } ${ user._id}`);
- if (user._id === authorUuid) console.warn(`${authorName } processed`);
+ if (count % progressCount === 0) console.warn(`${count} ${user._id}`);
+ if (user._id === authorUuid) console.warn(`${authorName} processed`);
+
+ return null;
}
function displayData () {
- console.warn(`\n${ count } users processed\n`);
+ console.warn(`\n${count} users processed\n`);
return exiting(0);
}
function exiting (code, msg) {
- code = code || 0; // 0 = success
+ // 0 = success
+ code = code || 0; // eslint-disable-line no-param-reassign
if (code && !msg) {
- msg = 'ERROR!';
+ msg = 'ERROR!'; // eslint-disable-line no-param-reassign
}
if (msg) {
if (code) {
console.error(msg);
- } else {
+ } else {
console.log(msg);
}
}
diff --git a/migrations/s3-upload.js b/migrations/s3-upload.js
index 4a2d2efcd2..fabb819d7d 100644
--- a/migrations/s3-upload.js
+++ b/migrations/s3-upload.js
@@ -1,8 +1,10 @@
-let request = require('superagent');
-let last = require('lodash/last');
-let AWS = require('aws-sdk');
+/* eslint-disable import/no-commonjs */
+const request = require('superagent');
+const last = require('lodash/last');
+const AWS = require('aws-sdk');
+
+const config = require('../config');
-let config = require('../config');
const S3_DIRECTORY = 'mobileApp/images'; // config.S3.SPRITES_DIRECTORY;
AWS.config.update({
@@ -11,8 +13,8 @@ AWS.config.update({
// region: config.get('S3_REGION'),
});
-let BUCKET_NAME = config.S3.bucket;
-let s3 = new AWS.S3();
+const BUCKET_NAME = config.S3.bucket;
+const s3 = new AWS.S3();
// Adapted from http://stackoverflow.com/a/22210077/2601552
function uploadFile (buffer, fileName) {
@@ -21,7 +23,7 @@ function uploadFile (buffer, fileName) {
Body: buffer,
Key: fileName,
Bucket: BUCKET_NAME,
- }, (error) => {
+ }, error => {
if (error) {
reject(error);
} else {
@@ -33,9 +35,9 @@ function uploadFile (buffer, fileName) {
}
function getFileName (file) {
- let piecesOfPath = file.split('/');
- let name = last(piecesOfPath);
- let fullName = S3_DIRECTORY + name;
+ const piecesOfPath = file.split('/');
+ const name = last(piecesOfPath);
+ const fullName = S3_DIRECTORY + name;
return fullName;
}
@@ -44,36 +46,32 @@ function getFileFromUrl (url) {
return new Promise((resolve, reject) => {
request.get(url).end((err, res) => {
if (err) return reject(err);
- let file = res.body;
- resolve(file);
+ const file = res.body;
+ return resolve(file);
});
});
}
let commit = '78f94e365c72cc58f66857d5941105638db7d35c';
commit = 'df0dbaba636c9ce424cc7040f7bd7fc1aa311015';
-let gihuburl = `https://api.github.com/repos/HabitRPG/habitica/commits/${commit}`;
+const gihuburl = `https://api.github.com/repos/HabitRPG/habitica/commits/${commit}`;
let currentIndex = 0;
function uploadToS3 (start, end, filesUrls) {
- let urls = filesUrls.slice(start, end);
+ const urls = filesUrls.slice(start, end);
if (urls.length === 0) {
console.log('done');
return;
}
- let promises = urls.map(fullUrl => {
- return getFileFromUrl(fullUrl)
- .then((buffer) => {
- return uploadFile(buffer, getFileName(fullUrl));
- });
- });
+ const promises = urls.map(fullUrl => getFileFromUrl(fullUrl)
+ .then(buffer => uploadFile(buffer, getFileName(fullUrl))));
console.log(promises.length);
- return Promise.all(promises)
+ Promise.all(promises)
.then(() => {
currentIndex += 50;
uploadToS3(currentIndex, currentIndex + 50, filesUrls);
@@ -86,12 +84,10 @@ function uploadToS3 (start, end, filesUrls) {
request.get(gihuburl)
.end((err, res) => {
console.log(err);
- let files = res.body.files;
+ const { files } = res.body;
let filesUrls = [''];
- filesUrls = files.map(file => {
- return file.raw_url;
- });
+ filesUrls = files.map(file => file.raw_url);
uploadToS3(currentIndex, currentIndex + 50, filesUrls);
});
diff --git a/migrations/tasks/habits-one-history-entry-per-day-challenges.js b/migrations/tasks/habits-one-history-entry-per-day-challenges.js
index dcb05f48bf..799e896af1 100644
--- a/migrations/tasks/habits-one-history-entry-per-day-challenges.js
+++ b/migrations/tasks/habits-one-history-entry-per-day-challenges.js
@@ -1,21 +1,23 @@
+/* eslint-disable import/no-commonjs */
// const migrationName = 'habits-one-history-entry-per-day';
// const authorName = 'paglias'; // in case script author needs to know when their ...
// const authorUuid = 'ed4c688c-6652-4a92-9d03-a5a79844174a'; // ... own data is done
/*
- * Iterates over all habits and condense multiple history entries for the same day into a single entry
+ * Iterates over all habits and condense multiple history entries for the same day into a single one
*/
-const monk = require('monk');
+const monk = require('monk'); // eslint-disable-line import/no-extraneous-dependencies
const _ = require('lodash');
const moment = require('moment');
+
const connectionString = 'mongodb://localhost:27017/habitrpg?auto_reconnect=true'; // FOR TEST DATABASE
const dbTasks = monk(connectionString).get('tasks', { castIds: false });
function processChallengeHabits (lastId) {
- let query = {
- 'challenge.id': {$exists: true},
- userId: {$exists: false},
+ const query = {
+ 'challenge.id': { $exists: true },
+ userId: { $exists: false },
type: 'habit',
};
@@ -26,37 +28,35 @@ function processChallengeHabits (lastId) {
}
dbTasks.find(query, {
- sort: {_id: 1},
+ sort: { _id: 1 },
limit: 500,
})
.then(updateChallengeHabits)
- .catch((err) => {
+ .catch(err => {
console.log(err);
- return exiting(1, `ERROR! ${ err}`);
+ return exiting(1, `ERROR! ${err}`);
});
}
-let progressCount = 1000;
+const progressCount = 1000;
let count = 0;
function updateChallengeHabits (habits) {
if (!habits || habits.length === 0) {
console.warn('All appropriate challenge habits found and modified.');
displayData();
- return;
+ return null;
}
- let habitsPromises = habits.map(updateChallengeHabit);
- let lastHabit = habits[habits.length - 1];
+ const habitsPromises = habits.map(updateChallengeHabit);
+ const lastHabit = habits[habits.length - 1];
return Promise.all(habitsPromises)
- .then(() => {
- return processChallengeHabits(lastHabit._id);
- });
+ .then(() => processChallengeHabits(lastHabit._id));
}
function updateChallengeHabit (habit) {
- count++;
+ count += 1;
if (habit && habit.history && habit.history.length > 0) {
// First remove missing entries
@@ -76,13 +76,12 @@ function updateChallengeHabit (habit) {
entry.scoreDirection = entry.value > previousValue ? 'up' : 'down';
}
})
- .groupBy(entry => { // group entries by aggregateBy
- return moment(entry.date).format('YYYYMMDD');
- })
+ // group entries by aggregateBy
+ .groupBy(entry => moment(entry.date).format('YYYYMMDD'))
.toPairs() // [key, entry]
.sortBy(([key]) => key) // sort by date
.map(keyEntryPair => {
- let entries = keyEntryPair[1]; // 1 is entry, 0 is key
+ const entries = keyEntryPair[1]; // 1 is entry, 0 is key
let scoredUp = 0;
let scoredDown = 0;
@@ -107,32 +106,34 @@ function updateChallengeHabit (habit) {
})
.value();
- return dbTasks.update({_id: habit._id}, {
- $set: {history: habit.history},
+ return dbTasks.update({ _id: habit._id }, {
+ $set: { history: habit.history },
});
}
- if (count % progressCount === 0) console.warn(`${count } habits processed`);
+ if (count % progressCount === 0) console.warn(`${count} habits processed`);
+ return null;
}
function displayData () {
- console.warn(`\n${ count } tasks processed\n`);
+ console.warn(`\n${count} tasks processed\n`);
return exiting(0);
}
function exiting (code, msg) {
- code = code || 0; // 0 = success
+ // 0 = success
+ code = code || 0; // eslint-disable-line no-param-reassign
if (code && !msg) {
- msg = 'ERROR!';
+ msg = 'ERROR!'; // eslint-disable-line no-param-reassign
}
if (msg) {
if (code) {
console.error(msg);
- } else {
+ } else {
console.log(msg);
}
}
process.exit(code);
}
-module.exports = processChallengeHabits;
+export default processChallengeHabits;
diff --git a/migrations/tasks/habits-one-history-entry-per-day-users.js b/migrations/tasks/habits-one-history-entry-per-day-users.js
index 509aa71eb7..cb3d2c24b5 100644
--- a/migrations/tasks/habits-one-history-entry-per-day-users.js
+++ b/migrations/tasks/habits-one-history-entry-per-day-users.js
@@ -1,21 +1,23 @@
+/* eslint-disable import/no-commonjs */
const migrationName = 'habits-one-history-entry-per-day';
const authorName = 'paglias'; // in case script author needs to know when their ...
const authorUuid = 'ed4c688c-6652-4a92-9d03-a5a79844174a'; // ... own data is done
/*
- * Iterates over all habits and condense multiple history entries for the same day into a single entry
+ * Iterates over all habits and condense multiple history entries for the same day into a single one
*/
-const monk = require('monk');
+const monk = require('monk'); // eslint-disable-line import/no-extraneous-dependencies
const _ = require('lodash');
const moment = require('moment');
+
const connectionString = 'mongodb://localhost:27017/habitrpg?auto_reconnect=true'; // FOR TEST DATABASE
const dbTasks = monk(connectionString).get('tasks', { castIds: false });
const dbUsers = monk(connectionString).get('users', { castIds: false });
function processUsers (lastId) {
- let query = {
- migration: {$ne: migrationName},
+ const query = {
+ migration: { $ne: migrationName },
};
if (lastId) {
@@ -25,34 +27,32 @@ function processUsers (lastId) {
}
dbUsers.find(query, {
- sort: {_id: 1},
+ sort: { _id: 1 },
limit: 50, // just 50 users per time since we have to process all their habits as well
fields: ['_id', 'preferences.timezoneOffset', 'preferences.dayStart'],
})
.then(updateUsers)
- .catch((err) => {
+ .catch(err => {
console.log(err);
- return exiting(1, `ERROR! ${ err}`);
+ return exiting(1, `ERROR! ${err}`);
});
}
-let progressCount = 1000;
+const progressCount = 1000;
let count = 0;
function updateUsers (users) {
if (!users || users.length === 0) {
console.warn('All appropriate users and their tasks found and modified.');
displayData();
- return;
+ return null;
}
- let usersPromises = users.map(updateUser);
- let lastUser = users[users.length - 1];
+ const usersPromises = users.map(updateUser);
+ const lastUser = users[users.length - 1];
return Promise.all(usersPromises)
- .then(() => {
- return processUsers(lastUser._id);
- });
+ .then(() => processUsers(lastUser._id));
}
function updateHabit (habit, timezoneOffset, dayStart) {
@@ -82,7 +82,7 @@ function updateHabit (habit, timezoneOffset, dayStart) {
.toPairs() // [key, entry]
.sortBy(([key]) => key) // sort by date
.map(keyEntryPair => {
- let entries = keyEntryPair[1]; // 1 is entry, 0 is key
+ const entries = keyEntryPair[1]; // 1 is entry, 0 is key
let scoredUp = 0;
let scoredDown = 0;
@@ -107,57 +107,56 @@ function updateHabit (habit, timezoneOffset, dayStart) {
})
.value();
- return dbTasks.update({_id: habit._id}, {
- $set: {history: habit.history},
+ return dbTasks.update({ _id: habit._id }, {
+ $set: { history: habit.history },
});
}
+
+ return null;
}
function updateUser (user) {
- count++;
+ count += 1;
- const timezoneOffset = user.preferences.timezoneOffset;
- const dayStart = user.preferences.dayStart;
+ const { timezoneOffset } = user.preferences;
+ const { dayStart } = user.preferences;
- if (count % progressCount === 0) console.warn(`${count } ${ user._id}`);
- if (user._id === authorUuid) console.warn(`${authorName } being processed`);
+ if (count % progressCount === 0) console.warn(`${count} ${user._id}`);
+ if (user._id === authorUuid) console.warn(`${authorName} being processed`);
return dbTasks.find({
type: 'habit',
userId: user._id,
})
- .then(habits => {
- return Promise.all(habits.map(habit => updateHabit(habit, timezoneOffset, dayStart)));
- })
- .then(() => {
- return dbUsers.update({_id: user._id}, {
- $set: {migration: migrationName},
- });
- })
- .catch((err) => {
+ .then(habits => Promise.all(habits.map(habit => updateHabit(habit, timezoneOffset, dayStart))))
+ .then(() => dbUsers.update({ _id: user._id }, {
+ $set: { migration: migrationName },
+ }))
+ .catch(err => {
console.log(err);
- return exiting(1, `ERROR! ${ err}`);
+ return exiting(1, `ERROR! ${err}`);
});
}
function displayData () {
- console.warn(`\n${ count } tasks processed\n`);
+ console.warn(`\n${count} tasks processed\n`);
return exiting(0);
}
function exiting (code, msg) {
- code = code || 0; // 0 = success
+ // 0 = success
+ code = code || 0; // eslint-disable-line no-param-reassign
if (code && !msg) {
- msg = 'ERROR!';
+ msg = 'ERROR!'; // eslint-disable-line no-param-reassign
}
if (msg) {
if (code) {
console.error(msg);
- } else {
+ } else {
console.log(msg);
}
}
process.exit(code);
}
-module.exports = processUsers;
+export default processUsers;
diff --git a/migrations/tasks/tasks-set-everyX.js b/migrations/tasks/tasks-set-everyX.js
index c507f80356..c217d0388a 100644
--- a/migrations/tasks/tasks-set-everyX.js
+++ b/migrations/tasks/tasks-set-everyX.js
@@ -1,18 +1,19 @@
+import monk from 'monk'; // eslint-disable-line import/no-extraneous-dependencies
/* let migrationName = 'tasks-set-everyX'; */
-let authorName = 'Sabe'; // in case script author needs to know when their ...
-let authorUuid = '7f14ed62-5408-4e1b-be83-ada62d504931'; // ... own data is done
+const authorName = 'Sabe'; // in case script author needs to know when their ...
+const authorUuid = '7f14ed62-5408-4e1b-be83-ada62d504931'; // ... own data is done
/*
- * Iterates over all tasks and sets invalid everyX values (less than 0 or more than 9999 or not an int) field to 0
+ * Iterates over all tasks and sets invalid everyX values
+ * (less than 0 or more than 9999 or not an int) field to 0
*/
-let monk = require('monk');
-let connectionString = 'mongodb://localhost:27017/habitrpg?auto_reconnect=true';
-let dbTasks = monk(connectionString).get('tasks', { castIds: false });
+const connectionString = 'mongodb://localhost:27017/habitrpg?auto_reconnect=true';
+const dbTasks = monk(connectionString).get('tasks', { castIds: false });
function processTasks (lastId) {
// specify a query to limit the affected tasks (empty for all tasks):
- let query = {
+ const query = {
type: 'daily',
everyX: {
$not: {
@@ -30,64 +31,63 @@ function processTasks (lastId) {
}
dbTasks.find(query, {
- sort: {_id: 1},
+ sort: { _id: 1 },
limit: 250,
fields: [],
})
.then(updateTasks)
- .catch((err) => {
+ .catch(err => {
console.log(err);
- return exiting(1, `ERROR! ${ err}`);
+ return exiting(1, `ERROR! ${err}`);
});
}
-let progressCount = 1000;
+const progressCount = 1000;
let count = 0;
function updateTasks (tasks) {
if (!tasks || tasks.length === 0) {
console.warn('All appropriate tasks found and modified.');
displayData();
- return;
+ return null;
}
- let taskPromises = tasks.map(updatetask);
- let lasttask = tasks[tasks.length - 1];
+ const taskPromises = tasks.map(updatetask);
+ const lasttask = tasks[tasks.length - 1];
return Promise.all(taskPromises)
- .then(() => {
- return processTasks(lasttask._id);
- });
+ .then(() => processTasks(lasttask._id));
}
function updatetask (task) {
- count++;
- let set = {everyX: 0};
+ count += 1;
+ const set = { everyX: 0 };
- dbTasks.update({_id: task._id}, {$set: set});
+ dbTasks.update({ _id: task._id }, { $set: set });
- if (count % progressCount === 0) console.warn(`${count } ${ task._id}`);
- if (task._id === authorUuid) console.warn(`${authorName } processed`);
+ if (count % progressCount === 0) console.warn(`${count} ${task._id}`);
+ if (task._id === authorUuid) console.warn(`${authorName} processed`);
}
function displayData () {
- console.warn(`\n${ count } tasks processed\n`);
+ console.warn(`\n${count} tasks processed\n`);
return exiting(0);
}
function exiting (code, msg) {
- code = code || 0; // 0 = success
+ // 0 = success
+ code = code || 0; // eslint-disable-line no-param-reassign
if (code && !msg) {
- msg = 'ERROR!';
+ msg = 'ERROR!'; // eslint-disable-line no-param-reassign
}
if (msg) {
if (code) {
console.error(msg);
- } else {
+ } else {
console.log(msg);
}
}
process.exit(code);
}
-module.exports = processTasks;
+export default processTasks;
diff --git a/migrations/tasks/tasks-set-yesterdailies.js b/migrations/tasks/tasks-set-yesterdailies.js
index 253d871612..08d1ee783a 100644
--- a/migrations/tasks/tasks-set-yesterdailies.js
+++ b/migrations/tasks/tasks-set-yesterdailies.js
@@ -1,28 +1,31 @@
/* let migrationName = 'tasks-set-yesterdaily'; */
-let authorName = 'TheHollidayInn'; // in case script author needs to know when their ...
-let authorUuid = ''; // ... own data is done
+// ... own data is done
/*
* Iterates over all tasks and sets the yseterDaily field to True
*/
-import monk from 'monk';
+import monk from 'monk'; // eslint-disable-line import/no-extraneous-dependencies
-let connectionString = 'mongodb://localhost:27017/habitrpg?auto_reconnect=true'; // FOR TEST DATABASE
-let dbTasks = monk(connectionString).get('tasks', { castIds: false });
+const authorName = 'TheHollidayInn'; // in case script author needs to know when their ...
+const authorUuid = '';
-let progressCount = 1000;
+const connectionString = 'mongodb://localhost:27017/habitrpg?auto_reconnect=true'; // FOR TEST DATABASE
+const dbTasks = monk(connectionString).get('tasks', { castIds: false });
+
+const progressCount = 1000;
let count = 0;
function exiting (code, msg) {
- code = code || 0; // 0 = success
+ // 0 = success
+ code = code || 0; // eslint-disable-line no-param-reassign
if (code && !msg) {
- msg = 'ERROR!';
+ msg = 'ERROR!'; // eslint-disable-line no-param-reassign
}
if (msg) {
if (code) {
console.error(msg);
- } else {
+ } else {
console.log(msg);
}
}
@@ -30,39 +33,37 @@ function exiting (code, msg) {
}
function displayData () {
- console.warn(`\n${ count } tasks processed\n`);
+ console.warn(`\n${count} tasks processed\n`);
return exiting(0);
}
function updatetask (task) {
- count++;
- let set = {yesterDaily: true};
+ count += 1;
+ const set = { yesterDaily: true };
- dbTasks.update({_id: task._id}, {$set: set});
+ dbTasks.update({ _id: task._id }, { $set: set });
- if (count % progressCount === 0) console.warn(`${count } ${ task._id}`);
- if (task._id === authorUuid) console.warn(`${authorName } processed`);
+ if (count % progressCount === 0) console.warn(`${count} ${task._id}`);
+ if (task._id === authorUuid) console.warn(`${authorName} processed`);
}
function updateTasks (tasks) {
if (!tasks || tasks.length === 0) {
console.warn('All appropriate tasks found and modified.');
displayData();
- return;
+ return null;
}
- let taskPromises = tasks.map(updatetask);
- let lasttask = tasks[tasks.length - 1];
+ const taskPromises = tasks.map(updatetask);
+ const lasttask = tasks[tasks.length - 1];
return Promise.all(taskPromises)
- .then(() => {
- return processTasks(lasttask._id); // eslint-disable-line no-use-before-define
- });
+ .then(() => processTasks(lasttask._id)); // eslint-disable-line no-use-before-define
}
function processTasks (lastId) {
// specify a query to limit the affected tasks (empty for all tasks):
- let query = {
+ const query = {
yesterDaily: false,
};
@@ -73,16 +74,18 @@ function processTasks (lastId) {
}
dbTasks.find(query, {
- sort: {_id: 1},
+ sort: { _id: 1 },
limit: 250,
- fields: [ // specify fields we are interested in to limit retrieved data (empty if we're not reading data):
+ // specify fields we are interested in to limit retrieved data
+ // (empty if we're not reading data):
+ fields: [
],
})
.then(updateTasks)
- .catch((err) => {
+ .catch(err => {
console.log(err);
- return exiting(1, `ERROR! ${ err}`);
+ return exiting(1, `ERROR! ${err}`);
});
}
-module.exports = processTasks;
+export default processTasks;
diff --git a/migrations/users/account-transfer.js b/migrations/users/account-transfer.js
index 42a9602aa1..439858fedc 100644
--- a/migrations/users/account-transfer.js
+++ b/migrations/users/account-transfer.js
@@ -8,29 +8,30 @@ let authorUuid = ''; // ... own data is done
* This migraition will copy user data from prod to test
*/
-const monk = require('monk');
+import monk from 'monk'; // eslint-disable-line import/no-extraneous-dependencies
+
const connectionString = '';
const Users = monk(connectionString).get('users', { castIds: false });
-module.exports = async function accountTransfer () {
+export default async function accountTransfer () {
const fromAccountId = '';
const toAccountId = '';
- const fromAccount = await Users.findOne({_id: fromAccountId});
- const toAccount = await Users.findOne({_id: toAccountId});
+ const fromAccount = await Users.findOne({ _id: fromAccountId });
+ const toAccount = await Users.findOne({ _id: toAccountId });
- const newMounts = Object.assign({}, fromAccount.items.mounts, toAccount.items.mounts);
- const newPets = Object.assign({}, fromAccount.items.pets, toAccount.items.pets);
- const newBackgrounds = Object.assign({}, fromAccount.purchased.background, toAccount.purchased.background);
+ const newMounts = { ...fromAccount.items.mounts, ...toAccount.items.mounts };
+ const newPets = { ...fromAccount.items.pets, ...toAccount.items.pets };
+ const newBackgrounds = { ...fromAccount.purchased.background, ...toAccount.purchased.background };
- await Users.update({_id: toAccountId}, {
+ await Users.update({ _id: toAccountId }, {
$set: {
'items.pets': newPets,
'items.mounts': newMounts,
'purchased.background': newBackgrounds,
},
})
- .then((result) => {
+ .then(result => {
console.log(result);
});
-};
+}
diff --git a/migrations/users/achievement-restore.js b/migrations/users/achievement-restore.js
index 45e7866398..e603a0f330 100644
--- a/migrations/users/achievement-restore.js
+++ b/migrations/users/achievement-restore.js
@@ -8,7 +8,8 @@ const authorUuid = ''; // ... own data is done
* This migraition will copy user data from prod to test
*/
-const monk = require('monk');
+import monk from 'monk'; // eslint-disable-line import/no-extraneous-dependencies
+
const connectionString = 'mongodb://localhost/new-habit';
const Users = monk(connectionString).get('users', { castIds: false });
@@ -19,15 +20,17 @@ function getAchievementUpdate (newUser, oldUser) {
const oldAchievements = oldUser.achievements;
const newAchievements = newUser.achievements;
- let achievementsUpdate = Object.assign({}, newAchievements);
+ const achievementsUpdate = { ...newAchievements };
// ultimateGearSets
if (!achievementsUpdate.ultimateGearSets && oldAchievements.ultimateGearSets) {
achievementsUpdate.ultimateGearSets = oldAchievements.ultimateGearSets;
} else if (oldAchievements.ultimateGearSets) {
- for (let index in oldAchievements.ultimateGearSets) {
- if (oldAchievements.ultimateGearSets[index]) achievementsUpdate.ultimateGearSets[index] = true;
- }
+ Object.keys(oldAchievements.ultimateGearSets).forEach(index => {
+ if (oldAchievements.ultimateGearSets[index]) {
+ achievementsUpdate.ultimateGearSets[index] = true;
+ }
+ });
}
// challenges
@@ -37,57 +40,57 @@ function getAchievementUpdate (newUser, oldUser) {
// Quests
if (!achievementsUpdate.quests) achievementsUpdate.quests = {};
- for (let index in oldAchievements.quests) {
+ Object.keys(oldAchievements.quests).forEach(index => {
if (!achievementsUpdate.quests[index]) {
achievementsUpdate.quests[index] = oldAchievements.quests[index];
} else {
achievementsUpdate.quests[index] += oldAchievements.quests[index];
}
- }
+ });
// Rebirth level
if (achievementsUpdate.rebirthLevel) {
- achievementsUpdate.rebirthLevel = Math.max(achievementsUpdate.rebirthLevel, oldAchievements.rebirthLevel);
+ achievementsUpdate.rebirthLevel = Math.max(
+ achievementsUpdate.rebirthLevel, oldAchievements.rebirthLevel,
+ );
} else if (oldAchievements.rebirthLevel) {
achievementsUpdate.rebirthLevel = oldAchievements.rebirthLevel;
}
// All others
const indexsToIgnore = ['ultimateGearSets', 'challenges', 'quests', 'rebirthLevel'];
- for (let index in oldAchievements) {
- if (indexsToIgnore.indexOf(index) !== -1) continue; // eslint-disable-line no-continue
+ Object.keys(oldAchievements).forEach(index => {
+ if (indexsToIgnore.indexOf(index) !== -1) return;
- if (!achievementsUpdate[index]) {
+ if (!achievementsUpdate[index]) {
achievementsUpdate[index] = oldAchievements[index];
- continue; // eslint-disable-line no-continue
+ return;
}
if (Number.isInteger(oldAchievements[index])) {
achievementsUpdate[index] += oldAchievements[index];
} else if (oldAchievements[index] === true) achievementsUpdate[index] = true;
- }
+ });
return achievementsUpdate;
}
-module.exports = async function achievementRestore () {
+export default async function achievementRestore () {
const userIds = [
];
- /* eslint-disable no-await-in-loop */
- for (let index in userIds) {
- const userId = userIds[index];
- const oldUser = await UsersOld.findOne({_id: userId}, 'achievements');
- const newUser = await Users.findOne({_id: userId}, 'achievements');
+ await Promise.all(userIds.map(userId => (async () => {
+ const oldUser = await UsersOld.findOne({ _id: userId }, 'achievements');
+ const newUser = await Users.findOne({ _id: userId }, 'achievements');
const achievementUpdate = getAchievementUpdate(newUser, oldUser);
await Users.update(
- {_id: userId},
+ { _id: userId },
{
$set: {
achievements: achievementUpdate,
},
- });
+ },
+ );
console.log(`Updated ${userId}`);
- /* eslint-enable no-await-in-loop */
- }
-};
+ })()));
+}
diff --git a/migrations/users/bulk-email.js b/migrations/users/bulk-email.js
index adba28f805..88f67e095f 100644
--- a/migrations/users/bulk-email.js
+++ b/migrations/users/bulk-email.js
@@ -1,8 +1,9 @@
/* eslint-disable no-console */
-import { sendTxn } from '../../website/server/libs/email';
-import { model as User } from '../../website/server/models/user';
import moment from 'moment';
import nconf from 'nconf';
+import { sendTxn } from '../../website/server/libs/email';
+import { model as User } from '../../website/server/models/user';
+
const BASE_URL = nconf.get('BASE_URL');
const EMAIL_SLUG = 'mandrill-email-slug'; // Set email template to send
const MIGRATION_NAME = 'bulk-email';
@@ -11,23 +12,23 @@ const progressCount = 1000;
let count = 0;
async function updateUser (user) {
- count++;
+ count += 1;
if (count % progressCount === 0) console.warn(`${count} ${user._id}`);
sendTxn(
user,
EMAIL_SLUG,
- [{name: 'BASE_URL', content: BASE_URL}] // Add variables from template
+ [{ name: 'BASE_URL', content: BASE_URL }], // Add variables from template
);
- return await User.update({_id: user._id}, {$set: {migration: MIGRATION_NAME}}).exec();
+ return User.update({ _id: user._id }, { $set: { migration: MIGRATION_NAME } }).exec();
}
-module.exports = async function processUsers () {
- let query = {
- migration: {$ne: MIGRATION_NAME},
- 'auth.timestamps.loggedin': {$gt: moment().subtract(2, 'weeks').toDate()}, // customize or remove to target different populations
+export default async function processUsers () {
+ const query = {
+ migration: { $ne: MIGRATION_NAME },
+ 'auth.timestamps.loggedin': { $gt: moment().subtract(2, 'weeks').toDate() }, // customize or remove to target different populations
};
const fields = {
@@ -41,7 +42,7 @@ module.exports = async function processUsers () {
const users = await User // eslint-disable-line no-await-in-loop
.find(query)
.limit(250)
- .sort({_id: 1})
+ .sort({ _id: 1 })
.select(fields)
.lean()
.exec();
@@ -58,4 +59,4 @@ module.exports = async function processUsers () {
await Promise.all(users.map(updateUser)); // eslint-disable-line no-await-in-loop
}
-};
+}
diff --git a/migrations/users/full-stable.js b/migrations/users/full-stable.js
index f41f76f359..b53bef26a9 100644
--- a/migrations/users/full-stable.js
+++ b/migrations/users/full-stable.js
@@ -1,11 +1,12 @@
/* eslint-disable no-console */
-const MIGRATION_NAME = 'full-stable';
import each from 'lodash/each';
import keys from 'lodash/keys';
import content from '../../website/common/script/content/index';
import { model as User } from '../../website/server/models/user';
+const MIGRATION_NAME = 'full-stable';
+
const progressCount = 1000;
let count = 0;
@@ -14,45 +15,45 @@ let count = 0;
*/
async function updateUser (user) {
- count++;
+ count += 1;
const set = {};
set.migration = MIGRATION_NAME;
- each(keys(content.pets), (pet) => {
+ each(keys(content.pets), pet => {
set[`items.pets.${pet}`] = 5;
});
- each(keys(content.premiumPets), (pet) => {
+ each(keys(content.premiumPets), pet => {
set[`items.pets.${pet}`] = 5;
});
- each(keys(content.questPets), (pet) => {
+ each(keys(content.questPets), pet => {
set[`items.pets.${pet}`] = 5;
});
- each(keys(content.specialPets), (pet) => {
+ each(keys(content.specialPets), pet => {
set[`items.pets.${pet}`] = 5;
});
- each(keys(content.mounts), (mount) => {
+ each(keys(content.mounts), mount => {
set[`items.mounts.${mount}`] = true;
});
- each(keys(content.premiumMounts), (mount) => {
+ each(keys(content.premiumMounts), mount => {
set[`items.mounts.${mount}`] = true;
});
- each(keys(content.questMounts), (mount) => {
+ each(keys(content.questMounts), mount => {
set[`items.mounts.${mount}`] = true;
});
- each(keys(content.specialMounts), (mount) => {
+ each(keys(content.specialMounts), mount => {
set[`items.mounts.${mount}`] = true;
});
if (count % progressCount === 0) console.warn(`${count} ${user._id}`);
- return await User.update({_id: user._id}, {$set: set}).exec();
+ return User.update({ _id: user._id }, { $set: set }).exec();
}
-module.exports = async function processUsers () {
- let query = {
- migration: {$ne: MIGRATION_NAME},
+export default async function processUsers () {
+ const query = {
+ migration: { $ne: MIGRATION_NAME },
'auth.local.username': 'olson22',
};
@@ -64,7 +65,7 @@ module.exports = async function processUsers () {
const users = await User // eslint-disable-line no-await-in-loop
.find(query)
.limit(250)
- .sort({_id: 1})
+ .sort({ _id: 1 })
.select(fields)
.lean()
.exec();
@@ -81,4 +82,4 @@ module.exports = async function processUsers () {
await Promise.all(users.map(updateUser)); // eslint-disable-line no-await-in-loop
}
-};
+}
diff --git a/migrations/users/mystery-items.js b/migrations/users/mystery-items.js
index d44743e14c..b589ba4dc4 100644
--- a/migrations/users/mystery-items.js
+++ b/migrations/users/mystery-items.js
@@ -1,14 +1,15 @@
/* eslint-disable no-console */
-const MIGRATION_NAME = 'mystery_items_201909';
-const MYSTERY_ITEMS = ['armor_mystery_201909', 'head_mystery_201909'];
import { model as User } from '../../website/server/models/user';
import { model as UserNotification } from '../../website/server/models/userNotification';
+const MIGRATION_NAME = 'mystery_items_201909';
+const MYSTERY_ITEMS = ['armor_mystery_201909', 'head_mystery_201909'];
+
const progressCount = 1000;
let count = 0;
async function updateUser (user) {
- count++;
+ count += 1;
const addToSet = {
'purchased.plan.mysteryItems': {
@@ -29,12 +30,12 @@ async function updateUser (user) {
if (count % progressCount === 0) console.warn(`${count} ${user._id}`);
- return await User.update({_id: user._id}, {$set: set, $push: push, $addToSet: addToSet}).exec();
+ return User.update({ _id: user._id }, { $set: set, $push: push, $addToSet: addToSet }).exec();
}
-module.exports = async function processUsers () {
- let query = {
- migration: {$ne: MIGRATION_NAME},
+export default async function processUsers () {
+ const query = {
+ migration: { $ne: MIGRATION_NAME },
'purchased.plan.customerId': { $ne: null },
$or: [
{ 'purchased.plan.dateTerminated': { $gte: new Date() } },
@@ -51,7 +52,7 @@ module.exports = async function processUsers () {
const users = await User // eslint-disable-line no-await-in-loop
.find(query)
.limit(250)
- .sort({_id: 1})
+ .sort({ _id: 1 })
.select(fields)
.lean()
.exec();
@@ -68,4 +69,4 @@ module.exports = async function processUsers () {
await Promise.all(users.map(updateUser)); // eslint-disable-line no-await-in-loop
}
-};
+}
diff --git a/migrations/users/pi-day.js b/migrations/users/pi-day.js
index a954ba4b5a..d1c9ed972f 100644
--- a/migrations/users/pi-day.js
+++ b/migrations/users/pi-day.js
@@ -1,14 +1,15 @@
/* eslint-disable no-console */
-const MIGRATION_NAME = '20190314_pi_day';
import { v4 as uuid } from 'uuid';
import { model as User } from '../../website/server/models/user';
+const MIGRATION_NAME = '20190314_pi_day';
+
const progressCount = 1000;
let count = 0;
async function updateUser (user) {
- count++;
+ count *= 1;
const inc = {
'items.food.Pie_Skeleton': 1,
@@ -29,19 +30,21 @@ async function updateUser (user) {
set['items.gear.owned.head_special_piDay'] = false;
set['items.gear.owned.shield_special_piDay'] = false;
const push = [
- {type: 'marketGear', path: 'gear.flat.head_special_piDay', _id: uuid()},
- {type: 'marketGear', path: 'gear.flat.shield_special_piDay', _id: uuid()},
+ { type: 'marketGear', path: 'gear.flat.head_special_piDay', _id: uuid() },
+ { type: 'marketGear', path: 'gear.flat.shield_special_piDay', _id: uuid() },
];
if (count % progressCount === 0) console.warn(`${count} ${user._id}`);
- return await User.update({_id: user._id}, {$inc: inc, $set: set, $push: {pinnedItems: {$each: push}}}).exec();
+ return User
+ .update({ _id: user._id }, { $inc: inc, $set: set, $push: { pinnedItems: { $each: push } } })
+ .exec();
}
-module.exports = async function processUsers () {
- let query = {
- migration: {$ne: MIGRATION_NAME},
- 'auth.timestamps.loggedin': {$gt: new Date('2019-02-15')},
+export default async function processUsers () {
+ const query = {
+ migration: { $ne: MIGRATION_NAME },
+ 'auth.timestamps.loggedin': { $gt: new Date('2019-02-15') },
};
const fields = {
@@ -53,7 +56,7 @@ module.exports = async function processUsers () {
const users = await User // eslint-disable-line no-await-in-loop
.find(query)
.limit(250)
- .sort({_id: 1})
+ .sort({ _id: 1 })
.select(fields)
.lean()
.exec();
@@ -70,4 +73,4 @@ module.exports = async function processUsers () {
await Promise.all(users.map(updateUser)); // eslint-disable-line no-await-in-loop
}
-};
+}
diff --git a/migrations/users/remove-social-users-extra-data.js b/migrations/users/remove-social-users-extra-data.js
index b57a5c3ec3..ba61ad4306 100644
--- a/migrations/users/remove-social-users-extra-data.js
+++ b/migrations/users/remove-social-users-extra-data.js
@@ -1,3 +1,5 @@
+import monk from 'monk'; // eslint-disable-line import/no-extraneous-dependencies
+
const migrationName = 'remove-social-users-extra-data.js';
const authorName = 'paglias'; // in case script author needs to know when their ...
const authorUuid = 'ed4c688c-6652-4a92-9d03-a5a79844174a'; // ... own data is done
@@ -7,13 +9,13 @@ const authorUuid = 'ed4c688c-6652-4a92-9d03-a5a79844174a'; // ... own data is do
*/
const connectionString = 'mongodb://localhost:27017/habitrpg?auto_reconnect=true'; // FOR TEST DATABASE
-const monk = require('monk');
+
const dbUsers = monk(connectionString).get('users', { castIds: false });
function processUsers (lastId) {
// specify a query to limit the affected users (empty for all users):
- let query = {
- migration: {$ne: migrationName},
+ const query = {
+ migration: { $ne: migrationName },
$or: [
{ 'auth.facebook.id': { $exists: true } },
{ 'auth.google.id': { $exists: true } },
@@ -27,28 +29,28 @@ function processUsers (lastId) {
}
dbUsers.find(query, {
- sort: {_id: 1},
+ sort: { _id: 1 },
limit: 250,
})
.then(updateUsers)
- .catch((err) => {
+ .catch(err => {
console.log(err);
- return exiting(1, `ERROR! ${ err}`);
+ return exiting(1, `ERROR! ${err}`);
});
}
-let progressCount = 1000;
+const progressCount = 1000;
let count = 0;
function updateUsers (users) {
if (!users || users.length === 0) {
console.warn('All appropriate users found and modified.');
displayData();
- return;
+ return null;
}
- let userPromises = users.map(updateUser);
- let lastUser = users[users.length - 1];
+ const userPromises = users.map(updateUser);
+ const lastUser = users[users.length - 1];
return Promise.all(userPromises)
.then(() => {
@@ -57,7 +59,7 @@ function updateUsers (users) {
}
function updateUser (user) {
- count++;
+ count *= 1;
const isFacebook = user.auth.facebook && user.auth.facebook.id;
const isGoogle = user.auth.google && user.auth.google.id;
@@ -82,28 +84,29 @@ function updateUser (user) {
_id: user._id,
}, update);
- if (count % progressCount === 0) console.warn(`${count } ${ user._id}`);
- if (user._id === authorUuid) console.warn(`${authorName } processed`);
+ if (count % progressCount === 0) console.warn(`${count} ${user._id}`);
+ if (user._id === authorUuid) console.warn(`${authorName} processed`);
}
function displayData () {
- console.warn(`\n${ count } users processed\n`);
+ console.warn(`\n${count} users processed\n`);
return exiting(0);
}
function exiting (code, msg) {
- code = code || 0; // 0 = success
+ // 0 = success
+ code = code || 0; // eslint-disable-line no-param-reassign
if (code && !msg) {
- msg = 'ERROR!';
+ msg = 'ERROR!'; // eslint-disable-line no-param-reassign
}
if (msg) {
if (code) {
console.error(msg);
- } else {
+ } else {
console.log(msg);
}
}
process.exit(code);
}
-module.exports = processUsers;
+export default processUsers;
diff --git a/migrations/users/take-this.js b/migrations/users/take-this.js
index 6d990b79f3..d23b72abdd 100644
--- a/migrations/users/take-this.js
+++ b/migrations/users/take-this.js
@@ -1,14 +1,15 @@
/* eslint-disable no-console */
-const MIGRATION_NAME = '20181203_take_this';
import { v4 as uuid } from 'uuid';
import { model as User } from '../../website/server/models/user';
+const MIGRATION_NAME = '20181203_take_this';
+
const progressCount = 1000;
let count = 0;
async function updateUser (user) {
- count++;
+ count += 1;
const set = {};
let push;
@@ -19,36 +20,35 @@ async function updateUser (user) {
push = false;
} else if (typeof user.items.gear.owned.body_special_takeThis !== 'undefined') {
set['items.gear.owned.back_special_takeThis'] = false;
- push = {pinnedItems: {type: 'marketGear', path: 'gear.flat.back_special_takeThis', _id: uuid()}};
+ push = { pinnedItems: { type: 'marketGear', path: 'gear.flat.back_special_takeThis', _id: uuid() } };
} else if (typeof user.items.gear.owned.head_special_takeThis !== 'undefined') {
set['items.gear.owned.body_special_takeThis'] = false;
- push = {pinnedItems: {type: 'marketGear', path: 'gear.flat.body_special_takeThis', _id: uuid()}};
+ push = { pinnedItems: { type: 'marketGear', path: 'gear.flat.body_special_takeThis', _id: uuid() } };
} else if (typeof user.items.gear.owned.armor_special_takeThis !== 'undefined') {
set['items.gear.owned.head_special_takeThis'] = false;
- push = {pinnedItems: {type: 'marketGear', path: 'gear.flat.head_special_takeThis', _id: uuid()}};
+ push = { pinnedItems: { type: 'marketGear', path: 'gear.flat.head_special_takeThis', _id: uuid() } };
} else if (typeof user.items.gear.owned.weapon_special_takeThis !== 'undefined') {
set['items.gear.owned.armor_special_takeThis'] = false;
- push = {pinnedItems: {type: 'marketGear', path: 'gear.flat.armor_special_takeThis', _id: uuid()}};
+ push = { pinnedItems: { type: 'marketGear', path: 'gear.flat.armor_special_takeThis', _id: uuid() } };
} else if (typeof user.items.gear.owned.shield_special_takeThis !== 'undefined') {
set['items.gear.owned.weapon_special_takeThis'] = false;
- push = {pinnedItems: {type: 'marketGear', path: 'gear.flat.weapon_special_takeThis', _id: uuid()}};
+ push = { pinnedItems: { type: 'marketGear', path: 'gear.flat.weapon_special_takeThis', _id: uuid() } };
} else {
set['items.gear.owned.shield_special_takeThis'] = false;
- push = {pinnedItems: {type: 'marketGear', path: 'gear.flat.shield_special_takeThis', _id: uuid()}};
+ push = { pinnedItems: { type: 'marketGear', path: 'gear.flat.shield_special_takeThis', _id: uuid() } };
}
if (count % progressCount === 0) console.warn(`${count} ${user._id}`);
if (push) {
- return await User.update({_id: user._id}, {$set: set, $push: push}).exec();
- } else {
- return await User.update({_id: user._id}, {$set: set}).exec();
+ return User.update({ _id: user._id }, { $set: set, $push: push }).exec();
}
+ return User.update({ _id: user._id }, { $set: set }).exec();
}
-module.exports = async function processUsers () {
- let query = {
- migration: {$ne: MIGRATION_NAME},
+export default async function processUsers () {
+ const query = {
+ migration: { $ne: MIGRATION_NAME },
challenges: '00708425-d477-41a5-bf27-6270466e7976',
};
@@ -61,7 +61,7 @@ module.exports = async function processUsers () {
const users = await User // eslint-disable-line no-await-in-loop
.find(query)
.limit(250)
- .sort({_id: 1})
+ .sort({ _id: 1 })
.select(fields)
.lean()
.exec();
@@ -78,4 +78,4 @@ module.exports = async function processUsers () {
await Promise.all(users.map(updateUser)); // eslint-disable-line no-await-in-loop
}
-};
+}
diff --git a/migrations/users/users-to-test.js b/migrations/users/users-to-test.js
index cf9f4cc92f..7af950c68c 100644
--- a/migrations/users/users-to-test.js
+++ b/migrations/users/users-to-test.js
@@ -1,3 +1,4 @@
+/* eslint-disable import/no-commonjs */
/*
let migrationName = 'UserFromProdToTest';
let authorName = 'TheHollidayInn'; // in case script author needs to know when their ...
@@ -8,22 +9,24 @@ let authorUuid = ''; // ... own data is done
* This migraition will copy user data from prod to test
*/
-let monk = require('monk');
-let testConnectionSting = ''; // FOR TEST DATABASE
-let usersTest = monk(testConnectionSting).get('users', { castIds: false });
-let groupsTest = monk(testConnectionSting).get('groups', { castIds: false });
-let challengesTest = monk(testConnectionSting).get('challenges', { castIds: false });
-let tasksTest = monk(testConnectionSting).get('tasks', { castIds: false });
-
-let monk2 = require('monk');
-let liveConnectString = ''; // FOR TEST DATABASE
-let userLive = monk2(liveConnectString).get('users', { castIds: false });
-let groupsLive = monk2(liveConnectString).get('groups', { castIds: false });
-let challengesLive = monk2(liveConnectString).get('challenges', { castIds: false });
-let tasksLive = monk2(liveConnectString).get('tasks', { castIds: false });
-
import uniq from 'lodash/uniq';
+const monk = require('monk'); // eslint-disable-line import/no-extraneous-dependencies
+
+const testConnectionSting = ''; // FOR TEST DATABASE
+const usersTest = monk(testConnectionSting).get('users', { castIds: false });
+const groupsTest = monk(testConnectionSting).get('groups', { castIds: false });
+const challengesTest = monk(testConnectionSting).get('challenges', { castIds: false });
+const tasksTest = monk(testConnectionSting).get('tasks', { castIds: false });
+
+const monk2 = require('monk'); // eslint-disable-line import/no-extraneous-dependencies
+
+const liveConnectString = ''; // FOR TEST DATABASE
+const userLive = monk2(liveConnectString).get('users', { castIds: false });
+const groupsLive = monk2(liveConnectString).get('groups', { castIds: false });
+const challengesLive = monk2(liveConnectString).get('challenges', { castIds: false });
+const tasksLive = monk2(liveConnectString).get('tasks', { castIds: false });
+
// Variabls for updating
/*
let userIds = [
@@ -36,11 +39,11 @@ let challengeIds = [];
let tasksIds = [];
async function processUsers () {
- let userPromises = [];
+ const userPromises = [];
// {_id: {$in: userIds}}
- return userLive.find({guilds: 'b0764d64-8276-45a1-afa5-5ca9a5c64ca0'})
- .each((user) => {
+ return userLive.find({ guilds: 'b0764d64-8276-45a1-afa5-5ca9a5c64ca0' })
+ .each(user => {
if (user.guilds.length > 0) groupIds = groupIds.concat(user.guilds);
if (user.party._id) groupIds.push(user.party._id);
if (user.challenges.length > 0) challengeIds = challengeIds.concat(user.challenges);
@@ -49,64 +52,56 @@ async function processUsers () {
if (user.tasksOrder.dailys.length > 0) tasksIds = tasksIds.concat(user.tasksOrder.dailys);
if (user.tasksOrder.habits.length > 0) tasksIds = tasksIds.concat(user.tasksOrder.habits);
- let userPromise = usersTest.update({_id: user._id}, user, {upsert: true});
+ const userPromise = usersTest.update({ _id: user._id }, user, { upsert: true });
userPromises.push(userPromise);
- }).then(() => {
- return Promise.all(userPromises);
- })
+ }).then(() => Promise.all(userPromises))
.then(() => {
console.log('Done User');
});
}
function processGroups () {
- let promises = [];
- let groupsToQuery = uniq(groupIds);
- return groupsLive.find({_id: {$in: groupsToQuery}})
- .each((group) => {
- let promise = groupsTest.update({_id: group._id}, group, {upsert: true});
+ const promises = [];
+ const groupsToQuery = uniq(groupIds);
+ return groupsLive.find({ _id: { $in: groupsToQuery } })
+ .each(group => {
+ const promise = groupsTest.update({ _id: group._id }, group, { upsert: true });
promises.push(promise);
- }).then(() => {
- return Promise.all(promises);
- })
+ }).then(() => Promise.all(promises))
.then(() => {
console.log('Done Group');
});
}
function processChallenges () {
- let promises = [];
- let challengesToQuery = uniq(challengeIds);
- return challengesLive.find({_id: {$in: challengesToQuery}})
- .each((challenge) => {
- let promise = challengesTest.update({_id: challenge._id}, challenge, {upsert: true});
+ const promises = [];
+ const challengesToQuery = uniq(challengeIds);
+ return challengesLive.find({ _id: { $in: challengesToQuery } })
+ .each(challenge => {
+ const promise = challengesTest.update({ _id: challenge._id }, challenge, { upsert: true });
promises.push(promise);
- }).then(() => {
- return Promise.all(promises);
- })
+ }).then(() => Promise.all(promises))
.then(() => {
console.log('Done Challenge');
});
}
function processTasks () {
- let promises = [];
- let tasksToQuery = uniq(tasksIds);
- return tasksLive.find({_id: {$in: tasksToQuery}})
- .each((task) => {
- let promise = tasksTest.update({_id: task._id}, task, {upsert: true});
+ const promises = [];
+ const tasksToQuery = uniq(tasksIds);
+ return tasksLive.find({ _id: { $in: tasksToQuery } })
+ .each(task => {
+ const promise = tasksTest.update({ _id: task._id }, task, { upsert: true });
promises.push(promise);
- }).then(() => {
- return Promise.all(promises);
- })
+ }).then(() => Promise.all(promises))
.then(() => {
console.log('Done Tasks');
});
}
-module.exports = async function prodToTest () {
+export default async function prodToTest () {
await processUsers();
await processGroups();
await processChallenges();
await processTasks();
-};
+}
diff --git a/migrations/utils/connect.js b/migrations/utils/connect.js
index 1b20d523ca..54256a773c 100644
--- a/migrations/utils/connect.js
+++ b/migrations/utils/connect.js
@@ -1,6 +1,5 @@
-'use strict';
-
-const MongoClient = require('mongodb').MongoClient;
+/* eslint-disable import/no-commonjs */
+const { MongoClient } = require('mongodb'); // eslint-disable-line import/no-extraneous-dependencies
const logger = require('./logger');
let dbConnection;
@@ -17,7 +16,7 @@ function connectToDb (dbUri) {
logger.success(`Connected to ${dbUri}`);
- resolve(database);
+ return resolve(database);
});
});
}
diff --git a/migrations/utils/logger.js b/migrations/utils/logger.js
index cf6d643e76..baabeb3301 100644
--- a/migrations/utils/logger.js
+++ b/migrations/utils/logger.js
@@ -1,10 +1,11 @@
-'use strict';
-
-const chalk = require('chalk');
+/* eslint-disable import/no-commonjs */
+const chalk = require('chalk'); // eslint-disable-line import/no-extraneous-dependencies
function loggerGenerator (type, color) {
return function logger () {
- let args = Array.from(arguments).map(arg => chalk[color](arg));
+ const args = Array
+ .from(arguments) // eslint-disable-line prefer-rest-params
+ .map(arg => chalk[color](arg));
console[type].apply(null, args);
};
}
diff --git a/migrations/utils/timer.js b/migrations/utils/timer.js
index cacdfc1b8b..1fbed1cf8b 100644
--- a/migrations/utils/timer.js
+++ b/migrations/utils/timer.js
@@ -1,30 +1,30 @@
-'use strict';
-
-let logger = require('./logger');
+/* eslint-disable import/no-commonjs */
+const logger = require('./logger');
class Timer {
- constructor (options) {
- options = options || {};
- let warningThreshold = options.minutesWarningThreshold || 10;
+ constructor (options = {}) {
+ const warningThreshold = options.minutesWarningThreshold || 10;
this.count = 0;
this._minutesWarningThreshold = warningThreshold * 60;
if (!options.disableAutoStart) this.start();
}
+
start () {
this._internalTimer = setInterval(() => {
- this.count++;
+ this.count *= 1;
- let shouldWarn = this._minutesWarningThreshold < this.count;
- let logStyle = shouldWarn ? 'error' : 'warn';
- let dangerMessage = shouldWarn ? 'DANGER: ' : '';
+ const shouldWarn = this._minutesWarningThreshold < this.count;
+ const logStyle = shouldWarn ? 'error' : 'warn';
+ const dangerMessage = shouldWarn ? 'DANGER: ' : '';
if (this.count % 30 === 0) {
logger[logStyle](`${dangerMessage}Process has been running for`, this.count / 60, 'minutes');
}
}, 1000);
}
+
stop () {
if (!this._internalTimer) {
throw new Error('Timer has not started');
diff --git a/migrations/utils/unique.js b/migrations/utils/unique.js
index 0d222145c3..61f9c9517a 100644
--- a/migrations/utils/unique.js
+++ b/migrations/utils/unique.js
@@ -1,5 +1,4 @@
-'use strict';
-
+/* eslint-disable import/no-commonjs */
function unique (array) {
return Array.from(new Set(array));
}
diff --git a/package-lock.json b/package-lock.json
index 1b57bff7b4..eb59cac009 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,150 +1,2486 @@
{
"name": "habitica",
- "version": "4.116.3",
+ "version": "4.116.8",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
- "@amplitude/ua-parser-js": {
- "version": "0.7.20",
- "resolved": "https://registry.npmjs.org/@amplitude/ua-parser-js/-/ua-parser-js-0.7.20.tgz",
- "integrity": "sha512-bmW++BLt1Hg+4HCExLXP+0Jhgy2eTsEevqkVc5o4yYbgwdP/gV3gEQXzyVrMVlWWNLgph/tFIkf5PVlSpCELEg=="
- },
- "@babel/code-frame": {
- "version": "7.0.0-beta.44",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.44.tgz",
- "integrity": "sha512-cuAuTTIQ9RqcFRJ/Y8PvTh+paepNcaGxwQwjIDRWPXmzzyAeCO4KqS9ikMvq0MCbRk6GlYKwfzStrcP3/jSL8g==",
+ "@babel/core": {
+ "version": "7.6.4",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.6.4.tgz",
+ "integrity": "sha512-Rm0HGw101GY8FTzpWSyRbki/jzq+/PkNQJ+nSulrdY6gFGOsNseCqD6KHRYe2E+EdzuBdr2pxCp6s4Uk6eJ+XQ==",
+ "dev": true,
"requires": {
- "@babel/highlight": "7.0.0-beta.44"
- }
- },
- "@babel/generator": {
- "version": "7.0.0-beta.44",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0-beta.44.tgz",
- "integrity": "sha512-5xVb7hlhjGcdkKpMXgicAVgx8syK5VJz193k0i/0sLP6DzE6lRrU1K3B/rFefgdo9LPGMAOOOAWW4jycj07ShQ==",
- "requires": {
- "@babel/types": "7.0.0-beta.44",
- "jsesc": "^2.5.1",
- "lodash": "^4.2.0",
- "source-map": "^0.5.0",
- "trim-right": "^1.0.1"
+ "@babel/code-frame": "^7.5.5",
+ "@babel/generator": "^7.6.4",
+ "@babel/helpers": "^7.6.2",
+ "@babel/parser": "^7.6.4",
+ "@babel/template": "^7.6.0",
+ "@babel/traverse": "^7.6.3",
+ "@babel/types": "^7.6.3",
+ "convert-source-map": "^1.1.0",
+ "debug": "^4.1.0",
+ "json5": "^2.1.0",
+ "lodash": "^4.17.13",
+ "resolve": "^1.3.2",
+ "semver": "^5.4.1",
+ "source-map": "^0.5.0"
},
"dependencies": {
- "jsesc": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
- "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA=="
+ "@babel/code-frame": {
+ "version": "7.5.5",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz",
+ "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==",
+ "dev": true,
+ "requires": {
+ "@babel/highlight": "^7.0.0"
+ }
},
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- }
- }
- },
- "@babel/helper-function-name": {
- "version": "7.0.0-beta.44",
- "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.44.tgz",
- "integrity": "sha512-MHRG2qZMKMFaBavX0LWpfZ2e+hLloT++N7rfM3DYOMUOGCD8cVjqZpwiL8a0bOX3IYcQev1ruciT0gdFFRTxzg==",
- "requires": {
- "@babel/helper-get-function-arity": "7.0.0-beta.44",
- "@babel/template": "7.0.0-beta.44",
- "@babel/types": "7.0.0-beta.44"
- }
- },
- "@babel/helper-get-function-arity": {
- "version": "7.0.0-beta.44",
- "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.44.tgz",
- "integrity": "sha512-w0YjWVwrM2HwP6/H3sEgrSQdkCaxppqFeJtAnB23pRiJB5E/O9Yp7JAAeWBl+gGEgmBFinnTyOv2RN7rcSmMiw==",
- "requires": {
- "@babel/types": "7.0.0-beta.44"
- }
- },
- "@babel/helper-split-export-declaration": {
- "version": "7.0.0-beta.44",
- "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.44.tgz",
- "integrity": "sha512-aQ7QowtkgKKzPGf0j6u77kBMdUFVBKNHw2p/3HX/POt5/oz8ec5cs0GwlgM8Hz7ui5EwJnzyfRmkNF1Nx1N7aA==",
- "requires": {
- "@babel/types": "7.0.0-beta.44"
- }
- },
- "@babel/highlight": {
- "version": "7.0.0-beta.44",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-beta.44.tgz",
- "integrity": "sha512-Il19yJvy7vMFm8AVAh6OZzaFoAd0hbkeMZiX3P5HGD+z7dyI7RzndHB0dg6Urh/VAFfHtpOIzDUSxmY6coyZWQ==",
- "requires": {
- "chalk": "^2.0.0",
- "esutils": "^2.0.2",
- "js-tokens": "^3.0.0"
- }
- },
- "@babel/template": {
- "version": "7.0.0-beta.44",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.44.tgz",
- "integrity": "sha512-w750Sloq0UNifLx1rUqwfbnC6uSUk0mfwwgGRfdLiaUzfAOiH0tHJE6ILQIUi3KYkjiCDTskoIsnfqZvWLBDng==",
- "requires": {
- "@babel/code-frame": "7.0.0-beta.44",
- "@babel/types": "7.0.0-beta.44",
- "babylon": "7.0.0-beta.44",
- "lodash": "^4.2.0"
- },
- "dependencies": {
- "babylon": {
- "version": "7.0.0-beta.44",
- "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.44.tgz",
- "integrity": "sha512-5Hlm13BJVAioCHpImtFqNOF2H3ieTOHd0fmFGMxOJ9jgeFqeAwsv3u5P5cR7CSeFrkgHsT19DgFJkHV0/Mcd8g=="
- }
- }
- },
- "@babel/traverse": {
- "version": "7.0.0-beta.44",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-beta.44.tgz",
- "integrity": "sha512-UHuDz8ukQkJCDASKHf+oDt3FVUzFd+QYfuBIsiNu/4+/ix6pP/C+uQZJ6K1oEfbCMv/IKWbgDEh7fcsnIE5AtA==",
- "requires": {
- "@babel/code-frame": "7.0.0-beta.44",
- "@babel/generator": "7.0.0-beta.44",
- "@babel/helper-function-name": "7.0.0-beta.44",
- "@babel/helper-split-export-declaration": "7.0.0-beta.44",
- "@babel/types": "7.0.0-beta.44",
- "babylon": "7.0.0-beta.44",
- "debug": "^3.1.0",
- "globals": "^11.1.0",
- "invariant": "^2.2.0",
- "lodash": "^4.2.0"
- },
- "dependencies": {
- "babylon": {
- "version": "7.0.0-beta.44",
- "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.44.tgz",
- "integrity": "sha512-5Hlm13BJVAioCHpImtFqNOF2H3ieTOHd0fmFGMxOJ9jgeFqeAwsv3u5P5cR7CSeFrkgHsT19DgFJkHV0/Mcd8g=="
+ "@babel/generator": {
+ "version": "7.6.4",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.6.4.tgz",
+ "integrity": "sha512-jsBuXkFoZxk0yWLyGI9llT9oiQ2FeTASmRFE32U+aaDTfoE92t78eroO7PTpU/OrYq38hlcDM6vbfLDaOLy+7w==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.6.3",
+ "jsesc": "^2.5.1",
+ "lodash": "^4.17.13",
+ "source-map": "^0.5.0"
+ }
+ },
+ "@babel/helper-function-name": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz",
+ "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-get-function-arity": "^7.0.0",
+ "@babel/template": "^7.1.0",
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-get-function-arity": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz",
+ "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-split-export-declaration": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz",
+ "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.4.4"
+ }
+ },
+ "@babel/highlight": {
+ "version": "7.5.0",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz",
+ "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.0.0",
+ "esutils": "^2.0.2",
+ "js-tokens": "^4.0.0"
+ }
+ },
+ "@babel/template": {
+ "version": "7.6.0",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.6.0.tgz",
+ "integrity": "sha512-5AEH2EXD8euCk446b7edmgFdub/qfH1SN6Nii3+fyXP807QRx9Q73A2N5hNwRRslC2H9sNzaFhsPubkS4L8oNQ==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "@babel/parser": "^7.6.0",
+ "@babel/types": "^7.6.0"
+ }
+ },
+ "@babel/traverse": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.6.3.tgz",
+ "integrity": "sha512-unn7P4LGsijIxaAJo/wpoU11zN+2IaClkQAxcJWBNCMS6cmVh802IyLHNkAjQ0iYnRS3nnxk5O3fuXW28IMxTw==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.5.5",
+ "@babel/generator": "^7.6.3",
+ "@babel/helper-function-name": "^7.1.0",
+ "@babel/helper-split-export-declaration": "^7.4.4",
+ "@babel/parser": "^7.6.3",
+ "@babel/types": "^7.6.3",
+ "debug": "^4.1.0",
+ "globals": "^11.1.0",
+ "lodash": "^4.17.13"
+ }
+ },
+ "@babel/types": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.3.tgz",
+ "integrity": "sha512-CqbcpTxMcpuQTMhjI37ZHVgjBkysg5icREQIEZ0eG1yCNwg3oy+5AaLiOKmjsCj6nqOsa6Hf0ObjRVwokb7srA==",
+ "dev": true,
+ "requires": {
+ "esutils": "^2.0.2",
+ "lodash": "^4.17.13",
+ "to-fast-properties": "^2.0.0"
+ }
+ },
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
},
"globals": {
"version": "11.12.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
- "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA=="
- }
- }
- },
- "@babel/types": {
- "version": "7.0.0-beta.44",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.44.tgz",
- "integrity": "sha512-5eTV4WRmqbaFM3v9gHAIljEQJU4Ssc6fxL61JN+Oe2ga/BwyjzjamwkCVVAQjHGuAX8i0BWo42dshL8eO5KfLQ==",
- "requires": {
- "esutils": "^2.0.2",
- "lodash": "^4.2.0",
- "to-fast-properties": "^2.0.0"
- },
- "dependencies": {
+ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
+ "dev": true
+ },
+ "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
+ },
+ "jsesc": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
+ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
+ "dev": true
+ },
+ "json5": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.1.tgz",
+ "integrity": "sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==",
+ "dev": true,
+ "requires": {
+ "minimist": "^1.2.0"
+ }
+ },
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "dev": true
+ },
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ },
"to-fast-properties": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
- "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4="
+ "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
+ "dev": true
+ }
+ }
+ },
+ "@babel/helper-annotate-as-pure": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz",
+ "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.0.0"
+ },
+ "dependencies": {
+ "@babel/types": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.3.tgz",
+ "integrity": "sha512-CqbcpTxMcpuQTMhjI37ZHVgjBkysg5icREQIEZ0eG1yCNwg3oy+5AaLiOKmjsCj6nqOsa6Hf0ObjRVwokb7srA==",
+ "dev": true,
+ "requires": {
+ "esutils": "^2.0.2",
+ "lodash": "^4.17.13",
+ "to-fast-properties": "^2.0.0"
+ }
+ },
+ "to-fast-properties": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+ "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
+ "dev": true
+ }
+ }
+ },
+ "@babel/helper-builder-binary-assignment-operator-visitor": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz",
+ "integrity": "sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-explode-assignable-expression": "^7.1.0",
+ "@babel/types": "^7.0.0"
+ },
+ "dependencies": {
+ "@babel/types": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.3.tgz",
+ "integrity": "sha512-CqbcpTxMcpuQTMhjI37ZHVgjBkysg5icREQIEZ0eG1yCNwg3oy+5AaLiOKmjsCj6nqOsa6Hf0ObjRVwokb7srA==",
+ "dev": true,
+ "requires": {
+ "esutils": "^2.0.2",
+ "lodash": "^4.17.13",
+ "to-fast-properties": "^2.0.0"
+ }
+ },
+ "to-fast-properties": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+ "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
+ "dev": true
+ }
+ }
+ },
+ "@babel/helper-call-delegate": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz",
+ "integrity": "sha512-l79boDFJ8S1c5hvQvG+rc+wHw6IuH7YldmRKsYtpbawsxURu/paVy57FZMomGK22/JckepaikOkY0MoAmdyOlQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-hoist-variables": "^7.4.4",
+ "@babel/traverse": "^7.4.4",
+ "@babel/types": "^7.4.4"
+ },
+ "dependencies": {
+ "@babel/code-frame": {
+ "version": "7.5.5",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz",
+ "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==",
+ "dev": true,
+ "requires": {
+ "@babel/highlight": "^7.0.0"
+ }
+ },
+ "@babel/generator": {
+ "version": "7.6.4",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.6.4.tgz",
+ "integrity": "sha512-jsBuXkFoZxk0yWLyGI9llT9oiQ2FeTASmRFE32U+aaDTfoE92t78eroO7PTpU/OrYq38hlcDM6vbfLDaOLy+7w==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.6.3",
+ "jsesc": "^2.5.1",
+ "lodash": "^4.17.13",
+ "source-map": "^0.5.0"
+ }
+ },
+ "@babel/helper-function-name": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz",
+ "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-get-function-arity": "^7.0.0",
+ "@babel/template": "^7.1.0",
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-get-function-arity": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz",
+ "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-split-export-declaration": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz",
+ "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.4.4"
+ }
+ },
+ "@babel/highlight": {
+ "version": "7.5.0",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz",
+ "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.0.0",
+ "esutils": "^2.0.2",
+ "js-tokens": "^4.0.0"
+ }
+ },
+ "@babel/template": {
+ "version": "7.6.0",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.6.0.tgz",
+ "integrity": "sha512-5AEH2EXD8euCk446b7edmgFdub/qfH1SN6Nii3+fyXP807QRx9Q73A2N5hNwRRslC2H9sNzaFhsPubkS4L8oNQ==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "@babel/parser": "^7.6.0",
+ "@babel/types": "^7.6.0"
+ }
+ },
+ "@babel/traverse": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.6.3.tgz",
+ "integrity": "sha512-unn7P4LGsijIxaAJo/wpoU11zN+2IaClkQAxcJWBNCMS6cmVh802IyLHNkAjQ0iYnRS3nnxk5O3fuXW28IMxTw==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.5.5",
+ "@babel/generator": "^7.6.3",
+ "@babel/helper-function-name": "^7.1.0",
+ "@babel/helper-split-export-declaration": "^7.4.4",
+ "@babel/parser": "^7.6.3",
+ "@babel/types": "^7.6.3",
+ "debug": "^4.1.0",
+ "globals": "^11.1.0",
+ "lodash": "^4.17.13"
+ }
+ },
+ "@babel/types": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.3.tgz",
+ "integrity": "sha512-CqbcpTxMcpuQTMhjI37ZHVgjBkysg5icREQIEZ0eG1yCNwg3oy+5AaLiOKmjsCj6nqOsa6Hf0ObjRVwokb7srA==",
+ "dev": true,
+ "requires": {
+ "esutils": "^2.0.2",
+ "lodash": "^4.17.13",
+ "to-fast-properties": "^2.0.0"
+ }
+ },
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "globals": {
+ "version": "11.12.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
+ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
+ "dev": true
+ },
+ "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
+ },
+ "jsesc": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
+ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ },
+ "to-fast-properties": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+ "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
+ "dev": true
+ }
+ }
+ },
+ "@babel/helper-define-map": {
+ "version": "7.5.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.5.5.tgz",
+ "integrity": "sha512-fTfxx7i0B5NJqvUOBBGREnrqbTxRh7zinBANpZXAVDlsZxYdclDp467G1sQ8VZYMnAURY3RpBUAgOYT9GfzHBg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-function-name": "^7.1.0",
+ "@babel/types": "^7.5.5",
+ "lodash": "^4.17.13"
+ },
+ "dependencies": {
+ "@babel/code-frame": {
+ "version": "7.5.5",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz",
+ "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==",
+ "dev": true,
+ "requires": {
+ "@babel/highlight": "^7.0.0"
+ }
+ },
+ "@babel/helper-function-name": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz",
+ "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-get-function-arity": "^7.0.0",
+ "@babel/template": "^7.1.0",
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-get-function-arity": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz",
+ "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/highlight": {
+ "version": "7.5.0",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz",
+ "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.0.0",
+ "esutils": "^2.0.2",
+ "js-tokens": "^4.0.0"
+ }
+ },
+ "@babel/template": {
+ "version": "7.6.0",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.6.0.tgz",
+ "integrity": "sha512-5AEH2EXD8euCk446b7edmgFdub/qfH1SN6Nii3+fyXP807QRx9Q73A2N5hNwRRslC2H9sNzaFhsPubkS4L8oNQ==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "@babel/parser": "^7.6.0",
+ "@babel/types": "^7.6.0"
+ }
+ },
+ "@babel/types": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.3.tgz",
+ "integrity": "sha512-CqbcpTxMcpuQTMhjI37ZHVgjBkysg5icREQIEZ0eG1yCNwg3oy+5AaLiOKmjsCj6nqOsa6Hf0ObjRVwokb7srA==",
+ "dev": true,
+ "requires": {
+ "esutils": "^2.0.2",
+ "lodash": "^4.17.13",
+ "to-fast-properties": "^2.0.0"
+ }
+ },
+ "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
+ },
+ "to-fast-properties": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+ "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
+ "dev": true
+ }
+ }
+ },
+ "@babel/helper-explode-assignable-expression": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz",
+ "integrity": "sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==",
+ "dev": true,
+ "requires": {
+ "@babel/traverse": "^7.1.0",
+ "@babel/types": "^7.0.0"
+ },
+ "dependencies": {
+ "@babel/code-frame": {
+ "version": "7.5.5",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz",
+ "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==",
+ "dev": true,
+ "requires": {
+ "@babel/highlight": "^7.0.0"
+ }
+ },
+ "@babel/generator": {
+ "version": "7.6.4",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.6.4.tgz",
+ "integrity": "sha512-jsBuXkFoZxk0yWLyGI9llT9oiQ2FeTASmRFE32U+aaDTfoE92t78eroO7PTpU/OrYq38hlcDM6vbfLDaOLy+7w==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.6.3",
+ "jsesc": "^2.5.1",
+ "lodash": "^4.17.13",
+ "source-map": "^0.5.0"
+ }
+ },
+ "@babel/helper-function-name": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz",
+ "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-get-function-arity": "^7.0.0",
+ "@babel/template": "^7.1.0",
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-get-function-arity": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz",
+ "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-split-export-declaration": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz",
+ "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.4.4"
+ }
+ },
+ "@babel/highlight": {
+ "version": "7.5.0",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz",
+ "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.0.0",
+ "esutils": "^2.0.2",
+ "js-tokens": "^4.0.0"
+ }
+ },
+ "@babel/template": {
+ "version": "7.6.0",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.6.0.tgz",
+ "integrity": "sha512-5AEH2EXD8euCk446b7edmgFdub/qfH1SN6Nii3+fyXP807QRx9Q73A2N5hNwRRslC2H9sNzaFhsPubkS4L8oNQ==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "@babel/parser": "^7.6.0",
+ "@babel/types": "^7.6.0"
+ }
+ },
+ "@babel/traverse": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.6.3.tgz",
+ "integrity": "sha512-unn7P4LGsijIxaAJo/wpoU11zN+2IaClkQAxcJWBNCMS6cmVh802IyLHNkAjQ0iYnRS3nnxk5O3fuXW28IMxTw==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.5.5",
+ "@babel/generator": "^7.6.3",
+ "@babel/helper-function-name": "^7.1.0",
+ "@babel/helper-split-export-declaration": "^7.4.4",
+ "@babel/parser": "^7.6.3",
+ "@babel/types": "^7.6.3",
+ "debug": "^4.1.0",
+ "globals": "^11.1.0",
+ "lodash": "^4.17.13"
+ }
+ },
+ "@babel/types": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.3.tgz",
+ "integrity": "sha512-CqbcpTxMcpuQTMhjI37ZHVgjBkysg5icREQIEZ0eG1yCNwg3oy+5AaLiOKmjsCj6nqOsa6Hf0ObjRVwokb7srA==",
+ "dev": true,
+ "requires": {
+ "esutils": "^2.0.2",
+ "lodash": "^4.17.13",
+ "to-fast-properties": "^2.0.0"
+ }
+ },
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "globals": {
+ "version": "11.12.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
+ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
+ "dev": true
+ },
+ "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
+ },
+ "jsesc": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
+ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ },
+ "to-fast-properties": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+ "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
+ "dev": true
+ }
+ }
+ },
+ "@babel/helper-hoist-variables": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz",
+ "integrity": "sha512-VYk2/H/BnYbZDDg39hr3t2kKyifAm1W6zHRfhx8jGjIHpQEBv9dry7oQ2f3+J703TLu69nYdxsovl0XYfcnK4w==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.4.4"
+ },
+ "dependencies": {
+ "@babel/types": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.3.tgz",
+ "integrity": "sha512-CqbcpTxMcpuQTMhjI37ZHVgjBkysg5icREQIEZ0eG1yCNwg3oy+5AaLiOKmjsCj6nqOsa6Hf0ObjRVwokb7srA==",
+ "dev": true,
+ "requires": {
+ "esutils": "^2.0.2",
+ "lodash": "^4.17.13",
+ "to-fast-properties": "^2.0.0"
+ }
+ },
+ "to-fast-properties": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+ "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
+ "dev": true
+ }
+ }
+ },
+ "@babel/helper-member-expression-to-functions": {
+ "version": "7.5.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.5.5.tgz",
+ "integrity": "sha512-5qZ3D1uMclSNqYcXqiHoA0meVdv+xUEex9em2fqMnrk/scphGlGgg66zjMrPJESPwrFJ6sbfFQYUSa0Mz7FabA==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.5.5"
+ },
+ "dependencies": {
+ "@babel/types": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.3.tgz",
+ "integrity": "sha512-CqbcpTxMcpuQTMhjI37ZHVgjBkysg5icREQIEZ0eG1yCNwg3oy+5AaLiOKmjsCj6nqOsa6Hf0ObjRVwokb7srA==",
+ "dev": true,
+ "requires": {
+ "esutils": "^2.0.2",
+ "lodash": "^4.17.13",
+ "to-fast-properties": "^2.0.0"
+ }
+ },
+ "to-fast-properties": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+ "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
+ "dev": true
+ }
+ }
+ },
+ "@babel/helper-module-imports": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz",
+ "integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.0.0"
+ },
+ "dependencies": {
+ "@babel/types": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.3.tgz",
+ "integrity": "sha512-CqbcpTxMcpuQTMhjI37ZHVgjBkysg5icREQIEZ0eG1yCNwg3oy+5AaLiOKmjsCj6nqOsa6Hf0ObjRVwokb7srA==",
+ "dev": true,
+ "requires": {
+ "esutils": "^2.0.2",
+ "lodash": "^4.17.13",
+ "to-fast-properties": "^2.0.0"
+ }
+ },
+ "to-fast-properties": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+ "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
+ "dev": true
+ }
+ }
+ },
+ "@babel/helper-module-transforms": {
+ "version": "7.5.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.5.5.tgz",
+ "integrity": "sha512-jBeCvETKuJqeiaCdyaheF40aXnnU1+wkSiUs/IQg3tB85up1LyL8x77ClY8qJpuRJUcXQo+ZtdNESmZl4j56Pw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-module-imports": "^7.0.0",
+ "@babel/helper-simple-access": "^7.1.0",
+ "@babel/helper-split-export-declaration": "^7.4.4",
+ "@babel/template": "^7.4.4",
+ "@babel/types": "^7.5.5",
+ "lodash": "^4.17.13"
+ },
+ "dependencies": {
+ "@babel/code-frame": {
+ "version": "7.5.5",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz",
+ "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==",
+ "dev": true,
+ "requires": {
+ "@babel/highlight": "^7.0.0"
+ }
+ },
+ "@babel/helper-split-export-declaration": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz",
+ "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.4.4"
+ }
+ },
+ "@babel/highlight": {
+ "version": "7.5.0",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz",
+ "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.0.0",
+ "esutils": "^2.0.2",
+ "js-tokens": "^4.0.0"
+ }
+ },
+ "@babel/template": {
+ "version": "7.6.0",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.6.0.tgz",
+ "integrity": "sha512-5AEH2EXD8euCk446b7edmgFdub/qfH1SN6Nii3+fyXP807QRx9Q73A2N5hNwRRslC2H9sNzaFhsPubkS4L8oNQ==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "@babel/parser": "^7.6.0",
+ "@babel/types": "^7.6.0"
+ }
+ },
+ "@babel/types": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.3.tgz",
+ "integrity": "sha512-CqbcpTxMcpuQTMhjI37ZHVgjBkysg5icREQIEZ0eG1yCNwg3oy+5AaLiOKmjsCj6nqOsa6Hf0ObjRVwokb7srA==",
+ "dev": true,
+ "requires": {
+ "esutils": "^2.0.2",
+ "lodash": "^4.17.13",
+ "to-fast-properties": "^2.0.0"
+ }
+ },
+ "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
+ },
+ "to-fast-properties": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+ "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
+ "dev": true
+ }
+ }
+ },
+ "@babel/helper-optimise-call-expression": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz",
+ "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.0.0"
+ },
+ "dependencies": {
+ "@babel/types": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.3.tgz",
+ "integrity": "sha512-CqbcpTxMcpuQTMhjI37ZHVgjBkysg5icREQIEZ0eG1yCNwg3oy+5AaLiOKmjsCj6nqOsa6Hf0ObjRVwokb7srA==",
+ "dev": true,
+ "requires": {
+ "esutils": "^2.0.2",
+ "lodash": "^4.17.13",
+ "to-fast-properties": "^2.0.0"
+ }
+ },
+ "to-fast-properties": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+ "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
+ "dev": true
+ }
+ }
+ },
+ "@babel/helper-plugin-utils": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz",
+ "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==",
+ "dev": true
+ },
+ "@babel/helper-regex": {
+ "version": "7.5.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.5.5.tgz",
+ "integrity": "sha512-CkCYQLkfkiugbRDO8eZn6lRuR8kzZoGXCg3149iTk5se7g6qykSpy3+hELSwquhu+TgHn8nkLiBwHvNX8Hofcw==",
+ "dev": true,
+ "requires": {
+ "lodash": "^4.17.13"
+ }
+ },
+ "@babel/helper-remap-async-to-generator": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz",
+ "integrity": "sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-annotate-as-pure": "^7.0.0",
+ "@babel/helper-wrap-function": "^7.1.0",
+ "@babel/template": "^7.1.0",
+ "@babel/traverse": "^7.1.0",
+ "@babel/types": "^7.0.0"
+ },
+ "dependencies": {
+ "@babel/code-frame": {
+ "version": "7.5.5",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz",
+ "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==",
+ "dev": true,
+ "requires": {
+ "@babel/highlight": "^7.0.0"
+ }
+ },
+ "@babel/generator": {
+ "version": "7.6.4",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.6.4.tgz",
+ "integrity": "sha512-jsBuXkFoZxk0yWLyGI9llT9oiQ2FeTASmRFE32U+aaDTfoE92t78eroO7PTpU/OrYq38hlcDM6vbfLDaOLy+7w==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.6.3",
+ "jsesc": "^2.5.1",
+ "lodash": "^4.17.13",
+ "source-map": "^0.5.0"
+ }
+ },
+ "@babel/helper-function-name": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz",
+ "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-get-function-arity": "^7.0.0",
+ "@babel/template": "^7.1.0",
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-get-function-arity": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz",
+ "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-split-export-declaration": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz",
+ "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.4.4"
+ }
+ },
+ "@babel/highlight": {
+ "version": "7.5.0",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz",
+ "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.0.0",
+ "esutils": "^2.0.2",
+ "js-tokens": "^4.0.0"
+ }
+ },
+ "@babel/template": {
+ "version": "7.6.0",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.6.0.tgz",
+ "integrity": "sha512-5AEH2EXD8euCk446b7edmgFdub/qfH1SN6Nii3+fyXP807QRx9Q73A2N5hNwRRslC2H9sNzaFhsPubkS4L8oNQ==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "@babel/parser": "^7.6.0",
+ "@babel/types": "^7.6.0"
+ }
+ },
+ "@babel/traverse": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.6.3.tgz",
+ "integrity": "sha512-unn7P4LGsijIxaAJo/wpoU11zN+2IaClkQAxcJWBNCMS6cmVh802IyLHNkAjQ0iYnRS3nnxk5O3fuXW28IMxTw==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.5.5",
+ "@babel/generator": "^7.6.3",
+ "@babel/helper-function-name": "^7.1.0",
+ "@babel/helper-split-export-declaration": "^7.4.4",
+ "@babel/parser": "^7.6.3",
+ "@babel/types": "^7.6.3",
+ "debug": "^4.1.0",
+ "globals": "^11.1.0",
+ "lodash": "^4.17.13"
+ }
+ },
+ "@babel/types": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.3.tgz",
+ "integrity": "sha512-CqbcpTxMcpuQTMhjI37ZHVgjBkysg5icREQIEZ0eG1yCNwg3oy+5AaLiOKmjsCj6nqOsa6Hf0ObjRVwokb7srA==",
+ "dev": true,
+ "requires": {
+ "esutils": "^2.0.2",
+ "lodash": "^4.17.13",
+ "to-fast-properties": "^2.0.0"
+ }
+ },
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "globals": {
+ "version": "11.12.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
+ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
+ "dev": true
+ },
+ "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
+ },
+ "jsesc": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
+ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ },
+ "to-fast-properties": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+ "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
+ "dev": true
+ }
+ }
+ },
+ "@babel/helper-replace-supers": {
+ "version": "7.5.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.5.5.tgz",
+ "integrity": "sha512-XvRFWrNnlsow2u7jXDuH4jDDctkxbS7gXssrP4q2nUD606ukXHRvydj346wmNg+zAgpFx4MWf4+usfC93bElJg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-member-expression-to-functions": "^7.5.5",
+ "@babel/helper-optimise-call-expression": "^7.0.0",
+ "@babel/traverse": "^7.5.5",
+ "@babel/types": "^7.5.5"
+ },
+ "dependencies": {
+ "@babel/code-frame": {
+ "version": "7.5.5",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz",
+ "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==",
+ "dev": true,
+ "requires": {
+ "@babel/highlight": "^7.0.0"
+ }
+ },
+ "@babel/generator": {
+ "version": "7.6.4",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.6.4.tgz",
+ "integrity": "sha512-jsBuXkFoZxk0yWLyGI9llT9oiQ2FeTASmRFE32U+aaDTfoE92t78eroO7PTpU/OrYq38hlcDM6vbfLDaOLy+7w==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.6.3",
+ "jsesc": "^2.5.1",
+ "lodash": "^4.17.13",
+ "source-map": "^0.5.0"
+ }
+ },
+ "@babel/helper-function-name": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz",
+ "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-get-function-arity": "^7.0.0",
+ "@babel/template": "^7.1.0",
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-get-function-arity": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz",
+ "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-split-export-declaration": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz",
+ "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.4.4"
+ }
+ },
+ "@babel/highlight": {
+ "version": "7.5.0",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz",
+ "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.0.0",
+ "esutils": "^2.0.2",
+ "js-tokens": "^4.0.0"
+ }
+ },
+ "@babel/template": {
+ "version": "7.6.0",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.6.0.tgz",
+ "integrity": "sha512-5AEH2EXD8euCk446b7edmgFdub/qfH1SN6Nii3+fyXP807QRx9Q73A2N5hNwRRslC2H9sNzaFhsPubkS4L8oNQ==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "@babel/parser": "^7.6.0",
+ "@babel/types": "^7.6.0"
+ }
+ },
+ "@babel/traverse": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.6.3.tgz",
+ "integrity": "sha512-unn7P4LGsijIxaAJo/wpoU11zN+2IaClkQAxcJWBNCMS6cmVh802IyLHNkAjQ0iYnRS3nnxk5O3fuXW28IMxTw==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.5.5",
+ "@babel/generator": "^7.6.3",
+ "@babel/helper-function-name": "^7.1.0",
+ "@babel/helper-split-export-declaration": "^7.4.4",
+ "@babel/parser": "^7.6.3",
+ "@babel/types": "^7.6.3",
+ "debug": "^4.1.0",
+ "globals": "^11.1.0",
+ "lodash": "^4.17.13"
+ }
+ },
+ "@babel/types": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.3.tgz",
+ "integrity": "sha512-CqbcpTxMcpuQTMhjI37ZHVgjBkysg5icREQIEZ0eG1yCNwg3oy+5AaLiOKmjsCj6nqOsa6Hf0ObjRVwokb7srA==",
+ "dev": true,
+ "requires": {
+ "esutils": "^2.0.2",
+ "lodash": "^4.17.13",
+ "to-fast-properties": "^2.0.0"
+ }
+ },
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "globals": {
+ "version": "11.12.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
+ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
+ "dev": true
+ },
+ "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
+ },
+ "jsesc": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
+ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ },
+ "to-fast-properties": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+ "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
+ "dev": true
+ }
+ }
+ },
+ "@babel/helper-simple-access": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz",
+ "integrity": "sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==",
+ "dev": true,
+ "requires": {
+ "@babel/template": "^7.1.0",
+ "@babel/types": "^7.0.0"
+ },
+ "dependencies": {
+ "@babel/code-frame": {
+ "version": "7.5.5",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz",
+ "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==",
+ "dev": true,
+ "requires": {
+ "@babel/highlight": "^7.0.0"
+ }
+ },
+ "@babel/highlight": {
+ "version": "7.5.0",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz",
+ "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.0.0",
+ "esutils": "^2.0.2",
+ "js-tokens": "^4.0.0"
+ }
+ },
+ "@babel/template": {
+ "version": "7.6.0",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.6.0.tgz",
+ "integrity": "sha512-5AEH2EXD8euCk446b7edmgFdub/qfH1SN6Nii3+fyXP807QRx9Q73A2N5hNwRRslC2H9sNzaFhsPubkS4L8oNQ==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "@babel/parser": "^7.6.0",
+ "@babel/types": "^7.6.0"
+ }
+ },
+ "@babel/types": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.3.tgz",
+ "integrity": "sha512-CqbcpTxMcpuQTMhjI37ZHVgjBkysg5icREQIEZ0eG1yCNwg3oy+5AaLiOKmjsCj6nqOsa6Hf0ObjRVwokb7srA==",
+ "dev": true,
+ "requires": {
+ "esutils": "^2.0.2",
+ "lodash": "^4.17.13",
+ "to-fast-properties": "^2.0.0"
+ }
+ },
+ "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
+ },
+ "to-fast-properties": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+ "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
+ "dev": true
+ }
+ }
+ },
+ "@babel/helper-wrap-function": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz",
+ "integrity": "sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-function-name": "^7.1.0",
+ "@babel/template": "^7.1.0",
+ "@babel/traverse": "^7.1.0",
+ "@babel/types": "^7.2.0"
+ },
+ "dependencies": {
+ "@babel/code-frame": {
+ "version": "7.5.5",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz",
+ "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==",
+ "dev": true,
+ "requires": {
+ "@babel/highlight": "^7.0.0"
+ }
+ },
+ "@babel/generator": {
+ "version": "7.6.4",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.6.4.tgz",
+ "integrity": "sha512-jsBuXkFoZxk0yWLyGI9llT9oiQ2FeTASmRFE32U+aaDTfoE92t78eroO7PTpU/OrYq38hlcDM6vbfLDaOLy+7w==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.6.3",
+ "jsesc": "^2.5.1",
+ "lodash": "^4.17.13",
+ "source-map": "^0.5.0"
+ }
+ },
+ "@babel/helper-function-name": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz",
+ "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-get-function-arity": "^7.0.0",
+ "@babel/template": "^7.1.0",
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-get-function-arity": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz",
+ "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-split-export-declaration": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz",
+ "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.4.4"
+ }
+ },
+ "@babel/highlight": {
+ "version": "7.5.0",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz",
+ "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.0.0",
+ "esutils": "^2.0.2",
+ "js-tokens": "^4.0.0"
+ }
+ },
+ "@babel/template": {
+ "version": "7.6.0",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.6.0.tgz",
+ "integrity": "sha512-5AEH2EXD8euCk446b7edmgFdub/qfH1SN6Nii3+fyXP807QRx9Q73A2N5hNwRRslC2H9sNzaFhsPubkS4L8oNQ==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "@babel/parser": "^7.6.0",
+ "@babel/types": "^7.6.0"
+ }
+ },
+ "@babel/traverse": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.6.3.tgz",
+ "integrity": "sha512-unn7P4LGsijIxaAJo/wpoU11zN+2IaClkQAxcJWBNCMS6cmVh802IyLHNkAjQ0iYnRS3nnxk5O3fuXW28IMxTw==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.5.5",
+ "@babel/generator": "^7.6.3",
+ "@babel/helper-function-name": "^7.1.0",
+ "@babel/helper-split-export-declaration": "^7.4.4",
+ "@babel/parser": "^7.6.3",
+ "@babel/types": "^7.6.3",
+ "debug": "^4.1.0",
+ "globals": "^11.1.0",
+ "lodash": "^4.17.13"
+ }
+ },
+ "@babel/types": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.3.tgz",
+ "integrity": "sha512-CqbcpTxMcpuQTMhjI37ZHVgjBkysg5icREQIEZ0eG1yCNwg3oy+5AaLiOKmjsCj6nqOsa6Hf0ObjRVwokb7srA==",
+ "dev": true,
+ "requires": {
+ "esutils": "^2.0.2",
+ "lodash": "^4.17.13",
+ "to-fast-properties": "^2.0.0"
+ }
+ },
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "globals": {
+ "version": "11.12.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
+ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
+ "dev": true
+ },
+ "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
+ },
+ "jsesc": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
+ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ },
+ "to-fast-properties": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+ "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
+ "dev": true
+ }
+ }
+ },
+ "@babel/helpers": {
+ "version": "7.6.2",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.6.2.tgz",
+ "integrity": "sha512-3/bAUL8zZxYs1cdX2ilEE0WobqbCmKWr/889lf2SS0PpDcpEIY8pb1CCyz0pEcX3pEb+MCbks1jIokz2xLtGTA==",
+ "dev": true,
+ "requires": {
+ "@babel/template": "^7.6.0",
+ "@babel/traverse": "^7.6.2",
+ "@babel/types": "^7.6.0"
+ },
+ "dependencies": {
+ "@babel/code-frame": {
+ "version": "7.5.5",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz",
+ "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==",
+ "dev": true,
+ "requires": {
+ "@babel/highlight": "^7.0.0"
+ }
+ },
+ "@babel/generator": {
+ "version": "7.6.4",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.6.4.tgz",
+ "integrity": "sha512-jsBuXkFoZxk0yWLyGI9llT9oiQ2FeTASmRFE32U+aaDTfoE92t78eroO7PTpU/OrYq38hlcDM6vbfLDaOLy+7w==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.6.3",
+ "jsesc": "^2.5.1",
+ "lodash": "^4.17.13",
+ "source-map": "^0.5.0"
+ }
+ },
+ "@babel/helper-function-name": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz",
+ "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-get-function-arity": "^7.0.0",
+ "@babel/template": "^7.1.0",
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-get-function-arity": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz",
+ "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-split-export-declaration": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz",
+ "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.4.4"
+ }
+ },
+ "@babel/highlight": {
+ "version": "7.5.0",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz",
+ "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.0.0",
+ "esutils": "^2.0.2",
+ "js-tokens": "^4.0.0"
+ }
+ },
+ "@babel/template": {
+ "version": "7.6.0",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.6.0.tgz",
+ "integrity": "sha512-5AEH2EXD8euCk446b7edmgFdub/qfH1SN6Nii3+fyXP807QRx9Q73A2N5hNwRRslC2H9sNzaFhsPubkS4L8oNQ==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "@babel/parser": "^7.6.0",
+ "@babel/types": "^7.6.0"
+ }
+ },
+ "@babel/traverse": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.6.3.tgz",
+ "integrity": "sha512-unn7P4LGsijIxaAJo/wpoU11zN+2IaClkQAxcJWBNCMS6cmVh802IyLHNkAjQ0iYnRS3nnxk5O3fuXW28IMxTw==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.5.5",
+ "@babel/generator": "^7.6.3",
+ "@babel/helper-function-name": "^7.1.0",
+ "@babel/helper-split-export-declaration": "^7.4.4",
+ "@babel/parser": "^7.6.3",
+ "@babel/types": "^7.6.3",
+ "debug": "^4.1.0",
+ "globals": "^11.1.0",
+ "lodash": "^4.17.13"
+ }
+ },
+ "@babel/types": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.3.tgz",
+ "integrity": "sha512-CqbcpTxMcpuQTMhjI37ZHVgjBkysg5icREQIEZ0eG1yCNwg3oy+5AaLiOKmjsCj6nqOsa6Hf0ObjRVwokb7srA==",
+ "dev": true,
+ "requires": {
+ "esutils": "^2.0.2",
+ "lodash": "^4.17.13",
+ "to-fast-properties": "^2.0.0"
+ }
+ },
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "globals": {
+ "version": "11.12.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
+ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
+ "dev": true
+ },
+ "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
+ },
+ "jsesc": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
+ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ },
+ "to-fast-properties": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+ "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
+ "dev": true
+ }
+ }
+ },
+ "@babel/parser": {
+ "version": "7.6.4",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.6.4.tgz",
+ "integrity": "sha512-D8RHPW5qd0Vbyo3qb+YjO5nvUVRTXFLQ/FsDxJU2Nqz4uB5EnUN0ZQSEYpvTIbRuttig1XbHWU5oMeQwQSAA+A==",
+ "dev": true
+ },
+ "@babel/plugin-proposal-async-generator-functions": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz",
+ "integrity": "sha512-+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-remap-async-to-generator": "^7.1.0",
+ "@babel/plugin-syntax-async-generators": "^7.2.0"
+ }
+ },
+ "@babel/plugin-proposal-dynamic-import": {
+ "version": "7.5.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.5.0.tgz",
+ "integrity": "sha512-x/iMjggsKTFHYC6g11PL7Qy58IK8H5zqfm9e6hu4z1iH2IRyAp9u9dL80zA6R76yFovETFLKz2VJIC2iIPBuFw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-syntax-dynamic-import": "^7.2.0"
+ }
+ },
+ "@babel/plugin-proposal-json-strings": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz",
+ "integrity": "sha512-MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-syntax-json-strings": "^7.2.0"
+ }
+ },
+ "@babel/plugin-proposal-object-rest-spread": {
+ "version": "7.6.2",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.6.2.tgz",
+ "integrity": "sha512-LDBXlmADCsMZV1Y9OQwMc0MyGZ8Ta/zlD9N67BfQT8uYwkRswiu2hU6nJKrjrt/58aH/vqfQlR/9yId/7A2gWw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-syntax-object-rest-spread": "^7.2.0"
+ }
+ },
+ "@babel/plugin-proposal-optional-catch-binding": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz",
+ "integrity": "sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.2.0"
+ }
+ },
+ "@babel/plugin-proposal-unicode-property-regex": {
+ "version": "7.6.2",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.6.2.tgz",
+ "integrity": "sha512-NxHETdmpeSCtiatMRYWVJo7266rrvAC3DTeG5exQBIH/fMIUK7ejDNznBbn3HQl/o9peymRRg7Yqkx6PdUXmMw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-regex": "^7.4.4",
+ "regexpu-core": "^4.6.0"
+ },
+ "dependencies": {
+ "jsesc": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
+ "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
+ "dev": true
+ },
+ "regexpu-core": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.6.0.tgz",
+ "integrity": "sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg==",
+ "dev": true,
+ "requires": {
+ "regenerate": "^1.4.0",
+ "regenerate-unicode-properties": "^8.1.0",
+ "regjsgen": "^0.5.0",
+ "regjsparser": "^0.6.0",
+ "unicode-match-property-ecmascript": "^1.0.4",
+ "unicode-match-property-value-ecmascript": "^1.1.0"
+ }
+ },
+ "regjsgen": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.0.tgz",
+ "integrity": "sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA==",
+ "dev": true
+ },
+ "regjsparser": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz",
+ "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==",
+ "dev": true,
+ "requires": {
+ "jsesc": "~0.5.0"
+ }
+ }
+ }
+ },
+ "@babel/plugin-syntax-async-generators": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz",
+ "integrity": "sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-syntax-dynamic-import": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz",
+ "integrity": "sha512-mVxuJ0YroI/h/tbFTPGZR8cv6ai+STMKNBq0f8hFxsxWjl94qqhsb+wXbpNMDPU3cfR1TIsVFzU3nXyZMqyK4w==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-syntax-json-strings": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz",
+ "integrity": "sha512-5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-syntax-object-rest-spread": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz",
+ "integrity": "sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-syntax-optional-catch-binding": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz",
+ "integrity": "sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-arrow-functions": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz",
+ "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-async-to-generator": {
+ "version": "7.5.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.5.0.tgz",
+ "integrity": "sha512-mqvkzwIGkq0bEF1zLRRiTdjfomZJDV33AH3oQzHVGkI2VzEmXLpKKOBvEVaFZBJdN0XTyH38s9j/Kiqr68dggg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-module-imports": "^7.0.0",
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-remap-async-to-generator": "^7.1.0"
+ }
+ },
+ "@babel/plugin-transform-block-scoped-functions": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz",
+ "integrity": "sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-block-scoping": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.6.3.tgz",
+ "integrity": "sha512-7hvrg75dubcO3ZI2rjYTzUrEuh1E9IyDEhhB6qfcooxhDA33xx2MasuLVgdxzcP6R/lipAC6n9ub9maNW6RKdw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "lodash": "^4.17.13"
+ }
+ },
+ "@babel/plugin-transform-classes": {
+ "version": "7.5.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.5.5.tgz",
+ "integrity": "sha512-U2htCNK/6e9K7jGyJ++1p5XRU+LJjrwtoiVn9SzRlDT2KubcZ11OOwy3s24TjHxPgxNwonCYP7U2K51uVYCMDg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-annotate-as-pure": "^7.0.0",
+ "@babel/helper-define-map": "^7.5.5",
+ "@babel/helper-function-name": "^7.1.0",
+ "@babel/helper-optimise-call-expression": "^7.0.0",
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-replace-supers": "^7.5.5",
+ "@babel/helper-split-export-declaration": "^7.4.4",
+ "globals": "^11.1.0"
+ },
+ "dependencies": {
+ "@babel/code-frame": {
+ "version": "7.5.5",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz",
+ "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==",
+ "dev": true,
+ "requires": {
+ "@babel/highlight": "^7.0.0"
+ }
+ },
+ "@babel/helper-function-name": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz",
+ "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-get-function-arity": "^7.0.0",
+ "@babel/template": "^7.1.0",
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-get-function-arity": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz",
+ "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-split-export-declaration": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz",
+ "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.4.4"
+ }
+ },
+ "@babel/highlight": {
+ "version": "7.5.0",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz",
+ "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.0.0",
+ "esutils": "^2.0.2",
+ "js-tokens": "^4.0.0"
+ }
+ },
+ "@babel/template": {
+ "version": "7.6.0",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.6.0.tgz",
+ "integrity": "sha512-5AEH2EXD8euCk446b7edmgFdub/qfH1SN6Nii3+fyXP807QRx9Q73A2N5hNwRRslC2H9sNzaFhsPubkS4L8oNQ==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "@babel/parser": "^7.6.0",
+ "@babel/types": "^7.6.0"
+ }
+ },
+ "@babel/types": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.3.tgz",
+ "integrity": "sha512-CqbcpTxMcpuQTMhjI37ZHVgjBkysg5icREQIEZ0eG1yCNwg3oy+5AaLiOKmjsCj6nqOsa6Hf0ObjRVwokb7srA==",
+ "dev": true,
+ "requires": {
+ "esutils": "^2.0.2",
+ "lodash": "^4.17.13",
+ "to-fast-properties": "^2.0.0"
+ }
+ },
+ "globals": {
+ "version": "11.12.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
+ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
+ "dev": true
+ },
+ "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
+ },
+ "to-fast-properties": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+ "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
+ "dev": true
+ }
+ }
+ },
+ "@babel/plugin-transform-computed-properties": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz",
+ "integrity": "sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-destructuring": {
+ "version": "7.6.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.6.0.tgz",
+ "integrity": "sha512-2bGIS5P1v4+sWTCnKNDZDxbGvEqi0ijeqM/YqHtVGrvG2y0ySgnEEhXErvE9dA0bnIzY9bIzdFK0jFA46ASIIQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-dotall-regex": {
+ "version": "7.6.2",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.6.2.tgz",
+ "integrity": "sha512-KGKT9aqKV+9YMZSkowzYoYEiHqgaDhGmPNZlZxX6UeHC4z30nC1J9IrZuGqbYFB1jaIGdv91ujpze0exiVK8bA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-regex": "^7.4.4",
+ "regexpu-core": "^4.6.0"
+ },
+ "dependencies": {
+ "jsesc": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
+ "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
+ "dev": true
+ },
+ "regexpu-core": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.6.0.tgz",
+ "integrity": "sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg==",
+ "dev": true,
+ "requires": {
+ "regenerate": "^1.4.0",
+ "regenerate-unicode-properties": "^8.1.0",
+ "regjsgen": "^0.5.0",
+ "regjsparser": "^0.6.0",
+ "unicode-match-property-ecmascript": "^1.0.4",
+ "unicode-match-property-value-ecmascript": "^1.1.0"
+ }
+ },
+ "regjsgen": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.0.tgz",
+ "integrity": "sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA==",
+ "dev": true
+ },
+ "regjsparser": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz",
+ "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==",
+ "dev": true,
+ "requires": {
+ "jsesc": "~0.5.0"
+ }
+ }
+ }
+ },
+ "@babel/plugin-transform-duplicate-keys": {
+ "version": "7.5.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.5.0.tgz",
+ "integrity": "sha512-igcziksHizyQPlX9gfSjHkE2wmoCH3evvD2qR5w29/Dk0SMKE/eOI7f1HhBdNhR/zxJDqrgpoDTq5YSLH/XMsQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-exponentiation-operator": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz",
+ "integrity": "sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-builder-binary-assignment-operator-visitor": "^7.1.0",
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-for-of": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz",
+ "integrity": "sha512-9T/5Dlr14Z9TIEXLXkt8T1DU7F24cbhwhMNUziN3hB1AXoZcdzPcTiKGRn/6iOymDqtTKWnr/BtRKN9JwbKtdQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-function-name": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz",
+ "integrity": "sha512-iU9pv7U+2jC9ANQkKeNF6DrPy4GBa4NWQtl6dHB4Pb3izX2JOEvDTFarlNsBj/63ZEzNNIAMs3Qw4fNCcSOXJA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-function-name": "^7.1.0",
+ "@babel/helper-plugin-utils": "^7.0.0"
+ },
+ "dependencies": {
+ "@babel/code-frame": {
+ "version": "7.5.5",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz",
+ "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==",
+ "dev": true,
+ "requires": {
+ "@babel/highlight": "^7.0.0"
+ }
+ },
+ "@babel/helper-function-name": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz",
+ "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-get-function-arity": "^7.0.0",
+ "@babel/template": "^7.1.0",
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-get-function-arity": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz",
+ "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/highlight": {
+ "version": "7.5.0",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz",
+ "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.0.0",
+ "esutils": "^2.0.2",
+ "js-tokens": "^4.0.0"
+ }
+ },
+ "@babel/template": {
+ "version": "7.6.0",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.6.0.tgz",
+ "integrity": "sha512-5AEH2EXD8euCk446b7edmgFdub/qfH1SN6Nii3+fyXP807QRx9Q73A2N5hNwRRslC2H9sNzaFhsPubkS4L8oNQ==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "@babel/parser": "^7.6.0",
+ "@babel/types": "^7.6.0"
+ }
+ },
+ "@babel/types": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.3.tgz",
+ "integrity": "sha512-CqbcpTxMcpuQTMhjI37ZHVgjBkysg5icREQIEZ0eG1yCNwg3oy+5AaLiOKmjsCj6nqOsa6Hf0ObjRVwokb7srA==",
+ "dev": true,
+ "requires": {
+ "esutils": "^2.0.2",
+ "lodash": "^4.17.13",
+ "to-fast-properties": "^2.0.0"
+ }
+ },
+ "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
+ },
+ "to-fast-properties": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+ "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
+ "dev": true
+ }
+ }
+ },
+ "@babel/plugin-transform-literals": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz",
+ "integrity": "sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-member-expression-literals": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz",
+ "integrity": "sha512-HiU3zKkSU6scTidmnFJ0bMX8hz5ixC93b4MHMiYebmk2lUVNGOboPsqQvx5LzooihijUoLR/v7Nc1rbBtnc7FA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-modules-amd": {
+ "version": "7.5.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.5.0.tgz",
+ "integrity": "sha512-n20UsQMKnWrltocZZm24cRURxQnWIvsABPJlw/fvoy9c6AgHZzoelAIzajDHAQrDpuKFFPPcFGd7ChsYuIUMpg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-module-transforms": "^7.1.0",
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "babel-plugin-dynamic-import-node": "^2.3.0"
+ }
+ },
+ "@babel/plugin-transform-modules-commonjs": {
+ "version": "7.6.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.6.0.tgz",
+ "integrity": "sha512-Ma93Ix95PNSEngqomy5LSBMAQvYKVe3dy+JlVJSHEXZR5ASL9lQBedMiCyVtmTLraIDVRE3ZjTZvmXXD2Ozw3g==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-module-transforms": "^7.4.4",
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-simple-access": "^7.1.0",
+ "babel-plugin-dynamic-import-node": "^2.3.0"
+ }
+ },
+ "@babel/plugin-transform-modules-systemjs": {
+ "version": "7.5.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.5.0.tgz",
+ "integrity": "sha512-Q2m56tyoQWmuNGxEtUyeEkm6qJYFqs4c+XyXH5RAuYxObRNz9Zgj/1g2GMnjYp2EUyEy7YTrxliGCXzecl/vJg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-hoist-variables": "^7.4.4",
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "babel-plugin-dynamic-import-node": "^2.3.0"
+ }
+ },
+ "@babel/plugin-transform-modules-umd": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz",
+ "integrity": "sha512-BV3bw6MyUH1iIsGhXlOK6sXhmSarZjtJ/vMiD9dNmpY8QXFFQTj+6v92pcfy1iqa8DeAfJFwoxcrS/TUZda6sw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-module-transforms": "^7.1.0",
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-named-capturing-groups-regex": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.6.3.tgz",
+ "integrity": "sha512-jTkk7/uE6H2s5w6VlMHeWuH+Pcy2lmdwFoeWCVnvIrDUnB5gQqTVI8WfmEAhF2CDEarGrknZcmSFg1+bkfCoSw==",
+ "dev": true,
+ "requires": {
+ "regexpu-core": "^4.6.0"
+ },
+ "dependencies": {
+ "jsesc": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
+ "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
+ "dev": true
+ },
+ "regexpu-core": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.6.0.tgz",
+ "integrity": "sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg==",
+ "dev": true,
+ "requires": {
+ "regenerate": "^1.4.0",
+ "regenerate-unicode-properties": "^8.1.0",
+ "regjsgen": "^0.5.0",
+ "regjsparser": "^0.6.0",
+ "unicode-match-property-ecmascript": "^1.0.4",
+ "unicode-match-property-value-ecmascript": "^1.1.0"
+ }
+ },
+ "regjsgen": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.0.tgz",
+ "integrity": "sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA==",
+ "dev": true
+ },
+ "regjsparser": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz",
+ "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==",
+ "dev": true,
+ "requires": {
+ "jsesc": "~0.5.0"
+ }
+ }
+ }
+ },
+ "@babel/plugin-transform-new-target": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz",
+ "integrity": "sha512-r1z3T2DNGQwwe2vPGZMBNjioT2scgWzK9BCnDEh+46z8EEwXBq24uRzd65I7pjtugzPSj921aM15RpESgzsSuA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-object-super": {
+ "version": "7.5.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.5.5.tgz",
+ "integrity": "sha512-un1zJQAhSosGFBduPgN/YFNvWVpRuHKU7IHBglLoLZsGmruJPOo6pbInneflUdmq7YvSVqhpPs5zdBvLnteltQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-replace-supers": "^7.5.5"
+ }
+ },
+ "@babel/plugin-transform-parameters": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz",
+ "integrity": "sha512-oMh5DUO1V63nZcu/ZVLQFqiihBGo4OpxJxR1otF50GMeCLiRx5nUdtokd+u9SuVJrvvuIh9OosRFPP4pIPnwmw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-call-delegate": "^7.4.4",
+ "@babel/helper-get-function-arity": "^7.0.0",
+ "@babel/helper-plugin-utils": "^7.0.0"
+ },
+ "dependencies": {
+ "@babel/helper-get-function-arity": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz",
+ "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/types": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.3.tgz",
+ "integrity": "sha512-CqbcpTxMcpuQTMhjI37ZHVgjBkysg5icREQIEZ0eG1yCNwg3oy+5AaLiOKmjsCj6nqOsa6Hf0ObjRVwokb7srA==",
+ "dev": true,
+ "requires": {
+ "esutils": "^2.0.2",
+ "lodash": "^4.17.13",
+ "to-fast-properties": "^2.0.0"
+ }
+ },
+ "to-fast-properties": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+ "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
+ "dev": true
+ }
+ }
+ },
+ "@babel/plugin-transform-property-literals": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz",
+ "integrity": "sha512-9q7Dbk4RhgcLp8ebduOpCbtjh7C0itoLYHXd9ueASKAG/is5PQtMR5VJGka9NKqGhYEGn5ITahd4h9QeBMylWQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-regenerator": {
+ "version": "7.4.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz",
+ "integrity": "sha512-gBKRh5qAaCWntnd09S8QC7r3auLCqq5DI6O0DlfoyDjslSBVqBibrMdsqO+Uhmx3+BlOmE/Kw1HFxmGbv0N9dA==",
+ "dev": true,
+ "requires": {
+ "regenerator-transform": "^0.14.0"
+ },
+ "dependencies": {
+ "regenerator-transform": {
+ "version": "0.14.1",
+ "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.1.tgz",
+ "integrity": "sha512-flVuee02C3FKRISbxhXl9mGzdbWUVHubl1SMaknjxkFB1/iqpJhArQUvRxOOPEc/9tAiX0BaQ28FJH10E4isSQ==",
+ "dev": true,
+ "requires": {
+ "private": "^0.1.6"
+ }
+ }
+ }
+ },
+ "@babel/plugin-transform-reserved-words": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.2.0.tgz",
+ "integrity": "sha512-fz43fqW8E1tAB3DKF19/vxbpib1fuyCwSPE418ge5ZxILnBhWyhtPgz8eh1RCGGJlwvksHkyxMxh0eenFi+kFw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-shorthand-properties": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz",
+ "integrity": "sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-spread": {
+ "version": "7.6.2",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.6.2.tgz",
+ "integrity": "sha512-DpSvPFryKdK1x+EDJYCy28nmAaIMdxmhot62jAXF/o99iA33Zj2Lmcp3vDmz+MUh0LNYVPvfj5iC3feb3/+PFg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-sticky-regex": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz",
+ "integrity": "sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-regex": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-template-literals": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz",
+ "integrity": "sha512-mQrEC4TWkhLN0z8ygIvEL9ZEToPhG5K7KDW3pzGqOfIGZ28Jb0POUkeWcoz8HnHvhFy6dwAT1j8OzqN8s804+g==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-annotate-as-pure": "^7.0.0",
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-typeof-symbol": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz",
+ "integrity": "sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-unicode-regex": {
+ "version": "7.6.2",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.6.2.tgz",
+ "integrity": "sha512-orZI6cWlR3nk2YmYdb0gImrgCUwb5cBUwjf6Ks6dvNVvXERkwtJWOQaEOjPiu0Gu1Tq6Yq/hruCZZOOi9F34Dw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-regex": "^7.4.4",
+ "regexpu-core": "^4.6.0"
+ },
+ "dependencies": {
+ "jsesc": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
+ "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
+ "dev": true
+ },
+ "regexpu-core": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.6.0.tgz",
+ "integrity": "sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg==",
+ "dev": true,
+ "requires": {
+ "regenerate": "^1.4.0",
+ "regenerate-unicode-properties": "^8.1.0",
+ "regjsgen": "^0.5.0",
+ "regjsparser": "^0.6.0",
+ "unicode-match-property-ecmascript": "^1.0.4",
+ "unicode-match-property-value-ecmascript": "^1.1.0"
+ }
+ },
+ "regjsgen": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.0.tgz",
+ "integrity": "sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA==",
+ "dev": true
+ },
+ "regjsparser": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz",
+ "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==",
+ "dev": true,
+ "requires": {
+ "jsesc": "~0.5.0"
+ }
+ }
+ }
+ },
+ "@babel/preset-env": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.6.3.tgz",
+ "integrity": "sha512-CWQkn7EVnwzlOdR5NOm2+pfgSNEZmvGjOhlCHBDq0J8/EStr+G+FvPEiz9B56dR6MoiUFjXhfE4hjLoAKKJtIQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-module-imports": "^7.0.0",
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-proposal-async-generator-functions": "^7.2.0",
+ "@babel/plugin-proposal-dynamic-import": "^7.5.0",
+ "@babel/plugin-proposal-json-strings": "^7.2.0",
+ "@babel/plugin-proposal-object-rest-spread": "^7.6.2",
+ "@babel/plugin-proposal-optional-catch-binding": "^7.2.0",
+ "@babel/plugin-proposal-unicode-property-regex": "^7.6.2",
+ "@babel/plugin-syntax-async-generators": "^7.2.0",
+ "@babel/plugin-syntax-dynamic-import": "^7.2.0",
+ "@babel/plugin-syntax-json-strings": "^7.2.0",
+ "@babel/plugin-syntax-object-rest-spread": "^7.2.0",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.2.0",
+ "@babel/plugin-transform-arrow-functions": "^7.2.0",
+ "@babel/plugin-transform-async-to-generator": "^7.5.0",
+ "@babel/plugin-transform-block-scoped-functions": "^7.2.0",
+ "@babel/plugin-transform-block-scoping": "^7.6.3",
+ "@babel/plugin-transform-classes": "^7.5.5",
+ "@babel/plugin-transform-computed-properties": "^7.2.0",
+ "@babel/plugin-transform-destructuring": "^7.6.0",
+ "@babel/plugin-transform-dotall-regex": "^7.6.2",
+ "@babel/plugin-transform-duplicate-keys": "^7.5.0",
+ "@babel/plugin-transform-exponentiation-operator": "^7.2.0",
+ "@babel/plugin-transform-for-of": "^7.4.4",
+ "@babel/plugin-transform-function-name": "^7.4.4",
+ "@babel/plugin-transform-literals": "^7.2.0",
+ "@babel/plugin-transform-member-expression-literals": "^7.2.0",
+ "@babel/plugin-transform-modules-amd": "^7.5.0",
+ "@babel/plugin-transform-modules-commonjs": "^7.6.0",
+ "@babel/plugin-transform-modules-systemjs": "^7.5.0",
+ "@babel/plugin-transform-modules-umd": "^7.2.0",
+ "@babel/plugin-transform-named-capturing-groups-regex": "^7.6.3",
+ "@babel/plugin-transform-new-target": "^7.4.4",
+ "@babel/plugin-transform-object-super": "^7.5.5",
+ "@babel/plugin-transform-parameters": "^7.4.4",
+ "@babel/plugin-transform-property-literals": "^7.2.0",
+ "@babel/plugin-transform-regenerator": "^7.4.5",
+ "@babel/plugin-transform-reserved-words": "^7.2.0",
+ "@babel/plugin-transform-shorthand-properties": "^7.2.0",
+ "@babel/plugin-transform-spread": "^7.6.2",
+ "@babel/plugin-transform-sticky-regex": "^7.2.0",
+ "@babel/plugin-transform-template-literals": "^7.4.4",
+ "@babel/plugin-transform-typeof-symbol": "^7.2.0",
+ "@babel/plugin-transform-unicode-regex": "^7.6.2",
+ "@babel/types": "^7.6.3",
+ "browserslist": "^4.6.0",
+ "core-js-compat": "^3.1.1",
+ "invariant": "^2.2.2",
+ "js-levenshtein": "^1.1.3",
+ "semver": "^5.5.0"
+ },
+ "dependencies": {
+ "@babel/types": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.3.tgz",
+ "integrity": "sha512-CqbcpTxMcpuQTMhjI37ZHVgjBkysg5icREQIEZ0eG1yCNwg3oy+5AaLiOKmjsCj6nqOsa6Hf0ObjRVwokb7srA==",
+ "dev": true,
+ "requires": {
+ "esutils": "^2.0.2",
+ "lodash": "^4.17.13",
+ "to-fast-properties": "^2.0.0"
+ }
+ },
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true
+ },
+ "to-fast-properties": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+ "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
+ "dev": true
+ }
+ }
+ },
+ "@babel/register": {
+ "version": "7.6.2",
+ "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.6.2.tgz",
+ "integrity": "sha512-xgZk2LRZvt6i2SAUWxc7ellk4+OYRgS3Zpsnr13nMS1Qo25w21Uu8o6vTOAqNaxiqrnv30KTYzh9YWY2k21CeQ==",
+ "dev": true,
+ "requires": {
+ "find-cache-dir": "^2.0.0",
+ "lodash": "^4.17.13",
+ "mkdirp": "^0.5.1",
+ "pirates": "^4.0.0",
+ "source-map-support": "^0.5.9"
+ },
+ "dependencies": {
+ "find-cache-dir": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz",
+ "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==",
+ "dev": true,
+ "requires": {
+ "commondir": "^1.0.1",
+ "make-dir": "^2.0.0",
+ "pkg-dir": "^3.0.0"
+ }
+ },
+ "find-up": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
+ "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
+ "dev": true,
+ "requires": {
+ "locate-path": "^3.0.0"
+ }
+ },
+ "locate-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
+ "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
+ "dev": true,
+ "requires": {
+ "p-locate": "^3.0.0",
+ "path-exists": "^3.0.0"
+ }
+ },
+ "make-dir": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
+ "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
+ "dev": true,
+ "requires": {
+ "pify": "^4.0.1",
+ "semver": "^5.6.0"
+ }
+ },
+ "p-limit": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz",
+ "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==",
+ "dev": true,
+ "requires": {
+ "p-try": "^2.0.0"
+ }
+ },
+ "p-locate": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
+ "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
+ "dev": true,
+ "requires": {
+ "p-limit": "^2.0.0"
+ }
+ },
+ "p-try": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
+ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
+ "dev": true
+ },
+ "pify": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
+ "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
+ "dev": true
+ },
+ "pkg-dir": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
+ "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
+ "dev": true,
+ "requires": {
+ "find-up": "^3.0.0"
+ }
+ },
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true
}
}
},
"@google-cloud/common": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-2.2.2.tgz",
- "integrity": "sha512-AgMdDgLeYlEG17tXtMCowE7mplm907pcugtfJYYAp06HNe9RDnunUIY5KMnn9yikYl7NXNofARC+hwG77Zsa4g==",
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-2.2.3.tgz",
+ "integrity": "sha512-lvw54mGKn8VqVIy2NzAk0l5fntBFX4UwQhHk6HaqkyCQ7WBl5oz4XhzKMtMilozF/3ObPcDogqwuyEWyZ6rnQQ==",
"requires": {
"@google-cloud/projectify": "^1.0.0",
"@google-cloud/promisify": "^1.0.0",
@@ -152,7 +2488,7 @@
"duplexify": "^3.6.0",
"ent": "^2.2.0",
"extend": "^3.0.2",
- "google-auth-library": "^5.0.0",
+ "google-auth-library": "^5.5.0",
"retry-request": "^4.0.0",
"teeny-request": "^5.2.1"
}
@@ -168,17 +2504,17 @@
"integrity": "sha512-7WfV4R/3YV5T30WRZW0lqmvZy9hE2/p9MvpI34WuKa2Wz62mLu5XplGTFEMK6uTbJCLWUxTcZ4J4IyClKucE5g=="
},
"@google-cloud/trace-agent": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/@google-cloud/trace-agent/-/trace-agent-4.2.0.tgz",
- "integrity": "sha512-JP+dvjzwhenwyyJRFHuREvJEfw0hWVeT6awD5bSgy5Z6sT1utyGIt34Dn8oSWYlgwOFxZWtqQOWX0geN/2W2pw==",
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/@google-cloud/trace-agent/-/trace-agent-4.2.2.tgz",
+ "integrity": "sha512-L1AvE07Toub6Bt1pLeW47dLzPEyjwWCKrcNx4CCYAbQpMWPZEMl5DHMrs7r8d6eX4TQdZz/vvzDiG5RmS/eL4w==",
"requires": {
"@google-cloud/common": "^2.0.0",
- "@opencensus/propagation-stackdriver": "0.0.17",
+ "@opencensus/propagation-stackdriver": "0.0.18",
"builtin-modules": "^3.0.0",
"console-log-level": "^1.4.0",
"continuation-local-storage": "^3.2.1",
"extend": "^3.0.2",
- "gcp-metadata": "^2.0.0",
+ "gcp-metadata": "^3.0.0",
"hex2dec": "^1.0.1",
"is": "^3.2.0",
"methods": "^1.1.1",
@@ -190,42 +2526,32 @@
}
},
"@nodelib/fs.scandir": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.2.tgz",
- "integrity": "sha512-wrIBsjA5pl13f0RN4Zx4FNWmU71lv03meGKnqRUoCyan17s4V3WL92f3w3AIuWbNnpcrQyFBU5qMavJoB8d27w==",
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz",
+ "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==",
"requires": {
- "@nodelib/fs.stat": "2.0.2",
+ "@nodelib/fs.stat": "2.0.3",
"run-parallel": "^1.1.9"
}
},
"@nodelib/fs.stat": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.2.tgz",
- "integrity": "sha512-z8+wGWV2dgUhLqrtRYa03yDx4HWMvXKi1z8g3m2JyxAx8F7xk74asqPk5LAETjqDSGLFML/6CDl0+yFunSYicw=="
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz",
+ "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA=="
},
"@nodelib/fs.walk": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.3.tgz",
- "integrity": "sha512-l6t8xEhfK9Sa4YO5mIRdau7XSOADfmh3jCr0evNHdY+HNkW6xuQhgMH7D73VV6WpZOagrW0UludvMTiifiwTfA==",
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz",
+ "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==",
"requires": {
- "@nodelib/fs.scandir": "2.1.2",
+ "@nodelib/fs.scandir": "2.1.3",
"fastq": "^1.6.0"
}
},
- "@nuxt/opencollective": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/@nuxt/opencollective/-/opencollective-0.3.0.tgz",
- "integrity": "sha512-Vf09BxCdj1iT2IRqVwX5snaY2WCTkvM0O4cWWSO1ThCFuc4if0Q/nNwAgCxRU0FeYHJ7DdyMUNSdswCLKlVqeg==",
- "requires": {
- "chalk": "^2.4.2",
- "consola": "^2.10.1",
- "node-fetch": "^2.6.0"
- }
- },
"@opencensus/core": {
- "version": "0.0.17",
- "resolved": "https://registry.npmjs.org/@opencensus/core/-/core-0.0.17.tgz",
- "integrity": "sha512-cFaS72oQmZJZdTEFOnHEopOVbgYbyVC0kaVt2IDNgjZV6cuKxTyWEKCLEAW8/VdWPz2MnflJZfeE0cRXQ1AB0g==",
+ "version": "0.0.18",
+ "resolved": "https://registry.npmjs.org/@opencensus/core/-/core-0.0.18.tgz",
+ "integrity": "sha512-PgRQXLyb3bLi8Z6pQct9erYFRdnYAZNQXAEVPf6Xq6IMkZaH20wiOTNNPxEckjI31mq5utgstAbwOn4gJiPjBQ==",
"requires": {
"continuation-local-storage": "^3.2.1",
"log-driver": "^1.2.7",
@@ -235,11 +2561,11 @@
}
},
"@opencensus/propagation-stackdriver": {
- "version": "0.0.17",
- "resolved": "https://registry.npmjs.org/@opencensus/propagation-stackdriver/-/propagation-stackdriver-0.0.17.tgz",
- "integrity": "sha512-BoZIcYCIQVk317BWlJbiJPHvjx+nM5E3ptFn3ZsxAhYi2V6CdnsHgUGZzIUU0vv4Jtc8hj/VuieDRu8KNE6WZw==",
+ "version": "0.0.18",
+ "resolved": "https://registry.npmjs.org/@opencensus/propagation-stackdriver/-/propagation-stackdriver-0.0.18.tgz",
+ "integrity": "sha512-BLwfszIGAfqN2mqGf/atfEu84cWeoLM/YuXGfXDO1iDN2k5GXz4QFyhS8sz5l63HtsYuQqFuV+Ze7ZM0NvJp2A==",
"requires": {
- "@opencensus/core": "^0.0.17",
+ "@opencensus/core": "^0.0.18",
"hex2dec": "^1.0.1",
"uuid": "^3.2.1"
}
@@ -351,19 +2677,6 @@
"defer-to-connect": "^1.0.1"
}
},
- "@types/babel-types": {
- "version": "7.0.7",
- "resolved": "https://registry.npmjs.org/@types/babel-types/-/babel-types-7.0.7.tgz",
- "integrity": "sha512-dBtBbrc+qTHy1WdfHYjBwRln4+LWqASWakLHsWHR2NWHIFkv4W3O070IGoGLEBrJBvct3r0L1BUPuvURi7kYUQ=="
- },
- "@types/babylon": {
- "version": "6.16.5",
- "resolved": "https://registry.npmjs.org/@types/babylon/-/babylon-6.16.5.tgz",
- "integrity": "sha512-xH2e58elpj1X4ynnKp9qSnWlsRTIs6n3tgLGNfwAGHwePw0mulHQllV34n0T25uYSu1k0hRKkWXF890B1yS47w==",
- "requires": {
- "@types/babel-types": "*"
- }
- },
"@types/events": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz",
@@ -385,24 +2698,15 @@
"integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA=="
},
"@types/node": {
- "version": "12.7.8",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-12.7.8.tgz",
- "integrity": "sha512-FMdVn84tJJdV+xe+53sYiZS4R5yn1mAIxfj+DVoNiQjTYz1+OYmjwEZr1ev9nU0axXwda0QDbYl06QHanRVH3A=="
+ "version": "12.11.1",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-12.11.1.tgz",
+ "integrity": "sha512-TJtwsqZ39pqcljJpajeoofYRfeZ7/I/OMUQ5pR4q5wOKf2ocrUvBAZUMhWsOvKx3dVc/aaV5GluBivt0sWqA5A=="
},
"@types/q": {
"version": "1.5.2",
"resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.2.tgz",
- "integrity": "sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw=="
- },
- "@vue/test-utils": {
- "version": "1.0.0-beta.29",
- "resolved": "https://registry.npmjs.org/@vue/test-utils/-/test-utils-1.0.0-beta.29.tgz",
- "integrity": "sha512-yX4sxEIHh4M9yAbLA/ikpEnGKMNBCnoX98xE1RwxfhQVcn0MaXNSj1Qmac+ZydTj6VBSEVukchBogXBTwc+9iA==",
- "dev": true,
- "requires": {
- "dom-event-types": "^1.0.0",
- "lodash": "^4.17.4"
- }
+ "integrity": "sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw==",
+ "optional": true
},
"abbrev": {
"version": "1.1.1",
@@ -427,53 +2731,15 @@
}
},
"acorn": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz",
- "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo="
- },
- "acorn-dynamic-import": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz",
- "integrity": "sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=",
- "requires": {
- "acorn": "^4.0.3"
- },
- "dependencies": {
- "acorn": {
- "version": "4.0.13",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz",
- "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c="
- }
- }
- },
- "acorn-globals": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-3.1.0.tgz",
- "integrity": "sha1-/YJw9x+7SZawBPqIDuXUZXOnMb8=",
- "requires": {
- "acorn": "^4.0.4"
- },
- "dependencies": {
- "acorn": {
- "version": "4.0.13",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz",
- "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c="
- }
- }
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.0.tgz",
+ "integrity": "sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ==",
+ "dev": true
},
"acorn-jsx": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz",
- "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=",
- "dev": true,
- "requires": {
- "acorn": "^3.0.4"
- }
- },
- "after": {
- "version": "0.8.2",
- "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz",
- "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=",
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.1.0.tgz",
+ "integrity": "sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw==",
"dev": true
},
"agent-base": {
@@ -495,46 +2761,6 @@
"uri-js": "^4.2.2"
}
},
- "ajv-errors": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz",
- "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ=="
- },
- "ajv-keywords": {
- "version": "3.4.1",
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz",
- "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ=="
- },
- "align-text": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz",
- "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=",
- "requires": {
- "kind-of": "^3.0.2",
- "longest": "^1.0.1",
- "repeat-string": "^1.5.2"
- },
- "dependencies": {
- "is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
- },
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
- }
- },
- "alphanum-sort": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz",
- "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM="
- },
"amazon-payments": {
"version": "0.2.7",
"resolved": "https://registry.npmjs.org/amazon-payments/-/amazon-payments-0.2.7.tgz",
@@ -653,11 +2879,6 @@
}
}
},
- "amdefine": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
- "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU="
- },
"amplitude": {
"version": "3.5.0",
"resolved": "https://registry.npmjs.org/amplitude/-/amplitude-3.5.0.tgz",
@@ -705,16 +2926,6 @@
}
}
},
- "amplitude-js": {
- "version": "5.2.2",
- "resolved": "https://registry.npmjs.org/amplitude-js/-/amplitude-js-5.2.2.tgz",
- "integrity": "sha512-yAIkVs8MLD5n30LGCBpweQjz+vvARgwM71lfq8T/YyHGJWjxAzr13Ty1gM8E2HWanLtxtIPtlWT5K0OlH48u8A==",
- "requires": {
- "@amplitude/ua-parser-js": "0.7.20",
- "blueimp-md5": "^2.10.0",
- "query-string": "5"
- }
- },
"ansi-align": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz",
@@ -752,94 +2963,6 @@
}
}
},
- "ansi-bgblack": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/ansi-bgblack/-/ansi-bgblack-0.1.1.tgz",
- "integrity": "sha1-poulAHiHcBtqr74/oNrf36juPKI=",
- "requires": {
- "ansi-wrap": "0.1.0"
- }
- },
- "ansi-bgblue": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/ansi-bgblue/-/ansi-bgblue-0.1.1.tgz",
- "integrity": "sha1-Z73ATtybm1J4lp2hlt6j11yMNhM=",
- "requires": {
- "ansi-wrap": "0.1.0"
- }
- },
- "ansi-bgcyan": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/ansi-bgcyan/-/ansi-bgcyan-0.1.1.tgz",
- "integrity": "sha1-WEiUJWAL3p9VBwaN2Wnr/bUP52g=",
- "requires": {
- "ansi-wrap": "0.1.0"
- }
- },
- "ansi-bggreen": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/ansi-bggreen/-/ansi-bggreen-0.1.1.tgz",
- "integrity": "sha1-TjGRJIUplD9DIelr8THRwTgWr0k=",
- "requires": {
- "ansi-wrap": "0.1.0"
- }
- },
- "ansi-bgmagenta": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/ansi-bgmagenta/-/ansi-bgmagenta-0.1.1.tgz",
- "integrity": "sha1-myhDLAduqpmUGGcqPvvhk5HCx6E=",
- "requires": {
- "ansi-wrap": "0.1.0"
- }
- },
- "ansi-bgred": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/ansi-bgred/-/ansi-bgred-0.1.1.tgz",
- "integrity": "sha1-p2+Sg4OCukMpCmwXeEJPmE1vEEE=",
- "requires": {
- "ansi-wrap": "0.1.0"
- }
- },
- "ansi-bgwhite": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/ansi-bgwhite/-/ansi-bgwhite-0.1.1.tgz",
- "integrity": "sha1-ZQRlE3elim7OzQMxmU5IAljhG6g=",
- "requires": {
- "ansi-wrap": "0.1.0"
- }
- },
- "ansi-bgyellow": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/ansi-bgyellow/-/ansi-bgyellow-0.1.1.tgz",
- "integrity": "sha1-w/4usIzUdmSAKeaHTRWgs49h1E8=",
- "requires": {
- "ansi-wrap": "0.1.0"
- }
- },
- "ansi-black": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/ansi-black/-/ansi-black-0.1.1.tgz",
- "integrity": "sha1-9hheiJNgslRaHsUMC/Bj/EMDJFM=",
- "requires": {
- "ansi-wrap": "0.1.0"
- }
- },
- "ansi-blue": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/ansi-blue/-/ansi-blue-0.1.1.tgz",
- "integrity": "sha1-FbgEmQ6S/JyoxUds6PaZd3wh7b8=",
- "requires": {
- "ansi-wrap": "0.1.0"
- }
- },
- "ansi-bold": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/ansi-bold/-/ansi-bold-0.1.1.tgz",
- "integrity": "sha1-PmOVCvWswq4uZw5vZ96xFdGl9QU=",
- "requires": {
- "ansi-wrap": "0.1.0"
- }
- },
"ansi-colors": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz",
@@ -848,27 +2971,6 @@
"ansi-wrap": "^0.1.0"
}
},
- "ansi-cyan": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/ansi-cyan/-/ansi-cyan-0.1.1.tgz",
- "integrity": "sha1-U4rlKK+JgvKK4w2G8vF0VtJgmHM=",
- "requires": {
- "ansi-wrap": "0.1.0"
- }
- },
- "ansi-dim": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/ansi-dim/-/ansi-dim-0.1.1.tgz",
- "integrity": "sha1-QN5MYDqoCG2Oeoa4/5mNXDbu/Ww=",
- "requires": {
- "ansi-wrap": "0.1.0"
- }
- },
- "ansi-escapes": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz",
- "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4="
- },
"ansi-gray": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz",
@@ -877,123 +2979,21 @@
"ansi-wrap": "0.1.0"
}
},
- "ansi-green": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/ansi-green/-/ansi-green-0.1.1.tgz",
- "integrity": "sha1-il2al55FjVfEDjNYCzc5C44Q0Pc=",
- "requires": {
- "ansi-wrap": "0.1.0"
- }
- },
- "ansi-grey": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/ansi-grey/-/ansi-grey-0.1.1.tgz",
- "integrity": "sha1-WdmLasK6GfilF5jphT+6eDOaM8E=",
- "requires": {
- "ansi-wrap": "0.1.0"
- }
- },
- "ansi-hidden": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/ansi-hidden/-/ansi-hidden-0.1.1.tgz",
- "integrity": "sha1-7WpMSY0rt8uyidvyqNHcyFZ/rg8=",
- "requires": {
- "ansi-wrap": "0.1.0"
- }
- },
- "ansi-html": {
- "version": "0.0.7",
- "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz",
- "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=",
- "dev": true
- },
- "ansi-inverse": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/ansi-inverse/-/ansi-inverse-0.1.1.tgz",
- "integrity": "sha1-tq9Fgm/oJr+1KKbHmIV5Q1XM0mk=",
- "requires": {
- "ansi-wrap": "0.1.0"
- }
- },
- "ansi-italic": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/ansi-italic/-/ansi-italic-0.1.1.tgz",
- "integrity": "sha1-EEdDRj9iXBQqA2c5z4XtpoiYbyM=",
- "requires": {
- "ansi-wrap": "0.1.0"
- }
- },
- "ansi-magenta": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/ansi-magenta/-/ansi-magenta-0.1.1.tgz",
- "integrity": "sha1-BjtboW+z8j4c/aKwfAqJ3hHkMK4=",
- "requires": {
- "ansi-wrap": "0.1.0"
- }
- },
- "ansi-red": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz",
- "integrity": "sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw=",
- "requires": {
- "ansi-wrap": "0.1.0"
- }
- },
"ansi-regex": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
"integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
},
- "ansi-reset": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/ansi-reset/-/ansi-reset-0.1.1.tgz",
- "integrity": "sha1-5+cSksPH3c1NYu9KbHwFmAkRw7c=",
- "requires": {
- "ansi-wrap": "0.1.0"
- }
- },
- "ansi-strikethrough": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/ansi-strikethrough/-/ansi-strikethrough-0.1.1.tgz",
- "integrity": "sha1-2Eh3FAss/wfRyT685pkE9oiF5Wg=",
- "requires": {
- "ansi-wrap": "0.1.0"
- }
- },
"ansi-styles": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
"integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
},
- "ansi-underline": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/ansi-underline/-/ansi-underline-0.1.1.tgz",
- "integrity": "sha1-38kg9Ml7WXfqFi34/7mIMIqqcaQ=",
- "requires": {
- "ansi-wrap": "0.1.0"
- }
- },
- "ansi-white": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/ansi-white/-/ansi-white-0.1.1.tgz",
- "integrity": "sha1-nHe3wZPF7pkuYBHTbsTJIbRXiUQ=",
- "requires": {
- "ansi-wrap": "0.1.0"
- }
- },
"ansi-wrap": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz",
"integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768="
},
- "ansi-yellow": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/ansi-yellow/-/ansi-yellow-0.1.1.tgz",
- "integrity": "sha1-y5NW8vRscy8OMZnmEClVp32oPB0=",
- "requires": {
- "ansi-wrap": "0.1.0"
- }
- },
"any-base": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/any-base/-/any-base-1.1.0.tgz",
@@ -1199,14 +3199,6 @@
"make-iterator": "^1.0.0"
}
},
- "arr-pluck": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/arr-pluck/-/arr-pluck-0.1.0.tgz",
- "integrity": "sha1-+K1tcI+HkAiB4jr9gw1SKQp2Z3U=",
- "requires": {
- "arr-map": "^2.0.0"
- }
- },
"arr-union": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
@@ -1238,6 +3230,16 @@
"integrity": "sha1-z+nYwmYoudxa7MYqn12PHzUsEZU=",
"dev": true
},
+ "array-includes": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz",
+ "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.2",
+ "es-abstract": "^1.7.0"
+ }
+ },
"array-initial": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/array-initial/-/array-initial-1.1.0.tgz",
@@ -1306,30 +3308,11 @@
"resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
"integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg="
},
- "arraybuffer.slice": {
- "version": "0.0.7",
- "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz",
- "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==",
- "dev": true
- },
- "arrayify-compact": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/arrayify-compact/-/arrayify-compact-0.2.0.tgz",
- "integrity": "sha1-RZFw4VXKErtRRISDnJ1xUHyA7E0=",
- "requires": {
- "arr-flatten": "^1.0.1"
- }
- },
"arrify": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz",
"integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug=="
},
- "asap": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
- "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY="
- },
"asn1": {
"version": "0.2.4",
"resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
@@ -1338,547 +3321,6 @@
"safer-buffer": "~2.1.0"
}
},
- "asn1.js": {
- "version": "4.10.1",
- "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz",
- "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==",
- "requires": {
- "bn.js": "^4.0.0",
- "inherits": "^2.0.1",
- "minimalistic-assert": "^1.0.0"
- }
- },
- "assemble-core": {
- "version": "0.25.0",
- "resolved": "https://registry.npmjs.org/assemble-core/-/assemble-core-0.25.0.tgz",
- "integrity": "sha1-ZZF7/K+c1rFNm5HQMaDdmar0OWQ=",
- "requires": {
- "assemble-fs": "^0.6.0",
- "assemble-render-file": "^0.7.1",
- "assemble-streams": "^0.6.0",
- "base-task": "^0.6.1",
- "define-property": "^0.2.5",
- "lazy-cache": "^2.0.1",
- "templates": "^0.24.0"
- },
- "dependencies": {
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "requires": {
- "is-descriptor": "^0.1.0"
- }
- },
- "lazy-cache": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
- "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
- "requires": {
- "set-getter": "^0.1.0"
- }
- }
- }
- },
- "assemble-fs": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/assemble-fs/-/assemble-fs-0.6.0.tgz",
- "integrity": "sha1-uky+t0tdG97m1SipZa07fZbe8Og=",
- "requires": {
- "assemble-handle": "^0.1.2",
- "extend-shallow": "^2.0.1",
- "is-valid-app": "^0.2.0",
- "lazy-cache": "^2.0.1",
- "stream-combiner": "^0.2.2",
- "through2": "^2.0.1",
- "vinyl-fs": "^2.4.3"
- },
- "dependencies": {
- "arr-diff": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
- "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
- "requires": {
- "arr-flatten": "^1.0.1"
- }
- },
- "array-unique": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
- "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM="
- },
- "braces": {
- "version": "1.8.5",
- "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
- "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
- "requires": {
- "expand-range": "^1.8.1",
- "preserve": "^0.2.0",
- "repeat-element": "^1.1.2"
- }
- },
- "clone-stats": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
- "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE="
- },
- "expand-brackets": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
- "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
- "requires": {
- "is-posix-bracket": "^0.1.0"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "extglob": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
- "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
- "requires": {
- "is-extglob": "^1.0.0"
- }
- },
- "glob": {
- "version": "5.0.15",
- "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
- "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
- "requires": {
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "2 || 3",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "glob-stream": {
- "version": "5.3.5",
- "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-5.3.5.tgz",
- "integrity": "sha1-pVZlqajM3EGRWofHAeMtTgFvrSI=",
- "requires": {
- "extend": "^3.0.0",
- "glob": "^5.0.3",
- "glob-parent": "^3.0.0",
- "micromatch": "^2.3.7",
- "ordered-read-streams": "^0.3.0",
- "through2": "^0.6.0",
- "to-absolute-glob": "^0.1.1",
- "unique-stream": "^2.0.2"
- },
- "dependencies": {
- "readable-stream": {
- "version": "1.0.34",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
- "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.1",
- "isarray": "0.0.1",
- "string_decoder": "~0.10.x"
- }
- },
- "through2": {
- "version": "0.6.5",
- "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
- "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
- "requires": {
- "readable-stream": ">=1.0.33-1 <1.1.0-0",
- "xtend": ">=4.0.0 <4.1.0-0"
- }
- }
- }
- },
- "is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
- },
- "is-extglob": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
- "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA="
- },
- "is-glob": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
- "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
- "requires": {
- "is-extglob": "^1.0.0"
- }
- },
- "is-valid-glob": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-0.3.0.tgz",
- "integrity": "sha1-1LVcafUYhvm2XHDWwmItN+KfSP4="
- },
- "isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
- },
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "^1.1.5"
- }
- },
- "lazy-cache": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
- "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
- "requires": {
- "set-getter": "^0.1.0"
- }
- },
- "merge-stream": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz",
- "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=",
- "requires": {
- "readable-stream": "^2.0.1"
- }
- },
- "micromatch": {
- "version": "2.3.11",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
- "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
- "requires": {
- "arr-diff": "^2.0.0",
- "array-unique": "^0.2.1",
- "braces": "^1.8.2",
- "expand-brackets": "^0.1.4",
- "extglob": "^0.3.1",
- "filename-regex": "^2.0.0",
- "is-extglob": "^1.0.0",
- "is-glob": "^2.0.1",
- "kind-of": "^3.0.2",
- "normalize-path": "^2.0.1",
- "object.omit": "^2.0.0",
- "parse-glob": "^3.0.4",
- "regex-cache": "^0.4.2"
- }
- },
- "ordered-read-streams": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.3.0.tgz",
- "integrity": "sha1-cTfmmzKYuzQiR6G77jiByA4v14s=",
- "requires": {
- "is-stream": "^1.0.1",
- "readable-stream": "^2.0.1"
- }
- },
- "replace-ext": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
- "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ="
- },
- "stream-combiner": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.2.2.tgz",
- "integrity": "sha1-rsjLrBd7Vrb0+kec7YwZEs7lKFg=",
- "requires": {
- "duplexer": "~0.1.1",
- "through": "~2.3.4"
- }
- },
- "string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
- "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
- },
- "through2": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
- "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
- "requires": {
- "readable-stream": "~2.3.6",
- "xtend": "~4.0.1"
- }
- },
- "through2-filter": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-2.0.0.tgz",
- "integrity": "sha1-YLxVoNrLdghdsfna6Zq0P4PWIuw=",
- "requires": {
- "through2": "~2.0.0",
- "xtend": "~4.0.0"
- }
- },
- "to-absolute-glob": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-0.1.1.tgz",
- "integrity": "sha1-HN+kcqnvUMI57maZm2YsoOs5k38=",
- "requires": {
- "extend-shallow": "^2.0.1"
- }
- },
- "vinyl": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz",
- "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=",
- "requires": {
- "clone": "^1.0.0",
- "clone-stats": "^0.0.1",
- "replace-ext": "0.0.1"
- }
- },
- "vinyl-fs": {
- "version": "2.4.4",
- "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-2.4.4.tgz",
- "integrity": "sha1-vm/zJwy1Xf19MGNkDegfJddTIjk=",
- "requires": {
- "duplexify": "^3.2.0",
- "glob-stream": "^5.3.2",
- "graceful-fs": "^4.0.0",
- "gulp-sourcemaps": "1.6.0",
- "is-valid-glob": "^0.3.0",
- "lazystream": "^1.0.0",
- "lodash.isequal": "^4.0.0",
- "merge-stream": "^1.0.0",
- "mkdirp": "^0.5.0",
- "object-assign": "^4.0.0",
- "readable-stream": "^2.0.4",
- "strip-bom": "^2.0.0",
- "strip-bom-stream": "^1.0.0",
- "through2": "^2.0.0",
- "through2-filter": "^2.0.0",
- "vali-date": "^1.0.0",
- "vinyl": "^1.0.0"
- }
- }
- }
- },
- "assemble-handle": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/assemble-handle/-/assemble-handle-0.1.4.tgz",
- "integrity": "sha1-6De1uyPnXJsFJX2AfhYvaSzOIW4=",
- "requires": {
- "through2": "^2.0.3"
- },
- "dependencies": {
- "through2": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
- "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
- "requires": {
- "readable-stream": "~2.3.6",
- "xtend": "~4.0.1"
- }
- }
- }
- },
- "assemble-loader": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/assemble-loader/-/assemble-loader-0.6.1.tgz",
- "integrity": "sha1-0GmqZBhOFzKEP+HsGAghI1dpVdg=",
- "requires": {
- "extend-shallow": "^2.0.1",
- "file-contents": "^0.2.4",
- "fs-exists-sync": "^0.1.0",
- "has-glob": "^0.1.1",
- "is-registered": "^0.1.5",
- "is-valid-glob": "^0.3.0",
- "is-valid-instance": "^0.1.0",
- "isobject": "^2.1.0",
- "lazy-cache": "^2.0.1",
- "load-templates": "^0.11.3"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "is-valid-glob": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-0.3.0.tgz",
- "integrity": "sha1-1LVcafUYhvm2XHDWwmItN+KfSP4="
- },
- "is-valid-instance": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/is-valid-instance/-/is-valid-instance-0.1.0.tgz",
- "integrity": "sha1-etXGo4ht/ffZzHgEnO/yFxqZB7M=",
- "requires": {
- "isobject": "^2.1.0",
- "pascalcase": "^0.1.1"
- }
- },
- "isobject": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
- "requires": {
- "isarray": "1.0.0"
- }
- },
- "lazy-cache": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
- "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
- "requires": {
- "set-getter": "^0.1.0"
- }
- }
- }
- },
- "assemble-render-file": {
- "version": "0.7.2",
- "resolved": "https://registry.npmjs.org/assemble-render-file/-/assemble-render-file-0.7.2.tgz",
- "integrity": "sha1-g6qV9e131ctK6oq8dPIkoVRVccY=",
- "requires": {
- "debug": "^2.2.0",
- "is-valid-app": "^0.1.2",
- "lazy-cache": "^2.0.1",
- "mixin-deep": "^1.1.3",
- "through2": "^2.0.1"
- },
- "dependencies": {
- "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"
- }
- },
- "is-valid-app": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/is-valid-app/-/is-valid-app-0.1.2.tgz",
- "integrity": "sha1-L2fLs7r2TWWccNBD/JETm1qLlZA=",
- "requires": {
- "debug": "^2.2.0",
- "is-registered": "^0.1.5",
- "is-valid-instance": "^0.1.0",
- "lazy-cache": "^2.0.1"
- }
- },
- "is-valid-instance": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/is-valid-instance/-/is-valid-instance-0.1.0.tgz",
- "integrity": "sha1-etXGo4ht/ffZzHgEnO/yFxqZB7M=",
- "requires": {
- "isobject": "^2.1.0",
- "pascalcase": "^0.1.1"
- }
- },
- "isobject": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
- "requires": {
- "isarray": "1.0.0"
- }
- },
- "lazy-cache": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
- "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
- "requires": {
- "set-getter": "^0.1.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- },
- "through2": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
- "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
- "requires": {
- "readable-stream": "~2.3.6",
- "xtend": "~4.0.1"
- }
- }
- }
- },
- "assemble-streams": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/assemble-streams/-/assemble-streams-0.6.0.tgz",
- "integrity": "sha1-kOkhaoNpltJoNwvtrHG7MdjJq18=",
- "requires": {
- "assemble-handle": "^0.1.2",
- "is-registered": "^0.1.4",
- "is-valid-instance": "^0.1.0",
- "lazy-cache": "^2.0.1",
- "match-file": "^0.2.0",
- "src-stream": "^0.1.1",
- "through2": "^2.0.1"
- },
- "dependencies": {
- "is-valid-instance": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/is-valid-instance/-/is-valid-instance-0.1.0.tgz",
- "integrity": "sha1-etXGo4ht/ffZzHgEnO/yFxqZB7M=",
- "requires": {
- "isobject": "^2.1.0",
- "pascalcase": "^0.1.1"
- }
- },
- "isobject": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
- "requires": {
- "isarray": "1.0.0"
- }
- },
- "lazy-cache": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
- "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
- "requires": {
- "set-getter": "^0.1.0"
- }
- },
- "through2": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
- "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
- "requires": {
- "readable-stream": "~2.3.6",
- "xtend": "~4.0.1"
- }
- }
- }
- },
- "assert": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz",
- "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==",
- "requires": {
- "object-assign": "^4.1.1",
- "util": "0.10.3"
- },
- "dependencies": {
- "inherits": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
- "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE="
- },
- "util": {
- "version": "0.10.3",
- "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
- "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
- "requires": {
- "inherits": "2.0.1"
- }
- }
- }
- },
"assert-plus": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz",
@@ -1890,37 +3332,15 @@
"integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==",
"dev": true
},
- "assign-deep": {
- "version": "0.4.8",
- "resolved": "https://registry.npmjs.org/assign-deep/-/assign-deep-0.4.8.tgz",
- "integrity": "sha512-uxqXJCnNZDEjPnsaLKVzmh/ST5+Pqoz0wi06HDfHKx1ASNpSbbvz2qW2Gl8ZyHwr5jnm11X2S5eMQaP1lMZmCg==",
- "requires": {
- "assign-symbols": "^0.1.1",
- "is-primitive": "^2.0.0",
- "kind-of": "^5.0.2"
- },
- "dependencies": {
- "assign-symbols": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-0.1.1.tgz",
- "integrity": "sha1-ywJZRO9OyKNpPwhunhEsdOOg/tk="
- },
- "kind-of": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw=="
- }
- }
- },
"assign-symbols": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
"integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c="
},
- "ast-types": {
- "version": "0.13.2",
- "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.2.tgz",
- "integrity": "sha512-uWMHxJxtfj/1oZClOxDEV1sQ1HCDkA4MG8Gr69KKeBjEVH0R84WlejZ0y2DcwyBlpAEMltmVYkVgqfLFb2oyiA==",
+ "astral-regex": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
+ "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
"dev": true
},
"async": {
@@ -1928,11 +3348,6 @@
"resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
"integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo="
},
- "async-array-reduce": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/async-array-reduce/-/async-array-reduce-0.2.1.tgz",
- "integrity": "sha1-yL4BCitc0A3qlsgRFgNGk9/dgtE="
- },
"async-done": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/async-done/-/async-done-1.3.2.tgz",
@@ -1949,25 +3364,6 @@
"resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz",
"integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ=="
},
- "async-each-series": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/async-each-series/-/async-each-series-1.1.0.tgz",
- "integrity": "sha1-9C/YFV048hpbjqB8KOBj7RcAsTg="
- },
- "async-foreach": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz",
- "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI="
- },
- "async-helpers": {
- "version": "0.3.17",
- "resolved": "https://registry.npmjs.org/async-helpers/-/async-helpers-0.3.17.tgz",
- "integrity": "sha512-LfgCyvmK6ZiC7pyqOgli2zfkWL4HYbEb+HXvGgdmqVBgsOOtQz5rSF8Ii/H/1cNNtrfj1KsdZE/lUMeIY3Qcwg==",
- "requires": {
- "co": "^4.6.0",
- "kind-of": "^6.0.0"
- }
- },
"async-limiter": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz",
@@ -2007,24 +3403,10 @@
"resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
"integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg=="
},
- "autoprefixer": {
- "version": "9.6.1",
- "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.6.1.tgz",
- "integrity": "sha512-aVo5WxR3VyvyJxcJC3h4FKfwCQvQWb1tSI5VHNibddCVWrcD1NvlxEweg3TSgiPztMnWfjpy2FURKA2kvDE+Tw==",
- "requires": {
- "browserslist": "^4.6.3",
- "caniuse-lite": "^1.0.30000980",
- "chalk": "^2.4.2",
- "normalize-range": "^0.1.2",
- "num2fraction": "^1.2.2",
- "postcss": "^7.0.17",
- "postcss-value-parser": "^4.0.0"
- }
- },
"aws-sdk": {
- "version": "2.536.0",
- "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.536.0.tgz",
- "integrity": "sha512-d91ASAgDtjP5Al8nRtdOhnS6m7XczqdmVfkyFtd7GlWJ2jy2NxQ+PI4QVp7n/74BNRSSLoyxmCqz2Ulqu3TOsQ==",
+ "version": "2.553.0",
+ "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.553.0.tgz",
+ "integrity": "sha512-tcITF/3ijBumvP13Qrq/VB1eRWW6szKF0xVwZ/ch0MGkaEiTQ9n3zNRPtQc1drllsVEm5u5aXp3inoi5zmq0xg==",
"requires": {
"buffer": "4.9.1",
"events": "1.1.1",
@@ -2077,20 +3459,17 @@
"version": "0.19.0",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.19.0.tgz",
"integrity": "sha512-1uvKqKQta3KBxIz14F2v06AEHZ/dIoeKfbTRkK1E5oqjDnuEerLmYTgJB5AiQZHJcljpg1TuRzdjDR06qNk0DQ==",
+ "dev": true,
"requires": {
"follow-redirects": "1.5.10",
"is-buffer": "^2.0.2"
}
},
- "axios-progress-bar": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/axios-progress-bar/-/axios-progress-bar-1.2.0.tgz",
- "integrity": "sha512-PEgWb/b2SMyHnKJ/cxA46OdCuNeVlo8eqL0HxXPtz+6G/Jtpyo49icPbW+jpO1wUeDEjbqpseMoCyWxESxf5pA=="
- },
"babel-code-frame": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
"integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
+ "dev": true,
"requires": {
"chalk": "^1.1.3",
"esutils": "^2.0.2",
@@ -2101,6 +3480,7 @@
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
"integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
"requires": {
"ansi-styles": "^2.2.1",
"escape-string-regexp": "^1.0.2",
@@ -2111,76 +3491,11 @@
}
}
},
- "babel-core": {
- "version": "6.26.3",
- "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz",
- "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==",
- "requires": {
- "babel-code-frame": "^6.26.0",
- "babel-generator": "^6.26.0",
- "babel-helpers": "^6.24.1",
- "babel-messages": "^6.23.0",
- "babel-register": "^6.26.0",
- "babel-runtime": "^6.26.0",
- "babel-template": "^6.26.0",
- "babel-traverse": "^6.26.0",
- "babel-types": "^6.26.0",
- "babylon": "^6.18.0",
- "convert-source-map": "^1.5.1",
- "debug": "^2.6.9",
- "json5": "^0.5.1",
- "lodash": "^4.17.4",
- "minimatch": "^3.0.4",
- "path-is-absolute": "^1.0.1",
- "private": "^0.1.8",
- "slash": "^1.0.0",
- "source-map": "^0.5.7"
- },
- "dependencies": {
- "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"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- }
- }
- },
- "babel-eslint": {
- "version": "8.2.6",
- "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-8.2.6.tgz",
- "integrity": "sha512-aCdHjhzcILdP8c9lej7hvXKvQieyRt20SF102SIGyY4cUIiw6UaAtK4j2o3dXX74jEmy0TJ0CEhv4fTIM3SzcA==",
- "requires": {
- "@babel/code-frame": "7.0.0-beta.44",
- "@babel/traverse": "7.0.0-beta.44",
- "@babel/types": "7.0.0-beta.44",
- "babylon": "7.0.0-beta.44",
- "eslint-scope": "3.7.1",
- "eslint-visitor-keys": "^1.0.0"
- },
- "dependencies": {
- "babylon": {
- "version": "7.0.0-beta.44",
- "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.44.tgz",
- "integrity": "sha512-5Hlm13BJVAioCHpImtFqNOF2H3ieTOHd0fmFGMxOJ9jgeFqeAwsv3u5P5cR7CSeFrkgHsT19DgFJkHV0/Mcd8g=="
- }
- }
- },
"babel-generator": {
"version": "6.26.1",
"resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz",
"integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==",
+ "dev": true,
"requires": {
"babel-messages": "^6.23.0",
"babel-runtime": "^6.26.0",
@@ -2195,475 +3510,34 @@
"source-map": {
"version": "0.5.7",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
}
}
},
- "babel-helper-call-delegate": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz",
- "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=",
- "requires": {
- "babel-helper-hoist-variables": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-traverse": "^6.24.1",
- "babel-types": "^6.24.1"
- }
- },
- "babel-helper-define-map": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz",
- "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=",
- "requires": {
- "babel-helper-function-name": "^6.24.1",
- "babel-runtime": "^6.26.0",
- "babel-types": "^6.26.0",
- "lodash": "^4.17.4"
- }
- },
- "babel-helper-function-name": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz",
- "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=",
- "requires": {
- "babel-helper-get-function-arity": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1",
- "babel-traverse": "^6.24.1",
- "babel-types": "^6.24.1"
- }
- },
- "babel-helper-get-function-arity": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz",
- "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=",
- "requires": {
- "babel-runtime": "^6.22.0",
- "babel-types": "^6.24.1"
- }
- },
- "babel-helper-hoist-variables": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz",
- "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=",
- "requires": {
- "babel-runtime": "^6.22.0",
- "babel-types": "^6.24.1"
- }
- },
- "babel-helper-optimise-call-expression": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz",
- "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=",
- "requires": {
- "babel-runtime": "^6.22.0",
- "babel-types": "^6.24.1"
- }
- },
- "babel-helper-regex": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz",
- "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=",
- "requires": {
- "babel-runtime": "^6.26.0",
- "babel-types": "^6.26.0",
- "lodash": "^4.17.4"
- }
- },
- "babel-helper-replace-supers": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz",
- "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=",
- "requires": {
- "babel-helper-optimise-call-expression": "^6.24.1",
- "babel-messages": "^6.23.0",
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1",
- "babel-traverse": "^6.24.1",
- "babel-types": "^6.24.1"
- }
- },
- "babel-helpers": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz",
- "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=",
- "requires": {
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1"
- }
- },
- "babel-loader": {
- "version": "7.1.5",
- "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-7.1.5.tgz",
- "integrity": "sha512-iCHfbieL5d1LfOQeeVJEUyD9rTwBcP/fcEbRCfempxTDuqrKpu0AZjLAQHEQa3Yqyj9ORKe2iHfoj4rHLf7xpw==",
- "requires": {
- "find-cache-dir": "^1.0.0",
- "loader-utils": "^1.0.2",
- "mkdirp": "^0.5.1"
- }
- },
"babel-messages": {
"version": "6.23.0",
"resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
"integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
- "requires": {
- "babel-runtime": "^6.22.0"
- }
- },
- "babel-plugin-check-es2015-constants": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz",
- "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=",
- "requires": {
- "babel-runtime": "^6.22.0"
- }
- },
- "babel-plugin-istanbul": {
- "version": "4.1.6",
- "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.6.tgz",
- "integrity": "sha512-PWP9FQ1AhZhS01T/4qLSKoHGY/xvkZdVBGlKM/HuxxS3+sC66HhTNR7+MpbO/so/cz/wY94MeSWJuP1hXIPfwQ==",
"dev": true,
- "requires": {
- "babel-plugin-syntax-object-rest-spread": "^6.13.0",
- "find-up": "^2.1.0",
- "istanbul-lib-instrument": "^1.10.1",
- "test-exclude": "^4.2.1"
- }
- },
- "babel-plugin-syntax-async-functions": {
- "version": "6.13.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz",
- "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU="
- },
- "babel-plugin-syntax-dynamic-import": {
- "version": "6.18.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz",
- "integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo="
- },
- "babel-plugin-syntax-object-rest-spread": {
- "version": "6.13.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz",
- "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U="
- },
- "babel-plugin-transform-es2015-arrow-functions": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz",
- "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=",
"requires": {
"babel-runtime": "^6.22.0"
}
},
- "babel-plugin-transform-es2015-block-scoped-functions": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz",
- "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=",
+ "babel-plugin-dynamic-import-node": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz",
+ "integrity": "sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==",
+ "dev": true,
"requires": {
- "babel-runtime": "^6.22.0"
- }
- },
- "babel-plugin-transform-es2015-block-scoping": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz",
- "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=",
- "requires": {
- "babel-runtime": "^6.26.0",
- "babel-template": "^6.26.0",
- "babel-traverse": "^6.26.0",
- "babel-types": "^6.26.0",
- "lodash": "^4.17.4"
- }
- },
- "babel-plugin-transform-es2015-classes": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz",
- "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=",
- "requires": {
- "babel-helper-define-map": "^6.24.1",
- "babel-helper-function-name": "^6.24.1",
- "babel-helper-optimise-call-expression": "^6.24.1",
- "babel-helper-replace-supers": "^6.24.1",
- "babel-messages": "^6.23.0",
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1",
- "babel-traverse": "^6.24.1",
- "babel-types": "^6.24.1"
- }
- },
- "babel-plugin-transform-es2015-computed-properties": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz",
- "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=",
- "requires": {
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1"
- }
- },
- "babel-plugin-transform-es2015-destructuring": {
- "version": "6.23.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz",
- "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=",
- "requires": {
- "babel-runtime": "^6.22.0"
- }
- },
- "babel-plugin-transform-es2015-duplicate-keys": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz",
- "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=",
- "requires": {
- "babel-runtime": "^6.22.0",
- "babel-types": "^6.24.1"
- }
- },
- "babel-plugin-transform-es2015-for-of": {
- "version": "6.23.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz",
- "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=",
- "requires": {
- "babel-runtime": "^6.22.0"
- }
- },
- "babel-plugin-transform-es2015-function-name": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz",
- "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=",
- "requires": {
- "babel-helper-function-name": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-types": "^6.24.1"
- }
- },
- "babel-plugin-transform-es2015-literals": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz",
- "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=",
- "requires": {
- "babel-runtime": "^6.22.0"
- }
- },
- "babel-plugin-transform-es2015-modules-amd": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz",
- "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=",
- "requires": {
- "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1"
- }
- },
- "babel-plugin-transform-es2015-modules-commonjs": {
- "version": "6.26.2",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz",
- "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==",
- "requires": {
- "babel-plugin-transform-strict-mode": "^6.24.1",
- "babel-runtime": "^6.26.0",
- "babel-template": "^6.26.0",
- "babel-types": "^6.26.0"
- }
- },
- "babel-plugin-transform-es2015-modules-systemjs": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz",
- "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=",
- "requires": {
- "babel-helper-hoist-variables": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1"
- }
- },
- "babel-plugin-transform-es2015-modules-umd": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz",
- "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=",
- "requires": {
- "babel-plugin-transform-es2015-modules-amd": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1"
- }
- },
- "babel-plugin-transform-es2015-object-super": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz",
- "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=",
- "requires": {
- "babel-helper-replace-supers": "^6.24.1",
- "babel-runtime": "^6.22.0"
- }
- },
- "babel-plugin-transform-es2015-parameters": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz",
- "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=",
- "requires": {
- "babel-helper-call-delegate": "^6.24.1",
- "babel-helper-get-function-arity": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1",
- "babel-traverse": "^6.24.1",
- "babel-types": "^6.24.1"
- }
- },
- "babel-plugin-transform-es2015-shorthand-properties": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz",
- "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=",
- "requires": {
- "babel-runtime": "^6.22.0",
- "babel-types": "^6.24.1"
- }
- },
- "babel-plugin-transform-es2015-spread": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz",
- "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=",
- "requires": {
- "babel-runtime": "^6.22.0"
- }
- },
- "babel-plugin-transform-es2015-sticky-regex": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz",
- "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=",
- "requires": {
- "babel-helper-regex": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-types": "^6.24.1"
- }
- },
- "babel-plugin-transform-es2015-template-literals": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz",
- "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=",
- "requires": {
- "babel-runtime": "^6.22.0"
- }
- },
- "babel-plugin-transform-es2015-typeof-symbol": {
- "version": "6.23.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz",
- "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=",
- "requires": {
- "babel-runtime": "^6.22.0"
- }
- },
- "babel-plugin-transform-es2015-unicode-regex": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz",
- "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=",
- "requires": {
- "babel-helper-regex": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "regexpu-core": "^2.0.0"
- }
- },
- "babel-plugin-transform-object-rest-spread": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz",
- "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=",
- "requires": {
- "babel-plugin-syntax-object-rest-spread": "^6.8.0",
- "babel-runtime": "^6.26.0"
- }
- },
- "babel-plugin-transform-regenerator": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz",
- "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=",
- "requires": {
- "regenerator-transform": "^0.10.0"
- }
- },
- "babel-plugin-transform-strict-mode": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz",
- "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=",
- "requires": {
- "babel-runtime": "^6.22.0",
- "babel-types": "^6.24.1"
- }
- },
- "babel-polyfill": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz",
- "integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=",
- "requires": {
- "babel-runtime": "^6.26.0",
- "core-js": "^2.5.0",
- "regenerator-runtime": "^0.10.5"
- },
- "dependencies": {
- "regenerator-runtime": {
- "version": "0.10.5",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz",
- "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg="
- }
- }
- },
- "babel-preset-es2015": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz",
- "integrity": "sha1-1EBQ1rwsn+6nAqrzjXJ6AhBTiTk=",
- "requires": {
- "babel-plugin-check-es2015-constants": "^6.22.0",
- "babel-plugin-transform-es2015-arrow-functions": "^6.22.0",
- "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0",
- "babel-plugin-transform-es2015-block-scoping": "^6.24.1",
- "babel-plugin-transform-es2015-classes": "^6.24.1",
- "babel-plugin-transform-es2015-computed-properties": "^6.24.1",
- "babel-plugin-transform-es2015-destructuring": "^6.22.0",
- "babel-plugin-transform-es2015-duplicate-keys": "^6.24.1",
- "babel-plugin-transform-es2015-for-of": "^6.22.0",
- "babel-plugin-transform-es2015-function-name": "^6.24.1",
- "babel-plugin-transform-es2015-literals": "^6.22.0",
- "babel-plugin-transform-es2015-modules-amd": "^6.24.1",
- "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1",
- "babel-plugin-transform-es2015-modules-systemjs": "^6.24.1",
- "babel-plugin-transform-es2015-modules-umd": "^6.24.1",
- "babel-plugin-transform-es2015-object-super": "^6.24.1",
- "babel-plugin-transform-es2015-parameters": "^6.24.1",
- "babel-plugin-transform-es2015-shorthand-properties": "^6.24.1",
- "babel-plugin-transform-es2015-spread": "^6.22.0",
- "babel-plugin-transform-es2015-sticky-regex": "^6.24.1",
- "babel-plugin-transform-es2015-template-literals": "^6.22.0",
- "babel-plugin-transform-es2015-typeof-symbol": "^6.22.0",
- "babel-plugin-transform-es2015-unicode-regex": "^6.24.1",
- "babel-plugin-transform-regenerator": "^6.24.1"
- }
- },
- "babel-register": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz",
- "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=",
- "requires": {
- "babel-core": "^6.26.0",
- "babel-runtime": "^6.26.0",
- "core-js": "^2.5.0",
- "home-or-tmp": "^2.0.0",
- "lodash": "^4.17.4",
- "mkdirp": "^0.5.1",
- "source-map-support": "^0.4.15"
- },
- "dependencies": {
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "source-map-support": {
- "version": "0.4.18",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz",
- "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==",
- "requires": {
- "source-map": "^0.5.6"
- }
- }
+ "object.assign": "^4.1.0"
}
},
"babel-runtime": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
"integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+ "dev": true,
"requires": {
"core-js": "^2.4.0",
"regenerator-runtime": "^0.11.0"
@@ -2672,7 +3546,8 @@
"regenerator-runtime": {
"version": "0.11.1",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
- "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg=="
+ "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==",
+ "dev": true
}
}
},
@@ -2680,6 +3555,7 @@
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
"integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=",
+ "dev": true,
"requires": {
"babel-runtime": "^6.26.0",
"babel-traverse": "^6.26.0",
@@ -2692,6 +3568,7 @@
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
"integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=",
+ "dev": true,
"requires": {
"babel-code-frame": "^6.26.0",
"babel-messages": "^6.23.0",
@@ -2708,6 +3585,7 @@
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
"requires": {
"ms": "2.0.0"
}
@@ -2715,7 +3593,8 @@
"ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "dev": true
}
}
},
@@ -2723,6 +3602,7 @@
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
"integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=",
+ "dev": true,
"requires": {
"babel-runtime": "^6.26.0",
"esutils": "^2.0.2",
@@ -2733,7 +3613,8 @@
"babylon": {
"version": "6.18.0",
"resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
- "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ=="
+ "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==",
+ "dev": true
},
"bach": {
"version": "1.2.0",
@@ -2751,12 +3632,6 @@
"now-and-later": "^2.0.0"
}
},
- "backo2": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz",
- "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=",
- "dev": true
- },
"balanced-match": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
@@ -2812,2008 +3687,11 @@
}
}
},
- "base-argv": {
- "version": "0.4.5",
- "resolved": "https://registry.npmjs.org/base-argv/-/base-argv-0.4.5.tgz",
- "integrity": "sha1-BalXHNwnaUDeGW/8h07uuJnLED0=",
- "requires": {
- "arr-diff": "^2.0.0",
- "arr-union": "^3.1.0",
- "debug": "^2.2.0",
- "define-property": "^0.2.5",
- "expand-args": "^0.4.1",
- "extend-shallow": "^2.0.1",
- "lazy-cache": "^1.0.3"
- },
- "dependencies": {
- "arr-diff": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
- "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
- "requires": {
- "arr-flatten": "^1.0.1"
- }
- },
- "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"
- }
- },
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "requires": {
- "is-descriptor": "^0.1.0"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- }
- }
- },
- "base-cli": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/base-cli/-/base-cli-0.5.0.tgz",
- "integrity": "sha1-U+Zdjg9bKKoRBo/sjdTpXXLvPOg=",
- "requires": {
- "base-argv": "^0.4.2",
- "base-config": "^0.5.2"
- }
- },
- "base-cli-process": {
- "version": "0.1.19",
- "resolved": "https://registry.npmjs.org/base-cli-process/-/base-cli-process-0.1.19.tgz",
- "integrity": "sha1-Mg08gVTfcQltSBgY52/m1+R5NjY=",
- "requires": {
- "arr-union": "^3.1.0",
- "arrayify-compact": "^0.2.0",
- "base-cli": "^0.5.0",
- "base-cli-schema": "^0.1.19",
- "base-config-process": "^0.1.9",
- "base-cwd": "^0.3.4",
- "base-option": "^0.8.4",
- "base-pkg": "^0.2.4",
- "debug": "^2.6.2",
- "export-files": "^2.1.1",
- "fs-exists-sync": "^0.1.0",
- "is-valid-app": "^0.2.1",
- "kind-of": "^3.1.0",
- "lazy-cache": "^2.0.2",
- "log-utils": "^0.2.1",
- "merge-deep": "^3.0.0",
- "mixin-deep": "^1.2.0",
- "object.pick": "^1.2.0",
- "pad-right": "^0.2.2",
- "union-value": "^1.0.0"
- },
- "dependencies": {
- "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"
- }
- },
- "is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
- },
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "^1.1.5"
- }
- },
- "lazy-cache": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
- "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
- "requires": {
- "set-getter": "^0.1.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- }
- }
- },
- "base-cli-schema": {
- "version": "0.1.19",
- "resolved": "https://registry.npmjs.org/base-cli-schema/-/base-cli-schema-0.1.19.tgz",
- "integrity": "sha1-gfQYL0zwu4NnHxF2PknLBbkugkE=",
- "requires": {
- "arr-flatten": "^1.0.1",
- "array-unique": "^0.2.1",
- "debug": "^2.2.0",
- "define-property": "^0.2.5",
- "export-files": "^2.1.1",
- "extend-shallow": "^2.0.1",
- "falsey": "^0.3.0",
- "fs-exists-sync": "^0.1.0",
- "has-glob": "^0.1.1",
- "has-value": "^0.3.1",
- "kind-of": "^3.0.3",
- "lazy-cache": "^2.0.1",
- "map-schema": "^0.2.3",
- "merge-deep": "^3.0.0",
- "mixin-deep": "^1.1.3",
- "resolve": "^1.1.7",
- "tableize-object": "^0.1.0"
- },
- "dependencies": {
- "array-unique": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
- "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM="
- },
- "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"
- }
- },
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "requires": {
- "is-descriptor": "^0.1.0"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "has-value": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
- "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
- "requires": {
- "get-value": "^2.0.3",
- "has-values": "^0.1.4",
- "isobject": "^2.0.0"
- }
- },
- "has-values": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
- "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E="
- },
- "is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
- },
- "isobject": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
- "requires": {
- "isarray": "1.0.0"
- }
- },
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "^1.1.5"
- }
- },
- "lazy-cache": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
- "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
- "requires": {
- "set-getter": "^0.1.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- }
- }
- },
- "base-compose": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/base-compose/-/base-compose-0.2.1.tgz",
- "integrity": "sha1-reSal/WiRIvVa8s0C090aMb74tc=",
- "requires": {
- "copy-task": "^0.1.0",
- "lazy-cache": "^2.0.1",
- "mixin-deep": "^1.1.3"
- },
- "dependencies": {
- "lazy-cache": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
- "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
- "requires": {
- "set-getter": "^0.1.0"
- }
- }
- }
- },
- "base-config": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/base-config/-/base-config-0.5.2.tgz",
- "integrity": "sha1-q2A8AdExWL4uYux3/7Ix4o9Ijh8=",
- "requires": {
- "isobject": "^2.0.0",
- "lazy-cache": "^1.0.3",
- "map-config": "^0.5.0",
- "resolve-dir": "^0.1.0"
- },
- "dependencies": {
- "expand-tilde": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-1.2.2.tgz",
- "integrity": "sha1-C4HrqJflo9MdHD0QL48BRB5VlEk=",
- "requires": {
- "os-homedir": "^1.0.1"
- }
- },
- "global-modules": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-0.2.3.tgz",
- "integrity": "sha1-6lo77ULG1s6ZWk+KEmm12uIjgo0=",
- "requires": {
- "global-prefix": "^0.1.4",
- "is-windows": "^0.2.0"
- }
- },
- "global-prefix": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-0.1.5.tgz",
- "integrity": "sha1-jTvGuNo8qBEqFg2NSW/wRiv+948=",
- "requires": {
- "homedir-polyfill": "^1.0.0",
- "ini": "^1.3.4",
- "is-windows": "^0.2.0",
- "which": "^1.2.12"
- }
- },
- "is-windows": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz",
- "integrity": "sha1-3hqm1j6indJIc3tp8f+LgALSEIw="
- },
- "isobject": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
- "requires": {
- "isarray": "1.0.0"
- }
- },
- "resolve-dir": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-0.1.1.tgz",
- "integrity": "sha1-shklmlYC+sXFxJatiUpujMQwJh4=",
- "requires": {
- "expand-tilde": "^1.2.2",
- "global-modules": "^0.2.3"
- }
- }
- }
- },
- "base-config-process": {
- "version": "0.1.9",
- "resolved": "https://registry.npmjs.org/base-config-process/-/base-config-process-0.1.9.tgz",
- "integrity": "sha1-imOmGYnuY1UMyM/cP2wCdf2gtG4=",
- "requires": {
- "base-config": "^0.5.2",
- "base-config-schema": "^0.1.18",
- "base-cwd": "^0.3.4",
- "base-option": "^0.8.4",
- "debug": "^2.2.0",
- "export-files": "^2.1.1",
- "is-valid-app": "^0.2.0",
- "lazy-cache": "^2.0.1",
- "micromatch": "^2.3.10",
- "mixin-deep": "^1.1.3"
- },
- "dependencies": {
- "arr-diff": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
- "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
- "requires": {
- "arr-flatten": "^1.0.1"
- }
- },
- "array-unique": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
- "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM="
- },
- "braces": {
- "version": "1.8.5",
- "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
- "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
- "requires": {
- "expand-range": "^1.8.1",
- "preserve": "^0.2.0",
- "repeat-element": "^1.1.2"
- }
- },
- "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"
- }
- },
- "expand-brackets": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
- "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
- "requires": {
- "is-posix-bracket": "^0.1.0"
- }
- },
- "extglob": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
- "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
- "requires": {
- "is-extglob": "^1.0.0"
- }
- },
- "is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
- },
- "is-extglob": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
- "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA="
- },
- "is-glob": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
- "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
- "requires": {
- "is-extglob": "^1.0.0"
- }
- },
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "^1.1.5"
- }
- },
- "lazy-cache": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
- "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
- "requires": {
- "set-getter": "^0.1.0"
- }
- },
- "micromatch": {
- "version": "2.3.11",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
- "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
- "requires": {
- "arr-diff": "^2.0.0",
- "array-unique": "^0.2.1",
- "braces": "^1.8.2",
- "expand-brackets": "^0.1.4",
- "extglob": "^0.3.1",
- "filename-regex": "^2.0.0",
- "is-extglob": "^1.0.0",
- "is-glob": "^2.0.1",
- "kind-of": "^3.0.2",
- "normalize-path": "^2.0.1",
- "object.omit": "^2.0.0",
- "parse-glob": "^3.0.4",
- "regex-cache": "^0.4.2"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- }
- }
- },
- "base-config-schema": {
- "version": "0.1.24",
- "resolved": "https://registry.npmjs.org/base-config-schema/-/base-config-schema-0.1.24.tgz",
- "integrity": "sha1-T74UvsVtwa7ef+3QaSjpGfhyH6k=",
- "requires": {
- "arr-flatten": "^1.0.3",
- "array-unique": "^0.3.2",
- "base-pkg": "^0.2.4",
- "camel-case": "^3.0.0",
- "debug": "^2.6.6",
- "define-property": "^1.0.0",
- "export-files": "^2.1.1",
- "extend-shallow": "^2.0.1",
- "has-glob": "^1.0.0",
- "has-value": "^0.3.1",
- "inflection": "^1.12.0",
- "kind-of": "^3.2.0",
- "lazy-cache": "^2.0.2",
- "load-templates": "^1.0.2",
- "map-schema": "^0.2.4",
- "matched": "^0.4.4",
- "mixin-deep": "^1.2.0",
- "resolve": "^1.3.3"
- },
- "dependencies": {
- "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"
- }
- },
- "define-property": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
- "requires": {
- "is-descriptor": "^1.0.0"
- }
- },
- "expand-tilde": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-1.2.2.tgz",
- "integrity": "sha1-C4HrqJflo9MdHD0QL48BRB5VlEk=",
- "requires": {
- "os-homedir": "^1.0.1"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "file-contents": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/file-contents/-/file-contents-1.0.1.tgz",
- "integrity": "sha1-ryW7/T00RjhPrYBmSdiAi8/uHsg=",
- "requires": {
- "define-property": "^0.2.5",
- "extend-shallow": "^2.0.1",
- "is-buffer": "^1.1.4",
- "kind-of": "^3.1.0",
- "lazy-cache": "^2.0.2",
- "strip-bom-buffer": "^0.1.1",
- "strip-bom-string": "^0.1.2",
- "through2": "^2.0.3"
- },
- "dependencies": {
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "requires": {
- "is-descriptor": "^0.1.0"
- }
- },
- "is-accessor-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
- "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
- "requires": {
- "kind-of": "^3.0.2"
- }
- },
- "is-data-descriptor": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
- "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
- "requires": {
- "kind-of": "^3.0.2"
- }
- },
- "is-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
- "requires": {
- "is-accessor-descriptor": "^0.1.6",
- "is-data-descriptor": "^0.1.4",
- "kind-of": "^5.0.0"
- },
- "dependencies": {
- "kind-of": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw=="
- }
- }
- }
- }
- },
- "global-modules": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-0.2.3.tgz",
- "integrity": "sha1-6lo77ULG1s6ZWk+KEmm12uIjgo0=",
- "requires": {
- "global-prefix": "^0.1.4",
- "is-windows": "^0.2.0"
- }
- },
- "global-prefix": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-0.1.5.tgz",
- "integrity": "sha1-jTvGuNo8qBEqFg2NSW/wRiv+948=",
- "requires": {
- "homedir-polyfill": "^1.0.0",
- "ini": "^1.3.4",
- "is-windows": "^0.2.0",
- "which": "^1.2.12"
- }
- },
- "has-glob": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-glob/-/has-glob-1.0.0.tgz",
- "integrity": "sha1-mqqe7b/7G6OZCnsAEPtnjuAIEgc=",
- "requires": {
- "is-glob": "^3.0.0"
- }
- },
- "has-value": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
- "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
- "requires": {
- "get-value": "^2.0.3",
- "has-values": "^0.1.4",
- "isobject": "^2.0.0"
- }
- },
- "has-values": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
- "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E="
- },
- "is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "requires": {
- "kind-of": "^6.0.0"
- },
- "dependencies": {
- "kind-of": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
- }
- }
- },
- "is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
- },
- "is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
- "requires": {
- "kind-of": "^6.0.0"
- },
- "dependencies": {
- "kind-of": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
- }
- }
- },
- "is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "requires": {
- "is-accessor-descriptor": "^1.0.0",
- "is-data-descriptor": "^1.0.0",
- "kind-of": "^6.0.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
- }
- }
- },
- "is-glob": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
- "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
- "requires": {
- "is-extglob": "^2.1.0"
- }
- },
- "is-valid-glob": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-0.3.0.tgz",
- "integrity": "sha1-1LVcafUYhvm2XHDWwmItN+KfSP4="
- },
- "is-windows": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz",
- "integrity": "sha1-3hqm1j6indJIc3tp8f+LgALSEIw="
- },
- "isobject": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
- "requires": {
- "isarray": "1.0.0"
- }
- },
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "^1.1.5"
- }
- },
- "lazy-cache": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
- "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
- "requires": {
- "set-getter": "^0.1.0"
- }
- },
- "load-templates": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/load-templates/-/load-templates-1.0.2.tgz",
- "integrity": "sha1-CfOOlcjvS/t4W9f8qOv9MrIwvIc=",
- "requires": {
- "extend-shallow": "^2.0.1",
- "file-contents": "^1.0.0",
- "glob-parent": "^3.1.0",
- "is-glob": "^3.1.0",
- "kind-of": "^3.1.0",
- "lazy-cache": "^2.0.2",
- "matched": "^0.4.4",
- "vinyl": "^2.0.1"
- }
- },
- "matched": {
- "version": "0.4.4",
- "resolved": "https://registry.npmjs.org/matched/-/matched-0.4.4.tgz",
- "integrity": "sha1-Vte36xgDPwz5vFLrIJD6x9weifo=",
- "requires": {
- "arr-union": "^3.1.0",
- "async-array-reduce": "^0.2.0",
- "extend-shallow": "^2.0.1",
- "fs-exists-sync": "^0.1.0",
- "glob": "^7.0.5",
- "has-glob": "^0.1.1",
- "is-valid-glob": "^0.3.0",
- "lazy-cache": "^2.0.1",
- "resolve-dir": "^0.1.0"
- },
- "dependencies": {
- "has-glob": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/has-glob/-/has-glob-0.1.1.tgz",
- "integrity": "sha1-omHEwqbGZ+DHe3AKfyl8Oe86pYk=",
- "requires": {
- "is-glob": "^2.0.1"
- }
- },
- "is-extglob": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
- "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA="
- },
- "is-glob": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
- "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
- "requires": {
- "is-extglob": "^1.0.0"
- }
- }
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- },
- "resolve-dir": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-0.1.1.tgz",
- "integrity": "sha1-shklmlYC+sXFxJatiUpujMQwJh4=",
- "requires": {
- "expand-tilde": "^1.2.2",
- "global-modules": "^0.2.3"
- }
- },
- "through2": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
- "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
- "requires": {
- "readable-stream": "~2.3.6",
- "xtend": "~4.0.1"
- }
- }
- }
- },
- "base-cwd": {
- "version": "0.3.4",
- "resolved": "https://registry.npmjs.org/base-cwd/-/base-cwd-0.3.4.tgz",
- "integrity": "sha1-TQCrY1CgRuGtSrnCMm2heUs+TwE=",
- "requires": {
- "empty-dir": "^0.2.0",
- "find-pkg": "^0.1.2",
- "is-valid-app": "^0.2.0"
- }
- },
- "base-data": {
- "version": "0.6.2",
- "resolved": "https://registry.npmjs.org/base-data/-/base-data-0.6.2.tgz",
- "integrity": "sha512-wH2ViG6CUO2AaeHSEt6fJTyQAk5gl0oY456DoSC5h8mnHrWUbvdctMCuF53CXgBmi0oalZQppKNH0iamG5+uqw==",
- "requires": {
- "arr-flatten": "^1.1.0",
- "cache-base": "^1.0.0",
- "extend-shallow": "^2.0.1",
- "get-value": "^2.0.6",
- "has-glob": "^1.0.0",
- "has-value": "^1.0.0",
- "is-registered": "^0.1.5",
- "is-valid-app": "^0.3.0",
- "kind-of": "^5.0.0",
- "lazy-cache": "^2.0.2",
- "merge-value": "^1.0.0",
- "mixin-deep": "^1.2.0",
- "read-file": "^0.2.0",
- "resolve-glob": "^1.0.0",
- "set-value": "^2.0.0",
- "union-value": "^1.0.0"
- },
- "dependencies": {
- "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"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "has-glob": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-glob/-/has-glob-1.0.0.tgz",
- "integrity": "sha1-mqqe7b/7G6OZCnsAEPtnjuAIEgc=",
- "requires": {
- "is-glob": "^3.0.0"
- }
- },
- "is-glob": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
- "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
- "requires": {
- "is-extglob": "^2.1.0"
- }
- },
- "is-valid-app": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/is-valid-app/-/is-valid-app-0.3.0.tgz",
- "integrity": "sha1-eBBrdR88oyOF+0VJK/KUF7WZPIA=",
- "requires": {
- "debug": "^2.6.3",
- "is-registered": "^0.1.5",
- "is-valid-instance": "^0.3.0",
- "lazy-cache": "^2.0.2"
- }
- },
- "is-valid-instance": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/is-valid-instance/-/is-valid-instance-0.3.0.tgz",
- "integrity": "sha1-9KxzAjxNTYubw7PsPmZjBRbijp4=",
- "requires": {
- "isobject": "^3.0.0",
- "pascalcase": "^0.1.1"
- }
- },
- "kind-of": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw=="
- },
- "lazy-cache": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
- "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
- "requires": {
- "set-getter": "^0.1.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- }
- }
- },
- "base-engines": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/base-engines/-/base-engines-0.2.1.tgz",
- "integrity": "sha1-aXgAyoq4iKM3iXONv6zLgYoqWns=",
- "requires": {
- "debug": "^2.2.0",
- "define-property": "^0.2.5",
- "engine-cache": "^0.19.0",
- "is-valid-app": "^0.1.2",
- "lazy-cache": "^2.0.1"
- },
- "dependencies": {
- "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"
- }
- },
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "requires": {
- "is-descriptor": "^0.1.0"
- }
- },
- "is-valid-app": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/is-valid-app/-/is-valid-app-0.1.2.tgz",
- "integrity": "sha1-L2fLs7r2TWWccNBD/JETm1qLlZA=",
- "requires": {
- "debug": "^2.2.0",
- "is-registered": "^0.1.5",
- "is-valid-instance": "^0.1.0",
- "lazy-cache": "^2.0.1"
- }
- },
- "is-valid-instance": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/is-valid-instance/-/is-valid-instance-0.1.0.tgz",
- "integrity": "sha1-etXGo4ht/ffZzHgEnO/yFxqZB7M=",
- "requires": {
- "isobject": "^2.1.0",
- "pascalcase": "^0.1.1"
- }
- },
- "isobject": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
- "requires": {
- "isarray": "1.0.0"
- }
- },
- "lazy-cache": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
- "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
- "requires": {
- "set-getter": "^0.1.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- }
- }
- },
- "base-env": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/base-env/-/base-env-0.3.1.tgz",
- "integrity": "sha512-/HxC8QV1m/bWqvjcu4WZl4Um1HRpTAjuY31uiFUEukXsXge4WIvNvGKG/gCs2PrpBFPCybowA406V/ivdPknpQ==",
- "requires": {
- "base-namespace": "^0.2.0",
- "contains-path": "^0.1.0",
- "debug": "^2.2.0",
- "extend-shallow": "^2.0.1",
- "fs-exists-sync": "^0.1.0",
- "global-modules": "^0.2.2",
- "is-absolute": "^0.2.5",
- "is-valid-app": "^0.1.0",
- "is-valid-instance": "^0.1.0",
- "kind-of": "^3.0.3",
- "os-homedir": "^1.0.1",
- "resolve-file": "^0.3.0"
- },
- "dependencies": {
- "cwd": {
- "version": "0.10.0",
- "resolved": "https://registry.npmjs.org/cwd/-/cwd-0.10.0.tgz",
- "integrity": "sha1-FyQAaUBXwioTsM8WFix+S3p/5Wc=",
- "requires": {
- "find-pkg": "^0.1.2",
- "fs-exists-sync": "^0.1.0"
- }
- },
- "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"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "global-modules": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-0.2.3.tgz",
- "integrity": "sha1-6lo77ULG1s6ZWk+KEmm12uIjgo0=",
- "requires": {
- "global-prefix": "^0.1.4",
- "is-windows": "^0.2.0"
- }
- },
- "global-prefix": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-0.1.5.tgz",
- "integrity": "sha1-jTvGuNo8qBEqFg2NSW/wRiv+948=",
- "requires": {
- "homedir-polyfill": "^1.0.0",
- "ini": "^1.3.4",
- "is-windows": "^0.2.0",
- "which": "^1.2.12"
- }
- },
- "is-absolute": {
- "version": "0.2.6",
- "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-0.2.6.tgz",
- "integrity": "sha1-IN5p89uULvLYe5wto28XIjWxtes=",
- "requires": {
- "is-relative": "^0.2.1",
- "is-windows": "^0.2.0"
- }
- },
- "is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
- },
- "is-relative": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-0.2.1.tgz",
- "integrity": "sha1-0n9MfVFtF1+2ENuEu+7yPDvJeqU=",
- "requires": {
- "is-unc-path": "^0.1.1"
- }
- },
- "is-unc-path": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-0.1.2.tgz",
- "integrity": "sha1-arBTpyVzwQJQ/0FqOBTDUXivObk=",
- "requires": {
- "unc-path-regex": "^0.1.0"
- }
- },
- "is-valid-app": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/is-valid-app/-/is-valid-app-0.1.2.tgz",
- "integrity": "sha1-L2fLs7r2TWWccNBD/JETm1qLlZA=",
- "requires": {
- "debug": "^2.2.0",
- "is-registered": "^0.1.5",
- "is-valid-instance": "^0.1.0",
- "lazy-cache": "^2.0.1"
- }
- },
- "is-valid-instance": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/is-valid-instance/-/is-valid-instance-0.1.0.tgz",
- "integrity": "sha1-etXGo4ht/ffZzHgEnO/yFxqZB7M=",
- "requires": {
- "isobject": "^2.1.0",
- "pascalcase": "^0.1.1"
- }
- },
- "is-windows": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz",
- "integrity": "sha1-3hqm1j6indJIc3tp8f+LgALSEIw="
- },
- "isobject": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
- "requires": {
- "isarray": "1.0.0"
- }
- },
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "^1.1.5"
- }
- },
- "lazy-cache": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
- "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
- "requires": {
- "set-getter": "^0.1.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- },
- "resolve-file": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/resolve-file/-/resolve-file-0.3.0.tgz",
- "integrity": "sha1-EeH7RkVm06fFAMt+lIHo8LAKFO8=",
- "requires": {
- "cwd": "^0.10.0",
- "expand-tilde": "^2.0.2",
- "extend-shallow": "^2.0.1",
- "fs-exists-sync": "^0.1.0",
- "homedir-polyfill": "^1.0.1",
- "lazy-cache": "^2.0.2",
- "resolve": "^1.2.0"
- }
- }
- }
- },
- "base-generators": {
- "version": "0.4.6",
- "resolved": "https://registry.npmjs.org/base-generators/-/base-generators-0.4.6.tgz",
- "integrity": "sha1-4amTYh5bRCr44MgRMVoyb5h8nqY=",
- "requires": {
- "async-each-series": "^1.1.0",
- "base-compose": "^0.2.1",
- "base-cwd": "^0.3.1",
- "base-data": "^0.6.0",
- "base-env": "^0.3.0",
- "base-option": "^0.8.4",
- "base-pkg": "^0.2.4",
- "base-plugins": "^0.4.13",
- "base-task": "^0.6.1",
- "debug": "^2.2.0",
- "define-property": "^0.2.5",
- "extend-shallow": "^2.0.1",
- "global-modules": "^0.2.2",
- "is-valid-app": "^0.2.0",
- "is-valid-instance": "^0.2.0",
- "kind-of": "^3.0.3",
- "lazy-cache": "^2.0.1",
- "mixin-deep": "^1.1.3"
- },
- "dependencies": {
- "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"
- }
- },
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "requires": {
- "is-descriptor": "^0.1.0"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "global-modules": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-0.2.3.tgz",
- "integrity": "sha1-6lo77ULG1s6ZWk+KEmm12uIjgo0=",
- "requires": {
- "global-prefix": "^0.1.4",
- "is-windows": "^0.2.0"
- }
- },
- "global-prefix": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-0.1.5.tgz",
- "integrity": "sha1-jTvGuNo8qBEqFg2NSW/wRiv+948=",
- "requires": {
- "homedir-polyfill": "^1.0.0",
- "ini": "^1.3.4",
- "is-windows": "^0.2.0",
- "which": "^1.2.12"
- }
- },
- "is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
- },
- "is-windows": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz",
- "integrity": "sha1-3hqm1j6indJIc3tp8f+LgALSEIw="
- },
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "^1.1.5"
- }
- },
- "lazy-cache": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
- "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
- "requires": {
- "set-getter": "^0.1.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- }
- }
- },
- "base-helpers": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/base-helpers/-/base-helpers-0.1.1.tgz",
- "integrity": "sha1-2k4eKy+ACOzc6T8R79223gYzP7M=",
- "requires": {
- "debug": "^2.2.0",
- "define-property": "^0.2.5",
- "is-valid-app": "^0.1.0",
- "lazy-cache": "^2.0.1",
- "load-helpers": "^0.2.11"
- },
- "dependencies": {
- "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"
- }
- },
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "requires": {
- "is-descriptor": "^0.1.0"
- }
- },
- "is-valid-app": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/is-valid-app/-/is-valid-app-0.1.2.tgz",
- "integrity": "sha1-L2fLs7r2TWWccNBD/JETm1qLlZA=",
- "requires": {
- "debug": "^2.2.0",
- "is-registered": "^0.1.5",
- "is-valid-instance": "^0.1.0",
- "lazy-cache": "^2.0.1"
- }
- },
- "is-valid-instance": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/is-valid-instance/-/is-valid-instance-0.1.0.tgz",
- "integrity": "sha1-etXGo4ht/ffZzHgEnO/yFxqZB7M=",
- "requires": {
- "isobject": "^2.1.0",
- "pascalcase": "^0.1.1"
- }
- },
- "isobject": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
- "requires": {
- "isarray": "1.0.0"
- }
- },
- "lazy-cache": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
- "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
- "requires": {
- "set-getter": "^0.1.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- }
- }
- },
- "base-namespace": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/base-namespace/-/base-namespace-0.2.0.tgz",
- "integrity": "sha1-RLLLumZ1Y8xE5trrTv5AO7CrPaA=",
- "requires": {
- "is-valid-app": "^0.1.0"
- },
- "dependencies": {
- "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"
- }
- },
- "is-valid-app": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/is-valid-app/-/is-valid-app-0.1.2.tgz",
- "integrity": "sha1-L2fLs7r2TWWccNBD/JETm1qLlZA=",
- "requires": {
- "debug": "^2.2.0",
- "is-registered": "^0.1.5",
- "is-valid-instance": "^0.1.0",
- "lazy-cache": "^2.0.1"
- }
- },
- "is-valid-instance": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/is-valid-instance/-/is-valid-instance-0.1.0.tgz",
- "integrity": "sha1-etXGo4ht/ffZzHgEnO/yFxqZB7M=",
- "requires": {
- "isobject": "^2.1.0",
- "pascalcase": "^0.1.1"
- }
- },
- "isobject": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
- "requires": {
- "isarray": "1.0.0"
- }
- },
- "lazy-cache": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
- "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
- "requires": {
- "set-getter": "^0.1.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- }
- }
- },
- "base-option": {
- "version": "0.8.4",
- "resolved": "https://registry.npmjs.org/base-option/-/base-option-0.8.4.tgz",
- "integrity": "sha1-EUF/qSRPInpNU3tNKRcjRieH1cc=",
- "requires": {
- "define-property": "^0.2.5",
- "get-value": "^2.0.6",
- "is-valid-app": "^0.2.0",
- "isobject": "^2.1.0",
- "lazy-cache": "^2.0.1",
- "mixin-deep": "^1.1.3",
- "option-cache": "^3.4.0",
- "set-value": "^0.3.3"
- },
- "dependencies": {
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "requires": {
- "is-descriptor": "^0.1.0"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "isobject": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
- "requires": {
- "isarray": "1.0.0"
- }
- },
- "lazy-cache": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
- "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
- "requires": {
- "set-getter": "^0.1.0"
- }
- },
- "set-value": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.3.3.tgz",
- "integrity": "sha1-uBIjaBY4oQiP2IpDW4qdMtro2bo=",
- "requires": {
- "extend-shallow": "^2.0.1",
- "isobject": "^2.0.0",
- "to-object-path": "^0.2.0"
- }
- },
- "to-object-path": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.2.0.tgz",
- "integrity": "sha1-FjThtSqIugDjlJYZ/ACB3Jo7B8o=",
- "requires": {
- "arr-flatten": "^1.0.1",
- "is-arguments": "^1.0.2"
- }
- }
- }
- },
- "base-pkg": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/base-pkg/-/base-pkg-0.2.5.tgz",
- "integrity": "sha512-/POxajlgBhVsknwLXnqnbp//bAMh7SkDgHF+z/uoYnFqk46e05c3MxSEmn5vFCB8g4rHHKxAPLKrU/4Yb3vUdA==",
- "requires": {
- "cache-base": "^1.0.0",
- "debug": "^2.6.8",
- "define-property": "^1.0.0",
- "expand-pkg": "^0.1.8",
- "extend-shallow": "^2.0.1",
- "is-valid-app": "^0.3.0",
- "log-utils": "^0.2.1",
- "pkg-store": "^0.2.2"
- },
- "dependencies": {
- "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"
- }
- },
- "define-property": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
- "requires": {
- "is-descriptor": "^1.0.0"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "requires": {
- "is-accessor-descriptor": "^1.0.0",
- "is-data-descriptor": "^1.0.0",
- "kind-of": "^6.0.2"
- }
- },
- "is-valid-app": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/is-valid-app/-/is-valid-app-0.3.0.tgz",
- "integrity": "sha1-eBBrdR88oyOF+0VJK/KUF7WZPIA=",
- "requires": {
- "debug": "^2.6.3",
- "is-registered": "^0.1.5",
- "is-valid-instance": "^0.3.0",
- "lazy-cache": "^2.0.2"
- }
- },
- "is-valid-instance": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/is-valid-instance/-/is-valid-instance-0.3.0.tgz",
- "integrity": "sha1-9KxzAjxNTYubw7PsPmZjBRbijp4=",
- "requires": {
- "isobject": "^3.0.0",
- "pascalcase": "^0.1.1"
- }
- },
- "lazy-cache": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
- "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
- "requires": {
- "set-getter": "^0.1.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- }
- }
- },
- "base-plugins": {
- "version": "0.4.13",
- "resolved": "https://registry.npmjs.org/base-plugins/-/base-plugins-0.4.13.tgz",
- "integrity": "sha1-kd8XjcN/hoQt6ihteeSPuGtarD0=",
- "requires": {
- "define-property": "^0.2.5",
- "is-registered": "^0.1.5",
- "isobject": "^2.1.0"
- },
- "dependencies": {
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "requires": {
- "is-descriptor": "^0.1.0"
- }
- },
- "isobject": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
- "requires": {
- "isarray": "1.0.0"
- }
- }
- }
- },
- "base-questions": {
- "version": "0.7.4",
- "resolved": "https://registry.npmjs.org/base-questions/-/base-questions-0.7.4.tgz",
- "integrity": "sha1-9k+EgmHtbIKPSYPXgS9A0wN4IUY=",
- "requires": {
- "base-store": "^0.4.4",
- "clone-deep": "^0.2.4",
- "debug": "^2.2.0",
- "define-property": "^0.2.5",
- "is-valid-app": "^0.2.0",
- "isobject": "^2.1.0",
- "lazy-cache": "^2.0.1",
- "mixin-deep": "^1.1.3",
- "question-store": "^0.11.0"
- },
- "dependencies": {
- "clone-deep": {
- "version": "0.2.4",
- "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-0.2.4.tgz",
- "integrity": "sha1-TnPdCen7lxzDhnDF3O2cGJZIHMY=",
- "requires": {
- "for-own": "^0.1.3",
- "is-plain-object": "^2.0.1",
- "kind-of": "^3.0.2",
- "lazy-cache": "^1.0.3",
- "shallow-clone": "^0.1.2"
- },
- "dependencies": {
- "lazy-cache": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz",
- "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4="
- }
- }
- },
- "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"
- }
- },
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "requires": {
- "is-descriptor": "^0.1.0"
- }
- },
- "for-own": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
- "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
- "requires": {
- "for-in": "^1.0.1"
- }
- },
- "is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
- },
- "isobject": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
- "requires": {
- "isarray": "1.0.0"
- }
- },
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "^1.1.5"
- }
- },
- "lazy-cache": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
- "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
- "requires": {
- "set-getter": "^0.1.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- },
- "shallow-clone": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-0.1.2.tgz",
- "integrity": "sha1-WQnodLp3EG1zrEFM/sH/yofZcGA=",
- "requires": {
- "is-extendable": "^0.1.1",
- "kind-of": "^2.0.1",
- "lazy-cache": "^0.2.3",
- "mixin-object": "^2.0.1"
- },
- "dependencies": {
- "kind-of": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-2.0.1.tgz",
- "integrity": "sha1-AY7HpM5+OobLkUG+UZ0kyPqpgbU=",
- "requires": {
- "is-buffer": "^1.0.2"
- }
- },
- "lazy-cache": {
- "version": "0.2.7",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-0.2.7.tgz",
- "integrity": "sha1-f+3fLctu23fRHvHRF6tf/fCrG2U="
- }
- }
- }
- }
- },
- "base-routes": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/base-routes/-/base-routes-0.2.2.tgz",
- "integrity": "sha1-CmFNFy1JBF2Mk4dxP4YN88QFNB4=",
- "requires": {
- "debug": "^2.2.0",
- "en-route": "^0.7.5",
- "is-valid-app": "^0.2.0",
- "lazy-cache": "^2.0.1",
- "template-error": "^0.1.2"
- },
- "dependencies": {
- "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"
- }
- },
- "lazy-cache": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
- "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
- "requires": {
- "set-getter": "^0.1.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- }
- }
- },
- "base-runtimes": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/base-runtimes/-/base-runtimes-0.2.0.tgz",
- "integrity": "sha1-GI4+ZoJMyxWYsyh7TqW5NaG4UEU=",
- "requires": {
- "extend-shallow": "^2.0.1",
- "is-valid-app": "^0.2.0",
- "lazy-cache": "^2.0.1",
- "log-utils": "^0.1.4",
- "micromatch": "^2.3.10",
- "time-diff": "^0.3.1"
- },
- "dependencies": {
- "ansi-colors": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-0.1.0.tgz",
- "integrity": "sha1-M0rDbNPq1wjeXGnhmpjRhkImtD8=",
- "requires": {
- "ansi-bgblack": "^0.1.1",
- "ansi-bgblue": "^0.1.1",
- "ansi-bgcyan": "^0.1.1",
- "ansi-bggreen": "^0.1.1",
- "ansi-bgmagenta": "^0.1.1",
- "ansi-bgred": "^0.1.1",
- "ansi-bgwhite": "^0.1.1",
- "ansi-bgyellow": "^0.1.1",
- "ansi-black": "^0.1.1",
- "ansi-blue": "^0.1.1",
- "ansi-bold": "^0.1.1",
- "ansi-cyan": "^0.1.1",
- "ansi-dim": "^0.1.1",
- "ansi-gray": "^0.1.1",
- "ansi-green": "^0.1.1",
- "ansi-grey": "^0.1.1",
- "ansi-hidden": "^0.1.1",
- "ansi-inverse": "^0.1.1",
- "ansi-italic": "^0.1.1",
- "ansi-magenta": "^0.1.1",
- "ansi-red": "^0.1.1",
- "ansi-reset": "^0.1.1",
- "ansi-strikethrough": "^0.1.1",
- "ansi-underline": "^0.1.1",
- "ansi-white": "^0.1.1",
- "ansi-yellow": "^0.1.1",
- "lazy-cache": "^0.2.4"
- },
- "dependencies": {
- "lazy-cache": {
- "version": "0.2.7",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-0.2.7.tgz",
- "integrity": "sha1-f+3fLctu23fRHvHRF6tf/fCrG2U="
- }
- }
- },
- "arr-diff": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
- "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
- "requires": {
- "arr-flatten": "^1.0.1"
- }
- },
- "array-unique": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
- "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM="
- },
- "braces": {
- "version": "1.8.5",
- "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
- "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
- "requires": {
- "expand-range": "^1.8.1",
- "preserve": "^0.2.0",
- "repeat-element": "^1.1.2"
- }
- },
- "expand-brackets": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
- "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
- "requires": {
- "is-posix-bracket": "^0.1.0"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "extglob": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
- "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
- "requires": {
- "is-extglob": "^1.0.0"
- }
- },
- "is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
- },
- "is-extglob": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
- "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA="
- },
- "is-glob": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
- "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
- "requires": {
- "is-extglob": "^1.0.0"
- }
- },
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "^1.1.5"
- }
- },
- "lazy-cache": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
- "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
- "requires": {
- "set-getter": "^0.1.0"
- }
- },
- "log-utils": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/log-utils/-/log-utils-0.1.5.tgz",
- "integrity": "sha1-3g84+Vf0zW69Xctoddijua4HT3c=",
- "requires": {
- "ansi-colors": "^0.1.0",
- "error-symbol": "^0.1.0",
- "info-symbol": "^0.1.0",
- "log-ok": "^0.1.1",
- "success-symbol": "^0.1.0",
- "time-stamp": "^1.0.1",
- "warning-symbol": "^0.1.0"
- }
- },
- "micromatch": {
- "version": "2.3.11",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
- "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
- "requires": {
- "arr-diff": "^2.0.0",
- "array-unique": "^0.2.1",
- "braces": "^1.8.2",
- "expand-brackets": "^0.1.4",
- "extglob": "^0.3.1",
- "filename-regex": "^2.0.0",
- "is-extglob": "^1.0.0",
- "is-glob": "^2.0.1",
- "kind-of": "^3.0.2",
- "normalize-path": "^2.0.1",
- "object.omit": "^2.0.0",
- "parse-glob": "^3.0.4",
- "regex-cache": "^0.4.2"
- }
- }
- }
- },
- "base-store": {
- "version": "0.4.4",
- "resolved": "https://registry.npmjs.org/base-store/-/base-store-0.4.4.tgz",
- "integrity": "sha1-JY32uKYu4G/xUADJSdD9fCi68mY=",
- "requires": {
- "data-store": "^0.16.0",
- "debug": "^2.2.0",
- "extend-shallow": "^2.0.1",
- "is-registered": "^0.1.4",
- "is-valid-instance": "^0.1.0",
- "lazy-cache": "^2.0.1",
- "project-name": "^0.2.5"
- },
- "dependencies": {
- "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"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "is-valid-instance": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/is-valid-instance/-/is-valid-instance-0.1.0.tgz",
- "integrity": "sha1-etXGo4ht/ffZzHgEnO/yFxqZB7M=",
- "requires": {
- "isobject": "^2.1.0",
- "pascalcase": "^0.1.1"
- }
- },
- "isobject": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
- "requires": {
- "isarray": "1.0.0"
- }
- },
- "lazy-cache": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
- "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
- "requires": {
- "set-getter": "^0.1.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- }
- }
- },
- "base-task": {
- "version": "0.6.2",
- "resolved": "https://registry.npmjs.org/base-task/-/base-task-0.6.2.tgz",
- "integrity": "sha1-Rn1guuBzezuJab/1f6RElJiZgcA=",
- "requires": {
- "composer": "^0.13.0",
- "is-valid-app": "^0.1.0"
- },
- "dependencies": {
- "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"
- }
- },
- "is-valid-app": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/is-valid-app/-/is-valid-app-0.1.2.tgz",
- "integrity": "sha1-L2fLs7r2TWWccNBD/JETm1qLlZA=",
- "requires": {
- "debug": "^2.2.0",
- "is-registered": "^0.1.5",
- "is-valid-instance": "^0.1.0",
- "lazy-cache": "^2.0.1"
- }
- },
- "is-valid-instance": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/is-valid-instance/-/is-valid-instance-0.1.0.tgz",
- "integrity": "sha1-etXGo4ht/ffZzHgEnO/yFxqZB7M=",
- "requires": {
- "isobject": "^2.1.0",
- "pascalcase": "^0.1.1"
- }
- },
- "isobject": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
- "requires": {
- "isarray": "1.0.0"
- }
- },
- "lazy-cache": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
- "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
- "requires": {
- "set-getter": "^0.1.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- }
- }
- },
- "base64-arraybuffer": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz",
- "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=",
- "dev": true
- },
"base64-js": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz",
"integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g=="
},
- "base64id": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz",
- "integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=",
- "dev": true
- },
"base64url": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/base64url/-/base64url-3.0.1.tgz",
@@ -4844,31 +3722,6 @@
"tweetnacl": "^0.14.3"
}
},
- "better-assert": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz",
- "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=",
- "dev": true,
- "requires": {
- "callsite": "1.0.0"
- }
- },
- "bfj-node4": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/bfj-node4/-/bfj-node4-5.3.1.tgz",
- "integrity": "sha512-SOmOsowQWfXc7ybFARsK3C4MCOWzERaOMV/Fl3Tgjs+5dJWyzo3oa127jL44eMbQiAN17J7SvAs2TRxEScTUmg==",
- "dev": true,
- "requires": {
- "bluebird": "^3.5.1",
- "check-types": "^7.3.0",
- "tryer": "^1.0.0"
- }
- },
- "big.js": {
- "version": "5.2.2",
- "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
- "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ=="
- },
"bignumber.js": {
"version": "7.2.1",
"resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-7.2.1.tgz",
@@ -4912,19 +3765,6 @@
"find-versions": "^3.0.0"
},
"dependencies": {
- "cross-spawn": {
- "version": "6.0.5",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
- "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
- "optional": true,
- "requires": {
- "nice-try": "^1.0.4",
- "path-key": "^2.0.1",
- "semver": "^5.5.0",
- "shebang-command": "^1.2.0",
- "which": "^1.2.9"
- }
- },
"execa": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
@@ -4939,18 +3779,6 @@
"signal-exit": "^3.0.0",
"strip-eof": "^1.0.0"
}
- },
- "path-key": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
- "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
- "optional": true
- },
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
- "optional": true
}
}
},
@@ -5176,35 +4004,11 @@
"safe-buffer": "^5.1.1"
}
},
- "blob": {
- "version": "0.0.5",
- "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz",
- "integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==",
- "dev": true
- },
- "block-stream": {
- "version": "0.0.9",
- "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz",
- "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=",
- "requires": {
- "inherits": "~2.0.0"
- }
- },
"bluebird": {
"version": "3.5.5",
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz",
"integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w=="
},
- "blueimp-md5": {
- "version": "2.12.0",
- "resolved": "https://registry.npmjs.org/blueimp-md5/-/blueimp-md5-2.12.0.tgz",
- "integrity": "sha512-zo+HIdIhzojv6F1siQPqPFROyVy7C50KzHv/k/Iz+BtvtVzSHXiMXOpq2wCfNkeBqdCv+V8XOV96tsEt2W/3rQ=="
- },
- "bn.js": {
- "version": "4.11.8",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
- "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA=="
- },
"body-parser": {
"version": "1.19.0",
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
@@ -5255,23 +4059,6 @@
"hoek": "2.x.x"
}
},
- "bootstrap": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.3.1.tgz",
- "integrity": "sha512-rXqOmH1VilAt2DyPzluTi2blhk17bO7ef+zLLPlWvG494pDxcM234pJ8wTc/6R40UWizAIIMgxjvxZg5kmsbag=="
- },
- "bootstrap-vue": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/bootstrap-vue/-/bootstrap-vue-2.0.2.tgz",
- "integrity": "sha512-hbGJjc/om9JfVNUFK76dnh+YutlZdZlKbpWw6OE9gHTkmbwstP/KxxELpZZgK/4SYtdxUPt/6W1CvdaeT1bNvQ==",
- "requires": {
- "@nuxt/opencollective": "^0.3.0",
- "bootstrap": ">=4.3.1 <5.0.0",
- "popper.js": "^1.15.0",
- "portal-vue": "^2.1.6",
- "vue-functional-data-merge": "^3.1.0"
- }
- },
"bowser": {
"version": "2.6.1",
"resolved": "https://registry.npmjs.org/bowser/-/bowser-2.6.1.tgz",
@@ -5361,86 +4148,17 @@
}
}
},
- "brorand": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
- "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8="
- },
"browser-stdout": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz",
"integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==",
"dev": true
},
- "browserify-aes": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
- "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
- "requires": {
- "buffer-xor": "^1.0.3",
- "cipher-base": "^1.0.0",
- "create-hash": "^1.1.0",
- "evp_bytestokey": "^1.0.3",
- "inherits": "^2.0.1",
- "safe-buffer": "^5.0.1"
- }
- },
- "browserify-cipher": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
- "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
- "requires": {
- "browserify-aes": "^1.0.4",
- "browserify-des": "^1.0.0",
- "evp_bytestokey": "^1.0.0"
- }
- },
- "browserify-des": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz",
- "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==",
- "requires": {
- "cipher-base": "^1.0.1",
- "des.js": "^1.0.0",
- "inherits": "^2.0.1",
- "safe-buffer": "^5.1.2"
- }
- },
- "browserify-rsa": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
- "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=",
- "requires": {
- "bn.js": "^4.1.0",
- "randombytes": "^2.0.1"
- }
- },
- "browserify-sign": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz",
- "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=",
- "requires": {
- "bn.js": "^4.1.1",
- "browserify-rsa": "^4.0.0",
- "create-hash": "^1.1.0",
- "create-hmac": "^1.1.2",
- "elliptic": "^6.0.0",
- "inherits": "^2.0.1",
- "parse-asn1": "^5.0.0"
- }
- },
- "browserify-zlib": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
- "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
- "requires": {
- "pako": "~1.0.5"
- }
- },
"browserslist": {
"version": "4.7.0",
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.7.0.tgz",
"integrity": "sha512-9rGNDtnj+HaahxiVV38Gn8n8Lr8REKsel68v1sPFfIGEK6uSXTY3h9acgiT1dZVtOOUtifo/Dn8daDQ5dUgVsA==",
+ "dev": true,
"requires": {
"caniuse-lite": "^1.0.30000989",
"electron-to-chromium": "^1.3.247",
@@ -5466,6 +4184,7 @@
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz",
"integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==",
+ "optional": true,
"requires": {
"buffer-alloc-unsafe": "^1.1.0",
"buffer-fill": "^1.0.0"
@@ -5474,7 +4193,8 @@
"buffer-alloc-unsafe": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz",
- "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg=="
+ "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==",
+ "optional": true
},
"buffer-crc32": {
"version": "0.2.13",
@@ -5494,34 +4214,19 @@
"buffer-fill": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz",
- "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw="
+ "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=",
+ "optional": true
},
"buffer-from": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
"integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A=="
},
- "buffer-shims": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz",
- "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=",
- "dev": true
- },
- "buffer-xor": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
- "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk="
- },
"builtin-modules": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.1.0.tgz",
"integrity": "sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw=="
},
- "builtin-status-codes": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
- "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug="
- },
"bytes": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
@@ -5577,36 +4282,12 @@
}
}
},
- "caller-path": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz",
- "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=",
- "dev": true,
- "requires": {
- "callsites": "^0.2.0"
- }
- },
- "callsite": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz",
- "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=",
- "dev": true
- },
"callsites": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz",
- "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
"dev": true
},
- "camel-case": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz",
- "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=",
- "requires": {
- "no-case": "^2.2.0",
- "upper-case": "^1.1.1"
- }
- },
"camelcase": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
@@ -5633,37 +4314,11 @@
"resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.0.tgz",
"integrity": "sha1-FkpUg+Yw+kMh5a8HAg5TGDGyYJs="
},
- "caniuse-api": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-1.6.1.tgz",
- "integrity": "sha1-tTTnxzTE+B7F++isoq0kNUuWLGw=",
- "requires": {
- "browserslist": "^1.3.6",
- "caniuse-db": "^1.0.30000529",
- "lodash.memoize": "^4.1.2",
- "lodash.uniq": "^4.5.0"
- },
- "dependencies": {
- "browserslist": {
- "version": "1.7.7",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz",
- "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=",
- "requires": {
- "caniuse-db": "^1.0.30000639",
- "electron-to-chromium": "^1.2.7"
- }
- }
- }
- },
- "caniuse-db": {
- "version": "1.0.30000997",
- "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000997.tgz",
- "integrity": "sha512-rK1Jo9VT5F/cJ333iLURdNXecYvVn3erJheoPAETrccJVw4w/557HfkNPADB5agHKjGuhJETf1l6lssvgbqA0Q=="
- },
"caniuse-lite": {
"version": "1.0.30000997",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000997.tgz",
- "integrity": "sha512-BQLFPIdj2ntgBNWp9Q64LGUIEmvhKkzzHhUHR3CD5A9Lb7ZKF20/+sgadhFap69lk5XmK1fTUleDclaRFvgVUA=="
+ "integrity": "sha512-BQLFPIdj2ntgBNWp9Q64LGUIEmvhKkzzHhUHR3CD5A9Lb7ZKF20/+sgadhFap69lk5XmK1fTUleDclaRFvgVUA==",
+ "dev": true
},
"capture-stack-trace": {
"version": "1.0.1",
@@ -5730,15 +4385,6 @@
"resolved": "https://registry.npmjs.org/cdata/-/cdata-0.1.3.tgz",
"integrity": "sha512-z0R4cT5357OEAVkP1CEFTHz1egpu2gYiWm2WJOY/sQDhojEXUYL4m3v2kYi5wER3PkMRL+GgfDhed2kGzrHSZA=="
},
- "center-align": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz",
- "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=",
- "requires": {
- "align-text": "^0.1.3",
- "lazy-cache": "^1.0.3"
- }
- },
"chai": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz",
@@ -5762,57 +4408,6 @@
"check-error": "^1.0.2"
}
},
- "chai-dom": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/chai-dom/-/chai-dom-1.8.1.tgz",
- "integrity": "sha512-ysWinPU3fc+Bp+xMn/u2/PQyk65jnnCZl0alWupUuFFMGaG+KxrUnsoYOgjMDhSKPkm3WqE/5RTnOowIb7asMg==",
- "dev": true
- },
- "chai-jquery": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/chai-jquery/-/chai-jquery-2.1.0.tgz",
- "integrity": "sha512-DiKSXcmInlt4d+WC5PkisDL5MsgJPd1lCSfZ3NgeSZJ34CJntEIpPOCdpalH2IhOWHeLpESJaiuHFxX1dpZ6bw==",
- "dev": true
- },
- "chai-nightwatch": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/chai-nightwatch/-/chai-nightwatch-0.3.0.tgz",
- "integrity": "sha512-NHpHLKQO0M7uNVJ10qlPIzHN9+6f873kYh6dYAn291a1CVESrrH6crbTJwZ3376trtzb6HPa80QYt3gMTL1o4g==",
- "dev": true,
- "requires": {
- "assertion-error": "1.0.0",
- "deep-eql": "0.1.3"
- },
- "dependencies": {
- "assertion-error": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.0.0.tgz",
- "integrity": "sha1-x/hUOP3UZrx8oWq5DIFRN5el0js=",
- "dev": true
- },
- "deep-eql": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz",
- "integrity": "sha1-71WKyrjeJSBs1xOQbXTlaTDrafI=",
- "dev": true,
- "requires": {
- "type-detect": "0.1.1"
- }
- },
- "type-detect": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz",
- "integrity": "sha1-C6XsKohWQORw6k6FBZcZANrFiCI=",
- "dev": true
- }
- }
- },
- "chai-things": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/chai-things/-/chai-things-0.2.0.tgz",
- "integrity": "sha1-xVEoN4+bs5nplPAAUhUZhO1uvnA=",
- "dev": true
- },
"chalk": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
@@ -5841,18 +4436,10 @@
}
}
},
- "character-parser": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/character-parser/-/character-parser-2.2.0.tgz",
- "integrity": "sha1-x84o821LzZdE5f/CxfzeHHMmH8A=",
- "requires": {
- "is-regex": "^1.0.3"
- }
- },
"chardet": {
- "version": "0.4.2",
- "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz",
- "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=",
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
+ "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
"dev": true
},
"check-error": {
@@ -5861,12 +4448,6 @@
"integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=",
"dev": true
},
- "check-types": {
- "version": "7.4.0",
- "resolved": "https://registry.npmjs.org/check-types/-/check-types-7.4.0.tgz",
- "integrity": "sha512-YbulWHdfP99UfZ73NcUDlNJhEIDgm9Doq9GhpyXbF+7Aegi3CVV7qqMCKTTqJxlvEvnQBp9IA+dxsGN6xK/nSg==",
- "dev": true
- },
"cheerio": {
"version": "0.19.0",
"resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.19.0.tgz",
@@ -6007,172 +4588,11 @@
"resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz",
"integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw=="
},
- "chromedriver": {
- "version": "77.0.0",
- "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-77.0.0.tgz",
- "integrity": "sha512-mZa1IVx4HD8rDaItWbnS470mmypgiWsDiu98r0NkiT4uLm3qrANl4vOU6no6vtWtLQiW5kt1POcIbjeNpsLbXA==",
- "dev": true,
- "requires": {
- "del": "^4.1.1",
- "extract-zip": "^1.6.7",
- "mkdirp": "^0.5.1",
- "request": "^2.88.0",
- "tcp-port-used": "^1.0.1"
- },
- "dependencies": {
- "assert-plus": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
- "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
- "dev": true
- },
- "aws-sign2": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
- "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
- "dev": true
- },
- "caseless": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
- "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
- "dev": true
- },
- "form-data": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
- "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
- "dev": true,
- "requires": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.6",
- "mime-types": "^2.1.12"
- }
- },
- "har-validator": {
- "version": "5.1.3",
- "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
- "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
- "dev": true,
- "requires": {
- "ajv": "^6.5.5",
- "har-schema": "^2.0.0"
- }
- },
- "http-signature": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
- "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
- "dev": true,
- "requires": {
- "assert-plus": "^1.0.0",
- "jsprim": "^1.2.2",
- "sshpk": "^1.7.0"
- }
- },
- "oauth-sign": {
- "version": "0.9.0",
- "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
- "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
- "dev": true
- },
- "qs": {
- "version": "6.5.2",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
- "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
- "dev": true
- },
- "request": {
- "version": "2.88.0",
- "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz",
- "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",
- "dev": true,
- "requires": {
- "aws-sign2": "~0.7.0",
- "aws4": "^1.8.0",
- "caseless": "~0.12.0",
- "combined-stream": "~1.0.6",
- "extend": "~3.0.2",
- "forever-agent": "~0.6.1",
- "form-data": "~2.3.2",
- "har-validator": "~5.1.0",
- "http-signature": "~1.2.0",
- "is-typedarray": "~1.0.0",
- "isstream": "~0.1.2",
- "json-stringify-safe": "~5.0.1",
- "mime-types": "~2.1.19",
- "oauth-sign": "~0.9.0",
- "performance-now": "^2.1.0",
- "qs": "~6.5.2",
- "safe-buffer": "^5.1.2",
- "tough-cookie": "~2.4.3",
- "tunnel-agent": "^0.6.0",
- "uuid": "^3.3.2"
- }
- },
- "tough-cookie": {
- "version": "2.4.3",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
- "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
- "dev": true,
- "requires": {
- "psl": "^1.1.24",
- "punycode": "^1.4.1"
- }
- },
- "tunnel-agent": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
- "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
- "dev": true,
- "requires": {
- "safe-buffer": "^5.0.1"
- }
- }
- }
- },
"ci-info": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz",
"integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A=="
},
- "cipher-base": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
- "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
- "requires": {
- "inherits": "^2.0.1",
- "safe-buffer": "^5.0.1"
- }
- },
- "circular-json": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz",
- "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==",
- "dev": true
- },
- "clap": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/clap/-/clap-1.2.3.tgz",
- "integrity": "sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA==",
- "requires": {
- "chalk": "^1.1.3"
- },
- "dependencies": {
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- }
- }
- }
- },
"class-utils": {
"version": "0.3.6",
"resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
@@ -6194,14 +4614,6 @@
}
}
},
- "clean-css": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.1.tgz",
- "integrity": "sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g==",
- "requires": {
- "source-map": "~0.6.0"
- }
- },
"cli-boxes": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz",
@@ -6211,20 +4623,11 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
"integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
+ "dev": true,
"requires": {
"restore-cursor": "^2.0.0"
}
},
- "cli-spinners": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.2.0.tgz",
- "integrity": "sha512-tgU3fKwzYjiLEQgPMD9Jt+JjHVL9kW93FiIMX/l7rivvOD4/LL0Mf7gda3+4U2KJBloybwgj5KEoQgGRioMiKQ=="
- },
- "cli-width": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-1.1.1.tgz",
- "integrity": "sha1-pNKT72frt7iNSk1CwMzwDE0eNm0="
- },
"cliui": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
@@ -6245,16 +4648,6 @@
"resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz",
"integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg="
},
- "clone-deep": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz",
- "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==",
- "requires": {
- "is-plain-object": "^2.0.4",
- "kind-of": "^6.0.2",
- "shallow-clone": "^3.0.0"
- }
- },
"clone-response": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz",
@@ -6284,19 +4677,16 @@
"integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ="
},
"coa": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/coa/-/coa-1.0.4.tgz",
- "integrity": "sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz",
+ "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==",
+ "optional": true,
"requires": {
+ "@types/q": "^1.5.1",
+ "chalk": "^2.4.1",
"q": "^1.1.2"
}
},
- "coalescy": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/coalescy/-/coalescy-1.0.0.tgz",
- "integrity": "sha1-SwZYRrg2NhrabEtKSr9LwcrDG/E=",
- "dev": true
- },
"code-point-at": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
@@ -6357,36 +4747,6 @@
"resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
"integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg=="
},
- "colormin": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/colormin/-/colormin-1.1.2.tgz",
- "integrity": "sha1-6i90IKcrlogaOKrlnsEkpvcpgTM=",
- "requires": {
- "color": "^0.11.0",
- "css-color-names": "0.0.4",
- "has": "^1.0.1"
- },
- "dependencies": {
- "color": {
- "version": "0.11.4",
- "resolved": "https://registry.npmjs.org/color/-/color-0.11.4.tgz",
- "integrity": "sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=",
- "requires": {
- "clone": "^1.0.2",
- "color-convert": "^1.3.0",
- "color-string": "^0.3.0"
- }
- },
- "color-string": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz",
- "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=",
- "requires": {
- "color-name": "^1.0.0"
- }
- }
- }
- },
"colornames": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/colornames/-/colornames-1.1.1.tgz",
@@ -6419,178 +4779,10 @@
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz",
"integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ=="
},
- "common-config": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/common-config/-/common-config-0.1.0.tgz",
- "integrity": "sha1-0fGnQa+gy/al7wl1K9/C5nfYtO8=",
- "requires": {
- "composer": "^0.13.0",
- "data-store": "^0.16.1",
- "get-value": "^2.0.6",
- "lazy-cache": "^2.0.1",
- "log-utils": "^0.2.0",
- "object.pick": "^1.1.2",
- "omit-empty": "^0.4.1",
- "question-cache": "^0.4.0",
- "set-value": "^0.3.3",
- "strip-color": "^0.1.0",
- "tableize-object": "^0.1.0",
- "text-table": "^0.2.0",
- "yargs-parser": "^2.4.0"
- },
- "dependencies": {
- "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"
- }
- },
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "requires": {
- "is-descriptor": "^0.1.0"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "has-value": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
- "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
- "requires": {
- "get-value": "^2.0.3",
- "has-values": "^0.1.4",
- "isobject": "^2.0.0"
- }
- },
- "has-values": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
- "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E="
- },
- "isobject": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
- "requires": {
- "isarray": "1.0.0"
- }
- },
- "lazy-cache": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
- "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
- "requires": {
- "set-getter": "^0.1.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- },
- "question-cache": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/question-cache/-/question-cache-0.4.0.tgz",
- "integrity": "sha1-4rmTf8X7fcYPu58QXx+iVLM96n0=",
- "requires": {
- "arr-flatten": "^1.0.1",
- "arr-union": "^3.1.0",
- "async": "1.5.2",
- "debug": "^2.2.0",
- "define-property": "^0.2.5",
- "get-value": "^2.0.5",
- "has-value": "^0.3.1",
- "inquirer2": "^0.1.1",
- "is-answer": "^0.1.0",
- "isobject": "^2.0.0",
- "lazy-cache": "^1.0.3",
- "mixin-deep": "^1.1.3",
- "omit-empty": "^0.3.6",
- "option-cache": "^3.3.5",
- "os-homedir": "^1.0.1",
- "project-name": "^0.2.4",
- "set-value": "^0.3.3",
- "to-choices": "^0.2.0",
- "use": "^1.1.2"
- },
- "dependencies": {
- "lazy-cache": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz",
- "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4="
- },
- "omit-empty": {
- "version": "0.3.6",
- "resolved": "https://registry.npmjs.org/omit-empty/-/omit-empty-0.3.6.tgz",
- "integrity": "sha1-bThAXyqmHJEetQT+aIBcVm2FwxY=",
- "requires": {
- "has-values": "^0.1.4",
- "is-date-object": "^1.0.1",
- "isobject": "^2.0.0",
- "reduce-object": "^0.1.3"
- }
- }
- }
- },
- "set-value": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.3.3.tgz",
- "integrity": "sha1-uBIjaBY4oQiP2IpDW4qdMtro2bo=",
- "requires": {
- "extend-shallow": "^2.0.1",
- "isobject": "^2.0.0",
- "to-object-path": "^0.2.0"
- }
- },
- "to-object-path": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.2.0.tgz",
- "integrity": "sha1-FjThtSqIugDjlJYZ/ACB3Jo7B8o=",
- "requires": {
- "arr-flatten": "^1.0.1",
- "is-arguments": "^1.0.2"
- }
- },
- "use": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/use/-/use-1.1.2.tgz",
- "integrity": "sha1-bjgy/rholXNJSsanrLX++zd7LNE=",
- "requires": {
- "define-property": "^0.2.5",
- "isobject": "^2.0.0"
- }
- },
- "yargs-parser": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz",
- "integrity": "sha1-hVaN488VD/SfpRgl8DqMiA3cxcQ=",
- "requires": {
- "camelcase": "^3.0.0",
- "lodash.assign": "^4.0.6"
- }
- }
- }
- },
"commondir": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
- "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs="
- },
- "component-bind": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz",
- "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=",
+ "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
"dev": true
},
"component-emitter": {
@@ -6598,218 +4790,6 @@
"resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
"integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg=="
},
- "component-inherit": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz",
- "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=",
- "dev": true
- },
- "composer": {
- "version": "0.13.0",
- "resolved": "https://registry.npmjs.org/composer/-/composer-0.13.0.tgz",
- "integrity": "sha1-HbyxXxmpBt7uSanD0TfmVLvG0OI=",
- "requires": {
- "array-unique": "^0.2.1",
- "bach": "^0.5.0",
- "co": "^4.6.0",
- "component-emitter": "^1.2.1",
- "define-property": "^0.2.5",
- "extend-shallow": "^2.0.1",
- "is-generator": "^1.0.3",
- "is-glob": "^2.0.1",
- "isobject": "^2.1.0",
- "lazy-cache": "^2.0.1",
- "micromatch": "^2.3.8",
- "nanoseconds": "^0.1.0"
- },
- "dependencies": {
- "arr-diff": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
- "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
- "requires": {
- "arr-flatten": "^1.0.1"
- }
- },
- "array-unique": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
- "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM="
- },
- "async-settle": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/async-settle/-/async-settle-0.2.1.tgz",
- "integrity": "sha1-dnRi1XOACNx16sQkYiNSjyE3E5Y=",
- "requires": {
- "async-done": "^0.4.0"
- },
- "dependencies": {
- "async-done": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/async-done/-/async-done-0.4.0.tgz",
- "integrity": "sha1-q4BT9fYikPi/xY83zZtzBwszB7k=",
- "requires": {
- "end-of-stream": "^0.1.4",
- "next-tick": "^0.2.2",
- "once": "^1.3.0",
- "stream-exhaust": "^1.0.0"
- }
- }
- }
- },
- "bach": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/bach/-/bach-0.5.0.tgz",
- "integrity": "sha1-P/pqN0F3PrwNJL5f2kvF6FtbHaE=",
- "requires": {
- "async-done": "^1.1.1",
- "async-settle": "^0.2.1",
- "lodash.filter": "^4.1.0",
- "lodash.flatten": "^4.0.0",
- "lodash.foreach": "^4.0.0",
- "lodash.initial": "^4.0.1",
- "lodash.last": "^3.0.0",
- "lodash.map": "^4.1.0",
- "now-and-later": "0.0.6"
- }
- },
- "braces": {
- "version": "1.8.5",
- "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
- "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
- "requires": {
- "expand-range": "^1.8.1",
- "preserve": "^0.2.0",
- "repeat-element": "^1.1.2"
- }
- },
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "requires": {
- "is-descriptor": "^0.1.0"
- }
- },
- "end-of-stream": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-0.1.5.tgz",
- "integrity": "sha1-jhdyBsPICDfYVjLouTWd/osvbq8=",
- "requires": {
- "once": "~1.3.0"
- },
- "dependencies": {
- "once": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz",
- "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=",
- "requires": {
- "wrappy": "1"
- }
- }
- }
- },
- "expand-brackets": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
- "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
- "requires": {
- "is-posix-bracket": "^0.1.0"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "extglob": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
- "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
- "requires": {
- "is-extglob": "^1.0.0"
- }
- },
- "is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
- },
- "is-extglob": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
- "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA="
- },
- "is-glob": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
- "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
- "requires": {
- "is-extglob": "^1.0.0"
- }
- },
- "isobject": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
- "requires": {
- "isarray": "1.0.0"
- }
- },
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "^1.1.5"
- }
- },
- "lazy-cache": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
- "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
- "requires": {
- "set-getter": "^0.1.0"
- }
- },
- "micromatch": {
- "version": "2.3.11",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
- "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
- "requires": {
- "arr-diff": "^2.0.0",
- "array-unique": "^0.2.1",
- "braces": "^1.8.2",
- "expand-brackets": "^0.1.4",
- "extglob": "^0.3.1",
- "filename-regex": "^2.0.0",
- "is-extglob": "^1.0.0",
- "is-glob": "^2.0.1",
- "kind-of": "^3.0.2",
- "normalize-path": "^2.0.1",
- "object.omit": "^2.0.0",
- "parse-glob": "^3.0.4",
- "regex-cache": "^0.4.2"
- }
- },
- "next-tick": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-0.2.2.tgz",
- "integrity": "sha1-ddpKkn7liH45BliABltzNkE7MQ0="
- },
- "now-and-later": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/now-and-later/-/now-and-later-0.0.6.tgz",
- "integrity": "sha1-GKFNw/xJXcBs++Ao8AvhbdrE+uo=",
- "requires": {
- "once": "^1.3.0"
- }
- }
- }
- },
"compressible": {
"version": "2.0.17",
"resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.17.tgz",
@@ -6891,54 +4871,12 @@
"xdg-basedir": "^3.0.0"
}
},
- "connect": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz",
- "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==",
- "dev": true,
- "requires": {
- "debug": "2.6.9",
- "finalhandler": "1.1.2",
- "parseurl": "~1.3.3",
- "utils-merge": "1.0.1"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
- "dev": true
- }
- }
- },
- "connect-history-api-fallback": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz",
- "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==",
+ "confusing-browser-globals": {
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.9.tgz",
+ "integrity": "sha512-KbS1Y0jMtyPgIxjO7ZzMAuUpAKMt1SzCL9fsrKsX6b0zJPTaT0SiSPmewwVZg9UAO83HVIlEhZF84LIjZ0lmAw==",
"dev": true
},
- "consola": {
- "version": "2.10.1",
- "resolved": "https://registry.npmjs.org/consola/-/consola-2.10.1.tgz",
- "integrity": "sha512-4sxpH6SGFYLADfUip4vuY65f/gEogrzJoniVhNUYkJHtng0l8ZjnDCqxxrSVRHOHwKxsy8Vm5ONZh1wOR3/l/w=="
- },
- "console-browserify": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz",
- "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=",
- "requires": {
- "date-now": "^0.1.4"
- }
- },
"console-control-strings": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
@@ -6955,34 +4893,11 @@
"integrity": "sha1-oJX+B7IEZZVfL6/Si11yvM2UnUQ=",
"optional": true
},
- "consolidate": {
- "version": "0.14.5",
- "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.14.5.tgz",
- "integrity": "sha1-WiUEe8dvcwcmZ8jLUsmJiI9JTGM=",
- "requires": {
- "bluebird": "^3.1.1"
- }
- },
- "constantinople": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/constantinople/-/constantinople-3.1.2.tgz",
- "integrity": "sha512-yePcBqEFhLOqSBtwYOGGS1exHo/s1xjekXiinh4itpNQGCu4KA1euPh1fg07N2wMITZXQkBz75Ntdt1ctGZouw==",
- "requires": {
- "@types/babel-types": "^7.0.0",
- "@types/babylon": "^6.16.2",
- "babel-types": "^6.26.0",
- "babylon": "^6.18.0"
- }
- },
- "constants-browserify": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
- "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U="
- },
"contains-path": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz",
- "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo="
+ "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=",
+ "dev": true
},
"content-disposition": {
"version": "0.5.3",
@@ -7113,42 +5028,27 @@
"is-plain-object": "^2.0.1"
}
},
- "copy-task": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/copy-task/-/copy-task-0.1.0.tgz",
- "integrity": "sha1-TDT+muVPKq9gntMvhbj3l6H0arY="
- },
"core-js": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz",
- "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A=="
+ "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==",
+ "dev": true
+ },
+ "core-js-compat": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.3.2.tgz",
+ "integrity": "sha512-gfiK4QnNXhnnHVOIZst2XHdFfdMTPxtR0EGs0TdILMlGIft+087oH6/Sw2xTTIjpWXC9vEwsJA8VG3XTGcmO5g==",
+ "dev": true,
+ "requires": {
+ "browserslist": "^4.7.0",
+ "semver": "^6.3.0"
+ }
},
"core-util-is": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
},
- "cosmiconfig": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-2.2.2.tgz",
- "integrity": "sha512-GiNXLwAFPYHy25XmTPpafYvn3CLAkJ8FLsscq78MQd1Kh0OU6Yzhn4eV2MVF4G9WEQZoWEGltatdR+ntGPMl5A==",
- "requires": {
- "is-directory": "^0.3.1",
- "js-yaml": "^3.4.3",
- "minimist": "^1.2.0",
- "object-assign": "^4.1.0",
- "os-homedir": "^1.0.1",
- "parse-json": "^2.2.0",
- "require-from-string": "^1.1.0"
- },
- "dependencies": {
- "minimist": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
- "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
- }
- }
- },
"coupon-code": {
"version": "0.4.5",
"resolved": "https://registry.npmjs.org/coupon-code/-/coupon-code-0.4.5.tgz",
@@ -7157,15 +5057,6 @@
"xtend": "~4.0.0"
}
},
- "create-ecdh": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz",
- "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==",
- "requires": {
- "bn.js": "^4.1.0",
- "elliptic": "^6.0.0"
- }
- },
"create-error-class": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz",
@@ -7174,47 +5065,25 @@
"capture-stack-trace": "^1.0.0"
}
},
- "create-hash": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
- "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
- "requires": {
- "cipher-base": "^1.0.1",
- "inherits": "^2.0.1",
- "md5.js": "^1.3.4",
- "ripemd160": "^2.0.1",
- "sha.js": "^2.4.0"
- }
- },
- "create-hmac": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
- "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
- "requires": {
- "cipher-base": "^1.0.3",
- "create-hash": "^1.1.0",
- "inherits": "^2.0.1",
- "ripemd160": "^2.0.0",
- "safe-buffer": "^5.0.1",
- "sha.js": "^2.4.8"
- }
- },
- "cross-env": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-6.0.0.tgz",
- "integrity": "sha512-G/B6gtkjgthT8AP/xN1wdj5Xe18fVyk58JepK8GxpUbqcz3hyWxegocMbvnZK+KoTslwd0ACZ3woi/DVUdVjyQ==",
- "requires": {
- "cross-spawn": "^7.0.0"
- }
- },
"cross-spawn": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.0.tgz",
- "integrity": "sha512-6U/8SMK2FBNnB21oQ4+6Nsodxanw1gTkntYA2zBdkFYFu3ZDx65P2ONEXGSvob/QS6REjVHQ9zxzdOafwFdstw==",
+ "version": "6.0.5",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
+ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
+ "optional": true,
"requires": {
- "path-key": "^3.1.0",
+ "nice-try": "^1.0.4",
+ "path-key": "^2.0.1",
+ "semver": "^5.5.0",
"shebang-command": "^1.2.0",
"which": "^1.2.9"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "optional": true
+ }
}
},
"cryptiles": {
@@ -7225,114 +5094,16 @@
"boom": "2.x.x"
}
},
- "crypto-browserify": {
- "version": "3.12.0",
- "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
- "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
- "requires": {
- "browserify-cipher": "^1.0.0",
- "browserify-sign": "^4.0.0",
- "create-ecdh": "^4.0.0",
- "create-hash": "^1.1.0",
- "create-hmac": "^1.1.0",
- "diffie-hellman": "^5.0.0",
- "inherits": "^2.0.1",
- "pbkdf2": "^3.0.3",
- "public-encrypt": "^4.0.0",
- "randombytes": "^2.0.0",
- "randomfill": "^1.0.3"
- }
- },
"crypto-random-string": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz",
"integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4="
},
- "css-color-names": {
- "version": "0.0.4",
- "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz",
- "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA="
- },
- "css-loader": {
- "version": "0.28.11",
- "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.28.11.tgz",
- "integrity": "sha512-wovHgjAx8ZIMGSL8pTys7edA1ClmzxHeY6n/d97gg5odgsxEgKjULPR0viqyC+FWMCL9sfqoC/QCUBo62tLvPg==",
- "requires": {
- "babel-code-frame": "^6.26.0",
- "css-selector-tokenizer": "^0.7.0",
- "cssnano": "^3.10.0",
- "icss-utils": "^2.1.0",
- "loader-utils": "^1.0.2",
- "lodash.camelcase": "^4.3.0",
- "object-assign": "^4.1.1",
- "postcss": "^5.0.6",
- "postcss-modules-extract-imports": "^1.2.0",
- "postcss-modules-local-by-default": "^1.2.0",
- "postcss-modules-scope": "^1.1.0",
- "postcss-modules-values": "^1.3.0",
- "postcss-value-parser": "^3.3.0",
- "source-list-map": "^2.0.0"
- },
- "dependencies": {
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
- }
- },
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
- },
- "postcss": {
- "version": "5.2.18",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
- "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
- "requires": {
- "chalk": "^1.1.3",
- "js-base64": "^2.1.9",
- "source-map": "^0.5.6",
- "supports-color": "^3.2.3"
- }
- },
- "postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ=="
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
- "requires": {
- "has-flag": "^1.0.0"
- }
- }
- }
- },
"css-select": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/css-select/-/css-select-2.0.2.tgz",
"integrity": "sha512-dSpYaDVoWaELjvZ3mS6IKZM/y2PMPa/XYoEfYNZePL4U/XgyxZNroHEHReDx/d+VgXh9VbCTtFqLkFbmeqeaRQ==",
+ "optional": true,
"requires": {
"boolbase": "^1.0.0",
"css-what": "^2.1.2",
@@ -7343,34 +5114,14 @@
"css-select-base-adapter": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz",
- "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w=="
- },
- "css-selector-tokenizer": {
- "version": "0.7.1",
- "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.1.tgz",
- "integrity": "sha512-xYL0AMZJ4gFzJQsHUKa5jiWWi2vH77WVNg7JYRyewwj6oPh4yb/y6Y9ZCw9dsj/9UauMhtuxR+ogQd//EdEVNA==",
- "requires": {
- "cssesc": "^0.1.0",
- "fastparse": "^1.1.1",
- "regexpu-core": "^1.0.0"
- },
- "dependencies": {
- "regexpu-core": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz",
- "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=",
- "requires": {
- "regenerate": "^1.2.1",
- "regjsgen": "^0.2.0",
- "regjsparser": "^0.1.4"
- }
- }
- }
+ "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==",
+ "optional": true
},
"css-tree": {
"version": "1.0.0-alpha.33",
"resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.33.tgz",
"integrity": "sha512-SPt57bh5nQnpsTBsx/IXbO14sRc9xXu5MtMAVuo0BaQQmyf0NupNPPSoMaqiAF5tDFafYsTkfeH4Q/HCKXkg4w==",
+ "optional": true,
"requires": {
"mdn-data": "2.0.4",
"source-map": "^0.5.3"
@@ -7379,149 +5130,47 @@
"source-map": {
"version": "0.5.7",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "optional": true
}
}
},
"css-what": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz",
- "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg=="
- },
- "cssesc": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz",
- "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q="
- },
- "cssnano": {
- "version": "3.10.0",
- "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-3.10.0.tgz",
- "integrity": "sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg=",
- "requires": {
- "autoprefixer": "^6.3.1",
- "decamelize": "^1.1.2",
- "defined": "^1.0.0",
- "has": "^1.0.1",
- "object-assign": "^4.0.1",
- "postcss": "^5.0.14",
- "postcss-calc": "^5.2.0",
- "postcss-colormin": "^2.1.8",
- "postcss-convert-values": "^2.3.4",
- "postcss-discard-comments": "^2.0.4",
- "postcss-discard-duplicates": "^2.0.1",
- "postcss-discard-empty": "^2.0.1",
- "postcss-discard-overridden": "^0.1.1",
- "postcss-discard-unused": "^2.2.1",
- "postcss-filter-plugins": "^2.0.0",
- "postcss-merge-idents": "^2.1.5",
- "postcss-merge-longhand": "^2.0.1",
- "postcss-merge-rules": "^2.0.3",
- "postcss-minify-font-values": "^1.0.2",
- "postcss-minify-gradients": "^1.0.1",
- "postcss-minify-params": "^1.0.4",
- "postcss-minify-selectors": "^2.0.4",
- "postcss-normalize-charset": "^1.1.0",
- "postcss-normalize-url": "^3.0.7",
- "postcss-ordered-values": "^2.1.0",
- "postcss-reduce-idents": "^2.2.2",
- "postcss-reduce-initial": "^1.0.0",
- "postcss-reduce-transforms": "^1.0.3",
- "postcss-svgo": "^2.1.1",
- "postcss-unique-selectors": "^2.0.2",
- "postcss-value-parser": "^3.2.3",
- "postcss-zindex": "^2.0.1"
- },
- "dependencies": {
- "autoprefixer": {
- "version": "6.7.7",
- "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz",
- "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=",
- "requires": {
- "browserslist": "^1.7.6",
- "caniuse-db": "^1.0.30000634",
- "normalize-range": "^0.1.2",
- "num2fraction": "^1.2.2",
- "postcss": "^5.2.16",
- "postcss-value-parser": "^3.2.3"
- }
- },
- "browserslist": {
- "version": "1.7.7",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz",
- "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=",
- "requires": {
- "caniuse-db": "^1.0.30000639",
- "electron-to-chromium": "^1.2.7"
- }
- },
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
- }
- },
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
- },
- "postcss": {
- "version": "5.2.18",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
- "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
- "requires": {
- "chalk": "^1.1.3",
- "js-base64": "^2.1.9",
- "source-map": "^0.5.6",
- "supports-color": "^3.2.3"
- }
- },
- "postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ=="
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
- "requires": {
- "has-flag": "^1.0.0"
- }
- }
- }
+ "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==",
+ "optional": true
},
"csso": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/csso/-/csso-2.3.2.tgz",
- "integrity": "sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=",
+ "version": "3.5.1",
+ "resolved": "https://registry.npmjs.org/csso/-/csso-3.5.1.tgz",
+ "integrity": "sha512-vrqULLffYU1Q2tLdJvaCYbONStnfkfimRxXNaGjxMldI0C7JPBC4rB1RyjhfdZ4m1frm8pM9uRPKH3d2knZ8gg==",
+ "optional": true,
"requires": {
- "clap": "^1.0.9",
- "source-map": "^0.5.3"
+ "css-tree": "1.0.0-alpha.29"
},
"dependencies": {
+ "css-tree": {
+ "version": "1.0.0-alpha.29",
+ "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.29.tgz",
+ "integrity": "sha512-sRNb1XydwkW9IOci6iB2xmy8IGCj6r/fr+JWitvJ2JxQRPzN3T4AGGVWCMlVmVwM1gtgALJRmGIlWv5ppnGGkg==",
+ "optional": true,
+ "requires": {
+ "mdn-data": "~1.1.0",
+ "source-map": "^0.5.3"
+ }
+ },
+ "mdn-data": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-1.1.4.tgz",
+ "integrity": "sha512-FSYbp3lyKjyj3E7fMl6rYvUdX0FBXaluGqlFoYESWQlyUTq8R+wp0rkFxoYFqZlHCvsUXGjyJmLQSnXToYhOSA==",
+ "optional": true
+ },
"source-map": {
"version": "0.5.7",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "optional": true
}
}
},
@@ -7538,12 +5187,6 @@
"array-find-index": "^1.0.1"
}
},
- "custom-event": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz",
- "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=",
- "dev": true
- },
"cwait": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/cwait/-/cwait-1.1.2.tgz",
@@ -7552,14 +5195,6 @@
"cdata": "^0.1.1"
}
},
- "cwd": {
- "version": "0.9.1",
- "resolved": "https://registry.npmjs.org/cwd/-/cwd-0.9.1.tgz",
- "integrity": "sha1-QeEKfhq4M9xZwuyoOBTH3ne1pP0=",
- "requires": {
- "find-pkg": "^0.1.0"
- }
- },
"cwise-compiler": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/cwise-compiler/-/cwise-compiler-1.1.3.tgz",
@@ -7602,283 +5237,6 @@
"resolved": "https://registry.npmjs.org/dasherize/-/dasherize-2.0.0.tgz",
"integrity": "sha1-bYCcnNDPe7iVLYD8hPoT1H3bEwg="
},
- "data-store": {
- "version": "0.16.1",
- "resolved": "https://registry.npmjs.org/data-store/-/data-store-0.16.1.tgz",
- "integrity": "sha1-5pwDpcrBXR/zPwJUyWeDZT5ogwQ=",
- "requires": {
- "cache-base": "^0.8.4",
- "clone-deep": "^0.2.4",
- "debug": "^2.2.0",
- "define-property": "^0.2.5",
- "extend-shallow": "^2.0.1",
- "graceful-fs": "^4.1.4",
- "has-own-deep": "^0.1.4",
- "lazy-cache": "^2.0.1",
- "mkdirp": "^0.5.1",
- "project-name": "^0.2.5",
- "resolve-dir": "^0.1.0",
- "rimraf": "^2.5.3",
- "union-value": "^0.2.3"
- },
- "dependencies": {
- "cache-base": {
- "version": "0.8.5",
- "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-0.8.5.tgz",
- "integrity": "sha1-YM6zUEAh7O7HAR/TOEt/TpVym/o=",
- "requires": {
- "collection-visit": "^0.2.1",
- "component-emitter": "^1.2.1",
- "get-value": "^2.0.5",
- "has-value": "^0.3.1",
- "isobject": "^3.0.0",
- "lazy-cache": "^2.0.1",
- "set-value": "^0.4.2",
- "to-object-path": "^0.3.0",
- "union-value": "^0.2.3",
- "unset-value": "^0.1.1"
- }
- },
- "clone-deep": {
- "version": "0.2.4",
- "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-0.2.4.tgz",
- "integrity": "sha1-TnPdCen7lxzDhnDF3O2cGJZIHMY=",
- "requires": {
- "for-own": "^0.1.3",
- "is-plain-object": "^2.0.1",
- "kind-of": "^3.0.2",
- "lazy-cache": "^1.0.3",
- "shallow-clone": "^0.1.2"
- },
- "dependencies": {
- "lazy-cache": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz",
- "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4="
- }
- }
- },
- "collection-visit": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-0.2.3.tgz",
- "integrity": "sha1-L2JIPK7MlfCDuaRUo+6eYTmteVc=",
- "requires": {
- "lazy-cache": "^2.0.1",
- "map-visit": "^0.1.5",
- "object-visit": "^0.3.4"
- }
- },
- "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"
- }
- },
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "requires": {
- "is-descriptor": "^0.1.0"
- }
- },
- "expand-tilde": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-1.2.2.tgz",
- "integrity": "sha1-C4HrqJflo9MdHD0QL48BRB5VlEk=",
- "requires": {
- "os-homedir": "^1.0.1"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "for-own": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
- "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
- "requires": {
- "for-in": "^1.0.1"
- }
- },
- "global-modules": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-0.2.3.tgz",
- "integrity": "sha1-6lo77ULG1s6ZWk+KEmm12uIjgo0=",
- "requires": {
- "global-prefix": "^0.1.4",
- "is-windows": "^0.2.0"
- }
- },
- "global-prefix": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-0.1.5.tgz",
- "integrity": "sha1-jTvGuNo8qBEqFg2NSW/wRiv+948=",
- "requires": {
- "homedir-polyfill": "^1.0.0",
- "ini": "^1.3.4",
- "is-windows": "^0.2.0",
- "which": "^1.2.12"
- }
- },
- "has-value": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
- "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
- "requires": {
- "get-value": "^2.0.3",
- "has-values": "^0.1.4",
- "isobject": "^2.0.0"
- },
- "dependencies": {
- "isobject": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
- "requires": {
- "isarray": "1.0.0"
- }
- }
- }
- },
- "has-values": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
- "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E="
- },
- "is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
- },
- "is-windows": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz",
- "integrity": "sha1-3hqm1j6indJIc3tp8f+LgALSEIw="
- },
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "^1.1.5"
- }
- },
- "lazy-cache": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
- "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
- "requires": {
- "set-getter": "^0.1.0"
- }
- },
- "map-visit": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-0.1.5.tgz",
- "integrity": "sha1-2+Q5J85VJbgN/BVzpE1oxR8mgWs=",
- "requires": {
- "lazy-cache": "^2.0.1",
- "object-visit": "^0.3.4"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- },
- "object-visit": {
- "version": "0.3.4",
- "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-0.3.4.tgz",
- "integrity": "sha1-rhXPhvCy/dVRdxY2RIRSxUw9qCk=",
- "requires": {
- "isobject": "^2.0.0"
- },
- "dependencies": {
- "isobject": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
- "requires": {
- "isarray": "1.0.0"
- }
- }
- }
- },
- "resolve-dir": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-0.1.1.tgz",
- "integrity": "sha1-shklmlYC+sXFxJatiUpujMQwJh4=",
- "requires": {
- "expand-tilde": "^1.2.2",
- "global-modules": "^0.2.3"
- }
- },
- "set-value": {
- "version": "0.4.3",
- "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz",
- "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=",
- "requires": {
- "extend-shallow": "^2.0.1",
- "is-extendable": "^0.1.1",
- "is-plain-object": "^2.0.1",
- "to-object-path": "^0.3.0"
- }
- },
- "shallow-clone": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-0.1.2.tgz",
- "integrity": "sha1-WQnodLp3EG1zrEFM/sH/yofZcGA=",
- "requires": {
- "is-extendable": "^0.1.1",
- "kind-of": "^2.0.1",
- "lazy-cache": "^0.2.3",
- "mixin-object": "^2.0.1"
- },
- "dependencies": {
- "kind-of": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-2.0.1.tgz",
- "integrity": "sha1-AY7HpM5+OobLkUG+UZ0kyPqpgbU=",
- "requires": {
- "is-buffer": "^1.0.2"
- }
- },
- "lazy-cache": {
- "version": "0.2.7",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-0.2.7.tgz",
- "integrity": "sha1-f+3fLctu23fRHvHRF6tf/fCrG2U="
- }
- }
- },
- "union-value": {
- "version": "0.2.4",
- "resolved": "https://registry.npmjs.org/union-value/-/union-value-0.2.4.tgz",
- "integrity": "sha1-c3UVJ4ZnkFfns3qmdug0aPwCdPA=",
- "requires": {
- "arr-union": "^3.1.0",
- "get-value": "^2.0.6",
- "is-extendable": "^0.1.1",
- "set-value": "^0.4.3"
- }
- },
- "unset-value": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-0.1.2.tgz",
- "integrity": "sha1-UGgQuGfyfCpabpsEgzYx9t5Y0xA=",
- "requires": {
- "has-value": "^0.3.1",
- "isobject": "^3.0.0"
- }
- }
- }
- },
"data-uri-to-buffer": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-0.0.3.tgz",
@@ -7889,32 +5247,6 @@
"resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.3.0.tgz",
"integrity": "sha512-A8o+iXBVqQayl9Z39BHgb7m/zLOfhF7LK82t+n9Fq1adds1vaUn8ByVoADqWLe4OTc6BZYc/FdbdTwufNYqkJw=="
},
- "date-format": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/date-format/-/date-format-2.1.0.tgz",
- "integrity": "sha512-bYQuGLeFxhkxNOF3rcMtiZxvCBAquGzZm6oWA1oZ0g2THUzivaRhv8uOhdr19LmoobSOLoIAxeUK2RdbM8IFTA==",
- "dev": true
- },
- "date-now": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz",
- "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs="
- },
- "dateformat": {
- "version": "1.0.12",
- "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz",
- "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=",
- "dev": true,
- "requires": {
- "get-stdin": "^4.0.1",
- "meow": "^3.3.0"
- }
- },
- "de-indent": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz",
- "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0="
- },
"debug": {
"version": "3.2.6",
"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
@@ -8060,14 +5392,6 @@
}
}
},
- "deep-bind": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/deep-bind/-/deep-bind-0.3.0.tgz",
- "integrity": "sha1-lcMd2Eoc0bOBEZosQu25DbSFvDM=",
- "requires": {
- "mixin-deep": "^1.1.3"
- }
- },
"deep-eql": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz",
@@ -8117,39 +5441,6 @@
"resolved": "https://registry.npmjs.org/default-resolution/-/default-resolution-2.0.0.tgz",
"integrity": "sha1-vLgrqnKtebQmp2cy8aga1t8m1oQ="
},
- "defaults": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
- "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=",
- "requires": {
- "clone": "^1.0.2"
- }
- },
- "defaults-deep": {
- "version": "0.2.4",
- "resolved": "https://registry.npmjs.org/defaults-deep/-/defaults-deep-0.2.4.tgz",
- "integrity": "sha512-V6BtqzcMvn0EPOy7f+SfMhfmTawq+7UQdt9yZH0EBK89+IHo5f+Hse/qzTorAXOBrQpxpwb6cB/8OgtaMrT+Fg==",
- "requires": {
- "for-own": "^0.1.3",
- "is-extendable": "^0.1.1",
- "lazy-cache": "^0.2.3"
- },
- "dependencies": {
- "for-own": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
- "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
- "requires": {
- "for-in": "^1.0.1"
- }
- },
- "lazy-cache": {
- "version": "0.2.7",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-0.2.7.tgz",
- "integrity": "sha1-f+3fLctu23fRHvHRF6tf/fCrG2U="
- }
- }
- },
"defer-to-connect": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.0.2.tgz",
@@ -8200,89 +5491,6 @@
}
}
},
- "defined": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
- "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM="
- },
- "degenerator": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-1.0.4.tgz",
- "integrity": "sha1-/PSQo37OJmRk2cxDGrmMWBnO0JU=",
- "dev": true,
- "requires": {
- "ast-types": "0.x.x",
- "escodegen": "1.x.x",
- "esprima": "3.x.x"
- },
- "dependencies": {
- "esprima": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz",
- "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=",
- "dev": true
- }
- }
- },
- "del": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz",
- "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==",
- "dev": true,
- "requires": {
- "@types/glob": "^7.1.1",
- "globby": "^6.1.0",
- "is-path-cwd": "^2.0.0",
- "is-path-in-cwd": "^2.0.0",
- "p-map": "^2.0.0",
- "pify": "^4.0.1",
- "rimraf": "^2.6.3"
- },
- "dependencies": {
- "array-union": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
- "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
- "dev": true,
- "requires": {
- "array-uniq": "^1.0.1"
- }
- },
- "array-uniq": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
- "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
- "dev": true
- },
- "globby": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz",
- "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=",
- "dev": true,
- "requires": {
- "array-union": "^1.0.1",
- "glob": "^7.0.3",
- "object-assign": "^4.0.1",
- "pify": "^2.0.0",
- "pinkie-promise": "^2.0.0"
- },
- "dependencies": {
- "pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
- "dev": true
- }
- }
- },
- "pify": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
- "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
- "dev": true
- }
- }
- },
"delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
@@ -8293,52 +5501,11 @@
"resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
"integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o="
},
- "delimiter-regex": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/delimiter-regex/-/delimiter-regex-2.0.0.tgz",
- "integrity": "sha1-DQ9vYdmRVZH9Qwh6jpWF0+IRWnU=",
- "requires": {
- "extend-shallow": "^1.1.2",
- "isobject": "^2.1.0"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz",
- "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=",
- "requires": {
- "kind-of": "^1.1.0"
- }
- },
- "isobject": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
- "requires": {
- "isarray": "1.0.0"
- }
- },
- "kind-of": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz",
- "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ="
- }
- }
- },
"depd": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
"integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
},
- "des.js": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz",
- "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=",
- "requires": {
- "inherits": "^2.0.1",
- "minimalistic-assert": "^1.0.0"
- }
- },
"destroy": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
@@ -8353,6 +5520,7 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz",
"integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=",
+ "dev": true,
"requires": {
"repeating": "^2.0.0"
}
@@ -8362,12 +5530,6 @@
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
"integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups="
},
- "di": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz",
- "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=",
- "dev": true
- },
"diagnostics": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/diagnostics/-/diagnostics-1.1.1.tgz",
@@ -8384,16 +5546,6 @@
"integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==",
"dev": true
},
- "diffie-hellman": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
- "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
- "requires": {
- "bn.js": "^4.1.0",
- "miller-rabin": "^4.0.0",
- "randombytes": "^2.0.0"
- }
- },
"dir-glob": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
@@ -8415,49 +5567,19 @@
"integrity": "sha512-hvSnros73+qyZXhHFjx2CMLwoj3Fe7eR9EJsFsqmcI1bB2OBWL/+0YzaEaKssCHnj/6crawNnUyw74Gm2EKe+Q=="
},
"doctrine": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
- "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
+ "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
"dev": true,
"requires": {
"esutils": "^2.0.2"
}
},
- "doctypes": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/doctypes/-/doctypes-1.1.0.tgz",
- "integrity": "sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk="
- },
- "dom-converter": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz",
- "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==",
- "requires": {
- "utila": "~0.4"
- }
- },
- "dom-event-types": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/dom-event-types/-/dom-event-types-1.0.0.tgz",
- "integrity": "sha512-2G2Vwi2zXTHBGqXHsJ4+ak/iP0N8Ar+G8a7LiD2oup5o4sQWytwqqrZu/O6hIMV0KMID2PL69OhpshLO0n7UJQ==",
- "dev": true
- },
- "dom-serialize": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz",
- "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=",
- "dev": true,
- "requires": {
- "custom-event": "~1.0.0",
- "ent": "~2.2.0",
- "extend": "^3.0.0",
- "void-elements": "^2.0.0"
- }
- },
"dom-serializer": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.1.tgz",
"integrity": "sha512-sK3ujri04WyjwQXVoK4PU3y8ula1stq10GJZpqHIUgoGZdsGzAGu65BnU3d08aTVSvO7mGPZUc0wTEDL+qGE0Q==",
+ "optional": true,
"requires": {
"domelementtype": "^2.0.1",
"entities": "^2.0.0"
@@ -8466,20 +5588,17 @@
"domelementtype": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz",
- "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ=="
+ "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==",
+ "optional": true
},
"entities": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/entities/-/entities-2.0.0.tgz",
- "integrity": "sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw=="
+ "integrity": "sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw==",
+ "optional": true
}
}
},
- "domain-browser": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
- "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA=="
- },
"domain-middleware": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/domain-middleware/-/domain-middleware-0.1.0.tgz",
@@ -8490,18 +5609,11 @@
"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz",
"integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w=="
},
- "domhandler": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz",
- "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==",
- "requires": {
- "domelementtype": "1"
- }
- },
"domutils": {
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz",
"integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==",
+ "optional": true,
"requires": {
"dom-serializer": "0",
"domelementtype": "1"
@@ -8520,12 +5632,6 @@
"is-obj": "^1.0.0"
}
},
- "dotenv": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-7.0.0.tgz",
- "integrity": "sha512-M3NhsLbV1i6HuGzBUH8vXrtxOk+tWmzWKDMbAVSUp3Zsjm7ywFeuwrUXhmhQyRK1q5B5GGy7hcXPbj3bnfZg2g==",
- "dev": true
- },
"download": {
"version": "6.2.5",
"resolved": "https://registry.npmjs.org/download/-/download-6.2.5.tgz",
@@ -8648,35 +5754,11 @@
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
},
- "ejs": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.1.tgz",
- "integrity": "sha512-kS/gEPzZs3Y1rRsbGX4UOSjtP/CeJP0CxSNZHYxGfVM/VgLcv0ZqM7C45YyTj2DI2g7+P9Dd24C+IMIg6D0nYQ==",
- "dev": true
- },
"electron-to-chromium": {
"version": "1.3.266",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.266.tgz",
- "integrity": "sha512-UTuTZ4v8T0gLPHI7U75PXLQePWI65MTS3mckRrnLCkNljHvsutbYs+hn2Ua/RFul3Jt/L3Ht2rLP+dU/AlBfrQ=="
- },
- "element-in-view": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/element-in-view/-/element-in-view-0.1.0.tgz",
- "integrity": "sha1-Zi9B+ajTuMpFh8HdtCe30nr4i8k="
- },
- "elliptic": {
- "version": "6.5.1",
- "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.1.tgz",
- "integrity": "sha512-xvJINNLbTeWQjrl6X+7eQCrIy/YPv5XCpKW6kB5mKvtnGILoLDcySuwomfdzt0BMdLNVnuRNTuzKNHj0bva1Cg==",
- "requires": {
- "bn.js": "^4.4.0",
- "brorand": "^1.0.1",
- "hash.js": "^1.0.0",
- "hmac-drbg": "^1.0.0",
- "inherits": "^2.0.1",
- "minimalistic-assert": "^1.0.0",
- "minimalistic-crypto-utils": "^1.0.0"
- }
+ "integrity": "sha512-UTuTZ4v8T0gLPHI7U75PXLQePWI65MTS3mckRrnLCkNljHvsutbYs+hn2Ua/RFul3Jt/L3Ht2rLP+dU/AlBfrQ==",
+ "dev": true
},
"emitter-listener": {
"version": "1.1.2",
@@ -8686,80 +5768,11 @@
"shimmer": "^1.2.0"
}
},
- "emojis-list": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
- "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k="
- },
- "empty-dir": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/empty-dir/-/empty-dir-0.2.1.tgz",
- "integrity": "sha1-gJ7kih60rRy1EMJXLWb9DthNAas=",
- "requires": {
- "fs-exists-sync": "^0.1.0"
- }
- },
- "en-route": {
- "version": "0.7.5",
- "resolved": "https://registry.npmjs.org/en-route/-/en-route-0.7.5.tgz",
- "integrity": "sha1-6CMOc4NsXpXGdX4EQtPBExJL3Zg=",
- "requires": {
- "arr-flatten": "^1.0.1",
- "debug": "^2.2.0",
- "extend-shallow": "^2.0.1",
- "kind-of": "^3.0.2",
- "lazy-cache": "^1.0.3",
- "path-to-regexp": "^1.2.1"
- },
- "dependencies": {
- "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"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
- },
- "isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
- },
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "^1.1.5"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- },
- "path-to-regexp": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz",
- "integrity": "sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=",
- "requires": {
- "isarray": "0.0.1"
- }
- }
- }
+ "emoji-regex": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
+ "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
+ "dev": true
},
"enabled": {
"version": "1.0.2",
@@ -8782,327 +5795,6 @@
"once": "^1.4.0"
}
},
- "engine": {
- "version": "0.1.12",
- "resolved": "https://registry.npmjs.org/engine/-/engine-0.1.12.tgz",
- "integrity": "sha1-+H6MkLuAzT9YWXrFaVk+5G2idC0=",
- "requires": {
- "assign-deep": "^0.4.3",
- "collection-visit": "^0.2.0",
- "get-value": "^1.2.1",
- "kind-of": "^2.0.1",
- "lazy-cache": "^0.2.3",
- "object.omit": "^2.0.0",
- "set-value": "^0.2.0"
- },
- "dependencies": {
- "collection-visit": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-0.2.3.tgz",
- "integrity": "sha1-L2JIPK7MlfCDuaRUo+6eYTmteVc=",
- "requires": {
- "lazy-cache": "^2.0.1",
- "map-visit": "^0.1.5",
- "object-visit": "^0.3.4"
- },
- "dependencies": {
- "lazy-cache": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
- "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
- "requires": {
- "set-getter": "^0.1.0"
- }
- }
- }
- },
- "get-value": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/get-value/-/get-value-1.3.1.tgz",
- "integrity": "sha1-isfvTyA4I5KyZGVI+bmtLcbIlkI=",
- "requires": {
- "arr-flatten": "^1.0.1",
- "is-extendable": "^0.1.1",
- "lazy-cache": "^0.2.4",
- "noncharacters": "^1.1.0"
- }
- },
- "is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
- },
- "isobject": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
- "requires": {
- "isarray": "1.0.0"
- }
- },
- "kind-of": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-2.0.1.tgz",
- "integrity": "sha1-AY7HpM5+OobLkUG+UZ0kyPqpgbU=",
- "requires": {
- "is-buffer": "^1.0.2"
- }
- },
- "lazy-cache": {
- "version": "0.2.7",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-0.2.7.tgz",
- "integrity": "sha1-f+3fLctu23fRHvHRF6tf/fCrG2U="
- },
- "map-visit": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-0.1.5.tgz",
- "integrity": "sha1-2+Q5J85VJbgN/BVzpE1oxR8mgWs=",
- "requires": {
- "lazy-cache": "^2.0.1",
- "object-visit": "^0.3.4"
- },
- "dependencies": {
- "lazy-cache": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
- "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
- "requires": {
- "set-getter": "^0.1.0"
- }
- }
- }
- },
- "object-visit": {
- "version": "0.3.4",
- "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-0.3.4.tgz",
- "integrity": "sha1-rhXPhvCy/dVRdxY2RIRSxUw9qCk=",
- "requires": {
- "isobject": "^2.0.0"
- }
- },
- "set-value": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.2.0.tgz",
- "integrity": "sha1-c7CmglwVjGoWqCu9yVd1vyqCX6s=",
- "requires": {
- "isobject": "^1.0.0",
- "noncharacters": "^1.1.0"
- },
- "dependencies": {
- "isobject": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-1.0.2.tgz",
- "integrity": "sha1-8Pm4zpLdVA+gdAiC44NaLgIux4o="
- }
- }
- }
- }
- },
- "engine-base": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/engine-base/-/engine-base-0.1.3.tgz",
- "integrity": "sha1-1ZycxS591t0rSa579ftEmU9wFqU=",
- "requires": {
- "component-emitter": "^1.2.1",
- "delimiter-regex": "^2.0.0",
- "engine": "^0.1.12",
- "engine-utils": "^0.1.1",
- "lazy-cache": "^2.0.2",
- "mixin-deep": "^1.1.3",
- "object.omit": "^2.0.1",
- "object.pick": "^1.2.0"
- },
- "dependencies": {
- "lazy-cache": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
- "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
- "requires": {
- "set-getter": "^0.1.0"
- }
- }
- }
- },
- "engine-cache": {
- "version": "0.19.4",
- "resolved": "https://registry.npmjs.org/engine-cache/-/engine-cache-0.19.4.tgz",
- "integrity": "sha1-giSWb732pl54Dsed+HtrLLgjlbI=",
- "requires": {
- "async-helpers": "^0.3.9",
- "extend-shallow": "^2.0.1",
- "helper-cache": "^0.7.2",
- "isobject": "^3.0.0",
- "lazy-cache": "^2.0.2",
- "mixin-deep": "^1.1.3"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "lazy-cache": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
- "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
- "requires": {
- "set-getter": "^0.1.0"
- }
- }
- }
- },
- "engine-utils": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/engine-utils/-/engine-utils-0.1.1.tgz",
- "integrity": "sha1-rd9HCN2FoFoyF6l3l+q4oBPE+A4="
- },
- "engine.io": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.2.1.tgz",
- "integrity": "sha512-+VlKzHzMhaU+GsCIg4AoXF1UdDFjHHwMmMKqMJNDNLlUlejz58FCy4LBqB2YVJskHGYl06BatYWKP2TVdVXE5w==",
- "dev": true,
- "requires": {
- "accepts": "~1.3.4",
- "base64id": "1.0.0",
- "cookie": "0.3.1",
- "debug": "~3.1.0",
- "engine.io-parser": "~2.1.0",
- "ws": "~3.3.1"
- },
- "dependencies": {
- "cookie": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz",
- "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=",
- "dev": true
- },
- "debug": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
- "dev": true
- },
- "ultron": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz",
- "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==",
- "dev": true
- },
- "ws": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz",
- "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==",
- "dev": true,
- "requires": {
- "async-limiter": "~1.0.0",
- "safe-buffer": "~5.1.0",
- "ultron": "~1.1.0"
- }
- }
- }
- },
- "engine.io-client": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.2.1.tgz",
- "integrity": "sha512-y5AbkytWeM4jQr7m/koQLc5AxpRKC1hEVUb/s1FUAWEJq5AzJJ4NLvzuKPuxtDi5Mq755WuDvZ6Iv2rXj4PTzw==",
- "dev": true,
- "requires": {
- "component-emitter": "1.2.1",
- "component-inherit": "0.0.3",
- "debug": "~3.1.0",
- "engine.io-parser": "~2.1.1",
- "has-cors": "1.1.0",
- "indexof": "0.0.1",
- "parseqs": "0.0.5",
- "parseuri": "0.0.5",
- "ws": "~3.3.1",
- "xmlhttprequest-ssl": "~1.5.4",
- "yeast": "0.1.2"
- },
- "dependencies": {
- "component-emitter": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
- "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
- "dev": true
- },
- "debug": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
- "dev": true
- },
- "ultron": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz",
- "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==",
- "dev": true
- },
- "ws": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz",
- "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==",
- "dev": true,
- "requires": {
- "async-limiter": "~1.0.0",
- "safe-buffer": "~5.1.0",
- "ultron": "~1.1.0"
- }
- }
- }
- },
- "engine.io-parser": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.3.tgz",
- "integrity": "sha512-6HXPre2O4Houl7c4g7Ic/XzPnHBvaEmN90vtRO9uLmwtRqQmTOw0QMevL1TOfL2Cpu1VzsaTmMotQgMdkzGkVA==",
- "dev": true,
- "requires": {
- "after": "0.8.2",
- "arraybuffer.slice": "~0.0.7",
- "base64-arraybuffer": "0.1.5",
- "blob": "0.0.5",
- "has-binary2": "~1.0.2"
- }
- },
- "enhanced-resolve": {
- "version": "3.4.1",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz",
- "integrity": "sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=",
- "requires": {
- "graceful-fs": "^4.1.2",
- "memory-fs": "^0.4.0",
- "object-assign": "^4.0.1",
- "tapable": "^0.2.7"
- },
- "dependencies": {
- "tapable": {
- "version": "0.2.9",
- "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.9.tgz",
- "integrity": "sha512-2wsvQ+4GwBvLPLWsNfLCDYGsW6xb7aeC6utq2Qh0PFwgEy7K7dsma9Jsmb2zSQj7GvYAyUGSntLtsv++GmgL1A=="
- }
- }
- },
"ent": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz",
@@ -9118,14 +5810,6 @@
"resolved": "https://registry.npmjs.org/env-variable/-/env-variable-0.0.5.tgz",
"integrity": "sha512-zoB603vQReOFvTg5xMl9I1P2PnHsHQQKTEowsKKD7nseUfJq6UWzK+4YtlWUO1nhiQUxe6XMkk+JleSZD1NZFA=="
},
- "errno": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz",
- "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==",
- "requires": {
- "prr": "~1.0.1"
- }
- },
"error-ex": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
@@ -9141,11 +5825,6 @@
}
}
},
- "error-symbol": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/error-symbol/-/error-symbol-0.1.0.tgz",
- "integrity": "sha1-Ck2uN9YA0VopukU9jvkg8YRDM/Y="
- },
"es-abstract": {
"version": "1.14.2",
"resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.14.2.tgz",
@@ -9193,19 +5872,6 @@
"es6-symbol": "^3.1.1"
}
},
- "es6-map": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz",
- "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=",
- "requires": {
- "d": "1",
- "es5-ext": "~0.10.14",
- "es6-iterator": "~2.0.1",
- "es6-set": "~0.1.5",
- "es6-symbol": "~3.1.1",
- "event-emitter": "~0.3.5"
- }
- },
"es6-promise": {
"version": "4.2.8",
"resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz",
@@ -9219,29 +5885,6 @@
"es6-promise": "^4.0.3"
}
},
- "es6-set": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz",
- "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=",
- "requires": {
- "d": "1",
- "es5-ext": "~0.10.14",
- "es6-iterator": "~2.0.1",
- "es6-symbol": "3.1.1",
- "event-emitter": "~0.3.5"
- },
- "dependencies": {
- "es6-symbol": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz",
- "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=",
- "requires": {
- "d": "1",
- "es5-ext": "~0.10.14"
- }
- }
- }
- },
"es6-symbol": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.2.tgz",
@@ -9272,121 +5915,105 @@
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
},
- "escodegen": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz",
- "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=",
- "dev": true,
- "requires": {
- "esprima": "^2.7.1",
- "estraverse": "^1.9.1",
- "esutils": "^2.0.2",
- "optionator": "^0.8.1",
- "source-map": "~0.2.0"
- },
- "dependencies": {
- "estraverse": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz",
- "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=",
- "dev": true
- },
- "source-map": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz",
- "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=",
- "dev": true,
- "optional": true,
- "requires": {
- "amdefine": ">=0.0.4"
- }
- }
- }
- },
- "escope": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz",
- "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=",
- "requires": {
- "es6-map": "^0.1.3",
- "es6-weak-map": "^2.0.1",
- "esrecurse": "^4.1.0",
- "estraverse": "^4.1.1"
- }
- },
"eslint": {
- "version": "4.19.1",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.19.1.tgz",
- "integrity": "sha512-bT3/1x1EbZB7phzYu7vCr1v3ONuzDtX8WjuM9c0iYxe+cq+pwcKEoQjl7zd3RpC6YOLgnSy3cTN58M2jcoPDIQ==",
+ "version": "6.5.1",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.5.1.tgz",
+ "integrity": "sha512-32h99BoLYStT1iq1v2P9uwpyznQ4M2jRiFB6acitKz52Gqn+vPaMDUTB1bYi1WN4Nquj2w+t+bimYUG83DC55A==",
"dev": true,
"requires": {
- "ajv": "^5.3.0",
- "babel-code-frame": "^6.22.0",
+ "@babel/code-frame": "^7.0.0",
+ "ajv": "^6.10.0",
"chalk": "^2.1.0",
- "concat-stream": "^1.6.0",
- "cross-spawn": "^5.1.0",
- "debug": "^3.1.0",
- "doctrine": "^2.1.0",
- "eslint-scope": "^3.7.1",
- "eslint-visitor-keys": "^1.0.0",
- "espree": "^3.5.4",
- "esquery": "^1.0.0",
+ "cross-spawn": "^6.0.5",
+ "debug": "^4.0.1",
+ "doctrine": "^3.0.0",
+ "eslint-scope": "^5.0.0",
+ "eslint-utils": "^1.4.2",
+ "eslint-visitor-keys": "^1.1.0",
+ "espree": "^6.1.1",
+ "esquery": "^1.0.1",
"esutils": "^2.0.2",
- "file-entry-cache": "^2.0.0",
+ "file-entry-cache": "^5.0.1",
"functional-red-black-tree": "^1.0.1",
- "glob": "^7.1.2",
- "globals": "^11.0.1",
- "ignore": "^3.3.3",
+ "glob-parent": "^5.0.0",
+ "globals": "^11.7.0",
+ "ignore": "^4.0.6",
+ "import-fresh": "^3.0.0",
"imurmurhash": "^0.1.4",
- "inquirer": "^3.0.6",
- "is-resolvable": "^1.0.0",
- "js-yaml": "^3.9.1",
+ "inquirer": "^6.4.1",
+ "is-glob": "^4.0.0",
+ "js-yaml": "^3.13.1",
"json-stable-stringify-without-jsonify": "^1.0.1",
"levn": "^0.3.0",
- "lodash": "^4.17.4",
- "minimatch": "^3.0.2",
+ "lodash": "^4.17.14",
+ "minimatch": "^3.0.4",
"mkdirp": "^0.5.1",
"natural-compare": "^1.4.0",
"optionator": "^0.8.2",
- "path-is-inside": "^1.0.2",
- "pluralize": "^7.0.0",
"progress": "^2.0.0",
- "regexpp": "^1.0.1",
- "require-uncached": "^1.0.3",
- "semver": "^5.3.0",
- "strip-ansi": "^4.0.0",
- "strip-json-comments": "~2.0.1",
- "table": "4.0.2",
- "text-table": "~0.2.0"
+ "regexpp": "^2.0.1",
+ "semver": "^6.1.2",
+ "strip-ansi": "^5.2.0",
+ "strip-json-comments": "^3.0.1",
+ "table": "^5.2.3",
+ "text-table": "^0.2.0",
+ "v8-compile-cache": "^2.0.3"
},
"dependencies": {
- "ajv": {
- "version": "5.5.2",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
- "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
+ "@babel/code-frame": {
+ "version": "7.5.5",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz",
+ "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==",
"dev": true,
"requires": {
- "co": "^4.6.0",
- "fast-deep-equal": "^1.0.0",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.3.0"
+ "@babel/highlight": "^7.0.0"
+ }
+ },
+ "@babel/highlight": {
+ "version": "7.5.0",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz",
+ "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.0.0",
+ "esutils": "^2.0.2",
+ "js-tokens": "^4.0.0"
}
},
"ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
+ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
"dev": true
},
"cross-spawn": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
- "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
+ "version": "6.0.5",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
+ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
"dev": true,
"requires": {
- "lru-cache": "^4.0.1",
+ "nice-try": "^1.0.4",
+ "path-key": "^2.0.1",
+ "semver": "^5.5.0",
"shebang-command": "^1.2.0",
"which": "^1.2.9"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true
+ }
+ }
+ },
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
}
},
"esprima": {
@@ -9395,11 +6022,14 @@
"integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
"dev": true
},
- "fast-deep-equal": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz",
- "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=",
- "dev": true
+ "glob-parent": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz",
+ "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==",
+ "dev": true,
+ "requires": {
+ "is-glob": "^4.0.1"
+ }
},
"globals": {
"version": "11.12.0",
@@ -9408,9 +6038,15 @@
"dev": true
},
"ignore": {
- "version": "3.3.10",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz",
- "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==",
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
+ "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
+ "dev": true
+ },
+ "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
},
"js-yaml": {
@@ -9423,134 +6059,216 @@
"esprima": "^4.0.0"
}
},
- "json-schema-traverse": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
- "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=",
- "dev": true
- },
- "lru-cache": {
- "version": "4.1.5",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
- "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
- "dev": true,
- "requires": {
- "pseudomap": "^1.0.2",
- "yallist": "^2.1.2"
- }
- },
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "path-key": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
+ "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
"dev": true
},
"strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
+ "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
"dev": true,
"requires": {
- "ansi-regex": "^3.0.0"
+ "ansi-regex": "^4.1.0"
}
},
- "yallist": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
- "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
+ "strip-json-comments": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz",
+ "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==",
"dev": true
}
}
},
+ "eslint-config-airbnb-base": {
+ "version": "14.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-14.0.0.tgz",
+ "integrity": "sha512-2IDHobw97upExLmsebhtfoD3NAKhV4H0CJWP3Uprd/uk+cHuWYOczPVxQ8PxLFUAw7o3Th1RAU8u1DoUpr+cMA==",
+ "dev": true,
+ "requires": {
+ "confusing-browser-globals": "^1.0.7",
+ "object.assign": "^4.1.0",
+ "object.entries": "^1.1.0"
+ }
+ },
"eslint-config-habitrpg": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/eslint-config-habitrpg/-/eslint-config-habitrpg-4.0.0.tgz",
- "integrity": "sha512-vZc/KjnNVL2BkDBQaQBF9JV16cnZyKa6djCCqH6iKhp8Uuye8Bym3eeLNEcnGkOtZfzJE61hDqiPZXQk7BiXJQ==",
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-config-habitrpg/-/eslint-config-habitrpg-6.1.0.tgz",
+ "integrity": "sha512-kB5xmxsw87Tj9wbSkBgI6H8XILVU70qw0oc4oxvQe34q3JEYgsy7ZNqtNGUd6AJY7AdxWXIvWfsrmJQp2E1l1g==",
"dev": true,
"requires": {
- "eslint-plugin-lodash": "^2.3.5",
- "eslint-plugin-mocha": "^4.7.0"
+ "eslint": "^6.5.1",
+ "eslint-config-airbnb-base": "^14.0.0",
+ "eslint-plugin-import": "^2.18.2",
+ "eslint-plugin-mocha": "^6.1.1",
+ "eslint-plugin-vue": "^5.2.3"
},
"dependencies": {
"eslint-plugin-mocha": {
- "version": "4.12.1",
- "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-4.12.1.tgz",
- "integrity": "sha512-hxWtYHvLA0p/PKymRfDYh9Mxt5dYkg2Goy1vZDarTEEYfELP9ksga7kKG1NUKSQy27C8Qjc7YrSWTLUhOEOksA==",
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-6.2.0.tgz",
+ "integrity": "sha512-vE/+tHJVom2BkMOiwkOKcAM5YqGPk3C6gMvQ32DHihKkaXF6vmxtj3UEOg64wP3m8/Zk5V/UmQbFE5nqu1EXSg==",
"dev": true,
- "optional": true,
"requires": {
- "ramda": "^0.25.0"
+ "ramda": "^0.26.1"
}
}
}
},
- "eslint-friendly-formatter": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/eslint-friendly-formatter/-/eslint-friendly-formatter-4.0.1.tgz",
- "integrity": "sha1-J9UE3IN/fK3b8gGy6EpO5zC6Pvo=",
+ "eslint-import-resolver-node": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz",
+ "integrity": "sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q==",
"dev": true,
"requires": {
- "chalk": "^2.0.1",
- "coalescy": "1.0.0",
- "extend": "^3.0.0",
- "minimist": "^1.2.0",
- "strip-ansi": "^4.0.0",
- "text-table": "^0.2.0"
+ "debug": "^2.6.9",
+ "resolve": "^1.5.0"
},
"dependencies": {
- "ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
- "dev": true
- },
- "minimist": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
- "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
- "dev": true
- },
- "strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"dev": true,
"requires": {
- "ansi-regex": "^3.0.0"
+ "ms": "2.0.0"
}
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "dev": true
}
}
},
- "eslint-loader": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/eslint-loader/-/eslint-loader-2.2.1.tgz",
- "integrity": "sha512-RLgV9hoCVsMLvOxCuNjdqOrUqIj9oJg8hF44vzJaYqsAHuY9G2YAeN3joQ9nxP0p5Th9iFSIpKo+SD8KISxXRg==",
+ "eslint-module-utils": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.4.1.tgz",
+ "integrity": "sha512-H6DOj+ejw7Tesdgbfs4jeS4YMFrT8uI8xwd1gtQqXssaR0EQ26L+2O/w6wkYFy2MymON0fTwHmXBvvfLNZVZEw==",
"dev": true,
"requires": {
- "loader-fs-cache": "^1.0.0",
- "loader-utils": "^1.0.2",
- "object-assign": "^4.0.1",
- "object-hash": "^1.1.4",
- "rimraf": "^2.6.1"
+ "debug": "^2.6.8",
+ "pkg-dir": "^2.0.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "dev": true
+ }
}
},
- "eslint-plugin-html": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/eslint-plugin-html/-/eslint-plugin-html-4.0.6.tgz",
- "integrity": "sha512-nj6A9oK+7BKnMm0E7dMRH3r75BfpkXtcVIb3pFC4AcDdBTNyg2NGxHXyFNT1emW4VsR7P2SZvRXXQtUR+kY08w==",
+ "eslint-plugin-import": {
+ "version": "2.18.2",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.18.2.tgz",
+ "integrity": "sha512-5ohpsHAiUBRNaBWAF08izwUGlbrJoJJ+W9/TBwsGoR1MnlgfwMIKrFeSjWbt6moabiXW9xNvtFz+97KHRfI4HQ==",
"dev": true,
"requires": {
- "htmlparser2": "^3.8.2"
- }
- },
- "eslint-plugin-lodash": {
- "version": "2.7.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-lodash/-/eslint-plugin-lodash-2.7.0.tgz",
- "integrity": "sha512-sIEzx85Sy+Higf4W+oLCIyh7ym0OEcmJCzY8ukptlGfkcyVagzYBjhUt1JfkcpT4qZC68+7TzceJSqLu+qwYMg==",
- "dev": true,
- "optional": true,
- "requires": {
- "lodash": "~4.17.0"
+ "array-includes": "^3.0.3",
+ "contains-path": "^0.1.0",
+ "debug": "^2.6.9",
+ "doctrine": "1.5.0",
+ "eslint-import-resolver-node": "^0.3.2",
+ "eslint-module-utils": "^2.4.0",
+ "has": "^1.0.3",
+ "minimatch": "^3.0.4",
+ "object.values": "^1.1.0",
+ "read-pkg-up": "^2.0.0",
+ "resolve": "^1.11.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "doctrine": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz",
+ "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=",
+ "dev": true,
+ "requires": {
+ "esutils": "^2.0.2",
+ "isarray": "^1.0.0"
+ }
+ },
+ "load-json-file": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
+ "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "parse-json": "^2.2.0",
+ "pify": "^2.0.0",
+ "strip-bom": "^3.0.0"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "dev": true
+ },
+ "path-type": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
+ "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
+ "dev": true,
+ "requires": {
+ "pify": "^2.0.0"
+ }
+ },
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+ "dev": true
+ },
+ "read-pkg": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
+ "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
+ "dev": true,
+ "requires": {
+ "load-json-file": "^2.0.0",
+ "normalize-package-data": "^2.3.2",
+ "path-type": "^2.0.0"
+ }
+ },
+ "read-pkg-up": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
+ "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
+ "dev": true,
+ "requires": {
+ "find-up": "^2.0.0",
+ "read-pkg": "^2.0.0"
+ }
+ },
+ "strip-bom": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+ "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
+ "dev": true
+ }
}
},
"eslint-plugin-mocha": {
@@ -9570,42 +6288,56 @@
}
}
},
+ "eslint-plugin-vue": {
+ "version": "5.2.3",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-5.2.3.tgz",
+ "integrity": "sha512-mGwMqbbJf0+VvpGR5Lllq0PMxvTdrZ/ZPjmhkacrCHbubJeJOt+T6E3HUzAifa2Mxi7RSdJfC9HFpOeSYVMMIw==",
+ "dev": true,
+ "requires": {
+ "vue-eslint-parser": "^5.0.0"
+ }
+ },
"eslint-scope": {
- "version": "3.7.1",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz",
- "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz",
+ "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==",
+ "dev": true,
"requires": {
"esrecurse": "^4.1.0",
"estraverse": "^4.1.1"
}
},
+ "eslint-utils": {
+ "version": "1.4.2",
+ "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.2.tgz",
+ "integrity": "sha512-eAZS2sEUMlIeCjBeubdj45dmBHQwPHWyBcT1VSYB7o9x9WRRqKxyUoiXlRjyAwzN7YEzHJlYg0NmzDRWx6GP4Q==",
+ "dev": true,
+ "requires": {
+ "eslint-visitor-keys": "^1.0.0"
+ }
+ },
"eslint-visitor-keys": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz",
- "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A=="
+ "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==",
+ "dev": true
},
"espree": {
- "version": "3.5.4",
- "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz",
- "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==",
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-6.1.1.tgz",
+ "integrity": "sha512-EYbr8XZUhWbYCqQRW0duU5LxzL5bETN6AjKBGy1302qqzPaCH10QbRg3Wvco79Z8x9WbiE8HYB4e75xl6qUYvQ==",
"dev": true,
"requires": {
- "acorn": "^5.5.0",
- "acorn-jsx": "^3.0.0"
- },
- "dependencies": {
- "acorn": {
- "version": "5.7.3",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz",
- "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==",
- "dev": true
- }
+ "acorn": "^7.0.0",
+ "acorn-jsx": "^5.0.2",
+ "eslint-visitor-keys": "^1.1.0"
}
},
"esprima": {
"version": "2.7.3",
"resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
- "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE="
+ "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=",
+ "dev": true
},
"esquery": {
"version": "1.0.1",
@@ -9620,6 +6352,7 @@
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz",
"integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==",
+ "dev": true,
"requires": {
"estraverse": "^4.1.0"
}
@@ -9627,27 +6360,20 @@
"estraverse": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
- "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw=="
+ "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
+ "dev": true
},
"esutils": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
- "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="
+ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
+ "dev": true
},
"etag": {
"version": "1.8.1",
"resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
"integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
},
- "event-emitter": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz",
- "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=",
- "requires": {
- "d": "1",
- "es5-ext": "~0.10.14"
- }
- },
"event-stream": {
"version": "3.3.4",
"resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz",
@@ -9677,21 +6403,6 @@
"resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz",
"integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ="
},
- "eventsource-polyfill": {
- "version": "0.9.6",
- "resolved": "https://registry.npmjs.org/eventsource-polyfill/-/eventsource-polyfill-0.9.6.tgz",
- "integrity": "sha1-EODRh/ERsWfyj9q5GIQ859gY8Tw=",
- "dev": true
- },
- "evp_bytestokey": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
- "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
- "requires": {
- "md5.js": "^1.3.4",
- "safe-buffer": "^5.1.1"
- }
- },
"exec-buffer": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/exec-buffer/-/exec-buffer-3.2.0.tgz",
@@ -9703,6 +6414,17 @@
"pify": "^3.0.0",
"rimraf": "^2.5.4",
"tempfile": "^2.0.0"
+ },
+ "dependencies": {
+ "rimraf": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
+ "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+ "optional": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ }
}
},
"execa": {
@@ -9767,88 +6489,6 @@
}
}
},
- "exit-hook": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz",
- "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g="
- },
- "expand-args": {
- "version": "0.4.3",
- "resolved": "https://registry.npmjs.org/expand-args/-/expand-args-0.4.3.tgz",
- "integrity": "sha1-OoZiJBxYF1fIzTf7d2d6xgL/nZg=",
- "requires": {
- "expand-object": "^0.4.2",
- "kind-of": "^3.0.3",
- "lazy-cache": "^2.0.1",
- "minimist": "^1.2.0",
- "mixin-deep": "^1.1.3",
- "omit-empty": "^0.4.1",
- "set-value": "^0.3.3"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
- },
- "isobject": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
- "requires": {
- "isarray": "1.0.0"
- }
- },
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "^1.1.5"
- }
- },
- "lazy-cache": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
- "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
- "requires": {
- "set-getter": "^0.1.0"
- }
- },
- "minimist": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
- "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
- },
- "set-value": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.3.3.tgz",
- "integrity": "sha1-uBIjaBY4oQiP2IpDW4qdMtro2bo=",
- "requires": {
- "extend-shallow": "^2.0.1",
- "isobject": "^2.0.0",
- "to-object-path": "^0.2.0"
- }
- },
- "to-object-path": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.2.0.tgz",
- "integrity": "sha1-FjThtSqIugDjlJYZ/ACB3Jo7B8o=",
- "requires": {
- "arr-flatten": "^1.0.1",
- "is-arguments": "^1.0.2"
- }
- }
- }
- },
"expand-brackets": {
"version": "2.1.4",
"resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
@@ -9894,193 +6534,6 @@
}
}
},
- "expand-object": {
- "version": "0.4.2",
- "resolved": "https://registry.npmjs.org/expand-object/-/expand-object-0.4.2.tgz",
- "integrity": "sha1-t/J+9pwv3MYrD5OQwMtHvAa7Buo=",
- "requires": {
- "get-stdin": "^5.0.1",
- "is-number": "^2.1.0",
- "minimist": "^1.2.0",
- "set-value": "^0.3.3"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "get-stdin": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-5.0.1.tgz",
- "integrity": "sha1-Ei4WFZHiH/TFJTAwVpPyDmOTo5g="
- },
- "is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
- },
- "is-number": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
- "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
- "requires": {
- "kind-of": "^3.0.2"
- }
- },
- "isobject": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
- "requires": {
- "isarray": "1.0.0"
- }
- },
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "^1.1.5"
- }
- },
- "minimist": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
- "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
- },
- "set-value": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.3.3.tgz",
- "integrity": "sha1-uBIjaBY4oQiP2IpDW4qdMtro2bo=",
- "requires": {
- "extend-shallow": "^2.0.1",
- "isobject": "^2.0.0",
- "to-object-path": "^0.2.0"
- }
- },
- "to-object-path": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.2.0.tgz",
- "integrity": "sha1-FjThtSqIugDjlJYZ/ACB3Jo7B8o=",
- "requires": {
- "arr-flatten": "^1.0.1",
- "is-arguments": "^1.0.2"
- }
- }
- }
- },
- "expand-pkg": {
- "version": "0.1.9",
- "resolved": "https://registry.npmjs.org/expand-pkg/-/expand-pkg-0.1.9.tgz",
- "integrity": "sha512-Qqtqzx/e8tODrDr0H8HtO7+nftN0wH9bsk3948KpKBZLrc86Cm3/8mRKJmDfNSDWWcuKsilMmFlKPhYx5gHYuA==",
- "requires": {
- "component-emitter": "^1.2.1",
- "debug": "^2.4.1",
- "defaults-deep": "^0.2.4",
- "export-files": "^2.1.1",
- "get-value": "^2.0.6",
- "kind-of": "^3.1.0",
- "lazy-cache": "^2.0.2",
- "load-pkg": "^3.0.1",
- "mixin-deep": "^1.1.3",
- "normalize-pkg": "^0.3.20",
- "omit-empty": "^0.4.1",
- "parse-author": "^1.0.0",
- "parse-git-config": "^1.1.1",
- "repo-utils": "^0.3.7"
- },
- "dependencies": {
- "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"
- }
- },
- "is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
- },
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "^1.1.5"
- }
- },
- "lazy-cache": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
- "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
- "requires": {
- "set-getter": "^0.1.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- }
- }
- },
- "expand-range": {
- "version": "1.8.2",
- "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
- "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=",
- "requires": {
- "fill-range": "^2.1.0"
- },
- "dependencies": {
- "fill-range": {
- "version": "2.2.4",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz",
- "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==",
- "requires": {
- "is-number": "^2.1.0",
- "isobject": "^2.0.0",
- "randomatic": "^3.0.0",
- "repeat-element": "^1.1.2",
- "repeat-string": "^1.5.2"
- }
- },
- "is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
- },
- "is-number": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
- "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
- "requires": {
- "kind-of": "^3.0.2"
- }
- },
- "isobject": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
- "requires": {
- "isarray": "1.0.0"
- }
- },
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
- }
- },
"expand-tilde": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
@@ -10100,14 +6553,6 @@
"integrity": "sha1-sKWaDS7/VDdUTr8M6qYBWEHQm1s=",
"dev": true
},
- "export-files": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/export-files/-/export-files-2.1.1.tgz",
- "integrity": "sha1-u/ZFdAU6CeTrmOX0NQHVcrLDzn8=",
- "requires": {
- "lazy-cache": "^1.0.3"
- }
- },
"express": {
"version": "4.17.1",
"resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
@@ -10233,13 +6678,13 @@
}
},
"external-editor": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz",
- "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
+ "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
"dev": true,
"requires": {
- "chardet": "^0.4.0",
- "iconv-lite": "^0.4.17",
+ "chardet": "^0.7.0",
+ "iconv-lite": "^0.4.24",
"tmp": "^0.0.33"
}
},
@@ -10302,27 +6747,6 @@
}
}
},
- "extract-text-webpack-plugin": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extract-text-webpack-plugin/-/extract-text-webpack-plugin-3.0.2.tgz",
- "integrity": "sha512-bt/LZ4m5Rqt/Crl2HiKuAl/oqg0psx1tsTLkvWbJen1CtD+fftkZhMaQ9HOtY2gWsl2Wq+sABmMVi9z3DhKWQQ==",
- "requires": {
- "async": "^2.4.1",
- "loader-utils": "^1.1.0",
- "schema-utils": "^0.3.0",
- "webpack-sources": "^1.0.1"
- },
- "dependencies": {
- "async": {
- "version": "2.6.3",
- "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
- "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
- "requires": {
- "lodash": "^4.17.14"
- }
- }
- }
- },
"extract-zip": {
"version": "1.6.7",
"resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz",
@@ -10375,21 +6799,6 @@
"resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz",
"integrity": "sha1-Ys8SAjTGg3hdkCNIqADvPgzCC8A="
},
- "falsey": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/falsey/-/falsey-0.3.2.tgz",
- "integrity": "sha512-lxEuefF5MBIVDmE6XeqCdM4BWk1+vYmGZtkbKZ/VFcg6uBBw6fXNEbWmxCjDdQlFc9hy450nkiWwM3VAW6G1qg==",
- "requires": {
- "kind-of": "^5.0.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw=="
- }
- }
- },
"fancy-log": {
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz",
@@ -10407,15 +6816,14 @@
"integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk="
},
"fast-glob": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.0.4.tgz",
- "integrity": "sha512-wkIbV6qg37xTJwqSsdnIphL1e+LaGz4AIQqr00mIubMaEhv1/HEmJ0uuCGZRNRUkZZmOB5mJKO0ZUTVq+SxMQg==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.1.0.tgz",
+ "integrity": "sha512-TrUz3THiq2Vy3bjfQUB2wNyPdGBeGmdjbzzBLhfHN4YFurYptCKwGq/TfiRavbGywFRzY6U2CdmQ1zmsY5yYaw==",
"requires": {
- "@nodelib/fs.stat": "^2.0.1",
- "@nodelib/fs.walk": "^1.2.1",
- "glob-parent": "^5.0.0",
- "is-glob": "^4.0.1",
- "merge2": "^1.2.3",
+ "@nodelib/fs.stat": "^2.0.2",
+ "@nodelib/fs.walk": "^1.2.3",
+ "glob-parent": "^5.1.0",
+ "merge2": "^1.3.0",
"micromatch": "^4.0.2"
},
"dependencies": {
@@ -10488,11 +6896,6 @@
"resolved": "https://registry.npmjs.org/fast-text-encoding/-/fast-text-encoding-1.0.0.tgz",
"integrity": "sha512-R9bHCvweUxxwkDwhjav5vxpFvdPGlVngtqmx4pIZfSUhM/Q4NiIUHB456BAf+Q1Nwu3HEZYONtu+Rya+af4jiQ=="
},
- "fastparse": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz",
- "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ=="
- },
"fastq": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.6.0.tgz",
@@ -10524,122 +6927,19 @@
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz",
"integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=",
+ "optional": true,
"requires": {
"escape-string-regexp": "^1.0.5",
"object-assign": "^4.1.0"
}
},
- "file-contents": {
- "version": "0.2.4",
- "resolved": "https://registry.npmjs.org/file-contents/-/file-contents-0.2.4.tgz",
- "integrity": "sha1-BQb3uO/2KvpFrkXaTfnp1H30U8s=",
- "requires": {
- "extend-shallow": "^2.0.0",
- "file-stat": "^0.1.0",
- "graceful-fs": "^4.1.2",
- "is-buffer": "^1.1.0",
- "is-utf8": "^0.2.0",
- "lazy-cache": "^0.2.3",
- "through2": "^2.0.0"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
- },
- "lazy-cache": {
- "version": "0.2.7",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-0.2.7.tgz",
- "integrity": "sha1-f+3fLctu23fRHvHRF6tf/fCrG2U="
- },
- "through2": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
- "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
- "requires": {
- "readable-stream": "~2.3.6",
- "xtend": "~4.0.1"
- }
- }
- }
- },
"file-entry-cache": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz",
- "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=",
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz",
+ "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==",
"dev": true,
"requires": {
- "flat-cache": "^1.2.1",
- "object-assign": "^4.0.1"
- }
- },
- "file-is-binary": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/file-is-binary/-/file-is-binary-1.0.0.tgz",
- "integrity": "sha1-XkGAbRvK5FjI/sMv484SLbu8Q1Y=",
- "requires": {
- "is-binary-buffer": "^1.0.0",
- "isobject": "^3.0.0"
- }
- },
- "file-loader": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-4.2.0.tgz",
- "integrity": "sha512-+xZnaK5R8kBJrHK0/6HRlrKNamvVS5rjyuju+rnyxRGuwUJwpAMsVzUl5dz6rK8brkzjV6JpcFNjp6NqV0g1OQ==",
- "requires": {
- "loader-utils": "^1.2.3",
- "schema-utils": "^2.0.0"
- },
- "dependencies": {
- "schema-utils": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.3.0.tgz",
- "integrity": "sha512-0NWOS/em29583dLzou07qWp5xoKCnvm5NiDQ+IkI/Q8xP6rm1SMvQrmHseH0RSbBe4tM+LJ7IeZTqb/dF9dTRQ==",
- "requires": {
- "ajv": "^6.10.2",
- "ajv-keywords": "^3.4.1"
- }
- }
- }
- },
- "file-name": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/file-name/-/file-name-0.1.0.tgz",
- "integrity": "sha1-ErEi8SD5w028F2wauBpUis7W3vc="
- },
- "file-stat": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/file-stat/-/file-stat-0.1.3.tgz",
- "integrity": "sha1-0PGWHX0QcykoEgpuaVVHHCpbVBE=",
- "requires": {
- "graceful-fs": "^4.1.2",
- "lazy-cache": "^0.2.3",
- "through2": "^2.0.0"
- },
- "dependencies": {
- "lazy-cache": {
- "version": "0.2.7",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-0.2.7.tgz",
- "integrity": "sha1-f+3fLctu23fRHvHRF6tf/fCrG2U="
- },
- "through2": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
- "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
- "requires": {
- "readable-stream": "~2.3.6",
- "xtend": "~4.0.1"
- }
- }
+ "flat-cache": "^2.0.1"
}
},
"file-type": {
@@ -10647,22 +6947,11 @@
"resolved": "https://registry.npmjs.org/file-type/-/file-type-12.3.0.tgz",
"integrity": "sha512-4E4Esq9KLwjYCY32E7qSmd0h7LefcniZHX+XcdJ4Wfx1uGJX7QCigiqw/U0yT7WOslm28yhxl87DJ0wHYv0RAA=="
},
- "file-uri-to-path": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
- "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
- "dev": true
- },
"file-url": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/file-url/-/file-url-3.0.0.tgz",
"integrity": "sha512-g872QGsHexznxkIAdK8UiZRe7SkE6kvylShU4Nsj8NvfvZag7S0QuQ4IgvPDkk75HxgjIVDwycFTDAgIiO4nDA=="
},
- "filename-regex": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
- "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY="
- },
"filename-reserved-regex": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz",
@@ -10715,12 +7004,6 @@
"minimatch": "^3.0.3"
}
},
- "filesize": {
- "version": "3.6.1",
- "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz",
- "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==",
- "dev": true
- },
"fill-range": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
@@ -10771,81 +7054,11 @@
}
}
},
- "find-cache-dir": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz",
- "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=",
- "requires": {
- "commondir": "^1.0.1",
- "make-dir": "^1.0.0",
- "pkg-dir": "^2.0.0"
- }
- },
- "find-file-up": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/find-file-up/-/find-file-up-0.1.3.tgz",
- "integrity": "sha1-z2gJG8+fMApA2kEbN9pczlovvqA=",
- "requires": {
- "fs-exists-sync": "^0.1.0",
- "resolve-dir": "^0.1.0"
- },
- "dependencies": {
- "expand-tilde": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-1.2.2.tgz",
- "integrity": "sha1-C4HrqJflo9MdHD0QL48BRB5VlEk=",
- "requires": {
- "os-homedir": "^1.0.1"
- }
- },
- "global-modules": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-0.2.3.tgz",
- "integrity": "sha1-6lo77ULG1s6ZWk+KEmm12uIjgo0=",
- "requires": {
- "global-prefix": "^0.1.4",
- "is-windows": "^0.2.0"
- }
- },
- "global-prefix": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-0.1.5.tgz",
- "integrity": "sha1-jTvGuNo8qBEqFg2NSW/wRiv+948=",
- "requires": {
- "homedir-polyfill": "^1.0.0",
- "ini": "^1.3.4",
- "is-windows": "^0.2.0",
- "which": "^1.2.12"
- }
- },
- "is-windows": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz",
- "integrity": "sha1-3hqm1j6indJIc3tp8f+LgALSEIw="
- },
- "resolve-dir": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-0.1.1.tgz",
- "integrity": "sha1-shklmlYC+sXFxJatiUpujMQwJh4=",
- "requires": {
- "expand-tilde": "^1.2.2",
- "global-modules": "^0.2.3"
- }
- }
- }
- },
- "find-pkg": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/find-pkg/-/find-pkg-0.1.2.tgz",
- "integrity": "sha1-G9wiwG42NlUy4qJIBGhUuXiNpVc=",
- "requires": {
- "find-file-up": "^0.1.2"
- }
- },
"find-up": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
"integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
+ "dev": true,
"requires": {
"locate-path": "^2.0.0"
}
@@ -10894,15 +7107,14 @@
"integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q=="
},
"flat-cache": {
- "version": "1.3.4",
- "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.4.tgz",
- "integrity": "sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz",
+ "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==",
"dev": true,
"requires": {
- "circular-json": "^0.3.1",
- "graceful-fs": "^4.1.2",
- "rimraf": "~2.6.2",
- "write": "^0.2.1"
+ "flatted": "^2.0.0",
+ "rimraf": "2.6.3",
+ "write": "1.0.3"
},
"dependencies": {
"rimraf": {
@@ -10922,11 +7134,6 @@
"integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==",
"dev": true
},
- "flatten": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz",
- "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I="
- },
"flush-write-stream": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz",
@@ -10940,6 +7147,7 @@
"version": "1.5.10",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz",
"integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==",
+ "dev": true,
"requires": {
"debug": "=3.1.0"
},
@@ -10948,6 +7156,7 @@
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
"integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+ "dev": true,
"requires": {
"ms": "2.0.0"
}
@@ -10955,7 +7164,8 @@
"ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "dev": true
}
}
},
@@ -10987,15 +7197,6 @@
"mime-types": "^2.1.12"
}
},
- "formatio": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/formatio/-/formatio-1.2.0.tgz",
- "integrity": "sha1-87IWfZBoxGmKjVH092CjmlTYGOs=",
- "dev": true,
- "requires": {
- "samsam": "1.x"
- }
- },
"formidable": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.1.tgz",
@@ -11045,11 +7246,6 @@
"integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
"optional": true
},
- "fs-exists-sync": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz",
- "integrity": "sha1-mC1ok6+RjnLQjeyehnP/K1qNat0="
- },
"fs-extra": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
@@ -11115,22 +7311,26 @@
"dependencies": {
"abbrev": {
"version": "1.1.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
+ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
"optional": true
},
"ansi-regex": {
"version": "2.1.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
"optional": true
},
"aproba": {
"version": "1.2.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
+ "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
"optional": true
},
"are-we-there-yet": {
"version": "1.1.5",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz",
+ "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==",
"optional": true,
"requires": {
"delegates": "^1.0.0",
@@ -11139,12 +7339,14 @@
},
"balanced-match": {
"version": "1.0.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
+ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
"optional": true
},
"brace-expansion": {
"version": "1.1.11",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"optional": true,
"requires": {
"balanced-match": "^1.0.0",
@@ -11153,32 +7355,38 @@
},
"chownr": {
"version": "1.1.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz",
+ "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==",
"optional": true
},
"code-point-at": {
"version": "1.1.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
+ "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
"optional": true
},
"concat-map": {
"version": "0.0.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
"optional": true
},
"console-control-strings": {
"version": "1.1.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
+ "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
"optional": true
},
"core-util-is": {
"version": "1.0.2",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
"optional": true
},
"debug": {
"version": "4.1.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
"optional": true,
"requires": {
"ms": "^2.1.1"
@@ -11186,22 +7394,26 @@
},
"deep-extend": {
"version": "0.6.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
+ "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
"optional": true
},
"delegates": {
"version": "1.0.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
+ "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=",
"optional": true
},
"detect-libc": {
"version": "1.0.3",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
+ "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=",
"optional": true
},
"fs-minipass": {
"version": "1.2.5",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.5.tgz",
+ "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==",
"optional": true,
"requires": {
"minipass": "^2.2.1"
@@ -11209,12 +7421,14 @@
},
"fs.realpath": {
"version": "1.0.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
"optional": true
},
"gauge": {
"version": "2.7.4",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
+ "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
"optional": true,
"requires": {
"aproba": "^1.0.3",
@@ -11229,7 +7443,8 @@
},
"glob": {
"version": "7.1.3",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
+ "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
"optional": true,
"requires": {
"fs.realpath": "^1.0.0",
@@ -11242,12 +7457,14 @@
},
"has-unicode": {
"version": "2.0.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
+ "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=",
"optional": true
},
"iconv-lite": {
"version": "0.4.24",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
"optional": true,
"requires": {
"safer-buffer": ">= 2.1.2 < 3"
@@ -11255,7 +7472,8 @@
},
"ignore-walk": {
"version": "3.0.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz",
+ "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==",
"optional": true,
"requires": {
"minimatch": "^3.0.4"
@@ -11263,7 +7481,8 @@
},
"inflight": {
"version": "1.0.6",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
"optional": true,
"requires": {
"once": "^1.3.0",
@@ -11272,17 +7491,20 @@
},
"inherits": {
"version": "2.0.3",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
"optional": true
},
"ini": {
"version": "1.3.5",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
+ "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
"optional": true
},
"is-fullwidth-code-point": {
"version": "1.0.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
"optional": true,
"requires": {
"number-is-nan": "^1.0.0"
@@ -11290,12 +7512,14 @@
},
"isarray": {
"version": "1.0.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
"optional": true
},
"minimatch": {
"version": "3.0.4",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
"optional": true,
"requires": {
"brace-expansion": "^1.1.7"
@@ -11303,12 +7527,14 @@
},
"minimist": {
"version": "0.0.8",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
+ "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
"optional": true
},
"minipass": {
"version": "2.3.5",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.3.5.tgz",
+ "integrity": "sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==",
"optional": true,
"requires": {
"safe-buffer": "^5.1.2",
@@ -11317,7 +7543,8 @@
},
"minizlib": {
"version": "1.2.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.2.1.tgz",
+ "integrity": "sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA==",
"optional": true,
"requires": {
"minipass": "^2.2.1"
@@ -11325,7 +7552,8 @@
},
"mkdirp": {
"version": "0.5.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
"optional": true,
"requires": {
"minimist": "0.0.8"
@@ -11333,12 +7561,14 @@
},
"ms": {
"version": "2.1.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
+ "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
"optional": true
},
"needle": {
"version": "2.3.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/needle/-/needle-2.3.0.tgz",
+ "integrity": "sha512-QBZu7aAFR0522EyaXZM0FZ9GLpq6lvQ3uq8gteiDUp7wKdy0lSd2hPlgFwVuW1CBkfEs9PfDQsQzZghLs/psdg==",
"optional": true,
"requires": {
"debug": "^4.1.0",
@@ -11348,7 +7578,8 @@
},
"node-pre-gyp": {
"version": "0.12.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.12.0.tgz",
+ "integrity": "sha512-4KghwV8vH5k+g2ylT+sLTjy5wmUOb9vPhnM8NHvRf9dHmnW/CndrFXy2aRPaPST6dugXSdHXfeaHQm77PIz/1A==",
"optional": true,
"requires": {
"detect-libc": "^1.0.2",
@@ -11365,7 +7596,8 @@
},
"nopt": {
"version": "4.0.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz",
+ "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=",
"optional": true,
"requires": {
"abbrev": "1",
@@ -11374,12 +7606,14 @@
},
"npm-bundled": {
"version": "1.0.6",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.6.tgz",
+ "integrity": "sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g==",
"optional": true
},
"npm-packlist": {
"version": "1.4.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.1.tgz",
+ "integrity": "sha512-+TcdO7HJJ8peiiYhvPxsEDhF3PJFGUGRcFsGve3vxvxdcpO2Z4Z7rkosRM0kWj6LfbK/P0gu3dzk5RU1ffvFcw==",
"optional": true,
"requires": {
"ignore-walk": "^3.0.1",
@@ -11388,7 +7622,8 @@
},
"npmlog": {
"version": "4.1.2",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
+ "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
"optional": true,
"requires": {
"are-we-there-yet": "~1.1.2",
@@ -11399,17 +7634,20 @@
},
"number-is-nan": {
"version": "1.0.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
+ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
"optional": true
},
"object-assign": {
"version": "4.1.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
"optional": true
},
"once": {
"version": "1.4.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
"optional": true,
"requires": {
"wrappy": "1"
@@ -11417,17 +7655,20 @@
},
"os-homedir": {
"version": "1.0.2",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
+ "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
"optional": true
},
"os-tmpdir": {
"version": "1.0.2",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
+ "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
"optional": true
},
"osenv": {
"version": "0.1.5",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
+ "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
"optional": true,
"requires": {
"os-homedir": "^1.0.0",
@@ -11436,17 +7677,20 @@
},
"path-is-absolute": {
"version": "1.0.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
"optional": true
},
"process-nextick-args": {
"version": "2.0.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
+ "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
"optional": true
},
"rc": {
"version": "1.2.8",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
+ "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
"optional": true,
"requires": {
"deep-extend": "^0.6.0",
@@ -11457,14 +7701,16 @@
"dependencies": {
"minimist": {
"version": "1.2.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
"optional": true
}
}
},
"readable-stream": {
"version": "2.3.6",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
"optional": true,
"requires": {
"core-util-is": "~1.0.0",
@@ -11478,7 +7724,8 @@
},
"rimraf": {
"version": "2.6.3",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
+ "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
"optional": true,
"requires": {
"glob": "^7.1.3"
@@ -11486,37 +7733,44 @@
},
"safe-buffer": {
"version": "5.1.2",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
"optional": true
},
"safer-buffer": {
"version": "2.1.2",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
"optional": true
},
"sax": {
"version": "1.2.4",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
+ "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
"optional": true
},
"semver": {
"version": "5.7.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz",
+ "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==",
"optional": true
},
"set-blocking": {
"version": "2.0.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
"optional": true
},
"signal-exit": {
"version": "3.0.2",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
+ "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
"optional": true
},
"string-width": {
"version": "1.0.2",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
"optional": true,
"requires": {
"code-point-at": "^1.0.0",
@@ -11526,7 +7780,8 @@
},
"string_decoder": {
"version": "1.1.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
"optional": true,
"requires": {
"safe-buffer": "~5.1.0"
@@ -11534,7 +7789,8 @@
},
"strip-ansi": {
"version": "3.0.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
"optional": true,
"requires": {
"ansi-regex": "^2.0.0"
@@ -11542,12 +7798,14 @@
},
"strip-json-comments": {
"version": "2.0.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
+ "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
"optional": true
},
"tar": {
"version": "4.4.8",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.8.tgz",
+ "integrity": "sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ==",
"optional": true,
"requires": {
"chownr": "^1.1.1",
@@ -11561,12 +7819,14 @@
},
"util-deprecate": {
"version": "1.0.2",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
"optional": true
},
"wide-align": {
"version": "1.1.3",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz",
+ "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==",
"optional": true,
"requires": {
"string-width": "^1.0.2 || 2"
@@ -11574,63 +7834,18 @@
},
"wrappy": {
"version": "1.0.2",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
"optional": true
},
"yallist": {
"version": "3.0.3",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz",
+ "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==",
"optional": true
}
}
},
- "fstream": {
- "version": "1.0.12",
- "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz",
- "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==",
- "requires": {
- "graceful-fs": "^4.1.2",
- "inherits": "~2.0.0",
- "mkdirp": ">=0.5 0",
- "rimraf": "2"
- }
- },
- "ftp": {
- "version": "0.3.10",
- "resolved": "https://registry.npmjs.org/ftp/-/ftp-0.3.10.tgz",
- "integrity": "sha1-kZfYYa2BQvPmPVqDv+TFn3MwiF0=",
- "dev": true,
- "requires": {
- "readable-stream": "1.1.x",
- "xregexp": "2.0.0"
- },
- "dependencies": {
- "isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
- "dev": true
- },
- "readable-stream": {
- "version": "1.1.14",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
- "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.1",
- "isarray": "0.0.1",
- "string_decoder": "~0.10.x"
- }
- },
- "string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
- "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
- "dev": true
- }
- }
- },
"function-bind": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
@@ -11658,28 +7873,37 @@
}
},
"gaxios": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-2.0.1.tgz",
- "integrity": "sha512-c1NXovTxkgRJTIgB2FrFmOFg4YIV6N/bAa4f/FZ4jIw13Ql9ya/82x69CswvotJhbV3DiGnlTZwoq2NVXk2Irg==",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-2.1.0.tgz",
+ "integrity": "sha512-Gtpb5sdQmb82sgVkT2GnS2n+Kx4dlFwbeMYcDlD395aEvsLCSQXJJcHt7oJ2LrGxDEAeiOkK79Zv2A8Pzt6CFg==",
"requires": {
"abort-controller": "^3.0.0",
"extend": "^3.0.2",
- "https-proxy-agent": "^2.2.1",
+ "https-proxy-agent": "^3.0.0",
+ "is-stream": "^2.0.0",
"node-fetch": "^2.3.0"
- }
- },
- "gaze": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz",
- "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==",
- "requires": {
- "globule": "^1.0.0"
+ },
+ "dependencies": {
+ "https-proxy-agent": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-3.0.0.tgz",
+ "integrity": "sha512-y4jAxNEihqvBI5F3SaO2rtsjIOnnNA8sEbuiP+UhJZJHeM2NRm6c09ax2tgqme+SgUUvjao2fJXF4h3D6Cb2HQ==",
+ "requires": {
+ "agent-base": "^4.3.0",
+ "debug": "^3.1.0"
+ }
+ },
+ "is-stream": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz",
+ "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw=="
+ }
}
},
"gcp-metadata": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-2.0.4.tgz",
- "integrity": "sha512-p1lXhJvcKvJHWfQXhkd4Za1kyXRsGZA0JH7Cjs07W9hrg84d/j5tqQhbGewlSLx9gNyuQUid69uLux48YbggLg==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-3.2.0.tgz",
+ "integrity": "sha512-ympv+yQ6k5QuWCuwQqnGEvFGS7MBKdcQdj1i188v3bW9QLFIchTGaBCEZxSQapT0jffdn1vdt8oJhB5VBWQO1Q==",
"requires": {
"gaxios": "^2.0.1",
"json-bigint": "^0.3.0"
@@ -11761,71 +7985,11 @@
"pump": "^3.0.0"
}
},
- "get-uri": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-2.0.3.tgz",
- "integrity": "sha512-x5j6Ks7FOgLD/GlvjKwgu7wdmMR55iuRHhn8hj/+gA+eSbxQvZ+AEomq+3MgVEZj1vpi738QahGbCCSIDtXtkw==",
- "dev": true,
- "requires": {
- "data-uri-to-buffer": "2",
- "debug": "4",
- "extend": "~3.0.2",
- "file-uri-to-path": "1",
- "ftp": "~0.3.10",
- "readable-stream": "3"
- },
- "dependencies": {
- "@types/node": {
- "version": "8.10.54",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.54.tgz",
- "integrity": "sha512-kaYyLYf6ICn6/isAyD4K1MyWWd5Q3JgH6bnMN089LUx88+s4W8GvK9Q6JMBVu5vsFFp7pMdSxdKmlBXwH/VFRg==",
- "dev": true
- },
- "data-uri-to-buffer": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-2.0.1.tgz",
- "integrity": "sha512-OkVVLrerfAKZlW2ZZ3Ve2y65jgiWqBKsTfUIAFbn8nVbPcCZg6l6gikKlEYv0kXcmzqGm6mFq/Jf2vriuEkv8A==",
- "dev": true,
- "requires": {
- "@types/node": "^8.0.7"
- }
- },
- "debug": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
- "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
- "dev": true,
- "requires": {
- "ms": "^2.1.1"
- }
- },
- "readable-stream": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz",
- "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==",
- "dev": true,
- "requires": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- }
- }
- }
- },
"get-value": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
"integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg="
},
- "get-view": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/get-view/-/get-view-0.1.3.tgz",
- "integrity": "sha1-NmCsBYuhPfl0nKvKpry5bUGqDqA=",
- "requires": {
- "isobject": "^3.0.0",
- "match-file": "^0.2.1"
- }
- },
"getpass": {
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
@@ -11884,19 +8048,6 @@
"logalot": "^2.0.0"
},
"dependencies": {
- "cross-spawn": {
- "version": "6.0.5",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
- "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
- "optional": true,
- "requires": {
- "nice-try": "^1.0.4",
- "path-key": "^2.0.1",
- "semver": "^5.5.0",
- "shebang-command": "^1.2.0",
- "which": "^1.2.9"
- }
- },
"execa": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
@@ -11911,52 +8062,9 @@
"signal-exit": "^3.0.0",
"strip-eof": "^1.0.0"
}
- },
- "path-key": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
- "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
- "optional": true
- },
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
- "optional": true
}
}
},
- "git-config-path": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/git-config-path/-/git-config-path-1.0.1.tgz",
- "integrity": "sha1-bTP37WPbDQ4RgTFQO6s6ykfVRmQ=",
- "requires": {
- "extend-shallow": "^2.0.1",
- "fs-exists-sync": "^0.1.0",
- "homedir-polyfill": "^1.0.0"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "^0.1.0"
- }
- }
- }
- },
- "git-repo-name": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/git-repo-name/-/git-repo-name-0.6.0.tgz",
- "integrity": "sha1-rwmIRlaqU37GJccIcAgXXNYSKP8=",
- "requires": {
- "cwd": "^0.9.1",
- "file-name": "^0.1.0",
- "lazy-cache": "^1.0.4",
- "remote-origin-url": "^0.5.1"
- }
- },
"glob": {
"version": "7.1.4",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz",
@@ -11970,38 +8078,6 @@
"path-is-absolute": "^1.0.0"
}
},
- "glob-base": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
- "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
- "requires": {
- "glob-parent": "^2.0.0",
- "is-glob": "^2.0.0"
- },
- "dependencies": {
- "glob-parent": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
- "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
- "requires": {
- "is-glob": "^2.0.0"
- }
- },
- "is-extglob": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
- "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA="
- },
- "is-glob": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
- "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
- "requires": {
- "is-extglob": "^1.0.0"
- }
- }
- }
- },
"glob-parent": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
@@ -12084,7 +8160,8 @@
"globals": {
"version": "9.18.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz",
- "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ=="
+ "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==",
+ "dev": true
},
"globby": {
"version": "10.0.1",
@@ -12099,23 +8176,6 @@
"ignore": "^5.1.1",
"merge2": "^1.2.3",
"slash": "^3.0.0"
- },
- "dependencies": {
- "slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q=="
- }
- }
- },
- "globule": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.1.tgz",
- "integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==",
- "requires": {
- "glob": "~7.1.1",
- "lodash": "~4.17.10",
- "minimatch": "~3.0.2"
}
},
"glogg": {
@@ -12127,29 +8187,18 @@
}
},
"google-auth-library": {
- "version": "5.2.2",
- "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-5.2.2.tgz",
- "integrity": "sha512-0vzniXbjD5SE9aenAMqhjVR99wvqLpyd5Fw6zC3WxJ15GIMGx96tq+Cu1WRviqsnQqhrmnad6T69kv6qkj/w2Q==",
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-5.5.0.tgz",
+ "integrity": "sha512-TNeraw4miu6/FhO0jDrHiJuRx3SBrAhxHSPj7+rhif43bKE34UItXX9lejKxo3E8FNytuY4LIVIvpcqMQHSYZw==",
"requires": {
"arrify": "^2.0.0",
"base64-js": "^1.3.0",
"fast-text-encoding": "^1.0.0",
"gaxios": "^2.0.0",
- "gcp-metadata": "^3.0.0",
- "gtoken": "^4.0.0",
+ "gcp-metadata": "^3.2.0",
+ "gtoken": "^4.1.0",
"jws": "^3.1.5",
"lru-cache": "^5.0.0"
- },
- "dependencies": {
- "gcp-metadata": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-3.0.0.tgz",
- "integrity": "sha512-WP5/TZWri9TrD41jNr8ukY9dKYLL+8jwQVwbtUbmprjWuyybdnJNkbXbwqD2sdbXIVXD1WCqzfj7QftSLB6K8Q==",
- "requires": {
- "gaxios": "^2.0.1",
- "json-bigint": "^0.3.0"
- }
- }
}
},
"google-p12-pem": {
@@ -12189,103 +8238,6 @@
"integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=",
"optional": true
},
- "gray-matter": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-3.1.1.tgz",
- "integrity": "sha512-nZ1qjLmayEv0/wt3sHig7I0s3/sJO0dkAaKYQ5YAOApUtYEOonXSFdWvL1khvnZMTvov4UufkqlFsilPnejEXA==",
- "requires": {
- "extend-shallow": "^2.0.1",
- "js-yaml": "^3.10.0",
- "kind-of": "^5.0.2",
- "strip-bom-string": "^1.0.0"
- },
- "dependencies": {
- "esprima": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
- "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "js-yaml": {
- "version": "3.13.1",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
- "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
- "requires": {
- "argparse": "^1.0.7",
- "esprima": "^4.0.0"
- }
- },
- "kind-of": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw=="
- },
- "strip-bom-string": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz",
- "integrity": "sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI="
- }
- }
- },
- "group-array": {
- "version": "0.3.4",
- "resolved": "https://registry.npmjs.org/group-array/-/group-array-0.3.4.tgz",
- "integrity": "sha512-YAmNsgsi1uQ7Ai3T4FFkMoskqbLEUPRajAmrn8FclwZQQnV98NLrNWjQ3n2+i1pANxdO3n6wsNEkKq5XrYy0Ow==",
- "requires": {
- "arr-flatten": "^1.0.1",
- "for-own": "^0.1.4",
- "get-value": "^2.0.6",
- "kind-of": "^3.1.0",
- "split-string": "^1.0.1",
- "union-value": "^1.0.1"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "for-own": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
- "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
- "requires": {
- "for-in": "^1.0.1"
- }
- },
- "is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
- },
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "^1.1.5"
- }
- },
- "split-string": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/split-string/-/split-string-1.0.1.tgz",
- "integrity": "sha1-vLqz9BUqzuOg1qskecDSh5w9s84=",
- "requires": {
- "extend-shallow": "^2.0.1"
- }
- }
- }
- },
"growl": {
"version": "1.10.5",
"resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz",
@@ -12342,50 +8294,16 @@
}
},
"gulp-babel": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/gulp-babel/-/gulp-babel-7.0.1.tgz",
- "integrity": "sha512-UqHS3AdxZyJCRxqnAX603Dj3k/Wx6hzcgmav3QcxvsIFq3Y8ZkU7iXd0O+JwD5ivqCc6o0r1S7tCB/xxLnuSNw==",
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/gulp-babel/-/gulp-babel-8.0.0.tgz",
+ "integrity": "sha512-oomaIqDXxFkg7lbpBou/gnUkX51/Y/M2ZfSjL2hdqXTAlSWZcgZtd2o0cOH0r/eE8LWD0+Q/PsLsr2DKOoqToQ==",
"requires": {
"plugin-error": "^1.0.1",
- "replace-ext": "0.0.1",
+ "replace-ext": "^1.0.0",
"through2": "^2.0.0",
"vinyl-sourcemaps-apply": "^0.2.0"
},
"dependencies": {
- "replace-ext": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
- "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ="
- },
- "through2": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
- "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
- "requires": {
- "readable-stream": "~2.3.6",
- "xtend": "~4.0.1"
- }
- }
- }
- },
- "gulp-choose-files": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/gulp-choose-files/-/gulp-choose-files-0.1.3.tgz",
- "integrity": "sha1-hrFfBjAHOrZz1XJb7sY+qhSFUPk=",
- "requires": {
- "extend-shallow": "^2.0.1",
- "question-cache": "^0.5.1",
- "through2": "^2.0.1"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
"through2": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
@@ -12398,9 +8316,9 @@
}
},
"gulp-imagemin": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/gulp-imagemin/-/gulp-imagemin-6.1.0.tgz",
- "integrity": "sha512-0TPkak5BsiRfw+kfcKwIcODbOHHcTyvBM9arlRSwXdUVzrGAcq/7urZoOQD5n4uWvKhjg+l9/yn1GDZsDuWUow==",
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/gulp-imagemin/-/gulp-imagemin-6.1.1.tgz",
+ "integrity": "sha512-fqaSR8bMc5lhqa6HzRPuJaDY6lY7rcCipe6WtqQ5+hNYTCSPYjXic+1gvFG1+8X879gjVJmIxwmqIbfjuMqTpQ==",
"requires": {
"chalk": "^2.4.1",
"fancy-log": "^1.3.2",
@@ -12432,49 +8350,6 @@
}
}
},
- "gulp-sourcemaps": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-1.6.0.tgz",
- "integrity": "sha1-uG/zSdgBzrVuHZ59x7vLS33uYAw=",
- "requires": {
- "convert-source-map": "^1.1.1",
- "graceful-fs": "^4.1.2",
- "strip-bom": "^2.0.0",
- "through2": "^2.0.0",
- "vinyl": "^1.0.0"
- },
- "dependencies": {
- "clone-stats": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
- "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE="
- },
- "replace-ext": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
- "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ="
- },
- "through2": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
- "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
- "requires": {
- "readable-stream": "~2.3.6",
- "xtend": "~4.0.1"
- }
- },
- "vinyl": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz",
- "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=",
- "requires": {
- "clone": "^1.0.0",
- "clone-stats": "^0.0.1",
- "replace-ext": "0.0.1"
- }
- }
- }
- },
"gulp.spritesmith": {
"version": "6.11.0",
"resolved": "https://registry.npmjs.org/gulp.spritesmith/-/gulp.spritesmith-6.11.0.tgz",
@@ -12535,16 +8410,6 @@
"glogg": "^1.0.0"
}
},
- "gzip-size": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-4.1.0.tgz",
- "integrity": "sha1-iuCWJX6r59acRb4rZ8RIEk/7UXw=",
- "dev": true,
- "requires": {
- "duplexer": "^0.1.1",
- "pify": "^3.0.0"
- }
- },
"habitica-markdown": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/habitica-markdown/-/habitica-markdown-1.3.0.tgz",
@@ -12640,62 +8505,11 @@
"ansi-regex": "^2.0.0"
}
},
- "has-binary2": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz",
- "integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==",
- "dev": true,
- "requires": {
- "isarray": "2.0.1"
- },
- "dependencies": {
- "isarray": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz",
- "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=",
- "dev": true
- }
- }
- },
- "has-cors": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz",
- "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=",
- "dev": true
- },
"has-flag": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
},
- "has-glob": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/has-glob/-/has-glob-0.1.1.tgz",
- "integrity": "sha1-omHEwqbGZ+DHe3AKfyl8Oe86pYk=",
- "requires": {
- "is-glob": "^2.0.1"
- },
- "dependencies": {
- "is-extglob": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
- "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA="
- },
- "is-glob": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
- "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
- "requires": {
- "is-extglob": "^1.0.0"
- }
- }
- }
- },
- "has-own-deep": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/has-own-deep/-/has-own-deep-0.1.4.tgz",
- "integrity": "sha1-kesM2ieAgxWPgEKigxZDTpr+eHY="
- },
"has-symbol-support-x": {
"version": "1.4.2",
"resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz",
@@ -12755,29 +8569,6 @@
}
}
},
- "hash-base": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz",
- "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=",
- "requires": {
- "inherits": "^2.0.1",
- "safe-buffer": "^5.0.1"
- }
- },
- "hash-sum": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz",
- "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ="
- },
- "hash.js": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz",
- "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==",
- "requires": {
- "inherits": "^2.0.3",
- "minimalistic-assert": "^1.0.1"
- }
- },
"hawk": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
@@ -12789,16 +8580,6 @@
"sntp": "1.x.x"
}
},
- "he": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
- "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw=="
- },
- "hellojs": {
- "version": "1.18.1",
- "resolved": "https://registry.npmjs.org/hellojs/-/hellojs-1.18.1.tgz",
- "integrity": "sha512-T673GW3RSuM4xzYfJpp/wNPDbUG9FlNSNkQn0thII8DOpl3NphcmtmNrHrmv8hyk1fosJHkgzDfbcpJvmeq5Gw=="
- },
"helmet": {
"version": "3.21.1",
"resolved": "https://registry.npmjs.org/helmet/-/helmet-3.21.1.tgz",
@@ -12844,31 +8625,6 @@
"dasherize": "2.0.0"
}
},
- "helper-cache": {
- "version": "0.7.2",
- "resolved": "https://registry.npmjs.org/helper-cache/-/helper-cache-0.7.2.tgz",
- "integrity": "sha1-AkVixLS4sqsqtTHQC+FuxJZRi5A=",
- "requires": {
- "extend-shallow": "^2.0.1",
- "lazy-cache": "^0.2.3",
- "lodash.bind": "^3.1.0"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "lazy-cache": {
- "version": "0.2.7",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-0.2.7.tgz",
- "integrity": "sha1-f+3fLctu23fRHvHRF6tf/fCrG2U="
- }
- }
- },
"hex2dec": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/hex2dec/-/hex2dec-1.1.2.tgz",
@@ -12879,30 +8635,11 @@
"resolved": "https://registry.npmjs.org/hide-powered-by/-/hide-powered-by-1.1.0.tgz",
"integrity": "sha512-Io1zA2yOA1YJslkr+AJlWSf2yWFkKjvkcL9Ni1XSUqnGLr/qRQe2UI3Cn/J9MsJht7yEVCe0SscY1HgVMujbgg=="
},
- "hmac-drbg": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
- "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
- "requires": {
- "hash.js": "^1.0.3",
- "minimalistic-assert": "^1.0.0",
- "minimalistic-crypto-utils": "^1.0.1"
- }
- },
"hoek": {
"version": "2.16.3",
"resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
"integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0="
},
- "home-or-tmp": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz",
- "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=",
- "requires": {
- "os-homedir": "^1.0.0",
- "os-tmpdir": "^1.0.1"
- }
- },
"homedir-polyfill": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz",
@@ -12939,107 +8676,8 @@
"html-comment-regex": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz",
- "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ=="
- },
- "html-entities": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz",
- "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=",
- "dev": true
- },
- "html-minifier": {
- "version": "3.5.21",
- "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz",
- "integrity": "sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==",
- "requires": {
- "camel-case": "3.0.x",
- "clean-css": "4.2.x",
- "commander": "2.17.x",
- "he": "1.2.x",
- "param-case": "2.1.x",
- "relateurl": "0.2.x",
- "uglify-js": "3.4.x"
- },
- "dependencies": {
- "commander": {
- "version": "2.17.1",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz",
- "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg=="
- },
- "uglify-js": {
- "version": "3.4.10",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz",
- "integrity": "sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==",
- "requires": {
- "commander": "~2.19.0",
- "source-map": "~0.6.1"
- },
- "dependencies": {
- "commander": {
- "version": "2.19.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz",
- "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg=="
- }
- }
- }
- }
- },
- "html-webpack-plugin": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz",
- "integrity": "sha1-sBq71yOsqqeze2r0SS69oD2d03s=",
- "requires": {
- "html-minifier": "^3.2.3",
- "loader-utils": "^0.2.16",
- "lodash": "^4.17.3",
- "pretty-error": "^2.0.2",
- "tapable": "^1.0.0",
- "toposort": "^1.0.0",
- "util.promisify": "1.0.0"
- },
- "dependencies": {
- "big.js": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz",
- "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q=="
- },
- "loader-utils": {
- "version": "0.2.17",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
- "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=",
- "requires": {
- "big.js": "^3.1.3",
- "emojis-list": "^2.0.0",
- "json5": "^0.5.0",
- "object-assign": "^4.0.1"
- }
- }
- }
- },
- "htmlparser2": {
- "version": "3.10.1",
- "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz",
- "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==",
- "requires": {
- "domelementtype": "^1.3.1",
- "domhandler": "^2.3.0",
- "domutils": "^1.5.1",
- "entities": "^1.1.1",
- "inherits": "^2.0.1",
- "readable-stream": "^3.1.1"
- },
- "dependencies": {
- "readable-stream": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz",
- "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==",
- "requires": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- }
- }
- }
+ "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==",
+ "optional": true
},
"http-cache-semantics": {
"version": "4.0.3",
@@ -13065,25 +8703,6 @@
}
}
},
- "http-proxy": {
- "version": "1.18.0",
- "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.0.tgz",
- "integrity": "sha512-84I2iJM/n1d4Hdgc6y2+qY5mDaz2PUVjlg9znE9byl+q0uC3DeByqBGReQu5tpLK0TAqTIXScRUV+dg7+bUPpQ==",
- "dev": true,
- "requires": {
- "eventemitter3": "^4.0.0",
- "follow-redirects": "^1.0.0",
- "requires-port": "^1.0.0"
- },
- "dependencies": {
- "eventemitter3": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.0.tgz",
- "integrity": "sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg==",
- "dev": true
- }
- }
- },
"http-proxy-agent": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz",
@@ -13108,63 +8727,6 @@
}
}
},
- "http-proxy-middleware": {
- "version": "0.20.0",
- "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.20.0.tgz",
- "integrity": "sha512-dNJAk71nEJhPiAczQH9hGvE/MT9kEs+zn2Dh+Hi94PGZe1GluQirC7mw5rdREUtWx6qGS1Gu0bZd4qEAg+REgw==",
- "dev": true,
- "requires": {
- "http-proxy": "^1.17.0",
- "is-glob": "^4.0.1",
- "lodash": "^4.17.14",
- "micromatch": "^4.0.2"
- },
- "dependencies": {
- "braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "dev": true,
- "requires": {
- "fill-range": "^7.0.1"
- }
- },
- "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==",
- "dev": true,
- "requires": {
- "to-regex-range": "^5.0.1"
- }
- },
- "is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "dev": true
- },
- "micromatch": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
- "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
- "dev": true,
- "requires": {
- "braces": "^3.0.1",
- "picomatch": "^2.0.5"
- }
- },
- "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==",
- "dev": true,
- "requires": {
- "is-number": "^7.0.0"
- }
- }
- }
- },
"http-signature": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
@@ -13179,11 +8741,6 @@
"version": "https://github.com/node-apn/node-http2/archive/apn-2.1.4.tar.gz",
"integrity": "sha512-ad4u4I88X9AcUgxCRW3RLnbh7xHWQ1f5HbrXa7gEy2x4Xgq+rq+auGx5I+nUDE2YYuqteGIlbxrwQXkIaYTfnQ=="
},
- "https-browserify": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
- "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM="
- },
"https-proxy-agent": {
"version": "2.2.2",
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.2.tgz",
@@ -13210,39 +8767,6 @@
"safer-buffer": ">= 2.1.2 < 3"
}
},
- "icss-replace-symbols": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz",
- "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0="
- },
- "icss-utils": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-2.1.0.tgz",
- "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=",
- "requires": {
- "postcss": "^6.0.1"
- },
- "dependencies": {
- "postcss": {
- "version": "6.0.23",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
- "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
- "requires": {
- "chalk": "^2.4.1",
- "source-map": "^0.6.1",
- "supports-color": "^5.4.0"
- }
- },
- "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"
- }
- }
- }
- },
"ieee754": {
"version": "1.1.13",
"resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz",
@@ -13272,9 +8796,9 @@
}
},
"image-size": {
- "version": "0.8.2",
- "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.8.2.tgz",
- "integrity": "sha512-0AO8bEDtAcC+dScZmCDUvmxIYWlJ+0DQOl1BkTQYrrM3/oQORS03P0gDT7ZoElRozHlfoUxT+L2ErLFmbT5tdA==",
+ "version": "0.8.3",
+ "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.8.3.tgz",
+ "integrity": "sha512-SMtq1AJ+aqHB45c3FsB4ERK0UCiA2d3H1uq8s+8T0Pf8A3W4teyBQyaFaktH6xvZqh+npwlKU7i4fJo0r7TYTg==",
"requires": {
"queue": "6.0.1"
}
@@ -13325,9 +8849,9 @@
}
},
"imagemin-optipng": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/imagemin-optipng/-/imagemin-optipng-7.0.0.tgz",
- "integrity": "sha512-N40bmLgiyv5H8xFp/RYmWKdg6Z19MGqzcNW+IWXG7VPrLV75NbcOn8y6A7eZcSHOCNW+DqBx+b95yw+Tf6Sl/g==",
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/imagemin-optipng/-/imagemin-optipng-7.1.0.tgz",
+ "integrity": "sha512-JNORTZ6j6untH7e5gF4aWdhDCxe3ODsSLKs/f7Grewy3ebZpl1ZsU+VUTPY4rzeHgaFA8GSWOoA8V2M3OixWZQ==",
"optional": true,
"requires": {
"exec-buffer": "^3.0.0",
@@ -13343,16 +8867,23 @@
"requires": {
"is-svg": "^3.0.0",
"svgo": "^1.0.5"
+ }
+ },
+ "import-fresh": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.1.0.tgz",
+ "integrity": "sha512-PpuksHKGt8rXfWEr9m9EHIpgyyaltBy8+eF6GJM0QCAxMgxCfucMF3mjecK2QsJr0amJW7gTqh5/wht0z2UhEQ==",
+ "dev": true,
+ "requires": {
+ "parent-module": "^1.0.0",
+ "resolve-from": "^4.0.0"
},
"dependencies": {
- "is-svg": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz",
- "integrity": "sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==",
- "optional": true,
- "requires": {
- "html-comment-regex": "^1.1.0"
- }
+ "resolve-from": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
+ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
+ "dev": true
}
}
},
@@ -13478,11 +9009,6 @@
}
}
},
- "in-publish": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz",
- "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E="
- },
"indent-string": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz",
@@ -13491,22 +9017,6 @@
"repeating": "^2.0.0"
}
},
- "indexes-of": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz",
- "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc="
- },
- "indexof": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
- "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=",
- "dev": true
- },
- "inflection": {
- "version": "1.12.0",
- "resolved": "https://registry.npmjs.org/inflection/-/inflection-1.12.0.tgz",
- "integrity": "sha1-ogCTVlbW9fa8TcdQLhrstwMihBY="
- },
"inflight": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
@@ -13516,11 +9026,6 @@
"wrappy": "1"
}
},
- "info-symbol": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/info-symbol/-/info-symbol-0.1.0.tgz",
- "integrity": "sha1-J4QdcoZ920JCzWEtecEGM4gcang="
- },
"inherits": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
@@ -13532,24 +9037,23 @@
"integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw=="
},
"inquirer": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz",
- "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==",
+ "version": "6.5.2",
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz",
+ "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==",
"dev": true,
"requires": {
- "ansi-escapes": "^3.0.0",
- "chalk": "^2.0.0",
+ "ansi-escapes": "^3.2.0",
+ "chalk": "^2.4.2",
"cli-cursor": "^2.1.0",
"cli-width": "^2.0.0",
- "external-editor": "^2.0.4",
+ "external-editor": "^3.0.3",
"figures": "^2.0.0",
- "lodash": "^4.3.0",
+ "lodash": "^4.17.12",
"mute-stream": "0.0.7",
"run-async": "^2.2.0",
- "rx-lite": "^4.0.8",
- "rx-lite-aggregates": "^4.0.8",
+ "rxjs": "^6.4.0",
"string-width": "^2.1.0",
- "strip-ansi": "^4.0.0",
+ "strip-ansi": "^5.1.0",
"through": "^2.3.6"
},
"dependencies": {
@@ -13609,120 +9113,34 @@
"requires": {
"is-fullwidth-code-point": "^2.0.0",
"strip-ansi": "^4.0.0"
+ },
+ "dependencies": {
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^3.0.0"
+ }
+ }
}
},
"strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
+ "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
"dev": true,
"requires": {
- "ansi-regex": "^3.0.0"
- }
- }
- }
- },
- "inquirer2": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/inquirer2/-/inquirer2-0.1.1.tgz",
- "integrity": "sha1-vFQkqBQ1fEHmXi6Vf+U2ruqb8fY=",
- "requires": {
- "ansi-escapes": "^1.1.1",
- "ansi-regex": "^2.0.0",
- "arr-flatten": "^1.0.1",
- "arr-pluck": "^0.1.0",
- "array-unique": "^0.2.1",
- "chalk": "^1.1.1",
- "cli-cursor": "^1.0.2",
- "cli-width": "^1.1.0",
- "extend-shallow": "^2.0.1",
- "figures": "^1.4.0",
- "is-number": "^2.1.0",
- "is-plain-object": "^2.0.1",
- "lazy-cache": "^1.0.3",
- "lodash.where": "^3.1.0",
- "readline2": "^1.0.1",
- "run-async": "^0.1.0",
- "rx-lite": "^4.0.7",
- "strip-color": "^0.1.0",
- "through2": "^2.0.0"
- },
- "dependencies": {
- "array-unique": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
- "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM="
- },
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- }
- },
- "cli-cursor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz",
- "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=",
- "requires": {
- "restore-cursor": "^1.0.1"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
- },
- "is-number": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
- "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
- "requires": {
- "kind-of": "^3.0.2"
- }
- },
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "^1.1.5"
- }
- },
- "onetime": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz",
- "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k="
- },
- "restore-cursor": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz",
- "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=",
- "requires": {
- "exit-hook": "^1.0.0",
- "onetime": "^1.0.0"
- }
- },
- "through2": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
- "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
- "requires": {
- "readable-stream": "~2.3.6",
- "xtend": "~4.0.1"
+ "ansi-regex": "^4.1.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
+ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
+ "dev": true
+ }
}
}
}
@@ -13742,15 +9160,11 @@
"p-is-promise": "^1.1.0"
}
},
- "intro.js": {
- "version": "2.9.3",
- "resolved": "https://registry.npmjs.org/intro.js/-/intro.js-2.9.3.tgz",
- "integrity": "sha512-hC+EXWnEuJeA3CveGMat3XHePd2iaXNFJIVfvJh2E9IzBMGLTlhWvPIVHAgKlOpO4lNayCxEqzr4N02VmHFr9Q=="
- },
"invariant": {
"version": "2.2.4",
"resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
"integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
+ "dev": true,
"requires": {
"loose-envify": "^1.0.0"
}
@@ -13765,12 +9179,6 @@
"resolved": "https://registry.npmjs.org/iota-array/-/iota-array-1.0.0.tgz",
"integrity": "sha1-ge9X/l0FgUzVjCSDYyqZwwoOgIc="
},
- "ip": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
- "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=",
- "dev": true
- },
"ip-regex": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz",
@@ -13800,11 +9208,6 @@
"is-windows": "^1.0.1"
}
},
- "is-absolute-url": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz",
- "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY="
- },
"is-accessor-descriptor": {
"version": "0.1.6",
"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
@@ -13828,48 +9231,11 @@
}
}
},
- "is-answer": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/is-answer/-/is-answer-0.1.1.tgz",
- "integrity": "sha1-zBwvGG+FzyZQIgveNZ2GIYfUnLY=",
- "requires": {
- "has-values": "^0.1.4",
- "is-primitive": "^2.0.0",
- "omit-empty": "^0.4.1"
- },
- "dependencies": {
- "has-values": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
- "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E="
- }
- }
- },
- "is-arguments": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz",
- "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA=="
- },
"is-arrayish": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
"integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ=="
},
- "is-binary-buffer": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-binary-buffer/-/is-binary-buffer-1.0.0.tgz",
- "integrity": "sha1-vGAxKQtly/eZudlQK1D9U3VSQAc=",
- "requires": {
- "is-buffer": "^1.1.5"
- },
- "dependencies": {
- "is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
- }
- }
- },
"is-binary-path": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
@@ -13881,7 +9247,8 @@
"is-buffer": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.3.tgz",
- "integrity": "sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw=="
+ "integrity": "sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw==",
+ "dev": true
},
"is-callable": {
"version": "1.1.4",
@@ -13941,40 +9308,6 @@
}
}
},
- "is-directory": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz",
- "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE="
- },
- "is-dotfile": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz",
- "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE="
- },
- "is-equal-shallow": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz",
- "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=",
- "requires": {
- "is-primitive": "^2.0.0"
- }
- },
- "is-expression": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-expression/-/is-expression-3.0.0.tgz",
- "integrity": "sha1-Oayqa+f9HzRx3ELHQW5hwkMXrJ8=",
- "requires": {
- "acorn": "~4.0.2",
- "object-assign": "^4.0.1"
- },
- "dependencies": {
- "acorn": {
- "version": "4.0.13",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz",
- "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c="
- }
- }
- },
"is-extendable": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
@@ -14001,11 +9334,6 @@
"number-is-nan": "^1.0.0"
}
},
- "is-generator": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/is-generator/-/is-generator-1.0.3.tgz",
- "integrity": "sha1-wUwhBX7TbjKNuANHlmxpP4hjifM="
- },
"is-gif": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-gif/-/is-gif-3.0.0.tgz",
@@ -14113,32 +9441,6 @@
"integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=",
"optional": true
},
- "is-path-cwd": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz",
- "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==",
- "dev": true
- },
- "is-path-in-cwd": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz",
- "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==",
- "dev": true,
- "requires": {
- "is-path-inside": "^2.1.0"
- },
- "dependencies": {
- "is-path-inside": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz",
- "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==",
- "dev": true,
- "requires": {
- "path-is-inside": "^1.0.2"
- }
- }
- }
- },
"is-path-inside": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz",
@@ -14166,20 +9468,11 @@
"integrity": "sha512-4KPGizaVGj2LK7xwJIz8o5B2ubu1D/vcQsgOGFEDlpcvgZHto4gBnyd0ig7Ws+67ixmwKoNmu0hYnpo6AaKb5g==",
"optional": true
},
- "is-posix-bracket": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz",
- "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q="
- },
- "is-primitive": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz",
- "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU="
- },
"is-promise": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
- "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o="
+ "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
+ "dev": true
},
"is-property": {
"version": "1.0.2",
@@ -14199,33 +9492,6 @@
"has": "^1.0.1"
}
},
- "is-registered": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/is-registered/-/is-registered-0.1.5.tgz",
- "integrity": "sha1-HTRpd0GdZl4qxshAE1NWheb3b38=",
- "requires": {
- "define-property": "^0.2.5",
- "isobject": "^2.1.0"
- },
- "dependencies": {
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "requires": {
- "is-descriptor": "^0.1.0"
- }
- },
- "isobject": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
- "requires": {
- "isarray": "1.0.0"
- }
- }
- }
- },
"is-relative": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz",
@@ -14234,12 +9500,6 @@
"is-unc-path": "^1.0.0"
}
},
- "is-resolvable": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz",
- "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==",
- "dev": true
- },
"is-retry-allowed": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz",
@@ -14251,9 +9511,10 @@
"integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ="
},
"is-svg": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-2.1.0.tgz",
- "integrity": "sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk=",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz",
+ "integrity": "sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==",
+ "optional": true,
"requires": {
"html-comment-regex": "^1.1.0"
}
@@ -14279,110 +9540,26 @@
"unc-path-regex": "^0.1.2"
}
},
- "is-url": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz",
- "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==",
- "dev": true
- },
"is-utf8": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
"integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI="
},
- "is-valid-app": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-valid-app/-/is-valid-app-0.2.1.tgz",
- "integrity": "sha1-Zc8ZW71xvXdssWGZHGhCSNZd/4k=",
- "requires": {
- "debug": "^2.2.0",
- "is-registered": "^0.1.5",
- "is-valid-instance": "^0.2.0",
- "lazy-cache": "^2.0.1"
- },
- "dependencies": {
- "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"
- }
- },
- "lazy-cache": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
- "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
- "requires": {
- "set-getter": "^0.1.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- }
- }
- },
"is-valid-glob": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz",
"integrity": "sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao="
},
- "is-valid-instance": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/is-valid-instance/-/is-valid-instance-0.2.0.tgz",
- "integrity": "sha1-4an/EQa4y64AB+pqIPidVGoqWg8=",
- "requires": {
- "isobject": "^2.1.0",
- "pascalcase": "^0.1.1"
- },
- "dependencies": {
- "isobject": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
- "requires": {
- "isarray": "1.0.0"
- }
- }
- }
- },
- "is-whitespace": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/is-whitespace/-/is-whitespace-0.3.0.tgz",
- "integrity": "sha1-Fjnssb4DauxppUy7QBz77XEUq38="
- },
"is-windows": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
"integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA=="
},
- "is2": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is2/-/is2-2.0.1.tgz",
- "integrity": "sha512-+WaJvnaA7aJySz2q/8sLjMb2Mw14KTplHmSwcSpZ/fWJPkUmqw3YTzSWbPJ7OAwRvdYTWF2Wg+yYJ1AdP5Z8CA==",
- "dev": true,
- "requires": {
- "deep-is": "^0.1.3",
- "ip-regex": "^2.1.0",
- "is-url": "^1.2.2"
- }
- },
"isarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
},
- "isbinaryfile": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz",
- "integrity": "sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==",
- "dev": true,
- "requires": {
- "buffer-alloc": "^1.2.0"
- }
- },
"isexe": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
@@ -14547,6 +9724,15 @@
"source-map": "^0.5.3"
},
"dependencies": {
+ "rimraf": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
+ "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+ "dev": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
"source-map": {
"version": "0.5.7",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
@@ -14595,30 +9781,23 @@
"logalot": "^2.0.0"
}
},
- "jquery": {
- "version": "3.4.1",
- "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.4.1.tgz",
- "integrity": "sha512-36+AdBzCL+y6qjw5Tx7HgzeGCzC81MDDgaUP8ld2zhx58HdqXGoBd+tHdrBMiyjGQs0Hxs/MLZTu/eHNJJuWPw=="
- },
- "js-base64": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.1.tgz",
- "integrity": "sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw=="
- },
- "js-stringify": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/js-stringify/-/js-stringify-1.0.2.tgz",
- "integrity": "sha1-Fzb939lyTyijaCrcYjCufk6Weds="
+ "js-levenshtein": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz",
+ "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==",
+ "dev": true
},
"js-tokens": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
- "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls="
+ "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=",
+ "dev": true
},
"js-yaml": {
"version": "3.7.0",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz",
"integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=",
+ "dev": true,
"requires": {
"argparse": "^1.0.7",
"esprima": "^2.6.0"
@@ -14640,7 +9819,8 @@
"jsesc": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz",
- "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s="
+ "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=",
+ "dev": true
},
"json-bigint": {
"version": "0.3.0",
@@ -14660,11 +9840,6 @@
"resolved": "https://registry.npmjs.org/json-content-demux/-/json-content-demux-0.1.3.tgz",
"integrity": "sha1-XBJ3v387dRKoa3Mt3UGzLU38scw="
},
- "json-loader": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.7.tgz",
- "integrity": "sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w=="
- },
"json-schema": {
"version": "0.2.3",
"resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
@@ -14685,11 +9860,6 @@
"resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
"integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
},
- "json5": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
- "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE="
- },
"jsonfile": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz",
@@ -14745,15 +9915,6 @@
}
}
},
- "jstransformer": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/jstransformer/-/jstransformer-1.0.0.tgz",
- "integrity": "sha1-7Yvwkh4vPx7U1cGkT2hwntJHIsM=",
- "requires": {
- "is-promise": "^2.0.0",
- "promise": "^7.0.1"
- }
- },
"junk": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/junk/-/junk-3.1.0.tgz",
@@ -14799,489 +9960,6 @@
"resolved": "https://registry.npmjs.org/kareem/-/kareem-2.3.1.tgz",
"integrity": "sha512-l3hLhffs9zqoDe8zjmb/mAN4B8VT3L56EUvKNqLFVs9YlFA+zx7ke1DO8STAdDyYNkeSo1nKmjuvQeI12So8Xw=="
},
- "karma": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/karma/-/karma-4.3.0.tgz",
- "integrity": "sha512-NSPViHOt+RW38oJklvYxQC4BSQsv737oQlr/r06pCM+slDOr4myuI1ivkRmp+3dVpJDfZt2DmaPJ2wkx+ZZuMQ==",
- "dev": true,
- "requires": {
- "bluebird": "^3.3.0",
- "body-parser": "^1.16.1",
- "braces": "^3.0.2",
- "chokidar": "^3.0.0",
- "colors": "^1.1.0",
- "connect": "^3.6.0",
- "core-js": "^3.1.3",
- "di": "^0.0.1",
- "dom-serialize": "^2.2.0",
- "flatted": "^2.0.0",
- "glob": "^7.1.1",
- "graceful-fs": "^4.1.2",
- "http-proxy": "^1.13.0",
- "isbinaryfile": "^3.0.0",
- "lodash": "^4.17.14",
- "log4js": "^4.0.0",
- "mime": "^2.3.1",
- "minimatch": "^3.0.2",
- "optimist": "^0.6.1",
- "qjobs": "^1.1.4",
- "range-parser": "^1.2.0",
- "rimraf": "^2.6.0",
- "safe-buffer": "^5.0.1",
- "socket.io": "2.1.1",
- "source-map": "^0.6.1",
- "tmp": "0.0.33",
- "useragent": "2.3.0"
- },
- "dependencies": {
- "anymatch": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.0.tgz",
- "integrity": "sha512-Ozz7l4ixzI7Oxj2+cw+p0tVUt27BpaJ+1+q1TCeANWxHpvyn2+Un+YamBdfKu0uh8xLodGhoa1v7595NhKDAuA==",
- "dev": true,
- "requires": {
- "normalize-path": "^3.0.0",
- "picomatch": "^2.0.4"
- }
- },
- "binary-extensions": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz",
- "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==",
- "dev": true
- },
- "braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "dev": true,
- "requires": {
- "fill-range": "^7.0.1"
- }
- },
- "chokidar": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.1.1.tgz",
- "integrity": "sha512-df4o16uZmMHzVQwECZRHwfguOt5ixpuQVaZHjYMvYisgKhE+JXwcj/Tcr3+3bu/XeOJQ9ycYmzu7Mv8XrGxJDQ==",
- "dev": true,
- "requires": {
- "anymatch": "^3.1.0",
- "braces": "^3.0.2",
- "fsevents": "^2.0.6",
- "glob-parent": "^5.0.0",
- "is-binary-path": "^2.1.0",
- "is-glob": "^4.0.1",
- "normalize-path": "^3.0.0",
- "readdirp": "^3.1.1"
- }
- },
- "colors": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
- "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==",
- "dev": true
- },
- "core-js": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.2.1.tgz",
- "integrity": "sha512-Qa5XSVefSVPRxy2XfUC13WbvqkxhkwB3ve+pgCQveNgYzbM/UxZeu1dcOX/xr4UmfUd+muuvsaxilQzCyUurMw==",
- "dev": true
- },
- "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==",
- "dev": true,
- "requires": {
- "to-regex-range": "^5.0.1"
- }
- },
- "fsevents": {
- "version": "2.0.7",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.0.7.tgz",
- "integrity": "sha512-a7YT0SV3RB+DjYcppwVDLtn13UQnmg0SWZS7ezZD0UjnLwXmy8Zm21GMVGLaFGimIqcvyMQaOJBrop8MyOp1kQ==",
- "dev": true,
- "optional": true
- },
- "glob-parent": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz",
- "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==",
- "dev": true,
- "requires": {
- "is-glob": "^4.0.1"
- }
- },
- "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==",
- "dev": true,
- "requires": {
- "binary-extensions": "^2.0.0"
- }
- },
- "is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "dev": true
- },
- "normalize-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
- "dev": true
- },
- "readdirp": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.1.2.tgz",
- "integrity": "sha512-8rhl0xs2cxfVsqzreYCvs8EwBfn/DhVdqtoLmw19uI3SC5avYX9teCurlErfpPXGmYtMHReGaP2RsLnFvz/lnw==",
- "dev": true,
- "requires": {
- "picomatch": "^2.0.4"
- }
- },
- "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==",
- "dev": true,
- "requires": {
- "is-number": "^7.0.0"
- }
- }
- }
- },
- "karma-babel-preprocessor": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/karma-babel-preprocessor/-/karma-babel-preprocessor-7.0.0.tgz",
- "integrity": "sha512-k8YUot8ZAAYhAeUxOsOGUEXW7AlB6SkoIVGfavEBCAdGHzWuraOBoR2wCxxdePUCvcItIxSUyQnOj6DuZdEJYA==",
- "dev": true
- },
- "karma-chai-plugins": {
- "version": "0.9.0",
- "resolved": "https://registry.npmjs.org/karma-chai-plugins/-/karma-chai-plugins-0.9.0.tgz",
- "integrity": "sha1-sqGn6AfwsbsZ+2bEdEljulwxqn0=",
- "dev": true,
- "requires": {
- "chai": "^3.4.1",
- "chai-as-promised": "^5.1.0",
- "chai-dom": "^1.2.2",
- "chai-jquery": "^2.0.0",
- "chai-things": "^0.2.0",
- "sinon": "^2.1.0",
- "sinon-chai": "^2.8.0"
- },
- "dependencies": {
- "chai": {
- "version": "3.5.0",
- "resolved": "https://registry.npmjs.org/chai/-/chai-3.5.0.tgz",
- "integrity": "sha1-TQJjewZ/6Vi9v906QOxW/vc3Mkc=",
- "dev": true,
- "requires": {
- "assertion-error": "^1.0.1",
- "deep-eql": "^0.1.3",
- "type-detect": "^1.0.0"
- }
- },
- "chai-as-promised": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-5.3.0.tgz",
- "integrity": "sha1-CdekApCKpw39vq1T5YU/x50+8hw=",
- "dev": true
- },
- "deep-eql": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz",
- "integrity": "sha1-71WKyrjeJSBs1xOQbXTlaTDrafI=",
- "dev": true,
- "requires": {
- "type-detect": "0.1.1"
- },
- "dependencies": {
- "type-detect": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz",
- "integrity": "sha1-C6XsKohWQORw6k6FBZcZANrFiCI=",
- "dev": true
- }
- }
- },
- "isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
- "dev": true
- },
- "path-to-regexp": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz",
- "integrity": "sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=",
- "dev": true,
- "requires": {
- "isarray": "0.0.1"
- }
- },
- "sinon": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/sinon/-/sinon-2.4.1.tgz",
- "integrity": "sha512-vFTrO9Wt0ECffDYIPSP/E5bBugt0UjcBQOfQUMh66xzkyPEnhl/vM2LRZi2ajuTdkH07sA6DzrM6KvdvGIH8xw==",
- "dev": true,
- "requires": {
- "diff": "^3.1.0",
- "formatio": "1.2.0",
- "lolex": "^1.6.0",
- "native-promise-only": "^0.8.1",
- "path-to-regexp": "^1.7.0",
- "samsam": "^1.1.3",
- "text-encoding": "0.6.4",
- "type-detect": "^4.0.0"
- },
- "dependencies": {
- "type-detect": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
- "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
- "dev": true
- }
- }
- },
- "sinon-chai": {
- "version": "2.14.0",
- "resolved": "https://registry.npmjs.org/sinon-chai/-/sinon-chai-2.14.0.tgz",
- "integrity": "sha512-9stIF1utB0ywNHNT7RgiXbdmen8QDCRsrTjw+G9TgKt1Yexjiv8TOWZ6WHsTPz57Yky3DIswZvEqX8fpuHNDtQ==",
- "dev": true
- },
- "type-detect": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-1.0.0.tgz",
- "integrity": "sha1-diIXzAbbJY7EiQihKY6LlRIejqI=",
- "dev": true
- }
- }
- },
- "karma-chrome-launcher": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.1.0.tgz",
- "integrity": "sha512-3dPs/n7vgz1rxxtynpzZTvb9y/GIaW8xjAwcIGttLbycqoFtI7yo1NGnQi6oFTherRE+GIhCAHZC4vEqWGhNvg==",
- "dev": true,
- "requires": {
- "which": "^1.2.1"
- }
- },
- "karma-coverage": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-1.1.2.tgz",
- "integrity": "sha512-eQawj4Cl3z/CjxslYy9ariU4uDh7cCNFZHNWXWRpl0pNeblY/4wHR7M7boTYXWrn9bY0z2pZmr11eKje/S/hIw==",
- "dev": true,
- "requires": {
- "dateformat": "^1.0.6",
- "istanbul": "^0.4.0",
- "lodash": "^4.17.0",
- "minimatch": "^3.0.0",
- "source-map": "^0.5.1"
- },
- "dependencies": {
- "abbrev": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz",
- "integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=",
- "dev": true
- },
- "glob": {
- "version": "5.0.15",
- "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
- "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
- "dev": true,
- "requires": {
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "2 || 3",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
- "dev": true
- },
- "istanbul": {
- "version": "0.4.5",
- "resolved": "https://registry.npmjs.org/istanbul/-/istanbul-0.4.5.tgz",
- "integrity": "sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs=",
- "dev": true,
- "requires": {
- "abbrev": "1.0.x",
- "async": "1.x",
- "escodegen": "1.8.x",
- "esprima": "2.7.x",
- "glob": "^5.0.15",
- "handlebars": "^4.0.1",
- "js-yaml": "3.x",
- "mkdirp": "0.5.x",
- "nopt": "3.x",
- "once": "1.x",
- "resolve": "1.1.x",
- "supports-color": "^3.1.0",
- "which": "^1.1.1",
- "wordwrap": "^1.0.0"
- }
- },
- "nopt": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
- "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
- "dev": true,
- "requires": {
- "abbrev": "1"
- }
- },
- "resolve": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
- "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
- "dev": true
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
- "dev": true
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
- "dev": true,
- "requires": {
- "has-flag": "^1.0.0"
- }
- },
- "wordwrap": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
- "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
- "dev": true
- }
- }
- },
- "karma-mocha": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/karma-mocha/-/karma-mocha-1.3.0.tgz",
- "integrity": "sha1-7qrH/8DiAetjxGdEDStpx883eL8=",
- "dev": true,
- "requires": {
- "minimist": "1.2.0"
- },
- "dependencies": {
- "minimist": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
- "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
- "dev": true
- }
- }
- },
- "karma-mocha-reporter": {
- "version": "2.2.5",
- "resolved": "https://registry.npmjs.org/karma-mocha-reporter/-/karma-mocha-reporter-2.2.5.tgz",
- "integrity": "sha1-FRIAlejtgZGG5HoLAS8810GJVWA=",
- "dev": true,
- "requires": {
- "chalk": "^2.1.0",
- "log-symbols": "^2.1.0",
- "strip-ansi": "^4.0.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
- "dev": true
- },
- "strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "dev": true,
- "requires": {
- "ansi-regex": "^3.0.0"
- }
- }
- }
- },
- "karma-sinon-chai": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/karma-sinon-chai/-/karma-sinon-chai-2.0.2.tgz",
- "integrity": "sha512-SDgh6V0CUd+7ruL1d3yG6lFzmJNGRNQuEuCYXLaorruNP9nwQfA7hpsp4clx4CbOo5Gsajh3qUOT7CrVStUKMw==",
- "dev": true
- },
- "karma-sinon-stub-promise": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/karma-sinon-stub-promise/-/karma-sinon-stub-promise-1.0.0.tgz",
- "integrity": "sha1-YX6WZub8531jCCy5S2N5dMhKNrw=",
- "dev": true
- },
- "karma-sourcemap-loader": {
- "version": "0.3.7",
- "resolved": "https://registry.npmjs.org/karma-sourcemap-loader/-/karma-sourcemap-loader-0.3.7.tgz",
- "integrity": "sha1-kTIsd/jxPUb+0GKwQuEAnUxFBdg=",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2"
- }
- },
- "karma-spec-reporter": {
- "version": "0.0.32",
- "resolved": "https://registry.npmjs.org/karma-spec-reporter/-/karma-spec-reporter-0.0.32.tgz",
- "integrity": "sha1-LpxyB+pyZ3EmAln4K+y1QyCeRAo=",
- "dev": true,
- "requires": {
- "colors": "^1.1.2"
- },
- "dependencies": {
- "colors": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
- "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==",
- "dev": true
- }
- }
- },
- "karma-webpack": {
- "version": "3.0.5",
- "resolved": "https://registry.npmjs.org/karma-webpack/-/karma-webpack-3.0.5.tgz",
- "integrity": "sha512-nRudGJWstvVuA6Tbju9tyGUfXTtI1UXMXoRHVmM2/78D0q6s/Ye2IC157PKNDC15PWFGR0mVIRtWLAdcfsRJoA==",
- "dev": true,
- "requires": {
- "async": "^2.0.0",
- "babel-runtime": "^6.0.0",
- "loader-utils": "^1.0.0",
- "lodash": "^4.0.0",
- "source-map": "^0.5.6",
- "webpack-dev-middleware": "^2.0.6"
- },
- "dependencies": {
- "async": {
- "version": "2.6.3",
- "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
- "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
- "dev": true,
- "requires": {
- "lodash": "^4.17.14"
- }
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
- "dev": true
- }
- }
- },
"keygrip": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/keygrip/-/keygrip-1.0.3.tgz",
@@ -15341,45 +10019,6 @@
"bin-pack": "~1.0.1"
}
},
- "layouts": {
- "version": "0.11.0",
- "resolved": "https://registry.npmjs.org/layouts/-/layouts-0.11.0.tgz",
- "integrity": "sha1-xiDos8uI/IxJLbRTin3VQKTffyI=",
- "requires": {
- "delimiter-regex": "^1.3.1",
- "falsey": "^0.3.0",
- "get-view": "^0.1.1",
- "lazy-cache": "^1.0.3"
- },
- "dependencies": {
- "delimiter-regex": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/delimiter-regex/-/delimiter-regex-1.3.1.tgz",
- "integrity": "sha1-Y4XK4UAE28DBzY3//+uGPVGZnv8=",
- "requires": {
- "extend-shallow": "^1.1.2"
- }
- },
- "extend-shallow": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz",
- "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=",
- "requires": {
- "kind-of": "^1.1.0"
- }
- },
- "kind-of": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz",
- "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ="
- }
- }
- },
- "lazy-cache": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz",
- "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4="
- },
"lazystream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz",
@@ -15437,99 +10076,6 @@
"uc.micro": "^1.0.1"
}
},
- "load-helpers": {
- "version": "0.2.11",
- "resolved": "https://registry.npmjs.org/load-helpers/-/load-helpers-0.2.11.tgz",
- "integrity": "sha1-9L2LIYQ1wFLl4536dxMinVcepCM=",
- "requires": {
- "extend-shallow": "^2.0.1",
- "is-valid-glob": "^0.3.0",
- "lazy-cache": "^2.0.1",
- "matched": "^0.4.1",
- "resolve-dir": "^0.1.0"
- },
- "dependencies": {
- "expand-tilde": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-1.2.2.tgz",
- "integrity": "sha1-C4HrqJflo9MdHD0QL48BRB5VlEk=",
- "requires": {
- "os-homedir": "^1.0.1"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "global-modules": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-0.2.3.tgz",
- "integrity": "sha1-6lo77ULG1s6ZWk+KEmm12uIjgo0=",
- "requires": {
- "global-prefix": "^0.1.4",
- "is-windows": "^0.2.0"
- }
- },
- "global-prefix": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-0.1.5.tgz",
- "integrity": "sha1-jTvGuNo8qBEqFg2NSW/wRiv+948=",
- "requires": {
- "homedir-polyfill": "^1.0.0",
- "ini": "^1.3.4",
- "is-windows": "^0.2.0",
- "which": "^1.2.12"
- }
- },
- "is-valid-glob": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-0.3.0.tgz",
- "integrity": "sha1-1LVcafUYhvm2XHDWwmItN+KfSP4="
- },
- "is-windows": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz",
- "integrity": "sha1-3hqm1j6indJIc3tp8f+LgALSEIw="
- },
- "lazy-cache": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
- "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
- "requires": {
- "set-getter": "^0.1.0"
- }
- },
- "matched": {
- "version": "0.4.4",
- "resolved": "https://registry.npmjs.org/matched/-/matched-0.4.4.tgz",
- "integrity": "sha1-Vte36xgDPwz5vFLrIJD6x9weifo=",
- "requires": {
- "arr-union": "^3.1.0",
- "async-array-reduce": "^0.2.0",
- "extend-shallow": "^2.0.1",
- "fs-exists-sync": "^0.1.0",
- "glob": "^7.0.5",
- "has-glob": "^0.1.1",
- "is-valid-glob": "^0.3.0",
- "lazy-cache": "^2.0.1",
- "resolve-dir": "^0.1.0"
- }
- },
- "resolve-dir": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-0.1.1.tgz",
- "integrity": "sha1-shklmlYC+sXFxJatiUpujMQwJh4=",
- "requires": {
- "expand-tilde": "^1.2.2",
- "global-modules": "^0.2.3"
- }
- }
- }
- },
"load-json-file": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
@@ -15549,224 +10095,11 @@
}
}
},
- "load-pkg": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/load-pkg/-/load-pkg-3.0.1.tgz",
- "integrity": "sha1-kjCzfsBOVpADBgvFiVHj7VCNWU8=",
- "requires": {
- "find-pkg": "^0.1.0"
- }
- },
- "load-templates": {
- "version": "0.11.4",
- "resolved": "https://registry.npmjs.org/load-templates/-/load-templates-0.11.4.tgz",
- "integrity": "sha1-zyk977a1hg/1uMRJ2qHAx7tyjek=",
- "requires": {
- "define-property": "^0.2.5",
- "extend-shallow": "^2.0.1",
- "glob-parent": "^2.0.0",
- "has-glob": "^0.1.1",
- "is-valid-glob": "^0.3.0",
- "lazy-cache": "^2.0.1",
- "matched": "^0.4.1",
- "to-file": "^0.2.0"
- },
- "dependencies": {
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "requires": {
- "is-descriptor": "^0.1.0"
- }
- },
- "expand-tilde": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-1.2.2.tgz",
- "integrity": "sha1-C4HrqJflo9MdHD0QL48BRB5VlEk=",
- "requires": {
- "os-homedir": "^1.0.1"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "glob-parent": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
- "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
- "requires": {
- "is-glob": "^2.0.0"
- }
- },
- "global-modules": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-0.2.3.tgz",
- "integrity": "sha1-6lo77ULG1s6ZWk+KEmm12uIjgo0=",
- "requires": {
- "global-prefix": "^0.1.4",
- "is-windows": "^0.2.0"
- }
- },
- "global-prefix": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-0.1.5.tgz",
- "integrity": "sha1-jTvGuNo8qBEqFg2NSW/wRiv+948=",
- "requires": {
- "homedir-polyfill": "^1.0.0",
- "ini": "^1.3.4",
- "is-windows": "^0.2.0",
- "which": "^1.2.12"
- }
- },
- "is-extglob": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
- "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA="
- },
- "is-glob": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
- "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
- "requires": {
- "is-extglob": "^1.0.0"
- }
- },
- "is-valid-glob": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-0.3.0.tgz",
- "integrity": "sha1-1LVcafUYhvm2XHDWwmItN+KfSP4="
- },
- "is-windows": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz",
- "integrity": "sha1-3hqm1j6indJIc3tp8f+LgALSEIw="
- },
- "lazy-cache": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
- "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
- "requires": {
- "set-getter": "^0.1.0"
- }
- },
- "matched": {
- "version": "0.4.4",
- "resolved": "https://registry.npmjs.org/matched/-/matched-0.4.4.tgz",
- "integrity": "sha1-Vte36xgDPwz5vFLrIJD6x9weifo=",
- "requires": {
- "arr-union": "^3.1.0",
- "async-array-reduce": "^0.2.0",
- "extend-shallow": "^2.0.1",
- "fs-exists-sync": "^0.1.0",
- "glob": "^7.0.5",
- "has-glob": "^0.1.1",
- "is-valid-glob": "^0.3.0",
- "lazy-cache": "^2.0.1",
- "resolve-dir": "^0.1.0"
- }
- },
- "resolve-dir": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-0.1.1.tgz",
- "integrity": "sha1-shklmlYC+sXFxJatiUpujMQwJh4=",
- "requires": {
- "expand-tilde": "^1.2.2",
- "global-modules": "^0.2.3"
- }
- }
- }
- },
- "loader-fs-cache": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/loader-fs-cache/-/loader-fs-cache-1.0.2.tgz",
- "integrity": "sha512-70IzT/0/L+M20jUlEqZhZyArTU6VKLRTYRDAYN26g4jfzpJqjipLL3/hgYpySqI9PwsVRHHFja0LfEmsx9X2Cw==",
- "dev": true,
- "requires": {
- "find-cache-dir": "^0.1.1",
- "mkdirp": "0.5.1"
- },
- "dependencies": {
- "find-cache-dir": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz",
- "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=",
- "dev": true,
- "requires": {
- "commondir": "^1.0.1",
- "mkdirp": "^0.5.1",
- "pkg-dir": "^1.0.0"
- }
- },
- "find-up": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
- "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
- "dev": true,
- "requires": {
- "path-exists": "^2.0.0",
- "pinkie-promise": "^2.0.0"
- }
- },
- "path-exists": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
- "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
- "dev": true,
- "requires": {
- "pinkie-promise": "^2.0.0"
- }
- },
- "pkg-dir": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz",
- "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=",
- "dev": true,
- "requires": {
- "find-up": "^1.0.0"
- }
- }
- }
- },
- "loader-runner": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz",
- "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw=="
- },
- "loader-utils": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz",
- "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==",
- "requires": {
- "big.js": "^5.2.2",
- "emojis-list": "^2.0.0",
- "json5": "^1.0.1"
- },
- "dependencies": {
- "json5": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
- "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
- "requires": {
- "minimist": "^1.2.0"
- }
- },
- "minimist": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
- "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
- }
- }
- },
"locate-path": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
"integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
+ "dev": true,
"requires": {
"p-locate": "^2.0.0",
"path-exists": "^3.0.0"
@@ -15777,234 +10110,21 @@
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
"integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A=="
},
- "lodash._arraycopy": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/lodash._arraycopy/-/lodash._arraycopy-3.0.0.tgz",
- "integrity": "sha1-due3wfH7klRzdIeKVi7Qaj5Q9uE=",
- "dev": true
- },
- "lodash._arrayeach": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/lodash._arrayeach/-/lodash._arrayeach-3.0.0.tgz",
- "integrity": "sha1-urFWsqkNPxu9XGU0AzSeXlkz754=",
- "dev": true
- },
- "lodash._arrayfilter": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/lodash._arrayfilter/-/lodash._arrayfilter-3.0.0.tgz",
- "integrity": "sha1-LevhHuxp5dzG9LhhNxKKSPFSQjc="
- },
- "lodash._baseassign": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz",
- "integrity": "sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4=",
- "dev": true,
- "requires": {
- "lodash._basecopy": "^3.0.0",
- "lodash.keys": "^3.0.0"
- }
- },
- "lodash._basecallback": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/lodash._basecallback/-/lodash._basecallback-3.3.1.tgz",
- "integrity": "sha1-t7K7Q9whYEJKIczybFfkQ3cqjic=",
- "requires": {
- "lodash._baseisequal": "^3.0.0",
- "lodash._bindcallback": "^3.0.0",
- "lodash.isarray": "^3.0.0",
- "lodash.pairs": "^3.0.0"
- }
- },
- "lodash._baseclone": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-3.3.0.tgz",
- "integrity": "sha1-MDUZv2OT/n5C802LYw73eU41Qrc=",
- "dev": true,
- "requires": {
- "lodash._arraycopy": "^3.0.0",
- "lodash._arrayeach": "^3.0.0",
- "lodash._baseassign": "^3.0.0",
- "lodash._basefor": "^3.0.0",
- "lodash.isarray": "^3.0.0",
- "lodash.keys": "^3.0.0"
- }
- },
- "lodash._basecopy": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz",
- "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=",
- "dev": true
- },
- "lodash._baseeach": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/lodash._baseeach/-/lodash._baseeach-3.0.4.tgz",
- "integrity": "sha1-z4cGVyyhROjZ11InyZDamC+TKvM=",
- "requires": {
- "lodash.keys": "^3.0.0"
- }
- },
- "lodash._basefilter": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/lodash._basefilter/-/lodash._basefilter-3.0.0.tgz",
- "integrity": "sha1-S3ZAPfDihtA9Xg9yle00QeEB0SE=",
- "requires": {
- "lodash._baseeach": "^3.0.0"
- }
- },
- "lodash._basefor": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/lodash._basefor/-/lodash._basefor-3.0.3.tgz",
- "integrity": "sha1-dVC06SGO8J+tJDQ7YSAhx5tMIMI=",
- "dev": true
- },
- "lodash._baseisequal": {
- "version": "3.0.7",
- "resolved": "https://registry.npmjs.org/lodash._baseisequal/-/lodash._baseisequal-3.0.7.tgz",
- "integrity": "sha1-2AJfdjOdKTQnZ9zIh85cuVpbUfE=",
- "requires": {
- "lodash.isarray": "^3.0.0",
- "lodash.istypedarray": "^3.0.0",
- "lodash.keys": "^3.0.0"
- }
- },
- "lodash._baseismatch": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/lodash._baseismatch/-/lodash._baseismatch-3.1.3.tgz",
- "integrity": "sha1-Byj8SO+hFpnT1fLXMEnyqxPED9U=",
- "requires": {
- "lodash._baseisequal": "^3.0.0"
- }
- },
- "lodash._basematches": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/lodash._basematches/-/lodash._basematches-3.2.0.tgz",
- "integrity": "sha1-9H4D8H7CB4SrCWjQy2y1l+IQEVg=",
- "requires": {
- "lodash._baseismatch": "^3.0.0",
- "lodash.pairs": "^3.0.0"
- }
- },
- "lodash._bindcallback": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz",
- "integrity": "sha1-5THCdkTPi1epnhftlbNcdIeJOS4="
- },
- "lodash._createwrapper": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/lodash._createwrapper/-/lodash._createwrapper-3.2.0.tgz",
- "integrity": "sha1-30U+ZkFjIXuJWkVAZa8cR6DqPE0=",
- "requires": {
- "lodash._root": "^3.0.0"
- }
- },
- "lodash._getnative": {
- "version": "3.9.1",
- "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz",
- "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U="
- },
- "lodash._isiterateecall": {
- "version": "3.0.9",
- "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz",
- "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=",
- "dev": true
- },
"lodash._reinterpolate": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
"integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0="
},
- "lodash._replaceholders": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/lodash._replaceholders/-/lodash._replaceholders-3.0.0.tgz",
- "integrity": "sha1-iru3EmxDH37XRPe6rznwi8m9nVg="
- },
- "lodash._root": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz",
- "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI="
- },
- "lodash.assign": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz",
- "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc="
- },
- "lodash.bind": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/lodash.bind/-/lodash.bind-3.1.0.tgz",
- "integrity": "sha1-+V9IY419i7tYVPkIJmUnmZ+/pLs=",
- "requires": {
- "lodash._createwrapper": "^3.0.0",
- "lodash._replaceholders": "^3.0.0",
- "lodash.restparam": "^3.0.0"
- }
- },
- "lodash.camelcase": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
- "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY="
- },
- "lodash.clone": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-3.0.3.tgz",
- "integrity": "sha1-hGiMc9MrWpDKJWFpY/GJJSqZcEM=",
- "dev": true,
- "requires": {
- "lodash._baseclone": "^3.0.0",
- "lodash._bindcallback": "^3.0.0",
- "lodash._isiterateecall": "^3.0.0"
- }
- },
- "lodash.defaultsdeep": {
- "version": "4.6.1",
- "resolved": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz",
- "integrity": "sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA==",
- "dev": true
- },
- "lodash.filter": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/lodash.filter/-/lodash.filter-4.6.0.tgz",
- "integrity": "sha1-ZosdSYFgOuHMWm+nYBQ+SAtMSs4="
- },
- "lodash.flatten": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz",
- "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8="
- },
- "lodash.foreach": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz",
- "integrity": "sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM="
- },
"lodash.includes": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz",
"integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8="
},
- "lodash.initial": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/lodash.initial/-/lodash.initial-4.1.1.tgz",
- "integrity": "sha1-5T9kiRJl3cQE6YbSwo93vtlDWRo="
- },
- "lodash.isarguments": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
- "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo="
- },
- "lodash.isarray": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz",
- "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U="
- },
"lodash.isboolean": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz",
"integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY="
},
- "lodash.isequal": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
- "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA="
- },
"lodash.isinteger": {
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz",
@@ -16025,60 +10145,11 @@
"resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz",
"integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE="
},
- "lodash.istypedarray": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/lodash.istypedarray/-/lodash.istypedarray-3.0.6.tgz",
- "integrity": "sha1-yaR3SYYHUB2OhJTSg7h8OSgc72I="
- },
- "lodash.keys": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz",
- "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=",
- "requires": {
- "lodash._getnative": "^3.0.0",
- "lodash.isarguments": "^3.0.0",
- "lodash.isarray": "^3.0.0"
- }
- },
- "lodash.last": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/lodash.last/-/lodash.last-3.0.0.tgz",
- "integrity": "sha1-JC9mMRLdTG5jcoxgo8kJ0b2tvUw="
- },
- "lodash.map": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz",
- "integrity": "sha1-dx7Hg540c9nEzeKLGTlMNWL09tM="
- },
- "lodash.memoize": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
- "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4="
- },
- "lodash.merge": {
- "version": "4.6.2",
- "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
- "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
- "dev": true
- },
"lodash.once": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz",
"integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w="
},
- "lodash.pairs": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/lodash.pairs/-/lodash.pairs-3.0.1.tgz",
- "integrity": "sha1-u+CNV4bu6qCaFckevw3LfSvjJqk=",
- "requires": {
- "lodash.keys": "^3.0.0"
- }
- },
- "lodash.restparam": {
- "version": "3.6.1",
- "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz",
- "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU="
- },
"lodash.template": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz",
@@ -16096,127 +10167,11 @@
"lodash._reinterpolate": "^3.0.0"
}
},
- "lodash.uniq": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
- "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M="
- },
- "lodash.where": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/lodash.where/-/lodash.where-3.1.0.tgz",
- "integrity": "sha1-LnhLnJM2jV11qu4zLOF2Ai8rlVM=",
- "requires": {
- "lodash._arrayfilter": "^3.0.0",
- "lodash._basecallback": "^3.0.0",
- "lodash._basefilter": "^3.0.0",
- "lodash._basematches": "^3.0.0",
- "lodash.isarray": "^3.0.0"
- }
- },
"log-driver": {
"version": "1.2.7",
"resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.7.tgz",
"integrity": "sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg=="
},
- "log-ok": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/log-ok/-/log-ok-0.1.1.tgz",
- "integrity": "sha1-vqPdNqzQuKckDXhza1uXxlREozQ=",
- "requires": {
- "ansi-green": "^0.1.1",
- "success-symbol": "^0.1.0"
- }
- },
- "log-symbols": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz",
- "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==",
- "requires": {
- "chalk": "^2.0.1"
- }
- },
- "log-utils": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/log-utils/-/log-utils-0.2.1.tgz",
- "integrity": "sha1-pMIXoN2aUFFdm5ICBgkas9TgMc8=",
- "requires": {
- "ansi-colors": "^0.2.0",
- "error-symbol": "^0.1.0",
- "info-symbol": "^0.1.0",
- "log-ok": "^0.1.1",
- "success-symbol": "^0.1.0",
- "time-stamp": "^1.0.1",
- "warning-symbol": "^0.1.0"
- },
- "dependencies": {
- "ansi-colors": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-0.2.0.tgz",
- "integrity": "sha1-csMd4qDZoszQysMMyYI+6y9kNLU=",
- "requires": {
- "ansi-bgblack": "^0.1.1",
- "ansi-bgblue": "^0.1.1",
- "ansi-bgcyan": "^0.1.1",
- "ansi-bggreen": "^0.1.1",
- "ansi-bgmagenta": "^0.1.1",
- "ansi-bgred": "^0.1.1",
- "ansi-bgwhite": "^0.1.1",
- "ansi-bgyellow": "^0.1.1",
- "ansi-black": "^0.1.1",
- "ansi-blue": "^0.1.1",
- "ansi-bold": "^0.1.1",
- "ansi-cyan": "^0.1.1",
- "ansi-dim": "^0.1.1",
- "ansi-gray": "^0.1.1",
- "ansi-green": "^0.1.1",
- "ansi-grey": "^0.1.1",
- "ansi-hidden": "^0.1.1",
- "ansi-inverse": "^0.1.1",
- "ansi-italic": "^0.1.1",
- "ansi-magenta": "^0.1.1",
- "ansi-red": "^0.1.1",
- "ansi-reset": "^0.1.1",
- "ansi-strikethrough": "^0.1.1",
- "ansi-underline": "^0.1.1",
- "ansi-white": "^0.1.1",
- "ansi-yellow": "^0.1.1",
- "lazy-cache": "^2.0.1"
- }
- },
- "lazy-cache": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
- "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
- "requires": {
- "set-getter": "^0.1.0"
- }
- }
- }
- },
- "log4js": {
- "version": "4.5.1",
- "resolved": "https://registry.npmjs.org/log4js/-/log4js-4.5.1.tgz",
- "integrity": "sha512-EEEgFcE9bLgaYUKuozyFfytQM2wDHtXn4tAN41pkaxpNjAykv11GVdeI4tHtmPWW4Xrgh9R/2d7XYghDVjbKKw==",
- "dev": true,
- "requires": {
- "date-format": "^2.0.0",
- "debug": "^4.1.1",
- "flatted": "^2.0.0",
- "rfdc": "^1.1.4",
- "streamroller": "^1.0.6"
- },
- "dependencies": {
- "debug": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
- "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
- "dev": true,
- "requires": {
- "ms": "^2.1.1"
- }
- }
- }
- },
"logalot": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/logalot/-/logalot-2.1.0.tgz",
@@ -16246,31 +10201,17 @@
}
}
},
- "loglevelnext": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/loglevelnext/-/loglevelnext-1.0.5.tgz",
- "integrity": "sha512-V/73qkPuJmx4BcBF19xPBr+0ZRVBhc4POxvZTZdMeXpJ4NItXSJ/MSwuFT0kQJlCbXvdlZoQQ/418bS1y9Jh6A==",
- "dev": true,
- "requires": {
- "es6-symbol": "^3.1.1",
- "object.assign": "^4.1.0"
- }
- },
- "lolex": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/lolex/-/lolex-1.6.0.tgz",
- "integrity": "sha1-OpoCg0UqR9dDnnJzG54H1zhuSfY=",
- "dev": true
- },
"longest": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",
- "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc="
+ "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=",
+ "optional": true
},
"loose-envify": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
"integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
+ "dev": true,
"requires": {
"js-tokens": "^3.0.0 || ^4.0.0"
}
@@ -16284,11 +10225,6 @@
"signal-exit": "^3.0.0"
}
},
- "lower-case": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz",
- "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw="
- },
"lowercase-keys": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
@@ -16343,163 +10279,11 @@
"resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
"integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8="
},
- "map-config": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/map-config/-/map-config-0.5.0.tgz",
- "integrity": "sha1-FwJgfiZ696NwyKnQxiumUk/rb+U=",
- "requires": {
- "array-unique": "^0.2.1",
- "async": "^1.5.2"
- },
- "dependencies": {
- "array-unique": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
- "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM="
- }
- }
- },
"map-obj": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
"integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0="
},
- "map-schema": {
- "version": "0.2.4",
- "resolved": "https://registry.npmjs.org/map-schema/-/map-schema-0.2.4.tgz",
- "integrity": "sha1-wZVRg0/DwHoEWXt6WvtEpHWvlbQ=",
- "requires": {
- "arr-union": "^3.1.0",
- "collection-visit": "^0.2.3",
- "component-emitter": "^1.2.1",
- "debug": "^2.6.0",
- "define-property": "^0.2.5",
- "extend-shallow": "^2.0.1",
- "get-value": "^2.0.6",
- "is-primitive": "^2.0.0",
- "kind-of": "^3.1.0",
- "lazy-cache": "^2.0.2",
- "log-utils": "^0.2.1",
- "longest": "^1.0.1",
- "mixin-deep": "^1.1.3",
- "object.omit": "^2.0.1",
- "object.pick": "^1.2.0",
- "omit-empty": "^0.4.1",
- "pad-right": "^0.2.2",
- "set-value": "^0.4.0",
- "sort-object-arrays": "^0.1.1",
- "union-value": "^0.2.3"
- },
- "dependencies": {
- "collection-visit": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-0.2.3.tgz",
- "integrity": "sha1-L2JIPK7MlfCDuaRUo+6eYTmteVc=",
- "requires": {
- "lazy-cache": "^2.0.1",
- "map-visit": "^0.1.5",
- "object-visit": "^0.3.4"
- }
- },
- "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"
- }
- },
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "requires": {
- "is-descriptor": "^0.1.0"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
- },
- "isobject": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
- "requires": {
- "isarray": "1.0.0"
- }
- },
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "^1.1.5"
- }
- },
- "lazy-cache": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
- "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
- "requires": {
- "set-getter": "^0.1.0"
- }
- },
- "map-visit": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-0.1.5.tgz",
- "integrity": "sha1-2+Q5J85VJbgN/BVzpE1oxR8mgWs=",
- "requires": {
- "lazy-cache": "^2.0.1",
- "object-visit": "^0.3.4"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- },
- "object-visit": {
- "version": "0.3.4",
- "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-0.3.4.tgz",
- "integrity": "sha1-rhXPhvCy/dVRdxY2RIRSxUw9qCk=",
- "requires": {
- "isobject": "^2.0.0"
- }
- },
- "set-value": {
- "version": "0.4.3",
- "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz",
- "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=",
- "requires": {
- "extend-shallow": "^2.0.1",
- "is-extendable": "^0.1.1",
- "is-plain-object": "^2.0.1",
- "to-object-path": "^0.3.0"
- }
- },
- "union-value": {
- "version": "0.2.4",
- "resolved": "https://registry.npmjs.org/union-value/-/union-value-0.2.4.tgz",
- "integrity": "sha1-c3UVJ4ZnkFfns3qmdug0aPwCdPA=",
- "requires": {
- "arr-union": "^3.1.0",
- "get-value": "^2.0.6",
- "is-extendable": "^0.1.1",
- "set-value": "^0.4.3"
- }
- }
- }
- },
"map-stream": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz",
@@ -16540,120 +10324,6 @@
"resolved": "https://registry.npmjs.org/markdown-it-linkify-images/-/markdown-it-linkify-images-1.0.0.tgz",
"integrity": "sha1-gTTsj0gM4pxD44Ck4narBnyuRoY="
},
- "match-file": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/match-file/-/match-file-0.2.2.tgz",
- "integrity": "sha1-Jua88bOQpmH2Em+visUB4z7M+uk=",
- "requires": {
- "is-glob": "^3.1.0",
- "isobject": "^3.0.0",
- "micromatch": "^2.3.11"
- },
- "dependencies": {
- "arr-diff": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
- "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
- "requires": {
- "arr-flatten": "^1.0.1"
- }
- },
- "array-unique": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
- "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM="
- },
- "braces": {
- "version": "1.8.5",
- "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
- "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
- "requires": {
- "expand-range": "^1.8.1",
- "preserve": "^0.2.0",
- "repeat-element": "^1.1.2"
- }
- },
- "expand-brackets": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
- "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
- "requires": {
- "is-posix-bracket": "^0.1.0"
- }
- },
- "extglob": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
- "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
- "requires": {
- "is-extglob": "^1.0.0"
- },
- "dependencies": {
- "is-extglob": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
- "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA="
- }
- }
- },
- "is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
- },
- "is-glob": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
- "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
- "requires": {
- "is-extglob": "^2.1.0"
- }
- },
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "^1.1.5"
- }
- },
- "micromatch": {
- "version": "2.3.11",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
- "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
- "requires": {
- "arr-diff": "^2.0.0",
- "array-unique": "^0.2.1",
- "braces": "^1.8.2",
- "expand-brackets": "^0.1.4",
- "extglob": "^0.3.1",
- "filename-regex": "^2.0.0",
- "is-extglob": "^1.0.0",
- "is-glob": "^2.0.1",
- "kind-of": "^3.0.2",
- "normalize-path": "^2.0.1",
- "object.omit": "^2.0.0",
- "parse-glob": "^3.0.4",
- "regex-cache": "^0.4.2"
- },
- "dependencies": {
- "is-extglob": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
- "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA="
- },
- "is-glob": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
- "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
- "requires": {
- "is-extglob": "^1.0.0"
- }
- }
- }
- }
- }
- },
"matchdep": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/matchdep/-/matchdep-2.0.0.tgz",
@@ -16686,61 +10356,11 @@
}
}
},
- "matched": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/matched/-/matched-1.0.2.tgz",
- "integrity": "sha512-7ivM1jFZVTOOS77QsR+TtYHH0ecdLclMkqbf5qiJdX2RorqfhsL65QHySPZgDE0ZjHoh+mQUNHTanNXIlzXd0Q==",
- "requires": {
- "arr-union": "^3.1.0",
- "async-array-reduce": "^0.2.1",
- "glob": "^7.1.2",
- "has-glob": "^1.0.0",
- "is-valid-glob": "^1.0.0",
- "resolve-dir": "^1.0.0"
- },
- "dependencies": {
- "has-glob": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-glob/-/has-glob-1.0.0.tgz",
- "integrity": "sha1-mqqe7b/7G6OZCnsAEPtnjuAIEgc=",
- "requires": {
- "is-glob": "^3.0.0"
- }
- },
- "is-glob": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
- "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
- "requires": {
- "is-extglob": "^2.1.0"
- }
- }
- }
- },
- "math-expression-evaluator": {
- "version": "1.2.17",
- "resolved": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz",
- "integrity": "sha1-3oGf282E3M2PrlnGrreWFbnSZqw="
- },
- "math-random": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz",
- "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A=="
- },
- "md5.js": {
- "version": "1.3.5",
- "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
- "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
- "requires": {
- "hash-base": "^3.0.0",
- "inherits": "^2.0.1",
- "safe-buffer": "^5.1.2"
- }
- },
"mdn-data": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz",
- "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA=="
+ "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==",
+ "optional": true
},
"mdurl": {
"version": "1.0.1",
@@ -16774,15 +10394,6 @@
}
}
},
- "memory-fs": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
- "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
- "requires": {
- "errno": "^0.1.3",
- "readable-stream": "^2.0.1"
- }
- },
"meow": {
"version": "3.7.0",
"resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
@@ -16807,77 +10418,6 @@
}
}
},
- "merge-deep": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/merge-deep/-/merge-deep-3.0.2.tgz",
- "integrity": "sha512-T7qC8kg4Zoti1cFd8Cr0M+qaZfOwjlPDEdZIIPPB2JZctjaPM4fX+i7HOId69tAti2fvO6X5ldfYUONDODsrkA==",
- "requires": {
- "arr-union": "^3.1.0",
- "clone-deep": "^0.2.4",
- "kind-of": "^3.0.2"
- },
- "dependencies": {
- "clone-deep": {
- "version": "0.2.4",
- "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-0.2.4.tgz",
- "integrity": "sha1-TnPdCen7lxzDhnDF3O2cGJZIHMY=",
- "requires": {
- "for-own": "^0.1.3",
- "is-plain-object": "^2.0.1",
- "kind-of": "^3.0.2",
- "lazy-cache": "^1.0.3",
- "shallow-clone": "^0.1.2"
- }
- },
- "for-own": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
- "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
- "requires": {
- "for-in": "^1.0.1"
- }
- },
- "is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
- },
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "^1.1.5"
- }
- },
- "shallow-clone": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-0.1.2.tgz",
- "integrity": "sha1-WQnodLp3EG1zrEFM/sH/yofZcGA=",
- "requires": {
- "is-extendable": "^0.1.1",
- "kind-of": "^2.0.1",
- "lazy-cache": "^0.2.3",
- "mixin-object": "^2.0.1"
- },
- "dependencies": {
- "kind-of": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-2.0.1.tgz",
- "integrity": "sha1-AY7HpM5+OobLkUG+UZ0kyPqpgbU=",
- "requires": {
- "is-buffer": "^1.0.2"
- }
- },
- "lazy-cache": {
- "version": "0.2.7",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-0.2.7.tgz",
- "integrity": "sha1-f+3fLctu23fRHvHRF6tf/fCrG2U="
- }
- }
- }
- }
- },
"merge-descriptors": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
@@ -16888,27 +10428,6 @@
"resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
"integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w=="
},
- "merge-value": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/merge-value/-/merge-value-1.0.0.tgz",
- "integrity": "sha512-fJMmvat4NeKz63Uv9iHWcPDjCWcCkoiRoajRTEO8hlhUC6rwaHg0QCF9hBOTjZmm4JuglPckPSTtcuJL5kp0TQ==",
- "requires": {
- "get-value": "^2.0.6",
- "is-extendable": "^1.0.0",
- "mixin-deep": "^1.2.0",
- "set-value": "^2.0.0"
- },
- "dependencies": {
- "is-extendable": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
- "requires": {
- "is-plain-object": "^2.0.4"
- }
- }
- }
- },
"merge2": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/merge2/-/merge2-1.3.0.tgz",
@@ -16965,15 +10484,6 @@
"to-regex": "^3.0.2"
}
},
- "miller-rabin": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
- "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
- "requires": {
- "bn.js": "^4.0.0",
- "brorand": "^1.0.1"
- }
- },
"mime": {
"version": "2.4.4",
"resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz",
@@ -16995,23 +10505,14 @@
"mimic-fn": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
- "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ=="
+ "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
+ "dev": true
},
"mimic-response": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
"integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ=="
},
- "minimalistic-assert": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
- "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A=="
- },
- "minimalistic-crypto-utils": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
- "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo="
- },
"minimatch": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
@@ -17072,22 +10573,6 @@
}
}
},
- "mixin-object": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz",
- "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=",
- "requires": {
- "for-in": "^0.1.3",
- "is-extendable": "^0.1.1"
- },
- "dependencies": {
- "for-in": {
- "version": "0.1.8",
- "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz",
- "integrity": "sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE="
- }
- }
- },
"mkdirp": {
"version": "0.5.1",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
@@ -17096,12 +10581,6 @@
"minimist": "0.0.8"
}
},
- "mkpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/mkpath/-/mkpath-1.0.0.tgz",
- "integrity": "sha1-67Opd+evHGg65v2hK1Raa6bFhT0=",
- "dev": true
- },
"mocha": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/mocha/-/mocha-5.2.0.tgz",
@@ -17206,51 +10685,22 @@
"safe-buffer": "^5.1.2"
}
},
- "mongodb-core": {
- "version": "2.1.20",
- "resolved": "https://registry.npmjs.org/mongodb-core/-/mongodb-core-2.1.20.tgz",
- "integrity": "sha512-IN57CX5/Q1bhDq6ShAR6gIv4koFsZP7L8WOK1S0lR0pVDQaScffSMV5jxubLsmZ7J+UdqmykKw4r9hG3XQEGgQ==",
- "dev": true,
- "requires": {
- "bson": "~1.0.4",
- "require_optional": "~1.0.0"
- },
- "dependencies": {
- "bson": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/bson/-/bson-1.0.9.tgz",
- "integrity": "sha512-IQX9/h7WdMBIW/q/++tGd+emQr0XMdeZ6icnT/74Xk9fnabWn+gZgpE+9V+gujL3hhJOoNrnDVY7tWdzc7NUTg==",
- "dev": true
- }
- }
- },
"mongoose": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.7.1.tgz",
- "integrity": "sha512-TJeZHb5h8UGH++ctngh2shgZuZmR9o0D8elxfkWzIpKB6QAFsJPmALtDuD6RYZTS33+CifhDdAMGqs3OpJ3cyQ==",
+ "version": "5.7.5",
+ "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.7.5.tgz",
+ "integrity": "sha512-BZ4FxtnbTurc/wcm/hLltLdI4IDxo4nsE0D9q58YymTdZwreNzwO62CcjVtaHhmr8HmJtOInp2W/T12FZaMf8g==",
"requires": {
- "async": "2.6.2",
"bson": "~1.1.1",
"kareem": "2.3.1",
"mongodb": "3.3.2",
"mongoose-legacy-pluralize": "1.0.2",
"mpath": "0.6.0",
- "mquery": "3.2.1",
+ "mquery": "3.2.2",
"ms": "2.1.2",
"regexp-clone": "1.0.0",
"safe-buffer": "5.1.2",
"sift": "7.0.1",
"sliced": "1.0.1"
- },
- "dependencies": {
- "async": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/async/-/async-2.6.2.tgz",
- "integrity": "sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg==",
- "requires": {
- "lodash": "^4.17.11"
- }
- }
}
},
"mongoose-legacy-pluralize": {
@@ -17259,13 +10709,13 @@
"integrity": "sha512-Yo/7qQU4/EyIS8YDFSeenIvXxZN+ld7YdV9LqFVQJzTLye8unujAWPZ4NWKfFA+RNjh+wvTWKY9Z3E5XM6ZZiQ=="
},
"monk": {
- "version": "6.0.6",
- "resolved": "https://registry.npmjs.org/monk/-/monk-6.0.6.tgz",
- "integrity": "sha512-bSuADQGwIxBcRzCzQaMoGmiGl30Dr+0iB1FQAQb3VwWwAKbtpDN2wkVHCjthzw/jXhPHWxTQFUtlSt/nSagojQ==",
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/monk/-/monk-7.1.1.tgz",
+ "integrity": "sha512-7H4bKRUiopLkWsufom7xUZpflz/Ees4V3QXLKZMxMdh4B4R2zultrTUjPXj37DOijvj0PluJMmkffrsUkBVxCA==",
"dev": true,
"requires": {
"debug": "*",
- "mongodb": "^2.1.18",
+ "mongodb": "^3.2.3",
"monk-middleware-cast-ids": "^0.2.1",
"monk-middleware-fields": "^0.2.0",
"monk-middleware-handle-callback": "^0.2.0",
@@ -17273,55 +10723,6 @@
"monk-middleware-query": "^0.2.0",
"monk-middleware-wait-for-connection": "^0.2.0",
"object-assign": "^4.1.1"
- },
- "dependencies": {
- "es6-promise": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.2.1.tgz",
- "integrity": "sha1-7FYjOGgDKQkgcXDDlEjiREndH8Q=",
- "dev": true
- },
- "mongodb": {
- "version": "2.2.36",
- "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-2.2.36.tgz",
- "integrity": "sha512-P2SBLQ8Z0PVx71ngoXwo12+FiSfbNfGOClAao03/bant5DgLNkOPAck5IaJcEk4gKlQhDEURzfR3xuBG1/B+IA==",
- "dev": true,
- "requires": {
- "es6-promise": "3.2.1",
- "mongodb-core": "2.1.20",
- "readable-stream": "2.2.7"
- }
- },
- "process-nextick-args": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
- "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=",
- "dev": true
- },
- "readable-stream": {
- "version": "2.2.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.7.tgz",
- "integrity": "sha1-BwV6y+JGeyIELTb5jFrVBwVOlbE=",
- "dev": true,
- "requires": {
- "buffer-shims": "~1.0.0",
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.1",
- "isarray": "~1.0.0",
- "process-nextick-args": "~1.0.6",
- "string_decoder": "~1.0.0",
- "util-deprecate": "~1.0.1"
- }
- },
- "string_decoder": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
- "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- }
}
},
"monk-middleware-cast-ids": {
@@ -17393,9 +10794,9 @@
"integrity": "sha512-i75qh79MJ5Xo/sbhxrDrPSEG0H/mr1kcZXJ8dH6URU5jD/knFxCVqVC/gVSW7GIXL/9hHWlT9haLbCXWOll3qw=="
},
"mquery": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/mquery/-/mquery-3.2.1.tgz",
- "integrity": "sha512-kY/K8QToZWTTocm0U+r8rqcJCp5PRl6e8tPmoDs5OeSO3DInZE2rAL6AYH+V406JTo8305LdASOQcxRDqHojyw==",
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/mquery/-/mquery-3.2.2.tgz",
+ "integrity": "sha512-XB52992COp0KP230I3qloVUbkLUxJIu328HBP2t2EsxSFtf4W1HPSOBWOXf1bqxK4Xbb66lfMJ+Bpfd9/yZE1Q==",
"requires": {
"bluebird": "3.5.1",
"debug": "3.1.0",
@@ -17434,11 +10835,6 @@
"resolved": "https://registry.npmjs.org/mute-stdout/-/mute-stdout-1.0.1.tgz",
"integrity": "sha512-kDcwXR4PS7caBpuRYYBUz9iVixUk3anO3f5OYFiIPwK/20vCzKCHyKoulbiDY1S53zD2bxUpxN/IJ+TnXjfvxg=="
},
- "mute-stream": {
- "version": "0.0.5",
- "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz",
- "integrity": "sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA="
- },
"nan": {
"version": "2.13.2",
"resolved": "https://registry.npmjs.org/nan/-/nan-2.13.2.tgz",
@@ -17462,17 +10858,6 @@
"to-regex": "^3.0.1"
}
},
- "nanoseconds": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/nanoseconds/-/nanoseconds-0.1.0.tgz",
- "integrity": "sha1-aew5/NAOd6s6ct4KQzQoJM15Izo="
- },
- "native-promise-only": {
- "version": "0.8.1",
- "resolved": "https://registry.npmjs.org/native-promise-only/-/native-promise-only-0.8.1.tgz",
- "integrity": "sha1-IKMYwwy0X3H+et+/eyHJnBRy7xE=",
- "dev": true
- },
"natural-compare": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
@@ -17571,12 +10956,6 @@
"resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz",
"integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw=="
},
- "netmask": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/netmask/-/netmask-1.0.6.tgz",
- "integrity": "sha1-ICl+idhvb2QA8lDZ9Pa0wZRfzTU=",
- "dev": true
- },
"next-tick": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
@@ -17585,28 +10964,7 @@
"nice-try": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
- "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
- "optional": true
- },
- "nightwatch": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/nightwatch/-/nightwatch-1.2.4.tgz",
- "integrity": "sha512-RoO2/leXXTWG/iAcdW1+sN3RV+bL2P4F9B/ty/wJQmsJw2PLduqvbi7cmkwdNGhh/yaIwIcBxyGHqdB0G754hg==",
- "dev": true,
- "requires": {
- "assertion-error": "^1.1.0",
- "chai-nightwatch": "^0.3.0",
- "dotenv": "7.0.0",
- "ejs": "^2.5.9",
- "lodash.clone": "3.0.3",
- "lodash.defaultsdeep": "^4.6.1",
- "lodash.merge": "^4.6.2",
- "minimatch": "3.0.4",
- "mkpath": "1.0.0",
- "mocha": "^5.2.0",
- "optimist": "^0.6.1",
- "proxy-agent": "^3.0.0"
- }
+ "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ=="
},
"nise": {
"version": "1.5.2",
@@ -17644,14 +11002,6 @@
}
}
},
- "no-case": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz",
- "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==",
- "requires": {
- "lower-case": "^1.1.1"
- }
- },
"nocache": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/nocache/-/nocache-2.1.0.tgz",
@@ -17668,9 +11018,9 @@
"integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA=="
},
"node-forge": {
- "version": "0.9.0",
- "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.0.tgz",
- "integrity": "sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ=="
+ "version": "0.9.1",
+ "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.1.tgz",
+ "integrity": "sha512-G6RlQt5Sb4GMBzXvhfkeFmbqR6MzhtnT7VTHuLadjkii3rdYHNdw0m8zA4BTxVIh68FicCQ2NSUANpsqkr9jvQ=="
},
"node-gcm": {
"version": "1.0.2",
@@ -17789,201 +11139,6 @@
}
}
},
- "node-gyp": {
- "version": "3.8.0",
- "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz",
- "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==",
- "requires": {
- "fstream": "^1.0.0",
- "glob": "^7.0.3",
- "graceful-fs": "^4.1.2",
- "mkdirp": "^0.5.0",
- "nopt": "2 || 3",
- "npmlog": "0 || 1 || 2 || 3 || 4",
- "osenv": "0",
- "request": "^2.87.0",
- "rimraf": "2",
- "semver": "~5.3.0",
- "tar": "^2.0.0",
- "which": "1"
- },
- "dependencies": {
- "assert-plus": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
- "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
- },
- "aws-sign2": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
- "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg="
- },
- "caseless": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
- "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
- },
- "form-data": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
- "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
- "requires": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.6",
- "mime-types": "^2.1.12"
- }
- },
- "har-validator": {
- "version": "5.1.3",
- "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
- "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
- "requires": {
- "ajv": "^6.5.5",
- "har-schema": "^2.0.0"
- }
- },
- "http-signature": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
- "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
- "requires": {
- "assert-plus": "^1.0.0",
- "jsprim": "^1.2.2",
- "sshpk": "^1.7.0"
- }
- },
- "nopt": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
- "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
- "requires": {
- "abbrev": "1"
- }
- },
- "oauth-sign": {
- "version": "0.9.0",
- "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
- "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="
- },
- "qs": {
- "version": "6.5.2",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
- "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
- },
- "request": {
- "version": "2.88.0",
- "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz",
- "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",
- "requires": {
- "aws-sign2": "~0.7.0",
- "aws4": "^1.8.0",
- "caseless": "~0.12.0",
- "combined-stream": "~1.0.6",
- "extend": "~3.0.2",
- "forever-agent": "~0.6.1",
- "form-data": "~2.3.2",
- "har-validator": "~5.1.0",
- "http-signature": "~1.2.0",
- "is-typedarray": "~1.0.0",
- "isstream": "~0.1.2",
- "json-stringify-safe": "~5.0.1",
- "mime-types": "~2.1.19",
- "oauth-sign": "~0.9.0",
- "performance-now": "^2.1.0",
- "qs": "~6.5.2",
- "safe-buffer": "^5.1.2",
- "tough-cookie": "~2.4.3",
- "tunnel-agent": "^0.6.0",
- "uuid": "^3.3.2"
- }
- },
- "semver": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
- "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8="
- },
- "tar": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz",
- "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==",
- "requires": {
- "block-stream": "*",
- "fstream": "^1.0.12",
- "inherits": "2"
- }
- },
- "tough-cookie": {
- "version": "2.4.3",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
- "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
- "requires": {
- "psl": "^1.1.24",
- "punycode": "^1.4.1"
- }
- },
- "tunnel-agent": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
- "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
- "requires": {
- "safe-buffer": "^5.0.1"
- }
- }
- }
- },
- "node-libs-browser": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz",
- "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==",
- "requires": {
- "assert": "^1.1.1",
- "browserify-zlib": "^0.2.0",
- "buffer": "^4.3.0",
- "console-browserify": "^1.1.0",
- "constants-browserify": "^1.0.0",
- "crypto-browserify": "^3.11.0",
- "domain-browser": "^1.1.1",
- "events": "^3.0.0",
- "https-browserify": "^1.0.0",
- "os-browserify": "^0.3.0",
- "path-browserify": "0.0.1",
- "process": "^0.11.10",
- "punycode": "^1.2.4",
- "querystring-es3": "^0.2.0",
- "readable-stream": "^2.3.3",
- "stream-browserify": "^2.0.1",
- "stream-http": "^2.7.2",
- "string_decoder": "^1.0.0",
- "timers-browserify": "^2.0.4",
- "tty-browserify": "0.0.0",
- "url": "^0.11.0",
- "util": "^0.11.0",
- "vm-browserify": "^1.0.1"
- },
- "dependencies": {
- "events": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz",
- "integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA=="
- },
- "url": {
- "version": "0.11.0",
- "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
- "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
- "requires": {
- "punycode": "1.3.2",
- "querystring": "0.2.0"
- },
- "dependencies": {
- "punycode": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
- "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0="
- }
- }
- }
- }
- },
"node-loggly-bulk": {
"version": "2.2.4",
"resolved": "https://registry.npmjs.org/node-loggly-bulk/-/node-loggly-bulk-2.2.4.tgz",
@@ -17994,6 +11149,12 @@
"request": ">=2.76.0 <3.0.0"
}
},
+ "node-modules-regexp": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz",
+ "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=",
+ "dev": true
+ },
"node-pre-gyp": {
"version": "0.12.0",
"resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.12.0.tgz",
@@ -18011,6 +11172,14 @@
"tar": "^4"
},
"dependencies": {
+ "rimraf": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
+ "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
"semver": {
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
@@ -18022,6 +11191,7 @@
"version": "1.1.32",
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.32.tgz",
"integrity": "sha512-VhVknkitq8dqtWoluagsGPn3dxTvN9fwgR59fV3D7sLBHe0JfDramsMI8n8mY//ccq/Kkrf8ZRHRpsyVZ3qw1A==",
+ "dev": true,
"requires": {
"semver": "^5.3.0"
},
@@ -18029,166 +11199,8 @@
"semver": {
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
- }
- }
- },
- "node-sass": {
- "version": "4.12.0",
- "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.12.0.tgz",
- "integrity": "sha512-A1Iv4oN+Iel6EPv77/HddXErL2a+gZ4uBeZUy+a8O35CFYTXhgA8MgLCWBtwpGZdCvTvQ9d+bQxX/QC36GDPpQ==",
- "requires": {
- "async-foreach": "^0.1.3",
- "chalk": "^1.1.1",
- "cross-spawn": "^3.0.0",
- "gaze": "^1.0.0",
- "get-stdin": "^4.0.1",
- "glob": "^7.0.3",
- "in-publish": "^2.0.0",
- "lodash": "^4.17.11",
- "meow": "^3.7.0",
- "mkdirp": "^0.5.1",
- "nan": "^2.13.2",
- "node-gyp": "^3.8.0",
- "npmlog": "^4.0.0",
- "request": "^2.88.0",
- "sass-graph": "^2.2.4",
- "stdout-stream": "^1.4.0",
- "true-case-path": "^1.0.2"
- },
- "dependencies": {
- "assert-plus": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
- "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
- },
- "aws-sign2": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
- "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg="
- },
- "caseless": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
- "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
- },
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- }
- },
- "cross-spawn": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz",
- "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=",
- "requires": {
- "lru-cache": "^4.0.1",
- "which": "^1.2.9"
- }
- },
- "form-data": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
- "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
- "requires": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.6",
- "mime-types": "^2.1.12"
- }
- },
- "har-validator": {
- "version": "5.1.3",
- "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
- "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
- "requires": {
- "ajv": "^6.5.5",
- "har-schema": "^2.0.0"
- }
- },
- "http-signature": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
- "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
- "requires": {
- "assert-plus": "^1.0.0",
- "jsprim": "^1.2.2",
- "sshpk": "^1.7.0"
- }
- },
- "lru-cache": {
- "version": "4.1.5",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
- "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
- "requires": {
- "pseudomap": "^1.0.2",
- "yallist": "^2.1.2"
- }
- },
- "oauth-sign": {
- "version": "0.9.0",
- "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
- "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="
- },
- "qs": {
- "version": "6.5.2",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
- "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
- },
- "request": {
- "version": "2.88.0",
- "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz",
- "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",
- "requires": {
- "aws-sign2": "~0.7.0",
- "aws4": "^1.8.0",
- "caseless": "~0.12.0",
- "combined-stream": "~1.0.6",
- "extend": "~3.0.2",
- "forever-agent": "~0.6.1",
- "form-data": "~2.3.2",
- "har-validator": "~5.1.0",
- "http-signature": "~1.2.0",
- "is-typedarray": "~1.0.0",
- "isstream": "~0.1.2",
- "json-stringify-safe": "~5.0.1",
- "mime-types": "~2.1.19",
- "oauth-sign": "~0.9.0",
- "performance-now": "^2.1.0",
- "qs": "~6.5.2",
- "safe-buffer": "^5.1.2",
- "tough-cookie": "~2.4.3",
- "tunnel-agent": "^0.6.0",
- "uuid": "^3.3.2"
- }
- },
- "tough-cookie": {
- "version": "2.4.3",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
- "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
- "requires": {
- "psl": "^1.1.24",
- "punycode": "^1.4.1"
- }
- },
- "tunnel-agent": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
- "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
- "requires": {
- "safe-buffer": "^5.0.1"
- }
- },
- "yallist": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
- "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI="
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true
}
}
},
@@ -18224,11 +11236,6 @@
}
}
},
- "noncharacters": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/noncharacters/-/noncharacters-1.1.0.tgz",
- "integrity": "sha1-rzPfMP1Q7TxTzSAiWPJa2pC1QNI="
- },
"nopt": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz",
@@ -18264,77 +11271,6 @@
"remove-trailing-separator": "^1.0.1"
}
},
- "normalize-pkg": {
- "version": "0.3.20",
- "resolved": "https://registry.npmjs.org/normalize-pkg/-/normalize-pkg-0.3.20.tgz",
- "integrity": "sha1-Luc3FJUXhQ2c7/WmI0r174nFFag=",
- "requires": {
- "arr-union": "^3.1.0",
- "array-unique": "^0.3.2",
- "component-emitter": "^1.2.1",
- "export-files": "^2.1.1",
- "extend-shallow": "^2.0.1",
- "fs-exists-sync": "^0.1.0",
- "get-value": "^2.0.6",
- "kind-of": "^3.0.4",
- "lazy-cache": "^2.0.1",
- "map-schema": "^0.2.3",
- "minimist": "^1.2.0",
- "mixin-deep": "^1.1.3",
- "omit-empty": "^0.4.1",
- "parse-git-config": "^1.0.2",
- "repo-utils": "^0.3.6",
- "semver": "^5.3.0",
- "stringify-author": "^0.1.3",
- "write-json": "^0.2.2"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
- },
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "^1.1.5"
- }
- },
- "lazy-cache": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
- "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
- "requires": {
- "set-getter": "^0.1.0"
- }
- },
- "minimist": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
- "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
- },
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
- }
- }
- },
- "normalize-range": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
- "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI="
- },
"normalize-url": {
"version": "1.9.1",
"resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz",
@@ -18423,11 +11359,6 @@
"boolbase": "~1.0.0"
}
},
- "num2fraction": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz",
- "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4="
- },
"number-is-nan": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
@@ -18453,12 +11384,6 @@
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
},
- "object-component": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz",
- "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=",
- "dev": true
- },
"object-copy": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
@@ -18492,12 +11417,6 @@
}
}
},
- "object-hash": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-1.3.1.tgz",
- "integrity": "sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==",
- "dev": true
- },
"object-inspect": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz",
@@ -18538,6 +11457,18 @@
"isobject": "^3.0.0"
}
},
+ "object.entries": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.0.tgz",
+ "integrity": "sha512-l+H6EQ8qzGRxbkHOd5I/aHRhHDKoQXQ8g0BYt4uSweQU1/J6dZUOyWh9a2Vky35YCKjzmgxOzta2hH6kf9HuXA==",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.12.0",
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3"
+ }
+ },
"object.getownpropertydescriptors": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz",
@@ -18556,25 +11487,6 @@
"make-iterator": "^1.0.0"
}
},
- "object.omit": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
- "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=",
- "requires": {
- "for-own": "^0.1.4",
- "is-extendable": "^0.1.1"
- },
- "dependencies": {
- "for-own": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
- "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
- "requires": {
- "for-in": "^1.0.1"
- }
- }
- }
- },
"object.pick": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
@@ -18608,36 +11520,6 @@
"resolved": "https://registry.npmjs.org/omggif/-/omggif-1.0.10.tgz",
"integrity": "sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw=="
},
- "omit-empty": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/omit-empty/-/omit-empty-0.4.1.tgz",
- "integrity": "sha1-KUo3gvLLIMdJfEEitiN8ncwMY6s=",
- "requires": {
- "has-values": "^0.1.4",
- "kind-of": "^3.0.3",
- "reduce-object": "^0.1.3"
- },
- "dependencies": {
- "has-values": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
- "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E="
- },
- "is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
- },
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
- }
- },
"on-finished": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
@@ -18668,16 +11550,11 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
"integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
+ "dev": true,
"requires": {
"mimic-fn": "^1.0.0"
}
},
- "opener": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.1.tgz",
- "integrity": "sha512-goYSy5c2UXE4Ra1xixabeVh1guIX/ZV/YokJksb6q2lubWu6UbvPQ20p542/sFIll1nl8JnCyK9oBaOcCWXwvA==",
- "dev": true
- },
"optimist": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
@@ -18687,87 +11564,6 @@
"wordwrap": "~0.0.2"
}
},
- "option-cache": {
- "version": "3.5.0",
- "resolved": "https://registry.npmjs.org/option-cache/-/option-cache-3.5.0.tgz",
- "integrity": "sha1-y3ZRVboqhhwRCf8m4qIOqgZhKys=",
- "requires": {
- "arr-flatten": "^1.0.3",
- "collection-visit": "^1.0.0",
- "component-emitter": "^1.2.1",
- "get-value": "^2.0.6",
- "has-value": "^0.3.1",
- "kind-of": "^3.2.2",
- "lazy-cache": "^2.0.2",
- "set-value": "^0.4.3",
- "to-object-path": "^0.3.0"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "has-value": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
- "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
- "requires": {
- "get-value": "^2.0.3",
- "has-values": "^0.1.4",
- "isobject": "^2.0.0"
- }
- },
- "has-values": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
- "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E="
- },
- "is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
- },
- "isobject": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
- "requires": {
- "isarray": "1.0.0"
- }
- },
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "^1.1.5"
- }
- },
- "lazy-cache": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
- "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
- "requires": {
- "set-getter": "^0.1.0"
- }
- },
- "set-value": {
- "version": "0.4.3",
- "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz",
- "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=",
- "requires": {
- "extend-shallow": "^2.0.1",
- "is-extendable": "^0.1.1",
- "is-plain-object": "^2.0.1",
- "to-object-path": "^0.3.0"
- }
- }
- }
- },
"optionator": {
"version": "0.8.2",
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",
@@ -18806,34 +11602,6 @@
"logalot": "^2.0.0"
}
},
- "ora": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/ora/-/ora-3.4.0.tgz",
- "integrity": "sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==",
- "requires": {
- "chalk": "^2.4.2",
- "cli-cursor": "^2.1.0",
- "cli-spinners": "^2.0.0",
- "log-symbols": "^2.2.0",
- "strip-ansi": "^5.2.0",
- "wcwidth": "^1.0.1"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
- "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg=="
- },
- "strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
- "requires": {
- "ansi-regex": "^4.1.0"
- }
- }
- }
- },
"ordered-read-streams": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz",
@@ -18842,11 +11610,6 @@
"readable-stream": "^2.0.1"
}
},
- "os-browserify": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
- "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc="
- },
"os-filter-obj": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/os-filter-obj/-/os-filter-obj-2.0.0.tgz",
@@ -18917,6 +11680,7 @@
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
"integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
+ "dev": true,
"requires": {
"p-try": "^1.0.0"
}
@@ -18925,16 +11689,11 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
"integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
+ "dev": true,
"requires": {
"p-limit": "^1.1.0"
}
},
- "p-map": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz",
- "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==",
- "dev": true
- },
"p-map-series": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/p-map-series/-/p-map-series-1.0.0.tgz",
@@ -18983,36 +11742,8 @@
"p-try": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
- "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M="
- },
- "pac-proxy-agent": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-3.0.0.tgz",
- "integrity": "sha512-AOUX9jES/EkQX2zRz0AW7lSx9jD//hQS8wFXBvcnd/J2Py9KaMJMqV/LPqJssj1tgGufotb2mmopGPR15ODv1Q==",
- "dev": true,
- "requires": {
- "agent-base": "^4.2.0",
- "debug": "^3.1.0",
- "get-uri": "^2.0.0",
- "http-proxy-agent": "^2.1.0",
- "https-proxy-agent": "^2.2.1",
- "pac-resolver": "^3.0.0",
- "raw-body": "^2.2.0",
- "socks-proxy-agent": "^4.0.1"
- }
- },
- "pac-resolver": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-3.0.0.tgz",
- "integrity": "sha512-tcc38bsjuE3XZ5+4vP96OfhOugrX+JcnpUbhfuc4LuXBLQhoTthOstZeoQJBDnQUDYzYmdImKsbz0xSl1/9qeA==",
- "dev": true,
- "requires": {
- "co": "^4.6.0",
- "degenerator": "^1.0.4",
- "ip": "^1.1.5",
- "netmask": "^1.0.6",
- "thunkify": "^2.1.2"
- }
+ "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
+ "dev": true
},
"package-json": {
"version": "4.0.1",
@@ -19063,14 +11794,6 @@
}
}
},
- "pad-right": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/pad-right/-/pad-right-0.2.2.tgz",
- "integrity": "sha1-b7ySQEXSRPKiokRQMGDTv8YAl3Q=",
- "requires": {
- "repeat-string": "^1.5.2"
- }
- },
"pageres": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/pageres/-/pageres-5.2.0.tgz",
@@ -19120,42 +11843,15 @@
}
}
},
- "paginationator": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/paginationator/-/paginationator-0.1.4.tgz",
- "integrity": "sha1-hHht04UKrh8Ru7kRsMHghRtTgQY="
- },
- "pako": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz",
- "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw=="
- },
- "param-case": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz",
- "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=",
+ "parent-module": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
+ "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
+ "dev": true,
"requires": {
- "no-case": "^2.2.0"
+ "callsites": "^3.0.0"
}
},
- "parse-asn1": {
- "version": "5.1.5",
- "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz",
- "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==",
- "requires": {
- "asn1.js": "^4.0.0",
- "browserify-aes": "^1.0.0",
- "create-hash": "^1.1.0",
- "evp_bytestokey": "^1.0.0",
- "pbkdf2": "^3.0.3",
- "safe-buffer": "^5.1.1"
- }
- },
- "parse-author": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/parse-author/-/parse-author-1.0.0.tgz",
- "integrity": "sha1-XsFZAGKXe9nLOWLpFzuHWGQ39d8="
- },
"parse-data-uri": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/parse-data-uri/-/parse-data-uri-0.2.0.tgz",
@@ -19174,58 +11870,6 @@
"path-root": "^0.1.1"
}
},
- "parse-git-config": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/parse-git-config/-/parse-git-config-1.1.1.tgz",
- "integrity": "sha1-06mYQxcTL1c5hxK7pDjhKVkN34w=",
- "requires": {
- "extend-shallow": "^2.0.1",
- "fs-exists-sync": "^0.1.0",
- "git-config-path": "^1.0.1",
- "ini": "^1.3.4"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "^0.1.0"
- }
- }
- }
- },
- "parse-github-url": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/parse-github-url/-/parse-github-url-0.3.2.tgz",
- "integrity": "sha1-du8B6/4LHpwPSTZylSzGpM2csmA="
- },
- "parse-glob": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
- "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=",
- "requires": {
- "glob-base": "^0.3.0",
- "is-dotfile": "^1.0.0",
- "is-extglob": "^1.0.0",
- "is-glob": "^2.0.0"
- },
- "dependencies": {
- "is-extglob": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
- "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA="
- },
- "is-glob": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
- "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
- "requires": {
- "is-extglob": "^1.0.0"
- }
- }
- }
- },
"parse-json": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
@@ -19244,56 +11888,6 @@
"resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
"integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY="
},
- "parseqs": {
- "version": "0.0.5",
- "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz",
- "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=",
- "dev": true,
- "requires": {
- "better-assert": "~1.0.0"
- }
- },
- "parser-front-matter": {
- "version": "1.6.4",
- "resolved": "https://registry.npmjs.org/parser-front-matter/-/parser-front-matter-1.6.4.tgz",
- "integrity": "sha512-eqtUnI5+COkf1CQOYo8FmykN5Zs+5Yr60f/7GcPgQDZEEjdE/VZ4WMaMo9g37foof8h64t/TH2Uvk2Sq0fDy/g==",
- "requires": {
- "extend-shallow": "^2.0.1",
- "file-is-binary": "^1.0.0",
- "gray-matter": "^3.0.2",
- "isobject": "^3.0.1",
- "lazy-cache": "^2.0.2",
- "mixin-deep": "^1.2.0",
- "trim-leading-lines": "^0.1.1"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "lazy-cache": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
- "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
- "requires": {
- "set-getter": "^0.1.0"
- }
- }
- }
- },
- "parseuri": {
- "version": "0.0.5",
- "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz",
- "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=",
- "dev": true,
- "requires": {
- "better-assert": "~1.0.0"
- }
- },
"parseurl": {
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
@@ -19354,11 +11948,6 @@
"resolved": "https://registry.npmjs.org/passport-strategy/-/passport-strategy-1.0.0.tgz",
"integrity": "sha1-tVOaqPwiWj0a0XlHbd8ja0QPUuQ="
},
- "path-browserify": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz",
- "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ=="
- },
"path-dirname": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
@@ -19367,7 +11956,8 @@
"path-exists": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
- "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU="
+ "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
+ "dev": true
},
"path-is-absolute": {
"version": "1.0.1",
@@ -19380,9 +11970,10 @@
"integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM="
},
"path-key": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.0.tgz",
- "integrity": "sha512-8cChqz0RP6SHJkMt48FW0A7+qUOn+OsnOsVtzI59tZ8m+5bCSk7hzwET0pulwOM2YMn9J1efb07KB9l9f30SGg=="
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
+ "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
+ "optional": true
},
"path-parse": {
"version": "1.0.6",
@@ -19464,18 +12055,6 @@
}
}
},
- "pbkdf2": {
- "version": "3.0.17",
- "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz",
- "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==",
- "requires": {
- "create-hash": "^1.1.2",
- "create-hmac": "^1.1.4",
- "ripemd160": "^2.0.1",
- "safe-buffer": "^5.0.1",
- "sha.js": "^2.4.8"
- }
- },
"pend": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
@@ -19509,6 +12088,15 @@
"pinkie": "^2.0.0"
}
},
+ "pirates": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz",
+ "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==",
+ "dev": true,
+ "requires": {
+ "node-modules-regexp": "^1.0.0"
+ }
+ },
"pixelsmith": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/pixelsmith/-/pixelsmith-2.4.1.tgz",
@@ -19568,185 +12156,11 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz",
"integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=",
+ "dev": true,
"requires": {
"find-up": "^2.1.0"
}
},
- "pkg-store": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/pkg-store/-/pkg-store-0.2.2.tgz",
- "integrity": "sha1-sfXA+GIKWf1mWGrMXiVvTCw3oNg=",
- "requires": {
- "cache-base": "^0.8.2",
- "kind-of": "^3.0.2",
- "lazy-cache": "^1.0.3",
- "union-value": "^0.2.3",
- "write-json": "^0.2.2"
- },
- "dependencies": {
- "cache-base": {
- "version": "0.8.5",
- "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-0.8.5.tgz",
- "integrity": "sha1-YM6zUEAh7O7HAR/TOEt/TpVym/o=",
- "requires": {
- "collection-visit": "^0.2.1",
- "component-emitter": "^1.2.1",
- "get-value": "^2.0.5",
- "has-value": "^0.3.1",
- "isobject": "^3.0.0",
- "lazy-cache": "^2.0.1",
- "set-value": "^0.4.2",
- "to-object-path": "^0.3.0",
- "union-value": "^0.2.3",
- "unset-value": "^0.1.1"
- },
- "dependencies": {
- "lazy-cache": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
- "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
- "requires": {
- "set-getter": "^0.1.0"
- }
- }
- }
- },
- "collection-visit": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-0.2.3.tgz",
- "integrity": "sha1-L2JIPK7MlfCDuaRUo+6eYTmteVc=",
- "requires": {
- "lazy-cache": "^2.0.1",
- "map-visit": "^0.1.5",
- "object-visit": "^0.3.4"
- },
- "dependencies": {
- "lazy-cache": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
- "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
- "requires": {
- "set-getter": "^0.1.0"
- }
- }
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "has-value": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
- "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
- "requires": {
- "get-value": "^2.0.3",
- "has-values": "^0.1.4",
- "isobject": "^2.0.0"
- },
- "dependencies": {
- "isobject": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
- "requires": {
- "isarray": "1.0.0"
- }
- }
- }
- },
- "has-values": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
- "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E="
- },
- "is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
- },
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "^1.1.5"
- }
- },
- "map-visit": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-0.1.5.tgz",
- "integrity": "sha1-2+Q5J85VJbgN/BVzpE1oxR8mgWs=",
- "requires": {
- "lazy-cache": "^2.0.1",
- "object-visit": "^0.3.4"
- },
- "dependencies": {
- "lazy-cache": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
- "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
- "requires": {
- "set-getter": "^0.1.0"
- }
- }
- }
- },
- "object-visit": {
- "version": "0.3.4",
- "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-0.3.4.tgz",
- "integrity": "sha1-rhXPhvCy/dVRdxY2RIRSxUw9qCk=",
- "requires": {
- "isobject": "^2.0.0"
- },
- "dependencies": {
- "isobject": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
- "requires": {
- "isarray": "1.0.0"
- }
- }
- }
- },
- "set-value": {
- "version": "0.4.3",
- "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz",
- "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=",
- "requires": {
- "extend-shallow": "^2.0.1",
- "is-extendable": "^0.1.1",
- "is-plain-object": "^2.0.1",
- "to-object-path": "^0.3.0"
- }
- },
- "union-value": {
- "version": "0.2.4",
- "resolved": "https://registry.npmjs.org/union-value/-/union-value-0.2.4.tgz",
- "integrity": "sha1-c3UVJ4ZnkFfns3qmdug0aPwCdPA=",
- "requires": {
- "arr-union": "^3.1.0",
- "get-value": "^2.0.6",
- "is-extendable": "^0.1.1",
- "set-value": "^0.4.3"
- }
- },
- "unset-value": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-0.1.2.tgz",
- "integrity": "sha1-UGgQuGfyfCpabpsEgzYx9t5Y0xA=",
- "requires": {
- "has-value": "^0.3.1",
- "isobject": "^3.0.0"
- }
- }
- }
- },
"pkginfo": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.4.1.tgz",
@@ -19771,12 +12185,6 @@
"irregular-plurals": "^2.0.0"
}
},
- "pluralize": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz",
- "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==",
- "dev": true
- },
"pngjs": {
"version": "3.4.0",
"resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz",
@@ -19787,1882 +12195,11 @@
"resolved": "https://registry.npmjs.org/pngjs-nozlib/-/pngjs-nozlib-1.0.0.tgz",
"integrity": "sha1-nmTWAs/pzOTZ1Zl9BodCmnPwt9c="
},
- "popper.js": {
- "version": "1.15.0",
- "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.15.0.tgz",
- "integrity": "sha512-w010cY1oCUmI+9KwwlWki+r5jxKfTFDVoadl7MSrIujHU5MJ5OR6HTDj6Xo8aoR/QsA56x8jKjA59qGH4ELtrA=="
- },
- "portal-vue": {
- "version": "2.1.6",
- "resolved": "https://registry.npmjs.org/portal-vue/-/portal-vue-2.1.6.tgz",
- "integrity": "sha512-lvCF85D4e8whd0nN32D8FqKwwkk7nYUI3Ku8UAEx4Z1reomu75dv5evRUTZNaj1EalxxWNXiNl0EHRq36fG8WA=="
- },
"posix-character-classes": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
"integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs="
},
- "postcss": {
- "version": "7.0.18",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.18.tgz",
- "integrity": "sha512-/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g==",
- "requires": {
- "chalk": "^2.4.2",
- "source-map": "^0.6.1",
- "supports-color": "^6.1.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
- "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
- }
- },
- "postcss-calc": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-5.3.1.tgz",
- "integrity": "sha1-d7rnypKK2FcW4v2kLyYb98HWW14=",
- "requires": {
- "postcss": "^5.0.2",
- "postcss-message-helpers": "^2.0.0",
- "reduce-css-calc": "^1.2.6"
- },
- "dependencies": {
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
- }
- },
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
- },
- "postcss": {
- "version": "5.2.18",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
- "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
- "requires": {
- "chalk": "^1.1.3",
- "js-base64": "^2.1.9",
- "source-map": "^0.5.6",
- "supports-color": "^3.2.3"
- }
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
- "requires": {
- "has-flag": "^1.0.0"
- }
- }
- }
- },
- "postcss-colormin": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-2.2.2.tgz",
- "integrity": "sha1-ZjFBfV8OkJo9fsJrJMio0eT5bks=",
- "requires": {
- "colormin": "^1.0.5",
- "postcss": "^5.0.13",
- "postcss-value-parser": "^3.2.3"
- },
- "dependencies": {
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
- }
- },
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
- },
- "postcss": {
- "version": "5.2.18",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
- "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
- "requires": {
- "chalk": "^1.1.3",
- "js-base64": "^2.1.9",
- "source-map": "^0.5.6",
- "supports-color": "^3.2.3"
- }
- },
- "postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ=="
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
- "requires": {
- "has-flag": "^1.0.0"
- }
- }
- }
- },
- "postcss-convert-values": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz",
- "integrity": "sha1-u9hZPFwf0uPRwyK7kl3K6Nrk1i0=",
- "requires": {
- "postcss": "^5.0.11",
- "postcss-value-parser": "^3.1.2"
- },
- "dependencies": {
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
- }
- },
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
- },
- "postcss": {
- "version": "5.2.18",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
- "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
- "requires": {
- "chalk": "^1.1.3",
- "js-base64": "^2.1.9",
- "source-map": "^0.5.6",
- "supports-color": "^3.2.3"
- }
- },
- "postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ=="
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
- "requires": {
- "has-flag": "^1.0.0"
- }
- }
- }
- },
- "postcss-discard-comments": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz",
- "integrity": "sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0=",
- "requires": {
- "postcss": "^5.0.14"
- },
- "dependencies": {
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
- }
- },
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
- },
- "postcss": {
- "version": "5.2.18",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
- "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
- "requires": {
- "chalk": "^1.1.3",
- "js-base64": "^2.1.9",
- "source-map": "^0.5.6",
- "supports-color": "^3.2.3"
- }
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
- "requires": {
- "has-flag": "^1.0.0"
- }
- }
- }
- },
- "postcss-discard-duplicates": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz",
- "integrity": "sha1-uavye4isGIFYpesSq8riAmO5GTI=",
- "requires": {
- "postcss": "^5.0.4"
- },
- "dependencies": {
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
- }
- },
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
- },
- "postcss": {
- "version": "5.2.18",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
- "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
- "requires": {
- "chalk": "^1.1.3",
- "js-base64": "^2.1.9",
- "source-map": "^0.5.6",
- "supports-color": "^3.2.3"
- }
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
- "requires": {
- "has-flag": "^1.0.0"
- }
- }
- }
- },
- "postcss-discard-empty": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz",
- "integrity": "sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU=",
- "requires": {
- "postcss": "^5.0.14"
- },
- "dependencies": {
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
- }
- },
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
- },
- "postcss": {
- "version": "5.2.18",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
- "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
- "requires": {
- "chalk": "^1.1.3",
- "js-base64": "^2.1.9",
- "source-map": "^0.5.6",
- "supports-color": "^3.2.3"
- }
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
- "requires": {
- "has-flag": "^1.0.0"
- }
- }
- }
- },
- "postcss-discard-overridden": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz",
- "integrity": "sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg=",
- "requires": {
- "postcss": "^5.0.16"
- },
- "dependencies": {
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
- }
- },
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
- },
- "postcss": {
- "version": "5.2.18",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
- "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
- "requires": {
- "chalk": "^1.1.3",
- "js-base64": "^2.1.9",
- "source-map": "^0.5.6",
- "supports-color": "^3.2.3"
- }
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
- "requires": {
- "has-flag": "^1.0.0"
- }
- }
- }
- },
- "postcss-discard-unused": {
- "version": "2.2.3",
- "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz",
- "integrity": "sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM=",
- "requires": {
- "postcss": "^5.0.14",
- "uniqs": "^2.0.0"
- },
- "dependencies": {
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
- }
- },
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
- },
- "postcss": {
- "version": "5.2.18",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
- "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
- "requires": {
- "chalk": "^1.1.3",
- "js-base64": "^2.1.9",
- "source-map": "^0.5.6",
- "supports-color": "^3.2.3"
- }
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
- "requires": {
- "has-flag": "^1.0.0"
- }
- }
- }
- },
- "postcss-easy-import": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/postcss-easy-import/-/postcss-easy-import-3.0.0.tgz",
- "integrity": "sha512-cfNsear/v8xlkl9v5Wm8y4Do/puiDQTFF+WX2Fo++h7oKt1fKWVVW/5Ca8hslYDQWnjndrg813cA23Pt1jsYdg==",
- "requires": {
- "globby": "^6.1.0",
- "is-glob": "^4.0.0",
- "lodash": "^4.17.4",
- "object-assign": "^4.0.1",
- "pify": "^3.0.0",
- "postcss": "^6.0.11",
- "postcss-import": "^10.0.0",
- "resolve": "^1.1.7"
- },
- "dependencies": {
- "array-union": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
- "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
- "requires": {
- "array-uniq": "^1.0.1"
- }
- },
- "array-uniq": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
- "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY="
- },
- "globby": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz",
- "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=",
- "requires": {
- "array-union": "^1.0.1",
- "glob": "^7.0.3",
- "object-assign": "^4.0.1",
- "pify": "^2.0.0",
- "pinkie-promise": "^2.0.0"
- },
- "dependencies": {
- "pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
- }
- }
- },
- "postcss": {
- "version": "6.0.23",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
- "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
- "requires": {
- "chalk": "^2.4.1",
- "source-map": "^0.6.1",
- "supports-color": "^5.4.0"
- }
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
- }
- },
- "postcss-filter-plugins": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/postcss-filter-plugins/-/postcss-filter-plugins-2.0.3.tgz",
- "integrity": "sha512-T53GVFsdinJhgwm7rg1BzbeBRomOg9y5MBVhGcsV0CxurUdVj1UlPdKtn7aqYA/c/QVkzKMjq2bSV5dKG5+AwQ==",
- "requires": {
- "postcss": "^5.0.4"
- },
- "dependencies": {
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
- }
- },
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
- },
- "postcss": {
- "version": "5.2.18",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
- "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
- "requires": {
- "chalk": "^1.1.3",
- "js-base64": "^2.1.9",
- "source-map": "^0.5.6",
- "supports-color": "^3.2.3"
- }
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
- "requires": {
- "has-flag": "^1.0.0"
- }
- }
- }
- },
- "postcss-import": {
- "version": "10.0.0",
- "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-10.0.0.tgz",
- "integrity": "sha1-TIXJewmRNsxeoCQNwd/b/eTi674=",
- "requires": {
- "object-assign": "^4.0.1",
- "postcss": "^6.0.1",
- "postcss-value-parser": "^3.2.3",
- "read-cache": "^1.0.0",
- "resolve": "^1.1.7"
- },
- "dependencies": {
- "postcss": {
- "version": "6.0.23",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
- "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
- "requires": {
- "chalk": "^2.4.1",
- "source-map": "^0.6.1",
- "supports-color": "^5.4.0"
- }
- },
- "postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ=="
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
- }
- },
- "postcss-load-config": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-1.2.0.tgz",
- "integrity": "sha1-U56a/J3chiASHr+djDZz4M5Q0oo=",
- "requires": {
- "cosmiconfig": "^2.1.0",
- "object-assign": "^4.1.0",
- "postcss-load-options": "^1.2.0",
- "postcss-load-plugins": "^2.3.0"
- }
- },
- "postcss-load-options": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/postcss-load-options/-/postcss-load-options-1.2.0.tgz",
- "integrity": "sha1-sJixVZ3awt8EvAuzdfmaXP4rbYw=",
- "requires": {
- "cosmiconfig": "^2.1.0",
- "object-assign": "^4.1.0"
- }
- },
- "postcss-load-plugins": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/postcss-load-plugins/-/postcss-load-plugins-2.3.0.tgz",
- "integrity": "sha1-dFdoEWWZrKLwCfrUJrABdQSdjZI=",
- "requires": {
- "cosmiconfig": "^2.1.1",
- "object-assign": "^4.1.0"
- }
- },
- "postcss-merge-idents": {
- "version": "2.1.7",
- "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz",
- "integrity": "sha1-TFUwMTwI4dWzu/PSu8dH4njuonA=",
- "requires": {
- "has": "^1.0.1",
- "postcss": "^5.0.10",
- "postcss-value-parser": "^3.1.1"
- },
- "dependencies": {
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
- }
- },
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
- },
- "postcss": {
- "version": "5.2.18",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
- "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
- "requires": {
- "chalk": "^1.1.3",
- "js-base64": "^2.1.9",
- "source-map": "^0.5.6",
- "supports-color": "^3.2.3"
- }
- },
- "postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ=="
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
- "requires": {
- "has-flag": "^1.0.0"
- }
- }
- }
- },
- "postcss-merge-longhand": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz",
- "integrity": "sha1-I9kM0Sewp3mUkVMyc5A0oaTz1lg=",
- "requires": {
- "postcss": "^5.0.4"
- },
- "dependencies": {
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
- }
- },
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
- },
- "postcss": {
- "version": "5.2.18",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
- "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
- "requires": {
- "chalk": "^1.1.3",
- "js-base64": "^2.1.9",
- "source-map": "^0.5.6",
- "supports-color": "^3.2.3"
- }
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
- "requires": {
- "has-flag": "^1.0.0"
- }
- }
- }
- },
- "postcss-merge-rules": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz",
- "integrity": "sha1-0d9d+qexrMO+VT8OnhDofGG19yE=",
- "requires": {
- "browserslist": "^1.5.2",
- "caniuse-api": "^1.5.2",
- "postcss": "^5.0.4",
- "postcss-selector-parser": "^2.2.2",
- "vendors": "^1.0.0"
- },
- "dependencies": {
- "browserslist": {
- "version": "1.7.7",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz",
- "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=",
- "requires": {
- "caniuse-db": "^1.0.30000639",
- "electron-to-chromium": "^1.2.7"
- }
- },
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
- }
- },
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
- },
- "postcss": {
- "version": "5.2.18",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
- "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
- "requires": {
- "chalk": "^1.1.3",
- "js-base64": "^2.1.9",
- "source-map": "^0.5.6",
- "supports-color": "^3.2.3"
- }
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
- "requires": {
- "has-flag": "^1.0.0"
- }
- }
- }
- },
- "postcss-message-helpers": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz",
- "integrity": "sha1-pPL0+rbk/gAvCu0ABHjN9S+bpg4="
- },
- "postcss-minify-font-values": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz",
- "integrity": "sha1-S1jttWZB66fIR0qzUmyv17vey2k=",
- "requires": {
- "object-assign": "^4.0.1",
- "postcss": "^5.0.4",
- "postcss-value-parser": "^3.0.2"
- },
- "dependencies": {
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
- }
- },
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
- },
- "postcss": {
- "version": "5.2.18",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
- "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
- "requires": {
- "chalk": "^1.1.3",
- "js-base64": "^2.1.9",
- "source-map": "^0.5.6",
- "supports-color": "^3.2.3"
- }
- },
- "postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ=="
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
- "requires": {
- "has-flag": "^1.0.0"
- }
- }
- }
- },
- "postcss-minify-gradients": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz",
- "integrity": "sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE=",
- "requires": {
- "postcss": "^5.0.12",
- "postcss-value-parser": "^3.3.0"
- },
- "dependencies": {
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
- }
- },
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
- },
- "postcss": {
- "version": "5.2.18",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
- "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
- "requires": {
- "chalk": "^1.1.3",
- "js-base64": "^2.1.9",
- "source-map": "^0.5.6",
- "supports-color": "^3.2.3"
- }
- },
- "postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ=="
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
- "requires": {
- "has-flag": "^1.0.0"
- }
- }
- }
- },
- "postcss-minify-params": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz",
- "integrity": "sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM=",
- "requires": {
- "alphanum-sort": "^1.0.1",
- "postcss": "^5.0.2",
- "postcss-value-parser": "^3.0.2",
- "uniqs": "^2.0.0"
- },
- "dependencies": {
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
- }
- },
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
- },
- "postcss": {
- "version": "5.2.18",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
- "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
- "requires": {
- "chalk": "^1.1.3",
- "js-base64": "^2.1.9",
- "source-map": "^0.5.6",
- "supports-color": "^3.2.3"
- }
- },
- "postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ=="
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
- "requires": {
- "has-flag": "^1.0.0"
- }
- }
- }
- },
- "postcss-minify-selectors": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz",
- "integrity": "sha1-ssapjAByz5G5MtGkllCBFDEXNb8=",
- "requires": {
- "alphanum-sort": "^1.0.2",
- "has": "^1.0.1",
- "postcss": "^5.0.14",
- "postcss-selector-parser": "^2.0.0"
- },
- "dependencies": {
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
- }
- },
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
- },
- "postcss": {
- "version": "5.2.18",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
- "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
- "requires": {
- "chalk": "^1.1.3",
- "js-base64": "^2.1.9",
- "source-map": "^0.5.6",
- "supports-color": "^3.2.3"
- }
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
- "requires": {
- "has-flag": "^1.0.0"
- }
- }
- }
- },
- "postcss-modules-extract-imports": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.1.tgz",
- "integrity": "sha512-6jt9XZwUhwmRUhb/CkyJY020PYaPJsCyt3UjbaWo6XEbH/94Hmv6MP7fG2C5NDU/BcHzyGYxNtHvM+LTf9HrYw==",
- "requires": {
- "postcss": "^6.0.1"
- },
- "dependencies": {
- "postcss": {
- "version": "6.0.23",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
- "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
- "requires": {
- "chalk": "^2.4.1",
- "source-map": "^0.6.1",
- "supports-color": "^5.4.0"
- }
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
- }
- },
- "postcss-modules-local-by-default": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz",
- "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=",
- "requires": {
- "css-selector-tokenizer": "^0.7.0",
- "postcss": "^6.0.1"
- },
- "dependencies": {
- "postcss": {
- "version": "6.0.23",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
- "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
- "requires": {
- "chalk": "^2.4.1",
- "source-map": "^0.6.1",
- "supports-color": "^5.4.0"
- }
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
- }
- },
- "postcss-modules-scope": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz",
- "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=",
- "requires": {
- "css-selector-tokenizer": "^0.7.0",
- "postcss": "^6.0.1"
- },
- "dependencies": {
- "postcss": {
- "version": "6.0.23",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
- "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
- "requires": {
- "chalk": "^2.4.1",
- "source-map": "^0.6.1",
- "supports-color": "^5.4.0"
- }
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
- }
- },
- "postcss-modules-values": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz",
- "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=",
- "requires": {
- "icss-replace-symbols": "^1.1.0",
- "postcss": "^6.0.1"
- },
- "dependencies": {
- "postcss": {
- "version": "6.0.23",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
- "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
- "requires": {
- "chalk": "^2.4.1",
- "source-map": "^0.6.1",
- "supports-color": "^5.4.0"
- }
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
- }
- },
- "postcss-normalize-charset": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz",
- "integrity": "sha1-757nEhLX/nWceO0WL2HtYrXLk/E=",
- "requires": {
- "postcss": "^5.0.5"
- },
- "dependencies": {
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
- }
- },
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
- },
- "postcss": {
- "version": "5.2.18",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
- "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
- "requires": {
- "chalk": "^1.1.3",
- "js-base64": "^2.1.9",
- "source-map": "^0.5.6",
- "supports-color": "^3.2.3"
- }
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
- "requires": {
- "has-flag": "^1.0.0"
- }
- }
- }
- },
- "postcss-normalize-url": {
- "version": "3.0.8",
- "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz",
- "integrity": "sha1-EI90s/L82viRov+j6kWSJ5/HgiI=",
- "requires": {
- "is-absolute-url": "^2.0.0",
- "normalize-url": "^1.4.0",
- "postcss": "^5.0.14",
- "postcss-value-parser": "^3.2.3"
- },
- "dependencies": {
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
- }
- },
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
- },
- "postcss": {
- "version": "5.2.18",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
- "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
- "requires": {
- "chalk": "^1.1.3",
- "js-base64": "^2.1.9",
- "source-map": "^0.5.6",
- "supports-color": "^3.2.3"
- }
- },
- "postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ=="
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
- "requires": {
- "has-flag": "^1.0.0"
- }
- }
- }
- },
- "postcss-ordered-values": {
- "version": "2.2.3",
- "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz",
- "integrity": "sha1-7sbCpntsQSqNsgQud/6NpD+VwR0=",
- "requires": {
- "postcss": "^5.0.4",
- "postcss-value-parser": "^3.0.1"
- },
- "dependencies": {
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
- }
- },
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
- },
- "postcss": {
- "version": "5.2.18",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
- "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
- "requires": {
- "chalk": "^1.1.3",
- "js-base64": "^2.1.9",
- "source-map": "^0.5.6",
- "supports-color": "^3.2.3"
- }
- },
- "postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ=="
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
- "requires": {
- "has-flag": "^1.0.0"
- }
- }
- }
- },
- "postcss-reduce-idents": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz",
- "integrity": "sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM=",
- "requires": {
- "postcss": "^5.0.4",
- "postcss-value-parser": "^3.0.2"
- },
- "dependencies": {
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
- }
- },
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
- },
- "postcss": {
- "version": "5.2.18",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
- "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
- "requires": {
- "chalk": "^1.1.3",
- "js-base64": "^2.1.9",
- "source-map": "^0.5.6",
- "supports-color": "^3.2.3"
- }
- },
- "postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ=="
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
- "requires": {
- "has-flag": "^1.0.0"
- }
- }
- }
- },
- "postcss-reduce-initial": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz",
- "integrity": "sha1-aPgGlfBF0IJjqHmtJA343WT2ROo=",
- "requires": {
- "postcss": "^5.0.4"
- },
- "dependencies": {
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
- }
- },
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
- },
- "postcss": {
- "version": "5.2.18",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
- "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
- "requires": {
- "chalk": "^1.1.3",
- "js-base64": "^2.1.9",
- "source-map": "^0.5.6",
- "supports-color": "^3.2.3"
- }
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
- "requires": {
- "has-flag": "^1.0.0"
- }
- }
- }
- },
- "postcss-reduce-transforms": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz",
- "integrity": "sha1-/3b02CEkN7McKYpC0uFEQCV3GuE=",
- "requires": {
- "has": "^1.0.1",
- "postcss": "^5.0.8",
- "postcss-value-parser": "^3.0.1"
- },
- "dependencies": {
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
- }
- },
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
- },
- "postcss": {
- "version": "5.2.18",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
- "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
- "requires": {
- "chalk": "^1.1.3",
- "js-base64": "^2.1.9",
- "source-map": "^0.5.6",
- "supports-color": "^3.2.3"
- }
- },
- "postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ=="
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
- "requires": {
- "has-flag": "^1.0.0"
- }
- }
- }
- },
- "postcss-selector-parser": {
- "version": "2.2.3",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz",
- "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=",
- "requires": {
- "flatten": "^1.0.2",
- "indexes-of": "^1.0.1",
- "uniq": "^1.0.1"
- }
- },
- "postcss-svgo": {
- "version": "2.1.6",
- "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-2.1.6.tgz",
- "integrity": "sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0=",
- "requires": {
- "is-svg": "^2.0.0",
- "postcss": "^5.0.14",
- "postcss-value-parser": "^3.2.3",
- "svgo": "^0.7.0"
- },
- "dependencies": {
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
- }
- },
- "colors": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
- "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM="
- },
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
- },
- "postcss": {
- "version": "5.2.18",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
- "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
- "requires": {
- "chalk": "^1.1.3",
- "js-base64": "^2.1.9",
- "source-map": "^0.5.6",
- "supports-color": "^3.2.3"
- }
- },
- "postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ=="
- },
- "sax": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
- "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
- "requires": {
- "has-flag": "^1.0.0"
- }
- },
- "svgo": {
- "version": "0.7.2",
- "resolved": "https://registry.npmjs.org/svgo/-/svgo-0.7.2.tgz",
- "integrity": "sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=",
- "requires": {
- "coa": "~1.0.1",
- "colors": "~1.1.2",
- "csso": "~2.3.1",
- "js-yaml": "~3.7.0",
- "mkdirp": "~0.5.1",
- "sax": "~1.2.1",
- "whet.extend": "~0.9.9"
- }
- }
- }
- },
- "postcss-unique-selectors": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz",
- "integrity": "sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0=",
- "requires": {
- "alphanum-sort": "^1.0.1",
- "postcss": "^5.0.4",
- "uniqs": "^2.0.0"
- },
- "dependencies": {
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
- }
- },
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
- },
- "postcss": {
- "version": "5.2.18",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
- "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
- "requires": {
- "chalk": "^1.1.3",
- "js-base64": "^2.1.9",
- "source-map": "^0.5.6",
- "supports-color": "^3.2.3"
- }
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
- "requires": {
- "has-flag": "^1.0.0"
- }
- }
- }
- },
- "postcss-value-parser": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.0.2.tgz",
- "integrity": "sha512-LmeoohTpp/K4UiyQCwuGWlONxXamGzCMtFxLq4W1nZVGIQLYvMCJx3yAF9qyyuFpflABI9yVdtJAqbihOsCsJQ=="
- },
- "postcss-zindex": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.2.0.tgz",
- "integrity": "sha1-0hCd3AVbka9n/EyzsCWUZjnSryI=",
- "requires": {
- "has": "^1.0.1",
- "postcss": "^5.0.4",
- "uniqs": "^2.0.0"
- },
- "dependencies": {
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
- }
- },
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
- },
- "postcss": {
- "version": "5.2.18",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
- "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
- "requires": {
- "chalk": "^1.1.3",
- "js-base64": "^2.1.9",
- "source-map": "^0.5.6",
- "supports-color": "^3.2.3"
- }
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
- "requires": {
- "has-flag": "^1.0.0"
- }
- }
- }
- },
"prelude-ls": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
@@ -21674,76 +12211,21 @@
"resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz",
"integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw="
},
- "preserve": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
- "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks="
- },
- "prettier": {
- "version": "1.18.2",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.18.2.tgz",
- "integrity": "sha512-OeHeMc0JhFE9idD4ZdtNibzY0+TPHSpSSb9h8FqtP+YnoZZ1sl8Vc9b1sasjfymH3SonAF4QcA2+mzHPhMvIiw=="
- },
"pretty-bytes": {
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.3.0.tgz",
"integrity": "sha512-hjGrh+P926p4R4WbaB6OckyRtO0F0/lQBiT+0gnxjV+5kjPBrfVBFCsCLbMqVQeydvIoouYTCmmEURiH3R1Bdg=="
},
- "pretty-error": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz",
- "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=",
- "requires": {
- "renderkid": "^2.0.1",
- "utila": "~0.4"
- }
- },
"pretty-hrtime": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz",
"integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE="
},
- "pretty-time": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/pretty-time/-/pretty-time-0.2.0.tgz",
- "integrity": "sha1-ejvexAScYgzXxCt/NCt01W5z104=",
- "requires": {
- "is-number": "^2.0.2",
- "nanoseconds": "^0.1.0"
- },
- "dependencies": {
- "is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
- },
- "is-number": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
- "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
- "requires": {
- "kind-of": "^3.0.2"
- }
- },
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
- }
- },
"private": {
"version": "0.1.8",
"resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
- "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg=="
- },
- "process": {
- "version": "0.11.10",
- "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
- "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI="
+ "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==",
+ "dev": true
},
"process-nextick-args": {
"version": "2.0.1",
@@ -21755,31 +12237,6 @@
"resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
"integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA=="
},
- "project-name": {
- "version": "0.2.6",
- "resolved": "https://registry.npmjs.org/project-name/-/project-name-0.2.6.tgz",
- "integrity": "sha1-Pk94H+HulLB4apuuU1BjdsN5r2k=",
- "requires": {
- "find-pkg": "^0.1.2",
- "git-repo-name": "^0.6.0",
- "minimist": "^1.2.0"
- },
- "dependencies": {
- "minimist": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
- "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
- }
- }
- },
- "promise": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz",
- "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==",
- "requires": {
- "asap": "~2.0.3"
- }
- },
"proto-list": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz",
@@ -21795,50 +12252,11 @@
"ipaddr.js": "1.9.0"
}
},
- "proxy-agent": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-3.1.0.tgz",
- "integrity": "sha512-IkbZL4ClW3wwBL/ABFD2zJ8iP84CY0uKMvBPk/OceQe/cEjrxzN1pMHsLwhbzUoRhG9QbSxYC+Z7LBkTiBNvrA==",
- "dev": true,
- "requires": {
- "agent-base": "^4.2.0",
- "debug": "^3.1.0",
- "http-proxy-agent": "^2.1.0",
- "https-proxy-agent": "^2.2.1",
- "lru-cache": "^4.1.2",
- "pac-proxy-agent": "^3.0.0",
- "proxy-from-env": "^1.0.0",
- "socks-proxy-agent": "^4.0.1"
- },
- "dependencies": {
- "lru-cache": {
- "version": "4.1.5",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
- "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
- "dev": true,
- "requires": {
- "pseudomap": "^1.0.2",
- "yallist": "^2.1.2"
- }
- },
- "yallist": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
- "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
- "dev": true
- }
- }
- },
"proxy-from-env": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz",
"integrity": "sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4="
},
- "prr": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
- "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY="
- },
"ps-tree": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/ps-tree/-/ps-tree-1.2.0.tgz",
@@ -21862,186 +12280,6 @@
"resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.7.tgz",
"integrity": "sha512-xsMgrUwRpuGskEzBFkH8NmTimbZ5PcPup0LA8JJkHIm2IMUbQcpo3yeLNWVrufEYjh8YwtSVh0xz6UeWc5Oh5A=="
},
- "public-encrypt": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
- "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
- "requires": {
- "bn.js": "^4.1.0",
- "browserify-rsa": "^4.0.0",
- "create-hash": "^1.1.0",
- "parse-asn1": "^5.0.0",
- "randombytes": "^2.0.1",
- "safe-buffer": "^5.1.2"
- }
- },
- "pug": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/pug/-/pug-2.0.4.tgz",
- "integrity": "sha512-XhoaDlvi6NIzL49nu094R2NA6P37ijtgMDuWE+ofekDChvfKnzFal60bhSdiy8y2PBO6fmz3oMEIcfpBVRUdvw==",
- "requires": {
- "pug-code-gen": "^2.0.2",
- "pug-filters": "^3.1.1",
- "pug-lexer": "^4.1.0",
- "pug-linker": "^3.0.6",
- "pug-load": "^2.0.12",
- "pug-parser": "^5.0.1",
- "pug-runtime": "^2.0.5",
- "pug-strip-comments": "^1.0.4"
- }
- },
- "pug-attrs": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/pug-attrs/-/pug-attrs-2.0.4.tgz",
- "integrity": "sha512-TaZ4Z2TWUPDJcV3wjU3RtUXMrd3kM4Wzjbe3EWnSsZPsJ3LDI0F3yCnf2/W7PPFF+edUFQ0HgDL1IoxSz5K8EQ==",
- "requires": {
- "constantinople": "^3.0.1",
- "js-stringify": "^1.0.1",
- "pug-runtime": "^2.0.5"
- }
- },
- "pug-code-gen": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-2.0.2.tgz",
- "integrity": "sha512-kROFWv/AHx/9CRgoGJeRSm+4mLWchbgpRzTEn8XCiwwOy6Vh0gAClS8Vh5TEJ9DBjaP8wCjS3J6HKsEsYdvaCw==",
- "requires": {
- "constantinople": "^3.1.2",
- "doctypes": "^1.1.0",
- "js-stringify": "^1.0.1",
- "pug-attrs": "^2.0.4",
- "pug-error": "^1.3.3",
- "pug-runtime": "^2.0.5",
- "void-elements": "^2.0.1",
- "with": "^5.0.0"
- }
- },
- "pug-error": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/pug-error/-/pug-error-1.3.3.tgz",
- "integrity": "sha512-qE3YhESP2mRAWMFJgKdtT5D7ckThRScXRwkfo+Erqga7dyJdY3ZquspprMCj/9sJ2ijm5hXFWQE/A3l4poMWiQ=="
- },
- "pug-filters": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/pug-filters/-/pug-filters-3.1.1.tgz",
- "integrity": "sha512-lFfjNyGEyVWC4BwX0WyvkoWLapI5xHSM3xZJFUhx4JM4XyyRdO8Aucc6pCygnqV2uSgJFaJWW3Ft1wCWSoQkQg==",
- "requires": {
- "clean-css": "^4.1.11",
- "constantinople": "^3.0.1",
- "jstransformer": "1.0.0",
- "pug-error": "^1.3.3",
- "pug-walk": "^1.1.8",
- "resolve": "^1.1.6",
- "uglify-js": "^2.6.1"
- },
- "dependencies": {
- "camelcase": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
- "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk="
- },
- "cliui": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
- "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=",
- "requires": {
- "center-align": "^0.1.1",
- "right-align": "^0.1.1",
- "wordwrap": "0.0.2"
- }
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "uglify-js": {
- "version": "2.8.29",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz",
- "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=",
- "requires": {
- "source-map": "~0.5.1",
- "uglify-to-browserify": "~1.0.0",
- "yargs": "~3.10.0"
- }
- },
- "window-size": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
- "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0="
- },
- "wordwrap": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
- "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8="
- },
- "yargs": {
- "version": "3.10.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
- "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
- "requires": {
- "camelcase": "^1.0.2",
- "cliui": "^2.1.0",
- "decamelize": "^1.0.0",
- "window-size": "0.1.0"
- }
- }
- }
- },
- "pug-lexer": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/pug-lexer/-/pug-lexer-4.1.0.tgz",
- "integrity": "sha512-i55yzEBtjm0mlplW4LoANq7k3S8gDdfC6+LThGEvsK4FuobcKfDAwt6V4jKPH9RtiE3a2Akfg5UpafZ1OksaPA==",
- "requires": {
- "character-parser": "^2.1.1",
- "is-expression": "^3.0.0",
- "pug-error": "^1.3.3"
- }
- },
- "pug-linker": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/pug-linker/-/pug-linker-3.0.6.tgz",
- "integrity": "sha512-bagfuHttfQOpANGy1Y6NJ+0mNb7dD2MswFG2ZKj22s8g0wVsojpRlqveEQHmgXXcfROB2RT6oqbPYr9EN2ZWzg==",
- "requires": {
- "pug-error": "^1.3.3",
- "pug-walk": "^1.1.8"
- }
- },
- "pug-load": {
- "version": "2.0.12",
- "resolved": "https://registry.npmjs.org/pug-load/-/pug-load-2.0.12.tgz",
- "integrity": "sha512-UqpgGpyyXRYgJs/X60sE6SIf8UBsmcHYKNaOccyVLEuT6OPBIMo6xMPhoJnqtB3Q3BbO4Z3Bjz5qDsUWh4rXsg==",
- "requires": {
- "object-assign": "^4.1.0",
- "pug-walk": "^1.1.8"
- }
- },
- "pug-parser": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/pug-parser/-/pug-parser-5.0.1.tgz",
- "integrity": "sha512-nGHqK+w07p5/PsPIyzkTQfzlYfuqoiGjaoqHv1LjOv2ZLXmGX1O+4Vcvps+P4LhxZ3drYSljjq4b+Naid126wA==",
- "requires": {
- "pug-error": "^1.3.3",
- "token-stream": "0.0.1"
- }
- },
- "pug-runtime": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/pug-runtime/-/pug-runtime-2.0.5.tgz",
- "integrity": "sha512-P+rXKn9un4fQY77wtpcuFyvFaBww7/91f3jHa154qU26qFAnOe6SW1CbIDcxiG5lLK9HazYrMCCuDvNgDQNptw=="
- },
- "pug-strip-comments": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/pug-strip-comments/-/pug-strip-comments-1.0.4.tgz",
- "integrity": "sha512-i5j/9CS4yFhSxHp5iKPHwigaig/VV9g+FgReLJWWHEHbvKsbqL0oP/K5ubuLco6Wu3Kan5p7u7qk8A4oLLh6vw==",
- "requires": {
- "pug-error": "^1.3.3"
- }
- },
- "pug-walk": {
- "version": "1.1.8",
- "resolved": "https://registry.npmjs.org/pug-walk/-/pug-walk-1.1.8.tgz",
- "integrity": "sha512-GMu3M5nUL3fju4/egXwZO0XLi6fW/K3T3VTgFQ14GxNi8btlxgT5qZL//JwZFm/2Fa64J/PNS8AZeys3wiMkVA=="
- },
"pump": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
@@ -22100,6 +12338,14 @@
"ms": "^2.1.1"
}
},
+ "rimraf": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
+ "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
"ws": {
"version": "6.2.1",
"resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz",
@@ -22113,13 +12359,8 @@
"q": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
- "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc="
- },
- "qjobs": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz",
- "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==",
- "dev": true
+ "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=",
+ "optional": true
},
"qs": {
"version": "6.3.2",
@@ -22130,6 +12371,7 @@
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz",
"integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==",
+ "optional": true,
"requires": {
"decode-uri-component": "^0.2.0",
"object-assign": "^4.1.0",
@@ -22141,172 +12383,6 @@
"resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
"integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA="
},
- "querystring-es3": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
- "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM="
- },
- "question-cache": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/question-cache/-/question-cache-0.5.1.tgz",
- "integrity": "sha1-C8JzKRdTQXB99azTHvLd9nApFo0=",
- "requires": {
- "arr-flatten": "^1.0.1",
- "arr-union": "^3.1.0",
- "async-each-series": "^1.1.0",
- "debug": "^2.2.0",
- "define-property": "^0.2.5",
- "get-value": "^2.0.6",
- "has-value": "^0.3.1",
- "inquirer2": "^0.1.1",
- "is-answer": "^0.1.0",
- "isobject": "^2.1.0",
- "lazy-cache": "^2.0.1",
- "mixin-deep": "^1.1.3",
- "omit-empty": "^0.4.1",
- "option-cache": "^3.4.0",
- "os-homedir": "^1.0.1",
- "project-name": "^0.2.5",
- "set-value": "^0.3.3",
- "to-choices": "^0.2.0",
- "use": "^2.0.0"
- },
- "dependencies": {
- "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"
- }
- },
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "requires": {
- "is-descriptor": "^0.1.0"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "has-value": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
- "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
- "requires": {
- "get-value": "^2.0.3",
- "has-values": "^0.1.4",
- "isobject": "^2.0.0"
- }
- },
- "has-values": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
- "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E="
- },
- "isobject": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
- "requires": {
- "isarray": "1.0.0"
- }
- },
- "lazy-cache": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
- "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
- "requires": {
- "set-getter": "^0.1.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- },
- "set-value": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.3.3.tgz",
- "integrity": "sha1-uBIjaBY4oQiP2IpDW4qdMtro2bo=",
- "requires": {
- "extend-shallow": "^2.0.1",
- "isobject": "^2.0.0",
- "to-object-path": "^0.2.0"
- }
- },
- "to-object-path": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.2.0.tgz",
- "integrity": "sha1-FjThtSqIugDjlJYZ/ACB3Jo7B8o=",
- "requires": {
- "arr-flatten": "^1.0.1",
- "is-arguments": "^1.0.2"
- }
- },
- "use": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/use/-/use-2.0.2.tgz",
- "integrity": "sha1-riig1y+TvyJCKhii43mZMRLeyOg=",
- "requires": {
- "define-property": "^0.2.5",
- "isobject": "^3.0.0",
- "lazy-cache": "^2.0.2"
- },
- "dependencies": {
- "isobject": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
- }
- }
- }
- }
- },
- "question-store": {
- "version": "0.11.1",
- "resolved": "https://registry.npmjs.org/question-store/-/question-store-0.11.1.tgz",
- "integrity": "sha1-gf1NRF9NWtwqYiPCUj+nEj4E/X0=",
- "requires": {
- "common-config": "^0.1.0",
- "data-store": "^0.16.1",
- "debug": "^2.2.0",
- "is-answer": "^0.1.0",
- "lazy-cache": "^2.0.1",
- "project-name": "^0.2.6",
- "question-cache": "^0.5.1"
- },
- "dependencies": {
- "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"
- }
- },
- "lazy-cache": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
- "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
- "requires": {
- "set-getter": "^0.1.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- }
- }
- },
"queue": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/queue/-/queue-6.0.1.tgz",
@@ -22316,45 +12392,10 @@
}
},
"ramda": {
- "version": "0.25.0",
- "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.25.0.tgz",
- "integrity": "sha512-GXpfrYVPwx3K7RQ6aYT8KPS8XViSXUVJT1ONhoKPE9VAleW42YE+U+8VEyGWt41EnEQW7gwecYJriTI0pKoecQ==",
- "dev": true,
- "optional": true
- },
- "randomatic": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz",
- "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==",
- "requires": {
- "is-number": "^4.0.0",
- "kind-of": "^6.0.0",
- "math-random": "^1.0.1"
- },
- "dependencies": {
- "is-number": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz",
- "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ=="
- }
- }
- },
- "randombytes": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
- "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
- "requires": {
- "safe-buffer": "^5.1.0"
- }
- },
- "randomfill": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
- "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
- "requires": {
- "randombytes": "^2.0.5",
- "safe-buffer": "^5.1.0"
- }
+ "version": "0.26.1",
+ "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.26.1.tgz",
+ "integrity": "sha512-hLWjpy7EnsDBb0p+Z3B7rPi3GDeRG5ZtiI33kJhTt+ORCd38AbAIjB/9zRIUoeTbE/AVX5ZkU7m6bznsvrf8eQ==",
+ "dev": true
},
"range-parser": {
"version": "1.2.1",
@@ -22390,26 +12431,6 @@
}
}
},
- "read-cache": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
- "integrity": "sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=",
- "requires": {
- "pify": "^2.3.0"
- },
- "dependencies": {
- "pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
- }
- }
- },
- "read-file": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/read-file/-/read-file-0.2.0.tgz",
- "integrity": "sha1-cMa6+IQux9FUD5gf0Oau1Mgb1UU="
- },
"read-pkg": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
@@ -22472,16 +12493,6 @@
"readable-stream": "^2.0.2"
}
},
- "readline2": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz",
- "integrity": "sha1-QQWWCP/BVHV7cV2ZidGZ/783LjU=",
- "requires": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "mute-stream": "0.0.5"
- }
- },
"rechoir": {
"version": "0.6.2",
"resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
@@ -22499,49 +12510,6 @@
"strip-indent": "^1.0.1"
}
},
- "reduce-css-calc": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz",
- "integrity": "sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=",
- "requires": {
- "balanced-match": "^0.4.2",
- "math-expression-evaluator": "^1.2.14",
- "reduce-function-call": "^1.0.1"
- },
- "dependencies": {
- "balanced-match": {
- "version": "0.4.2",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz",
- "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg="
- }
- }
- },
- "reduce-function-call": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/reduce-function-call/-/reduce-function-call-1.0.3.tgz",
- "integrity": "sha512-Hl/tuV2VDgWgCSEeWMLwxLZqX7OK59eU1guxXsRKTAyeYimivsKdtcV4fu3r710tpG5GmDKDhQ0HSZLExnNmyQ==",
- "requires": {
- "balanced-match": "^1.0.0"
- }
- },
- "reduce-object": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/reduce-object/-/reduce-object-0.1.3.tgz",
- "integrity": "sha1-1UnUCmwpNvpOPpt4yonJMxRZQhg=",
- "requires": {
- "for-own": "^0.1.1"
- },
- "dependencies": {
- "for-own": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
- "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
- "requires": {
- "for-in": "^1.0.1"
- }
- }
- }
- },
"referrer-policy": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/referrer-policy/-/referrer-policy-1.2.0.tgz",
@@ -22550,31 +12518,23 @@
"regenerate": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz",
- "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg=="
+ "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==",
+ "dev": true
+ },
+ "regenerate-unicode-properties": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz",
+ "integrity": "sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA==",
+ "dev": true,
+ "requires": {
+ "regenerate": "^1.4.0"
+ }
},
"regenerator-runtime": {
"version": "0.13.3",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz",
"integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw=="
},
- "regenerator-transform": {
- "version": "0.10.1",
- "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz",
- "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==",
- "requires": {
- "babel-runtime": "^6.18.0",
- "babel-types": "^6.19.0",
- "private": "^0.1.6"
- }
- },
- "regex-cache": {
- "version": "0.4.4",
- "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz",
- "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==",
- "requires": {
- "is-equal-shallow": "^0.1.3"
- }
- },
"regex-not": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
@@ -22590,21 +12550,11 @@
"integrity": "sha512-TuAasHQNamyyJ2hb97IuBEif4qBHGjPHBS64sZwytpLEqtBQ1gPJTnOaQ6qmpET16cK14kkjbazl6+p0RRv0yw=="
},
"regexpp": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-1.1.0.tgz",
- "integrity": "sha512-LOPw8FpgdQF9etWMaAfG/WRthIdXJGYp4mJ2Jgn/2lpkbod9jPn0t9UqN7AxBOKNfzRbYyVfgc7Vk4t/MpnXgw==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz",
+ "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==",
"dev": true
},
- "regexpu-core": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz",
- "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=",
- "requires": {
- "regenerate": "^1.2.1",
- "regjsgen": "^0.2.0",
- "regjsparser": "^0.1.4"
- }
- },
"registry-auth-token": {
"version": "3.4.0",
"resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.4.0.tgz",
@@ -22622,57 +12572,6 @@
"rc": "^1.0.1"
}
},
- "regjsgen": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz",
- "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc="
- },
- "regjsparser": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz",
- "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=",
- "requires": {
- "jsesc": "~0.5.0"
- },
- "dependencies": {
- "jsesc": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
- "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0="
- }
- }
- },
- "relateurl": {
- "version": "0.2.7",
- "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz",
- "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk="
- },
- "relative": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/relative/-/relative-3.0.2.tgz",
- "integrity": "sha1-Dc2OxUpdNaPBXhBFA9ZTdbWlNn8=",
- "requires": {
- "isobject": "^2.0.0"
- },
- "dependencies": {
- "isobject": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
- "requires": {
- "isarray": "1.0.0"
- }
- }
- }
- },
- "remote-origin-url": {
- "version": "0.5.3",
- "resolved": "https://registry.npmjs.org/remote-origin-url/-/remote-origin-url-0.5.3.tgz",
- "integrity": "sha512-crQ7Xk1m/F2IiwBx5oTqk/c0hjoumrEz+a36+ZoVupskQRE/q7pAwHKsTNeiZ31sbSTELvVlVv4h1W0Xo5szKg==",
- "requires": {
- "parse-git-config": "^1.1.1"
- }
- },
"remove-bom-buffer": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz",
@@ -22715,40 +12614,6 @@
"resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
"integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8="
},
- "renderkid": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.3.tgz",
- "integrity": "sha512-z8CLQp7EZBPCwCnncgf9C4XAi3WR0dv+uWu/PjIyhhAb5d6IJ/QZqlHFprHeKT+59//V6BNUsLbvN8+2LarxGA==",
- "requires": {
- "css-select": "^1.1.0",
- "dom-converter": "^0.2",
- "htmlparser2": "^3.3.0",
- "strip-ansi": "^3.0.0",
- "utila": "^0.4.0"
- },
- "dependencies": {
- "css-select": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz",
- "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=",
- "requires": {
- "boolbase": "~1.0.0",
- "css-what": "2.1",
- "domutils": "1.5.1",
- "nth-check": "~1.0.1"
- }
- },
- "domutils": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz",
- "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=",
- "requires": {
- "dom-serializer": "0",
- "domelementtype": "1"
- }
- }
- }
- },
"repeat-element": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
@@ -22782,86 +12647,6 @@
"remove-trailing-separator": "^1.1.0"
}
},
- "repo-utils": {
- "version": "0.3.7",
- "resolved": "https://registry.npmjs.org/repo-utils/-/repo-utils-0.3.7.tgz",
- "integrity": "sha1-SrZq80DLEfp+XPgFgekr6Xwb964=",
- "requires": {
- "extend-shallow": "^2.0.1",
- "get-value": "^2.0.6",
- "git-config-path": "^1.0.1",
- "is-absolute": "^0.2.6",
- "kind-of": "^3.0.4",
- "lazy-cache": "^2.0.1",
- "mixin-deep": "^1.1.3",
- "omit-empty": "^0.4.1",
- "parse-author": "^1.0.0",
- "parse-git-config": "^1.0.2",
- "parse-github-url": "^0.3.2",
- "project-name": "^0.2.6"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "is-absolute": {
- "version": "0.2.6",
- "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-0.2.6.tgz",
- "integrity": "sha1-IN5p89uULvLYe5wto28XIjWxtes=",
- "requires": {
- "is-relative": "^0.2.1",
- "is-windows": "^0.2.0"
- }
- },
- "is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
- },
- "is-relative": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-0.2.1.tgz",
- "integrity": "sha1-0n9MfVFtF1+2ENuEu+7yPDvJeqU=",
- "requires": {
- "is-unc-path": "^0.1.1"
- }
- },
- "is-unc-path": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-0.1.2.tgz",
- "integrity": "sha1-arBTpyVzwQJQ/0FqOBTDUXivObk=",
- "requires": {
- "unc-path-regex": "^0.1.0"
- }
- },
- "is-windows": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz",
- "integrity": "sha1-3hqm1j6indJIc3tp8f+LgALSEIw="
- },
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "^1.1.5"
- }
- },
- "lazy-cache": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
- "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
- "requires": {
- "set-getter": "^0.1.0"
- }
- }
- }
- },
"request": {
"version": "2.76.0",
"resolved": "https://registry.npmjs.org/request/-/request-2.76.0.tgz",
@@ -22907,11 +12692,6 @@
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
"integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I="
},
- "require-from-string": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz",
- "integrity": "sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg="
- },
"require-in-the-middle": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-5.0.0.tgz",
@@ -22937,24 +12717,6 @@
"resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
"integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE="
},
- "require-uncached": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz",
- "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=",
- "dev": true,
- "requires": {
- "caller-path": "^0.1.0",
- "resolve-from": "^1.0.0"
- },
- "dependencies": {
- "resolve-from": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz",
- "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=",
- "dev": true
- }
- }
- },
"require_optional": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/require_optional/-/require_optional-1.0.1.tgz",
@@ -22971,12 +12733,6 @@
}
}
},
- "requires-port": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
- "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=",
- "dev": true
- },
"resolve": {
"version": "1.12.0",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz",
@@ -22994,100 +12750,11 @@
"global-modules": "^1.0.0"
}
},
- "resolve-file": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/resolve-file/-/resolve-file-0.2.2.tgz",
- "integrity": "sha1-FNvsWhnThPXW3GSin9ZigV0xdpY=",
- "requires": {
- "cwd": "^0.10.0",
- "expand-tilde": "^2.0.1",
- "extend-shallow": "^2.0.1",
- "fs-exists-sync": "^0.1.0",
- "global-modules": "^0.2.3",
- "homedir-polyfill": "^1.0.0",
- "lazy-cache": "^2.0.1",
- "resolve": "^1.1.7"
- },
- "dependencies": {
- "cwd": {
- "version": "0.10.0",
- "resolved": "https://registry.npmjs.org/cwd/-/cwd-0.10.0.tgz",
- "integrity": "sha1-FyQAaUBXwioTsM8WFix+S3p/5Wc=",
- "requires": {
- "find-pkg": "^0.1.2",
- "fs-exists-sync": "^0.1.0"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "global-modules": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-0.2.3.tgz",
- "integrity": "sha1-6lo77ULG1s6ZWk+KEmm12uIjgo0=",
- "requires": {
- "global-prefix": "^0.1.4",
- "is-windows": "^0.2.0"
- }
- },
- "global-prefix": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-0.1.5.tgz",
- "integrity": "sha1-jTvGuNo8qBEqFg2NSW/wRiv+948=",
- "requires": {
- "homedir-polyfill": "^1.0.0",
- "ini": "^1.3.4",
- "is-windows": "^0.2.0",
- "which": "^1.2.12"
- }
- },
- "is-windows": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz",
- "integrity": "sha1-3hqm1j6indJIc3tp8f+LgALSEIw="
- },
- "lazy-cache": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
- "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
- "requires": {
- "set-getter": "^0.1.0"
- }
- }
- }
- },
"resolve-from": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz",
"integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c="
},
- "resolve-glob": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/resolve-glob/-/resolve-glob-1.0.0.tgz",
- "integrity": "sha512-wSW9pVGJRs89k0wEXhM7C6+va9998NsDhgc0Y+6Nv8hrHsu0hUS7Ug10J1EiVtU6N2tKlSNvx9wLihL8Ao22Lg==",
- "requires": {
- "extend-shallow": "^2.0.1",
- "is-valid-glob": "^1.0.0",
- "matched": "^1.0.2",
- "relative": "^3.0.2",
- "resolve-dir": "^1.0.0"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "^0.1.0"
- }
- }
- }
- },
"resolve-options": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz",
@@ -23113,6 +12780,7 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
"integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
+ "dev": true,
"requires": {
"onetime": "^2.0.0",
"signal-exit": "^3.0.2"
@@ -23123,39 +12791,6 @@
"resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
"integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg=="
},
- "rethrow": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/rethrow/-/rethrow-0.2.3.tgz",
- "integrity": "sha1-xVKPGQ6J7HU1iJRSob5omWtfZhY=",
- "requires": {
- "ansi-bgred": "^0.1.1",
- "ansi-red": "^0.1.1",
- "ansi-yellow": "^0.1.1",
- "extend-shallow": "^1.1.4",
- "lazy-cache": "^0.2.3",
- "right-align": "^0.1.3"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz",
- "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=",
- "requires": {
- "kind-of": "^1.1.0"
- }
- },
- "kind-of": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz",
- "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ="
- },
- "lazy-cache": {
- "version": "0.2.7",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-0.2.7.tgz",
- "integrity": "sha1-f+3fLctu23fRHvHRF6tf/fCrG2U="
- }
- }
- },
"retry": {
"version": "0.9.0",
"resolved": "https://registry.npmjs.org/retry/-/retry-0.9.0.tgz",
@@ -23185,62 +12820,26 @@
"resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
"integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw=="
},
- "rfdc": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.1.4.tgz",
- "integrity": "sha512-5C9HXdzK8EAqN7JDif30jqsBzavB7wLpaubisuQIGHWf2gUXSpzy6ArX/+Da8RjFpagWsCn+pIgxTMAmKw9Zug==",
- "dev": true
- },
- "right-align": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz",
- "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=",
- "requires": {
- "align-text": "^0.1.1"
- }
- },
"rimraf": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
- "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.0.tgz",
+ "integrity": "sha512-NDGVxTsjqfunkds7CqsOiEnxln4Bo7Nddl3XhS4pXg5OzwkLqJ971ZVAAnB+DDLnF76N+VnDEiBHaVV8I06SUg==",
"requires": {
"glob": "^7.1.3"
}
},
- "ripemd160": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
- "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
- "requires": {
- "hash-base": "^3.0.0",
- "inherits": "^2.0.1"
- }
- },
- "run-async": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz",
- "integrity": "sha1-yK1KXhEGYeQCp9IbUw4AnyX444k=",
- "requires": {
- "once": "^1.3.0"
- }
- },
"run-parallel": {
"version": "1.1.9",
"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz",
"integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q=="
},
- "rx-lite": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz",
- "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ="
- },
- "rx-lite-aggregates": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz",
- "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=",
+ "rxjs": {
+ "version": "6.5.3",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz",
+ "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==",
"dev": true,
"requires": {
- "rx-lite": "*"
+ "tslib": "^1.9.0"
}
},
"safe-buffer": {
@@ -23261,42 +12860,6 @@
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
},
- "samsam": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/samsam/-/samsam-1.3.0.tgz",
- "integrity": "sha512-1HwIYD/8UlOtFS3QO3w7ey+SdSDFE4HRNLZoZRYVQefrOY3l17epswImeB1ijgJFQJodIaHcwkp3r/myBjFVbg==",
- "dev": true
- },
- "sass-graph": {
- "version": "2.2.4",
- "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz",
- "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=",
- "requires": {
- "glob": "^7.0.0",
- "lodash": "^4.0.0",
- "scss-tokenizer": "^0.2.3",
- "yargs": "^7.0.0"
- }
- },
- "sass-loader": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-7.3.1.tgz",
- "integrity": "sha512-tuU7+zm0pTCynKYHpdqaPpe+MMTQ76I9TPZ7i4/5dZsigE350shQWe5EZNl5dBidM49TPET75tNqRbcsUZWeNA==",
- "requires": {
- "clone-deep": "^4.0.1",
- "loader-utils": "^1.0.1",
- "neo-async": "^2.5.0",
- "pify": "^4.0.1",
- "semver": "^6.3.0"
- },
- "dependencies": {
- "pify": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
- "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g=="
- }
- }
- },
"save-pixels": {
"version": "2.3.4",
"resolved": "https://registry.npmjs.org/save-pixels/-/save-pixels-2.3.4.tgz",
@@ -23323,56 +12886,6 @@
"resolved": "https://registry.npmjs.org/sax/-/sax-0.6.1.tgz",
"integrity": "sha1-VjsZx8HeiS4Jv8Ty/DDjwn8JUrk="
},
- "schema-utils": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz",
- "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=",
- "requires": {
- "ajv": "^5.0.0"
- },
- "dependencies": {
- "ajv": {
- "version": "5.5.2",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
- "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
- "requires": {
- "co": "^4.6.0",
- "fast-deep-equal": "^1.0.0",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.3.0"
- }
- },
- "fast-deep-equal": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz",
- "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ="
- },
- "json-schema-traverse": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
- "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A="
- }
- }
- },
- "scss-tokenizer": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz",
- "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=",
- "requires": {
- "js-base64": "^2.1.8",
- "source-map": "^0.4.2"
- },
- "dependencies": {
- "source-map": {
- "version": "0.4.4",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
- "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
- "requires": {
- "amdefine": ">=0.0.4"
- }
- }
- }
- },
"secure-keys": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/secure-keys/-/secure-keys-1.0.0.tgz",
@@ -23398,12 +12911,6 @@
}
}
},
- "selenium-server": {
- "version": "3.141.59",
- "resolved": "https://registry.npmjs.org/selenium-server/-/selenium-server-3.141.59.tgz",
- "integrity": "sha512-pL7T1YtAqOEXiBbTx0KdZMkE2U7PYucemd7i0nDLcxcR1APXYZlJfNr5hrvL3mZgwXb7AJEZPINzC6mDU3eP5g==",
- "dev": true
- },
"semver": {
"version": "6.3.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
@@ -23518,14 +13025,6 @@
"resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
"integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc="
},
- "set-getter": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/set-getter/-/set-getter-0.1.0.tgz",
- "integrity": "sha1-12nBgsnVpR9AkUXy+6guXoboA3Y=",
- "requires": {
- "to-object-path": "^0.3.0"
- }
- },
"set-value": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
@@ -23547,33 +13046,11 @@
}
}
},
- "setimmediate": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
- "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU="
- },
"setprototypeof": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
"integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw=="
},
- "sha.js": {
- "version": "2.4.11",
- "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
- "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
- "requires": {
- "inherits": "^2.0.1",
- "safe-buffer": "^5.0.1"
- }
- },
- "shallow-clone": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz",
- "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==",
- "requires": {
- "kind-of": "^6.0.2"
- }
- },
"shebang-command": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
@@ -23587,16 +13064,6 @@
"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
"integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM="
},
- "shelljs": {
- "version": "0.8.3",
- "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.3.tgz",
- "integrity": "sha512-fc0BKlAWiLpwZljmOvAOTE/gXawtCoNrP5oaY7KIaQbbyHeQVg01pSEuEGvGh3HEdBU4baCD7wQBwADmM/7f7A==",
- "requires": {
- "glob": "^7.0.0",
- "interpret": "^1.0.0",
- "rechoir": "^0.6.2"
- }
- },
"shimmer": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/shimmer/-/shimmer-1.2.1.tgz",
@@ -23621,11 +13088,6 @@
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
"integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0="
},
- "simple-html-tokenizer": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/simple-html-tokenizer/-/simple-html-tokenizer-0.1.1.tgz",
- "integrity": "sha1-BcLuxXn//+FFoDCsJs/qYbmA+r4="
- },
"simple-swizzle": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
@@ -23679,19 +13141,30 @@
"dev": true
},
"slash": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
- "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU="
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q=="
},
"slice-ansi": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz",
- "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
+ "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
"dev": true,
"requires": {
+ "ansi-styles": "^3.2.0",
+ "astral-regex": "^1.0.0",
"is-fullwidth-code-point": "^2.0.0"
},
"dependencies": {
+ "ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
+ },
"is-fullwidth-code-point": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
@@ -23705,17 +13178,6 @@
"resolved": "https://registry.npmjs.org/sliced/-/sliced-1.0.1.tgz",
"integrity": "sha1-CzpmK10Ewxd7GSa+qCsD+Dei70E="
},
- "smart-buffer": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.0.2.tgz",
- "integrity": "sha512-JDhEpTKzXusOqXZ0BUIdH+CjFdO/CR3tLlf5CN34IypI+xMmXW1uB16OOY8z3cICbJlDAVJzNbwBhNO0wt9OAw==",
- "dev": true
- },
- "smartbanner.js": {
- "version": "1.14.5",
- "resolved": "https://registry.npmjs.org/smartbanner.js/-/smartbanner.js-1.14.5.tgz",
- "integrity": "sha512-Qw4dezZkPHbnVIOyG/BDTsm/ZDsnYZdSwPI9CL+PfRqqywh/Bk2XmWcAFLUzmDg5lGeAxhs7TrKO1+kQ4vWN9g=="
- },
"snapdragon": {
"version": "0.8.2",
"resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
@@ -23844,159 +13306,6 @@
"hoek": "2.x.x"
}
},
- "socket.io": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.1.1.tgz",
- "integrity": "sha512-rORqq9c+7W0DAK3cleWNSyfv/qKXV99hV4tZe+gGLfBECw3XEhBy7x85F3wypA9688LKjtwO9pX9L33/xQI8yA==",
- "dev": true,
- "requires": {
- "debug": "~3.1.0",
- "engine.io": "~3.2.0",
- "has-binary2": "~1.0.2",
- "socket.io-adapter": "~1.1.0",
- "socket.io-client": "2.1.1",
- "socket.io-parser": "~3.2.0"
- },
- "dependencies": {
- "debug": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
- "dev": true
- }
- }
- },
- "socket.io-adapter": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz",
- "integrity": "sha1-KoBeihTWNyEk3ZFZrUUC+MsH8Gs=",
- "dev": true
- },
- "socket.io-client": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.1.1.tgz",
- "integrity": "sha512-jxnFyhAuFxYfjqIgduQlhzqTcOEQSn+OHKVfAxWaNWa7ecP7xSNk2Dx/3UEsDcY7NcFafxvNvKPmmO7HTwTxGQ==",
- "dev": true,
- "requires": {
- "backo2": "1.0.2",
- "base64-arraybuffer": "0.1.5",
- "component-bind": "1.0.0",
- "component-emitter": "1.2.1",
- "debug": "~3.1.0",
- "engine.io-client": "~3.2.0",
- "has-binary2": "~1.0.2",
- "has-cors": "1.1.0",
- "indexof": "0.0.1",
- "object-component": "0.0.3",
- "parseqs": "0.0.5",
- "parseuri": "0.0.5",
- "socket.io-parser": "~3.2.0",
- "to-array": "0.1.4"
- },
- "dependencies": {
- "component-emitter": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
- "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
- "dev": true
- },
- "debug": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
- "dev": true
- }
- }
- },
- "socket.io-parser": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.2.0.tgz",
- "integrity": "sha512-FYiBx7rc/KORMJlgsXysflWx/RIvtqZbyGLlHZvjfmPTPeuD/I8MaW7cfFrj5tRltICJdgwflhfZ3NVVbVLFQA==",
- "dev": true,
- "requires": {
- "component-emitter": "1.2.1",
- "debug": "~3.1.0",
- "isarray": "2.0.1"
- },
- "dependencies": {
- "component-emitter": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
- "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
- "dev": true
- },
- "debug": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "isarray": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz",
- "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=",
- "dev": true
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
- "dev": true
- }
- }
- },
- "socks": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/socks/-/socks-2.3.2.tgz",
- "integrity": "sha512-pCpjxQgOByDHLlNqlnh/mNSAxIUkyBBuwwhTcV+enZGbDaClPvHdvm6uvOwZfFJkam7cGhBNbb4JxiP8UZkRvQ==",
- "dev": true,
- "requires": {
- "ip": "^1.1.5",
- "smart-buffer": "4.0.2"
- }
- },
- "socks-proxy-agent": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-4.0.2.tgz",
- "integrity": "sha512-NT6syHhI9LmuEMSK6Kd2V7gNv5KFZoLE7V5udWmn0de+3Mkj3UMA/AJPLyeNUVmElCurSHtUdM3ETpR3z770Wg==",
- "dev": true,
- "requires": {
- "agent-base": "~4.2.1",
- "socks": "~2.3.2"
- },
- "dependencies": {
- "agent-base": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz",
- "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==",
- "dev": true,
- "requires": {
- "es6-promisify": "^5.0.0"
- }
- }
- }
- },
"sort-keys": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz",
@@ -24014,39 +13323,6 @@
"sort-keys": "^1.0.0"
}
},
- "sort-object-arrays": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/sort-object-arrays/-/sort-object-arrays-0.1.1.tgz",
- "integrity": "sha1-mfVc8gWkkd3h9S8Jajaiawm0gy8=",
- "requires": {
- "kind-of": "^3.0.2"
- },
- "dependencies": {
- "is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
- },
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
- }
- },
- "sortablejs": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.10.0.tgz",
- "integrity": "sha512-+e0YakK1BxgEZpf9l9UiFaiQ8ZOBn1p/4qkkXr8QDVmYyCrUDTyDRRGm0AgW4E4cD0wtgxJ6yzIRkSPUwqhuhg=="
- },
- "source-list-map": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz",
- "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw=="
- },
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
@@ -24267,96 +13543,6 @@
}
}
},
- "src-stream": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/src-stream/-/src-stream-0.1.1.tgz",
- "integrity": "sha1-2T9G0oGjcAKB7A8wszoDFDiUpoE=",
- "requires": {
- "duplexify": "^3.4.2",
- "merge-stream": "^0.1.8",
- "through2": "^2.0.0"
- },
- "dependencies": {
- "isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
- },
- "merge-stream": {
- "version": "0.1.8",
- "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-0.1.8.tgz",
- "integrity": "sha1-SKB7O0oSHXSj7b/c20sIrb8CQLE=",
- "requires": {
- "through2": "^0.6.1"
- },
- "dependencies": {
- "through2": {
- "version": "0.6.5",
- "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
- "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
- "requires": {
- "readable-stream": ">=1.0.33-1 <1.1.0-0",
- "xtend": ">=4.0.0 <4.1.0-0"
- }
- }
- }
- },
- "readable-stream": {
- "version": "1.0.34",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
- "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.1",
- "isarray": "0.0.1",
- "string_decoder": "~0.10.x"
- }
- },
- "string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
- "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
- },
- "through2": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
- "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
- "requires": {
- "readable-stream": "~2.3.6",
- "xtend": "~4.0.1"
- },
- "dependencies": {
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
- },
- "readable-stream": {
- "version": "2.3.6",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
- "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
- "requires": {
- "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"
- }
- },
- "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==",
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- }
- }
- }
- }
- },
"sshpk": {
"version": "1.16.1",
"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
@@ -24383,7 +13569,8 @@
"stable": {
"version": "0.1.8",
"resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz",
- "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w=="
+ "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==",
+ "optional": true
},
"stack-trace": {
"version": "0.0.10",
@@ -24414,23 +13601,6 @@
"resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
"integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
},
- "stdout-stream": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz",
- "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==",
- "requires": {
- "readable-stream": "^2.0.1"
- }
- },
- "stream-browserify": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz",
- "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==",
- "requires": {
- "inherits": "~2.0.1",
- "readable-stream": "^2.0.2"
- }
- },
"stream-combiner": {
"version": "0.0.4",
"resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz",
@@ -24452,47 +13622,11 @@
"resolved": "https://registry.npmjs.org/stream-exhaust/-/stream-exhaust-1.0.2.tgz",
"integrity": "sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw=="
},
- "stream-http": {
- "version": "2.8.3",
- "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz",
- "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==",
- "requires": {
- "builtin-status-codes": "^3.0.0",
- "inherits": "^2.0.1",
- "readable-stream": "^2.3.6",
- "to-arraybuffer": "^1.0.0",
- "xtend": "^4.0.0"
- }
- },
"stream-shift": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz",
"integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI="
},
- "streamroller": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-1.0.6.tgz",
- "integrity": "sha512-3QC47Mhv3/aZNFpDDVO44qQb9gwB9QggMEE0sQmkTAwBVYdBRWISdsywlkfm5II1Q5y/pmrHflti/IgmIzdDBg==",
- "dev": true,
- "requires": {
- "async": "^2.6.2",
- "date-format": "^2.0.0",
- "debug": "^3.2.6",
- "fs-extra": "^7.0.1",
- "lodash": "^4.17.14"
- },
- "dependencies": {
- "async": {
- "version": "2.6.3",
- "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
- "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
- "dev": true,
- "requires": {
- "lodash": "^4.17.14"
- }
- }
- }
- },
"strict-uri-encode": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz",
@@ -24534,11 +13668,6 @@
"safe-buffer": "~5.1.0"
}
},
- "stringify-author": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/stringify-author/-/stringify-author-0.1.3.tgz",
- "integrity": "sha1-1YHgLOC1XNo8lT5irdIR+uSw72Y="
- },
"stringstream": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.6.tgz",
@@ -24560,22 +13689,6 @@
"is-utf8": "^0.2.0"
}
},
- "strip-bom-buffer": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/strip-bom-buffer/-/strip-bom-buffer-0.1.1.tgz",
- "integrity": "sha1-yj3cSRnBP5/d8wsd/xAKmDUki00=",
- "requires": {
- "is-buffer": "^1.1.0",
- "is-utf8": "^0.2.0"
- },
- "dependencies": {
- "is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
- }
- }
- },
"strip-bom-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-1.0.0.tgz",
@@ -24585,16 +13698,6 @@
"strip-bom": "^2.0.0"
}
},
- "strip-bom-string": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-0.1.2.tgz",
- "integrity": "sha1-nG5yCjE7qYNliVGEBcz7iKX0G5w="
- },
- "strip-color": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/strip-color/-/strip-color-0.1.0.tgz",
- "integrity": "sha1-EG9l09PmotlAHKwOsM6LinArT3s="
- },
"strip-dirs": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz",
@@ -24636,9 +13739,9 @@
"integrity": "sha1-IrD6OkE4WzO+PzMVUbu4N/oM164="
},
"stripe": {
- "version": "7.9.1",
- "resolved": "https://registry.npmjs.org/stripe/-/stripe-7.9.1.tgz",
- "integrity": "sha512-8RzWlQD2/X/1YdzHtd5PYG0/GyAicxddW0TL54SIFq2ivaDoeJg3YLn9rxcmrnkmmuW8aU7yeByKjNGI8QrVxw==",
+ "version": "7.10.0",
+ "resolved": "https://registry.npmjs.org/stripe/-/stripe-7.10.0.tgz",
+ "integrity": "sha512-mwW6iIZ+h957CJAcJEt8zb2ZnVvGNceG8dNQPANu6O8Zzm1pr+noC/mxvZSCuAAvMq04VWqbXBON5QvBCT5miw==",
"requires": {
"qs": "^6.6.0"
},
@@ -24655,11 +13758,6 @@
"resolved": "https://registry.npmjs.org/stubs/-/stubs-3.0.0.tgz",
"integrity": "sha1-6NK6H6nJBXAwPAMLaQD31fiavls="
},
- "success-symbol": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/success-symbol/-/success-symbol-0.1.0.tgz",
- "integrity": "sha1-JAIuSG878c3KCUKDt2nEctO3KJc="
- },
"superagent": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/superagent/-/superagent-5.1.0.tgz",
@@ -24727,47 +13825,11 @@
"es6-symbol": "^3.1.1"
}
},
- "svg-inline-loader": {
- "version": "0.8.0",
- "resolved": "https://registry.npmjs.org/svg-inline-loader/-/svg-inline-loader-0.8.0.tgz",
- "integrity": "sha512-rynplY2eXFrdNomL1FvyTFQlP+dx0WqbzHglmNtA9M4IHRC3no2aPAl3ny9lUpJzFzFMZfWRK5YIclNU+FRePA==",
- "requires": {
- "loader-utils": "^0.2.11",
- "object-assign": "^4.0.1",
- "simple-html-tokenizer": "^0.1.1"
- },
- "dependencies": {
- "big.js": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz",
- "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q=="
- },
- "loader-utils": {
- "version": "0.2.17",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
- "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=",
- "requires": {
- "big.js": "^3.1.3",
- "emojis-list": "^2.0.0",
- "json5": "^0.5.0",
- "object-assign": "^4.0.1"
- }
- }
- }
- },
- "svg-url-loader": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/svg-url-loader/-/svg-url-loader-3.0.2.tgz",
- "integrity": "sha512-MUJFVU2uuOTZW6Eq6NuXZxhaIyWiuKtZMcT90nCkcvIZPGGc0CYyZWYP/rtXUkja5qagNMpxDwdZ/tuC6ywfWg==",
- "requires": {
- "file-loader": "~4.2.0",
- "loader-utils": "~1.2.3"
- }
- },
"svgo": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.0.tgz",
"integrity": "sha512-MLfUA6O+qauLDbym+mMZgtXCGRfIxyQoeH6IKVcFslyODEe/ElJNwr0FohQ3xG4C6HK6bk3KYPPXwHVJk3V5NQ==",
+ "optional": true,
"requires": {
"chalk": "^2.4.1",
"coa": "^2.0.2",
@@ -24784,133 +13846,46 @@
"util.promisify": "~1.0.0"
},
"dependencies": {
- "coa": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz",
- "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==",
- "requires": {
- "@types/q": "^1.5.1",
- "chalk": "^2.4.1",
- "q": "^1.1.2"
- }
- },
- "csso": {
- "version": "3.5.1",
- "resolved": "https://registry.npmjs.org/csso/-/csso-3.5.1.tgz",
- "integrity": "sha512-vrqULLffYU1Q2tLdJvaCYbONStnfkfimRxXNaGjxMldI0C7JPBC4rB1RyjhfdZ4m1frm8pM9uRPKH3d2knZ8gg==",
- "requires": {
- "css-tree": "1.0.0-alpha.29"
- },
- "dependencies": {
- "css-tree": {
- "version": "1.0.0-alpha.29",
- "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.29.tgz",
- "integrity": "sha512-sRNb1XydwkW9IOci6iB2xmy8IGCj6r/fr+JWitvJ2JxQRPzN3T4AGGVWCMlVmVwM1gtgALJRmGIlWv5ppnGGkg==",
- "requires": {
- "mdn-data": "~1.1.0",
- "source-map": "^0.5.3"
- }
- }
- }
- },
"esprima": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
- "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+ "optional": true
},
"js-yaml": {
"version": "3.13.1",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
"integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
+ "optional": true,
"requires": {
"argparse": "^1.0.7",
"esprima": "^4.0.0"
}
},
- "mdn-data": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-1.1.4.tgz",
- "integrity": "sha512-FSYbp3lyKjyj3E7fMl6rYvUdX0FBXaluGqlFoYESWQlyUTq8R+wp0rkFxoYFqZlHCvsUXGjyJmLQSnXToYhOSA=="
- },
"sax": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
- "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- }
- }
- },
- "svgo-loader": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/svgo-loader/-/svgo-loader-2.2.1.tgz",
- "integrity": "sha512-9dyz/h6ae04pAVRz7QY8bLXtMbwA19NPpCPfCixgW0qXNDCOlHbDRqvtT5/2gzRxfuibWCUP6ZBQmZWF9rjWhQ==",
- "requires": {
- "js-yaml": "^3.13.1",
- "loader-utils": "^1.0.3"
- },
- "dependencies": {
- "esprima": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
- "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="
- },
- "js-yaml": {
- "version": "3.13.1",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
- "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
- "requires": {
- "argparse": "^1.0.7",
- "esprima": "^4.0.0"
- }
+ "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
+ "optional": true
}
}
},
"table": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz",
- "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==",
+ "version": "5.4.6",
+ "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
+ "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
"dev": true,
"requires": {
- "ajv": "^5.2.3",
- "ajv-keywords": "^2.1.0",
- "chalk": "^2.1.0",
- "lodash": "^4.17.4",
- "slice-ansi": "1.0.0",
- "string-width": "^2.1.1"
+ "ajv": "^6.10.2",
+ "lodash": "^4.17.14",
+ "slice-ansi": "^2.1.0",
+ "string-width": "^3.0.0"
},
"dependencies": {
- "ajv": {
- "version": "5.5.2",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
- "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
- "dev": true,
- "requires": {
- "co": "^4.6.0",
- "fast-deep-equal": "^1.0.0",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.3.0"
- }
- },
- "ajv-keywords": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz",
- "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=",
- "dev": true
- },
"ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
- "dev": true
- },
- "fast-deep-equal": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz",
- "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
+ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
"dev": true
},
"is-fullwidth-code-point": {
@@ -24919,56 +13894,28 @@
"integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
"dev": true
},
- "json-schema-traverse": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
- "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=",
- "dev": true
- },
"string-width": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
+ "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
"dev": true,
"requires": {
+ "emoji-regex": "^7.0.1",
"is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^4.0.0"
+ "strip-ansi": "^5.1.0"
}
},
"strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
+ "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
"dev": true,
"requires": {
- "ansi-regex": "^3.0.0"
+ "ansi-regex": "^4.1.0"
}
}
}
},
- "tableize-object": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/tableize-object/-/tableize-object-0.1.0.tgz",
- "integrity": "sha1-fCngEzsn1ItWuedtOijSQd8bOiQ=",
- "requires": {
- "isobject": "^2.0.0"
- },
- "dependencies": {
- "isobject": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
- "requires": {
- "isarray": "1.0.0"
- }
- }
- }
- },
- "tapable": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz",
- "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA=="
- },
"tar": {
"version": "4.4.13",
"resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz",
@@ -24998,37 +13945,27 @@
"xtend": "^4.0.0"
}
},
- "tcp-port-used": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/tcp-port-used/-/tcp-port-used-1.0.1.tgz",
- "integrity": "sha512-rwi5xJeU6utXoEIiMvVBMc9eJ2/ofzB+7nLOdnZuFTmNCLqRiQh2sMG9MqCxHU/69VC/Fwp5dV9306Qd54ll1Q==",
- "dev": true,
- "requires": {
- "debug": "4.1.0",
- "is2": "2.0.1"
- },
- "dependencies": {
- "debug": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.0.tgz",
- "integrity": "sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg==",
- "dev": true,
- "requires": {
- "ms": "^2.1.1"
- }
- }
- }
- },
"teeny-request": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/teeny-request/-/teeny-request-5.2.1.tgz",
- "integrity": "sha512-gCVm5EV3z0p/yZOKyeBOFOpSXuxdIs3foeWDWb/foKMBejK18w40L0k0UMd/ZrGkOH+gxodjqpL8KK6x3haYCQ==",
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/teeny-request/-/teeny-request-5.3.0.tgz",
+ "integrity": "sha512-sN9E3JvEBe2CFqB/jpJpw1erWD1C7MxyYCxogHFCQSyZfkHYcdf4wzVQSw7FZxbwcfnS+FP0W9BS0mp6SEOKjg==",
"requires": {
"http-proxy-agent": "^2.1.0",
- "https-proxy-agent": "^2.2.1",
+ "https-proxy-agent": "^3.0.0",
"node-fetch": "^2.2.0",
"stream-events": "^1.0.5",
"uuid": "^3.3.2"
+ },
+ "dependencies": {
+ "https-proxy-agent": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-3.0.0.tgz",
+ "integrity": "sha512-y4jAxNEihqvBI5F3SaO2rtsjIOnnNA8sEbuiP+UhJZJHeM2NRm6c09ax2tgqme+SgUUvjao2fJXF4h3D6Cb2HQ==",
+ "requires": {
+ "agent-base": "^4.3.0",
+ "debug": "^3.1.0"
+ }
+ }
}
},
"temp-dir": {
@@ -25047,173 +13984,6 @@
"uuid": "^3.0.1"
}
},
- "template-error": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/template-error/-/template-error-0.1.2.tgz",
- "integrity": "sha1-GMn2ANkPLz37oIM+N/fLb0E1QtQ=",
- "requires": {
- "engine": "^0.1.5",
- "kind-of": "^2.0.1",
- "lazy-cache": "^0.2.3",
- "rethrow": "^0.2.3"
- },
- "dependencies": {
- "is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
- },
- "kind-of": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-2.0.1.tgz",
- "integrity": "sha1-AY7HpM5+OobLkUG+UZ0kyPqpgbU=",
- "requires": {
- "is-buffer": "^1.0.2"
- }
- },
- "lazy-cache": {
- "version": "0.2.7",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-0.2.7.tgz",
- "integrity": "sha1-f+3fLctu23fRHvHRF6tf/fCrG2U="
- }
- }
- },
- "templates": {
- "version": "0.24.3",
- "resolved": "https://registry.npmjs.org/templates/-/templates-0.24.3.tgz",
- "integrity": "sha1-i6uicOGlcnR022hXX4Ic4bT+TQU=",
- "requires": {
- "array-sort": "^0.1.2",
- "async-each": "^1.0.0",
- "base": "^0.11.1",
- "base-data": "^0.6.0",
- "base-engines": "^0.2.0",
- "base-helpers": "^0.1.1",
- "base-option": "^0.8.3",
- "base-plugins": "^0.4.13",
- "base-routes": "^0.2.1",
- "debug": "^2.2.0",
- "deep-bind": "^0.3.0",
- "define-property": "^0.2.5",
- "engine-base": "^0.1.2",
- "export-files": "^2.1.1",
- "extend-shallow": "^2.0.1",
- "falsey": "^0.3.0",
- "get-value": "^2.0.6",
- "get-view": "^0.1.1",
- "group-array": "^0.3.0",
- "has-glob": "^0.1.1",
- "has-value": "^0.3.1",
- "inflection": "^1.10.0",
- "is-valid-app": "^0.2.0",
- "layouts": "^0.11.0",
- "lazy-cache": "^2.0.1",
- "match-file": "^0.2.0",
- "mixin-deep": "^1.1.3",
- "paginationator": "^0.1.3",
- "pascalcase": "^0.1.1",
- "set-value": "^0.3.3",
- "template-error": "^0.1.2",
- "vinyl-item": "^0.1.0",
- "vinyl-view": "^0.1.2"
- },
- "dependencies": {
- "array-sort": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/array-sort/-/array-sort-0.1.4.tgz",
- "integrity": "sha512-BNcM+RXxndPxiZ2rd76k6nyQLRZr2/B/sdi8pQ+Joafr5AH279L40dfokSUTp8O+AaqYjXWhblBWa2st2nc4fQ==",
- "requires": {
- "default-compare": "^1.0.0",
- "get-value": "^2.0.6",
- "kind-of": "^5.0.2"
- }
- },
- "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"
- }
- },
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "requires": {
- "is-descriptor": "^0.1.0"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "has-value": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
- "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
- "requires": {
- "get-value": "^2.0.3",
- "has-values": "^0.1.4",
- "isobject": "^2.0.0"
- }
- },
- "has-values": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
- "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E="
- },
- "isobject": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
- "requires": {
- "isarray": "1.0.0"
- }
- },
- "kind-of": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw=="
- },
- "lazy-cache": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
- "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
- "requires": {
- "set-getter": "^0.1.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- },
- "set-value": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.3.3.tgz",
- "integrity": "sha1-uBIjaBY4oQiP2IpDW4qdMtro2bo=",
- "requires": {
- "extend-shallow": "^2.0.1",
- "isobject": "^2.0.0",
- "to-object-path": "^0.2.0"
- }
- },
- "to-object-path": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.2.0.tgz",
- "integrity": "sha1-FjThtSqIugDjlJYZ/ACB3Jo7B8o=",
- "requires": {
- "arr-flatten": "^1.0.1",
- "is-arguments": "^1.0.2"
- }
- }
- }
- },
"term-size": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz",
@@ -25222,128 +13992,6 @@
"execa": "^0.7.0"
}
},
- "test-exclude": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-4.2.3.tgz",
- "integrity": "sha512-SYbXgY64PT+4GAL2ocI3HwPa4Q4TBKm0cwAVeKOt/Aoc0gSpNRjJX8w0pA1LMKZ3LBmd8pYBqApFNQLII9kavA==",
- "dev": true,
- "requires": {
- "arrify": "^1.0.1",
- "micromatch": "^2.3.11",
- "object-assign": "^4.1.0",
- "read-pkg-up": "^1.0.1",
- "require-main-filename": "^1.0.1"
- },
- "dependencies": {
- "arr-diff": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
- "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
- "dev": true,
- "requires": {
- "arr-flatten": "^1.0.1"
- }
- },
- "array-unique": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
- "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=",
- "dev": true
- },
- "arrify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
- "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
- "dev": true
- },
- "braces": {
- "version": "1.8.5",
- "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
- "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
- "dev": true,
- "requires": {
- "expand-range": "^1.8.1",
- "preserve": "^0.2.0",
- "repeat-element": "^1.1.2"
- }
- },
- "expand-brackets": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
- "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
- "dev": true,
- "requires": {
- "is-posix-bracket": "^0.1.0"
- }
- },
- "extglob": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
- "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
- "dev": true,
- "requires": {
- "is-extglob": "^1.0.0"
- }
- },
- "is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
- "dev": true
- },
- "is-extglob": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
- "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
- "dev": true
- },
- "is-glob": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
- "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
- "dev": true,
- "requires": {
- "is-extglob": "^1.0.0"
- }
- },
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
- },
- "micromatch": {
- "version": "2.3.11",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
- "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
- "dev": true,
- "requires": {
- "arr-diff": "^2.0.0",
- "array-unique": "^0.2.1",
- "braces": "^1.8.2",
- "expand-brackets": "^0.1.4",
- "extglob": "^0.3.1",
- "filename-regex": "^2.0.0",
- "is-extglob": "^1.0.0",
- "is-glob": "^2.0.1",
- "kind-of": "^3.0.2",
- "normalize-path": "^2.0.1",
- "object.omit": "^2.0.0",
- "parse-glob": "^3.0.4",
- "regex-cache": "^0.4.2"
- }
- }
- }
- },
- "text-encoding": {
- "version": "0.6.4",
- "resolved": "https://registry.npmjs.org/text-encoding/-/text-encoding-0.6.4.tgz",
- "integrity": "sha1-45mpgiV6J22uQou5KEXLcb3CbRk=",
- "dev": true
- },
"text-hex": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz",
@@ -25352,12 +14000,8 @@
"text-table": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
- "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ="
- },
- "throttleit": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz",
- "integrity": "sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw="
+ "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
+ "dev": true
},
"through": {
"version": "2.3.8",
@@ -25411,107 +14055,6 @@
}
}
},
- "thunkify": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/thunkify/-/thunkify-2.1.2.tgz",
- "integrity": "sha1-+qDp0jDFGsyVyhOjYawFyn4EVT0=",
- "dev": true
- },
- "time-diff": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/time-diff/-/time-diff-0.3.1.tgz",
- "integrity": "sha1-Jej7c07qnmy15LA5TwWBC5yHwtg=",
- "requires": {
- "extend-shallow": "^2.0.1",
- "is-number": "^2.1.0",
- "log-utils": "^0.1.0",
- "pretty-time": "^0.2.0"
- },
- "dependencies": {
- "ansi-colors": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-0.1.0.tgz",
- "integrity": "sha1-M0rDbNPq1wjeXGnhmpjRhkImtD8=",
- "requires": {
- "ansi-bgblack": "^0.1.1",
- "ansi-bgblue": "^0.1.1",
- "ansi-bgcyan": "^0.1.1",
- "ansi-bggreen": "^0.1.1",
- "ansi-bgmagenta": "^0.1.1",
- "ansi-bgred": "^0.1.1",
- "ansi-bgwhite": "^0.1.1",
- "ansi-bgyellow": "^0.1.1",
- "ansi-black": "^0.1.1",
- "ansi-blue": "^0.1.1",
- "ansi-bold": "^0.1.1",
- "ansi-cyan": "^0.1.1",
- "ansi-dim": "^0.1.1",
- "ansi-gray": "^0.1.1",
- "ansi-green": "^0.1.1",
- "ansi-grey": "^0.1.1",
- "ansi-hidden": "^0.1.1",
- "ansi-inverse": "^0.1.1",
- "ansi-italic": "^0.1.1",
- "ansi-magenta": "^0.1.1",
- "ansi-red": "^0.1.1",
- "ansi-reset": "^0.1.1",
- "ansi-strikethrough": "^0.1.1",
- "ansi-underline": "^0.1.1",
- "ansi-white": "^0.1.1",
- "ansi-yellow": "^0.1.1",
- "lazy-cache": "^0.2.4"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
- },
- "is-number": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
- "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
- "requires": {
- "kind-of": "^3.0.2"
- }
- },
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "^1.1.5"
- }
- },
- "lazy-cache": {
- "version": "0.2.7",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-0.2.7.tgz",
- "integrity": "sha1-f+3fLctu23fRHvHRF6tf/fCrG2U="
- },
- "log-utils": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/log-utils/-/log-utils-0.1.5.tgz",
- "integrity": "sha1-3g84+Vf0zW69Xctoddijua4HT3c=",
- "requires": {
- "ansi-colors": "^0.1.0",
- "error-symbol": "^0.1.0",
- "info-symbol": "^0.1.0",
- "log-ok": "^0.1.1",
- "success-symbol": "^0.1.0",
- "time-stamp": "^1.0.1",
- "warning-symbol": "^0.1.0"
- }
- }
- }
- },
"time-stamp": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz",
@@ -25522,14 +14065,6 @@
"resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz",
"integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8="
},
- "timers-browserify": {
- "version": "2.0.11",
- "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz",
- "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==",
- "requires": {
- "setimmediate": "^1.0.4"
- }
- },
"tmp": {
"version": "0.0.33",
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
@@ -25547,131 +14082,17 @@
"is-negated-glob": "^1.0.0"
}
},
- "to-array": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz",
- "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=",
- "dev": true
- },
- "to-arraybuffer": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
- "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M="
- },
"to-buffer": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz",
"integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==",
"optional": true
},
- "to-choices": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/to-choices/-/to-choices-0.2.0.tgz",
- "integrity": "sha1-IufnWgfWl9fkzsvVaxvwPBVlTXM=",
- "requires": {
- "ansi-gray": "^0.1.1",
- "mixin-deep": "^1.1.3"
- }
- },
"to-fast-properties": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
- "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc="
- },
- "to-file": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/to-file/-/to-file-0.2.0.tgz",
- "integrity": "sha1-I2xsCIBl5XDe+9Fc9LTlZb5G6pM=",
- "requires": {
- "define-property": "^0.2.5",
- "extend-shallow": "^2.0.1",
- "file-contents": "^0.2.4",
- "glob-parent": "^2.0.0",
- "is-valid-glob": "^0.3.0",
- "isobject": "^2.1.0",
- "lazy-cache": "^2.0.1",
- "vinyl": "^1.1.1"
- },
- "dependencies": {
- "clone-stats": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
- "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE="
- },
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "requires": {
- "is-descriptor": "^0.1.0"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "glob-parent": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
- "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
- "requires": {
- "is-glob": "^2.0.0"
- }
- },
- "is-extglob": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
- "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA="
- },
- "is-glob": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
- "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
- "requires": {
- "is-extglob": "^1.0.0"
- }
- },
- "is-valid-glob": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-0.3.0.tgz",
- "integrity": "sha1-1LVcafUYhvm2XHDWwmItN+KfSP4="
- },
- "isobject": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
- "requires": {
- "isarray": "1.0.0"
- }
- },
- "lazy-cache": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
- "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
- "requires": {
- "set-getter": "^0.1.0"
- }
- },
- "replace-ext": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
- "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ="
- },
- "vinyl": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz",
- "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=",
- "requires": {
- "clone": "^1.0.0",
- "clone-stats": "^0.0.1",
- "replace-ext": "0.0.1"
- }
- }
- }
+ "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=",
+ "dev": true
},
"to-object-path": {
"version": "0.3.0",
@@ -25745,16 +14166,6 @@
"resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
"integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw=="
},
- "token-stream": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/token-stream/-/token-stream-0.0.1.tgz",
- "integrity": "sha1-zu78cXp2xDFvEm0LnbqlXX598Bo="
- },
- "toposort": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz",
- "integrity": "sha1-LmhELZ9k7HILjMieZEOsbKqVACk="
- },
"touch": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz",
@@ -25781,14 +14192,6 @@
"punycode": "^1.4.1"
}
},
- "trim-leading-lines": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/trim-leading-lines/-/trim-leading-lines-0.1.1.tgz",
- "integrity": "sha1-DnysPoMELc+Vp07TaWbxd0TVwWk=",
- "requires": {
- "is-whitespace": "^0.3.0"
- }
- },
"trim-newlines": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
@@ -25805,32 +14208,20 @@
"trim-right": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
- "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM="
+ "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
+ "dev": true
},
"triple-beam": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz",
"integrity": "sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw=="
},
- "true-case-path": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz",
- "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==",
- "requires": {
- "glob": "^7.1.2"
- }
- },
- "tryer": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz",
- "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==",
+ "tslib": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz",
+ "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==",
"dev": true
},
- "tty-browserify": {
- "version": "0.0.0",
- "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
- "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY="
- },
"tunnel-agent": {
"version": "0.4.3",
"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz",
@@ -25890,75 +14281,6 @@
"source-map": "~0.6.1"
}
},
- "uglify-to-browserify": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
- "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=",
- "optional": true
- },
- "uglifyjs-webpack-plugin": {
- "version": "0.4.6",
- "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz",
- "integrity": "sha1-uVH0q7a9YX5m9j64kUmOORdj4wk=",
- "requires": {
- "source-map": "^0.5.6",
- "uglify-js": "^2.8.29",
- "webpack-sources": "^1.0.1"
- },
- "dependencies": {
- "camelcase": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
- "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk="
- },
- "cliui": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
- "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=",
- "requires": {
- "center-align": "^0.1.1",
- "right-align": "^0.1.1",
- "wordwrap": "0.0.2"
- }
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "uglify-js": {
- "version": "2.8.29",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz",
- "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=",
- "requires": {
- "source-map": "~0.5.1",
- "uglify-to-browserify": "~1.0.0",
- "yargs": "~3.10.0"
- }
- },
- "window-size": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
- "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0="
- },
- "wordwrap": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
- "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8="
- },
- "yargs": {
- "version": "3.10.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
- "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
- "requires": {
- "camelcase": "^1.0.2",
- "cliui": "^2.1.0",
- "decamelize": "^1.0.0",
- "window-size": "0.1.0"
- }
- }
- }
- },
"uid2": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/uid2/-/uid2-0.0.3.tgz",
@@ -26054,6 +14376,34 @@
"resolved": "https://registry.npmjs.org/undertaker-registry/-/undertaker-registry-1.0.1.tgz",
"integrity": "sha1-XkvaMI5KiirlhPm5pDWaSZglzFA="
},
+ "unicode-canonical-property-names-ecmascript": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz",
+ "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==",
+ "dev": true
+ },
+ "unicode-match-property-ecmascript": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz",
+ "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==",
+ "dev": true,
+ "requires": {
+ "unicode-canonical-property-names-ecmascript": "^1.0.4",
+ "unicode-property-aliases-ecmascript": "^1.0.4"
+ }
+ },
+ "unicode-match-property-value-ecmascript": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz",
+ "integrity": "sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g==",
+ "dev": true
+ },
+ "unicode-property-aliases-ecmascript": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz",
+ "integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==",
+ "dev": true
+ },
"union-value": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
@@ -26070,11 +14420,6 @@
"resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz",
"integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8="
},
- "uniqs": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz",
- "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI="
- },
"unique-stream": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.3.1.tgz",
@@ -26215,7 +14560,8 @@
"unquote": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz",
- "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ="
+ "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=",
+ "optional": true
},
"unset-value": {
"version": "1.0.0",
@@ -26279,128 +14625,6 @@
"resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz",
"integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg=="
},
- "update": {
- "version": "0.7.4",
- "resolved": "https://registry.npmjs.org/update/-/update-0.7.4.tgz",
- "integrity": "sha1-saCRwRo+KK4xui7vWLcRuCzpixQ=",
- "requires": {
- "arr-union": "^3.1.0",
- "assemble-core": "^0.25.0",
- "assemble-loader": "^0.6.1",
- "base-cli-process": "^0.1.18",
- "base-config-process": "^0.1.9",
- "base-generators": "^0.4.5",
- "base-questions": "^0.7.3",
- "base-runtimes": "^0.2.0",
- "base-store": "^0.4.4",
- "common-config": "^0.1.0",
- "data-store": "^0.16.1",
- "export-files": "^2.1.1",
- "extend-shallow": "^2.0.1",
- "find-pkg": "^0.1.2",
- "fs-exists-sync": "^0.1.0",
- "global-modules": "^0.2.2",
- "gulp-choose-files": "^0.1.3",
- "is-valid-app": "^0.2.0",
- "isobject": "^2.1.0",
- "lazy-cache": "^2.0.1",
- "log-utils": "^0.2.1",
- "parser-front-matter": "^1.4.1",
- "resolve-dir": "^0.1.0",
- "resolve-file": "^0.2.0",
- "set-blocking": "^2.0.0",
- "strip-color": "^0.1.0",
- "text-table": "^0.2.0",
- "through2": "^2.0.1",
- "yargs-parser": "^2.4.1"
- },
- "dependencies": {
- "expand-tilde": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-1.2.2.tgz",
- "integrity": "sha1-C4HrqJflo9MdHD0QL48BRB5VlEk=",
- "requires": {
- "os-homedir": "^1.0.1"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "global-modules": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-0.2.3.tgz",
- "integrity": "sha1-6lo77ULG1s6ZWk+KEmm12uIjgo0=",
- "requires": {
- "global-prefix": "^0.1.4",
- "is-windows": "^0.2.0"
- }
- },
- "global-prefix": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-0.1.5.tgz",
- "integrity": "sha1-jTvGuNo8qBEqFg2NSW/wRiv+948=",
- "requires": {
- "homedir-polyfill": "^1.0.0",
- "ini": "^1.3.4",
- "is-windows": "^0.2.0",
- "which": "^1.2.12"
- }
- },
- "is-windows": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz",
- "integrity": "sha1-3hqm1j6indJIc3tp8f+LgALSEIw="
- },
- "isobject": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
- "requires": {
- "isarray": "1.0.0"
- }
- },
- "lazy-cache": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
- "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
- "requires": {
- "set-getter": "^0.1.0"
- }
- },
- "resolve-dir": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-0.1.1.tgz",
- "integrity": "sha1-shklmlYC+sXFxJatiUpujMQwJh4=",
- "requires": {
- "expand-tilde": "^1.2.2",
- "global-modules": "^0.2.3"
- }
- },
- "through2": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
- "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
- "requires": {
- "readable-stream": "~2.3.6",
- "xtend": "~4.0.1"
- }
- },
- "yargs-parser": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz",
- "integrity": "sha1-hVaN488VD/SfpRgl8DqMiA3cxcQ=",
- "requires": {
- "camelcase": "^3.0.0",
- "lodash.assign": "^4.0.6"
- }
- }
- }
- },
"update-notifier": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz",
@@ -26425,16 +14649,6 @@
}
}
},
- "upgrade": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/upgrade/-/upgrade-1.1.0.tgz",
- "integrity": "sha1-SlCHXsXHFdGTeXmfBZCg55aVj2E="
- },
- "upper-case": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz",
- "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg="
- },
"uri-js": {
"version": "4.2.2",
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
@@ -26476,28 +14690,6 @@
"resolved": "https://registry.npmjs.org/url-join/-/url-join-0.0.1.tgz",
"integrity": "sha1-HbSK1CLTQCRpqH99l73r/k+x48g="
},
- "url-loader": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-1.1.2.tgz",
- "integrity": "sha512-dXHkKmw8FhPqu8asTc1puBfe3TehOCo2+RmOOev5suNCIYBcT626kxiWg1NBVkwc4rO8BGa7gP70W7VXuqHrjg==",
- "requires": {
- "loader-utils": "^1.1.0",
- "mime": "^2.0.3",
- "schema-utils": "^1.0.0"
- },
- "dependencies": {
- "schema-utils": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
- "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
- "requires": {
- "ajv": "^6.1.0",
- "ajv-errors": "^1.0.0",
- "ajv-keywords": "^3.1.0"
- }
- }
- }
- },
"url-parse-lax": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz",
@@ -26572,21 +14764,6 @@
}
}
},
- "util": {
- "version": "0.11.1",
- "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz",
- "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==",
- "requires": {
- "inherits": "2.0.3"
- },
- "dependencies": {
- "inherits": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
- }
- }
- },
"util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
@@ -26601,11 +14778,6 @@
"object.getownpropertydescriptors": "^2.0.3"
}
},
- "utila": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz",
- "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw="
- },
"utils-merge": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
@@ -26616,6 +14788,12 @@
"resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz",
"integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ=="
},
+ "v8-compile-cache": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz",
+ "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==",
+ "dev": true
+ },
"v8flags": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.1.3.tgz",
@@ -26624,11 +14802,6 @@
"homedir-polyfill": "^1.0.1"
}
},
- "vali-date": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/vali-date/-/vali-date-1.0.0.tgz",
- "integrity": "sha1-G5BKWWCfsyjvB4E4Qgk09rhnCaY="
- },
"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",
@@ -26653,11 +14826,6 @@
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
"integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
},
- "vendors": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.3.tgz",
- "integrity": "sha512-fOi47nsJP5Wqefa43kyWSg80qF+Q3XA6MUkgi7Hp1HQaKDQW4cQrK2D0P7mmbFtsV1N89am55Yru/nyEwRubcw=="
- },
"verror": {
"version": "1.10.0",
"resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
@@ -26788,218 +14956,6 @@
}
}
},
- "vinyl-item": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/vinyl-item/-/vinyl-item-0.1.0.tgz",
- "integrity": "sha1-8ngTyBFC66ScpYSd5PQvb6Dl4Jg=",
- "requires": {
- "base": "^0.8.1",
- "base-option": "^0.8.2",
- "base-plugins": "^0.4.12",
- "clone": "^1.0.2",
- "clone-stats": "^1.0.0",
- "define-property": "^0.2.5",
- "extend-shallow": "^2.0.1",
- "isobject": "^2.1.0",
- "lazy-cache": "^2.0.1",
- "vinyl": "^1.1.1"
- },
- "dependencies": {
- "base": {
- "version": "0.8.1",
- "resolved": "https://registry.npmjs.org/base/-/base-0.8.1.tgz",
- "integrity": "sha1-aQC7MA8sdZbJnz2DurhyLYGLdI8=",
- "requires": {
- "arr-union": "^3.1.0",
- "cache-base": "^0.8.2",
- "class-utils": "^0.3.2",
- "component-emitter": "^1.2.0",
- "debug": "^2.2.0",
- "define-property": "^0.2.5",
- "lazy-cache": "^1.0.3",
- "mixin-deep": "^1.1.3"
- },
- "dependencies": {
- "lazy-cache": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz",
- "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4="
- }
- }
- },
- "cache-base": {
- "version": "0.8.5",
- "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-0.8.5.tgz",
- "integrity": "sha1-YM6zUEAh7O7HAR/TOEt/TpVym/o=",
- "requires": {
- "collection-visit": "^0.2.1",
- "component-emitter": "^1.2.1",
- "get-value": "^2.0.5",
- "has-value": "^0.3.1",
- "isobject": "^3.0.0",
- "lazy-cache": "^2.0.1",
- "set-value": "^0.4.2",
- "to-object-path": "^0.3.0",
- "union-value": "^0.2.3",
- "unset-value": "^0.1.1"
- },
- "dependencies": {
- "isobject": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
- }
- }
- },
- "collection-visit": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-0.2.3.tgz",
- "integrity": "sha1-L2JIPK7MlfCDuaRUo+6eYTmteVc=",
- "requires": {
- "lazy-cache": "^2.0.1",
- "map-visit": "^0.1.5",
- "object-visit": "^0.3.4"
- }
- },
- "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"
- }
- },
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "requires": {
- "is-descriptor": "^0.1.0"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "has-value": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
- "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
- "requires": {
- "get-value": "^2.0.3",
- "has-values": "^0.1.4",
- "isobject": "^2.0.0"
- }
- },
- "has-values": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
- "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E="
- },
- "isobject": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
- "requires": {
- "isarray": "1.0.0"
- }
- },
- "lazy-cache": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
- "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
- "requires": {
- "set-getter": "^0.1.0"
- }
- },
- "map-visit": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-0.1.5.tgz",
- "integrity": "sha1-2+Q5J85VJbgN/BVzpE1oxR8mgWs=",
- "requires": {
- "lazy-cache": "^2.0.1",
- "object-visit": "^0.3.4"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- },
- "object-visit": {
- "version": "0.3.4",
- "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-0.3.4.tgz",
- "integrity": "sha1-rhXPhvCy/dVRdxY2RIRSxUw9qCk=",
- "requires": {
- "isobject": "^2.0.0"
- }
- },
- "replace-ext": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
- "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ="
- },
- "set-value": {
- "version": "0.4.3",
- "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz",
- "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=",
- "requires": {
- "extend-shallow": "^2.0.1",
- "is-extendable": "^0.1.1",
- "is-plain-object": "^2.0.1",
- "to-object-path": "^0.3.0"
- }
- },
- "union-value": {
- "version": "0.2.4",
- "resolved": "https://registry.npmjs.org/union-value/-/union-value-0.2.4.tgz",
- "integrity": "sha1-c3UVJ4ZnkFfns3qmdug0aPwCdPA=",
- "requires": {
- "arr-union": "^3.1.0",
- "get-value": "^2.0.6",
- "is-extendable": "^0.1.1",
- "set-value": "^0.4.3"
- }
- },
- "unset-value": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-0.1.2.tgz",
- "integrity": "sha1-UGgQuGfyfCpabpsEgzYx9t5Y0xA=",
- "requires": {
- "has-value": "^0.3.1",
- "isobject": "^3.0.0"
- },
- "dependencies": {
- "isobject": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
- }
- }
- },
- "vinyl": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz",
- "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=",
- "requires": {
- "clone": "^1.0.0",
- "clone-stats": "^0.0.1",
- "replace-ext": "0.0.1"
- },
- "dependencies": {
- "clone-stats": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
- "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE="
- }
- }
- }
- }
- },
"vinyl-sourcemap": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz",
@@ -27029,174 +14985,58 @@
}
}
},
- "vinyl-view": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/vinyl-view/-/vinyl-view-0.1.2.tgz",
- "integrity": "sha1-CaxtfIASEr8JJr2dQQb0XmxPyXc=",
+ "vue-eslint-parser": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-5.0.0.tgz",
+ "integrity": "sha512-JlHVZwBBTNVvzmifwjpZYn0oPWH2SgWv5dojlZBsrhablDu95VFD+hriB1rQGwbD+bms6g+rAFhQHk6+NyiS6g==",
+ "dev": true,
"requires": {
- "arr-union": "^3.1.0",
- "define-property": "^0.2.5",
- "engine-base": "^0.1.2",
- "isobject": "^2.1.0",
- "lazy-cache": "^2.0.1",
- "mixin-deep": "^1.1.3",
- "vinyl-item": "^0.1.0"
+ "debug": "^4.1.0",
+ "eslint-scope": "^4.0.0",
+ "eslint-visitor-keys": "^1.0.0",
+ "espree": "^4.1.0",
+ "esquery": "^1.0.1",
+ "lodash": "^4.17.11"
},
"dependencies": {
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "acorn": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.3.0.tgz",
+ "integrity": "sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA==",
+ "dev": true
+ },
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "dev": true,
"requires": {
- "is-descriptor": "^0.1.0"
+ "ms": "^2.1.1"
}
},
- "isobject": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
+ "eslint-scope": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz",
+ "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==",
+ "dev": true,
"requires": {
- "isarray": "1.0.0"
+ "esrecurse": "^4.1.0",
+ "estraverse": "^4.1.1"
}
},
- "lazy-cache": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
- "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
+ "espree": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-4.1.0.tgz",
+ "integrity": "sha512-I5BycZW6FCVIub93TeVY1s7vjhP9CY6cXCznIRfiig7nRviKZYdRnj/sHEWC6A7WE9RDWOFq9+7OsWSYz8qv2w==",
+ "dev": true,
"requires": {
- "set-getter": "^0.1.0"
+ "acorn": "^6.0.2",
+ "acorn-jsx": "^5.0.0",
+ "eslint-visitor-keys": "^1.0.0"
}
}
}
},
- "vm-browserify": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.0.tgz",
- "integrity": "sha512-iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw=="
- },
- "void-elements": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz",
- "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w="
- },
- "vue": {
- "version": "2.6.10",
- "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.10.tgz",
- "integrity": "sha512-ImThpeNU9HbdZL3utgMCq0oiMzAkt1mcgy3/E6zWC/G6AaQoeuFdsl9nDhTDU3X1R6FK7nsIUuRACVcjI+A2GQ=="
- },
- "vue-functional-data-merge": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/vue-functional-data-merge/-/vue-functional-data-merge-3.1.0.tgz",
- "integrity": "sha512-leT4kdJVQyeZNY1kmnS1xiUlQ9z1B/kdBFCILIjYYQDqZgLqCLa0UhjSSeRX6c3mUe6U5qYeM8LrEqkHJ1B4LA=="
- },
- "vue-hot-reload-api": {
- "version": "2.3.4",
- "resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz",
- "integrity": "sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog=="
- },
- "vue-loader": {
- "version": "14.2.4",
- "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-14.2.4.tgz",
- "integrity": "sha512-bub2/rcTMJ3etEbbeehdH2Em3G2F5vZIjMK7ZUePj5UtgmZSTtOX1xVVawDpDsy021s3vQpO6VpWJ3z3nO8dDw==",
- "requires": {
- "consolidate": "^0.14.0",
- "hash-sum": "^1.0.2",
- "loader-utils": "^1.1.0",
- "lru-cache": "^4.1.1",
- "postcss": "^6.0.8",
- "postcss-load-config": "^1.1.0",
- "postcss-selector-parser": "^2.0.0",
- "prettier": "^1.16.0",
- "resolve": "^1.4.0",
- "source-map": "^0.6.1",
- "vue-hot-reload-api": "^2.2.0",
- "vue-style-loader": "^4.0.1",
- "vue-template-es2015-compiler": "^1.6.0"
- },
- "dependencies": {
- "lru-cache": {
- "version": "4.1.5",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
- "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
- "requires": {
- "pseudomap": "^1.0.2",
- "yallist": "^2.1.2"
- }
- },
- "postcss": {
- "version": "6.0.23",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
- "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
- "requires": {
- "chalk": "^2.4.1",
- "source-map": "^0.6.1",
- "supports-color": "^5.4.0"
- }
- },
- "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"
- }
- },
- "yallist": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
- "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI="
- }
- }
- },
- "vue-mugen-scroll": {
- "version": "0.2.6",
- "resolved": "https://registry.npmjs.org/vue-mugen-scroll/-/vue-mugen-scroll-0.2.6.tgz",
- "integrity": "sha512-6FOBzotc8p/GDQZYkEdenxPydDvABUuxqMese6Zv4fpEZf7CjNSabRtAeBUtg+339Z9iKMdpzussbqFHCRXVqA==",
- "requires": {
- "element-in-view": "^0.1.0",
- "throttleit": "^1.0.0"
- }
- },
- "vue-router": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.1.3.tgz",
- "integrity": "sha512-8iSa4mGNXBjyuSZFCCO4fiKfvzqk+mhL0lnKuGcQtO1eoj8nq3CmbEG8FwK5QqoqwDgsjsf1GDuisDX4cdb/aQ=="
- },
- "vue-style-loader": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.2.tgz",
- "integrity": "sha512-0ip8ge6Gzz/Bk0iHovU9XAUQaFt/G2B61bnWa2tCcqqdgfHs1lF9xXorFbE55Gmy92okFT+8bfmySuUOu13vxQ==",
- "requires": {
- "hash-sum": "^1.0.2",
- "loader-utils": "^1.0.2"
- }
- },
- "vue-template-compiler": {
- "version": "2.6.10",
- "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.10.tgz",
- "integrity": "sha512-jVZkw4/I/HT5ZMvRnhv78okGusqe0+qH2A0Em0Cp8aq78+NK9TII263CDVz2QXZsIT+yyV/gZc/j/vlwa+Epyg==",
- "requires": {
- "de-indent": "^1.0.2",
- "he": "^1.1.0"
- }
- },
- "vue-template-es2015-compiler": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz",
- "integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw=="
- },
- "vuedraggable": {
- "version": "2.23.1",
- "resolved": "https://registry.npmjs.org/vuedraggable/-/vuedraggable-2.23.1.tgz",
- "integrity": "sha512-YgWnG7RC/V+nPksueT9cUGzvj7gBYqpEomazuAK5bBcImuPAeLsq0hwE5kSGItbHQpVnYdT/QX1kRR1XsjNeqw==",
- "requires": {
- "sortablejs": "^1.10.0"
- }
- },
- "vuejs-datepicker": {
- "version": "git://github.com/habitrpg/vuejs-datepicker.git#5d237615463a84a23dd6f3f77c6ab577d68593ec",
- "from": "git://github.com/habitrpg/vuejs-datepicker.git#5d237615463a84a23dd6f3f77c6ab577d68593ec"
- },
"w3counter": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/w3counter/-/w3counter-3.0.1.tgz",
@@ -27240,334 +15080,6 @@
}
}
},
- "warning-symbol": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/warning-symbol/-/warning-symbol-0.1.0.tgz",
- "integrity": "sha1-uzHdEbeg+dZ6su2V9Fe2WCW7rSE="
- },
- "watchpack": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz",
- "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==",
- "requires": {
- "chokidar": "^2.0.2",
- "graceful-fs": "^4.1.2",
- "neo-async": "^2.5.0"
- }
- },
- "wcwidth": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
- "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=",
- "requires": {
- "defaults": "^1.0.3"
- }
- },
- "webpack": {
- "version": "3.12.0",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.12.0.tgz",
- "integrity": "sha512-Sw7MdIIOv/nkzPzee4o0EdvCuPmxT98+vVpIvwtcwcF1Q4SDSNp92vwcKc4REe7NItH9f1S4ra9FuQ7yuYZ8bQ==",
- "requires": {
- "acorn": "^5.0.0",
- "acorn-dynamic-import": "^2.0.0",
- "ajv": "^6.1.0",
- "ajv-keywords": "^3.1.0",
- "async": "^2.1.2",
- "enhanced-resolve": "^3.4.0",
- "escope": "^3.6.0",
- "interpret": "^1.0.0",
- "json-loader": "^0.5.4",
- "json5": "^0.5.1",
- "loader-runner": "^2.3.0",
- "loader-utils": "^1.1.0",
- "memory-fs": "~0.4.1",
- "mkdirp": "~0.5.0",
- "node-libs-browser": "^2.0.0",
- "source-map": "^0.5.3",
- "supports-color": "^4.2.1",
- "tapable": "^0.2.7",
- "uglifyjs-webpack-plugin": "^0.4.6",
- "watchpack": "^1.4.0",
- "webpack-sources": "^1.0.1",
- "yargs": "^8.0.2"
- },
- "dependencies": {
- "acorn": {
- "version": "5.7.3",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz",
- "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw=="
- },
- "ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg="
- },
- "async": {
- "version": "2.6.3",
- "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
- "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
- "requires": {
- "lodash": "^4.17.14"
- }
- },
- "camelcase": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
- "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0="
- },
- "has-flag": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
- "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE="
- },
- "is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8="
- },
- "load-json-file": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
- "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
- "requires": {
- "graceful-fs": "^4.1.2",
- "parse-json": "^2.2.0",
- "pify": "^2.0.0",
- "strip-bom": "^3.0.0"
- }
- },
- "mem": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz",
- "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=",
- "requires": {
- "mimic-fn": "^1.0.0"
- }
- },
- "os-locale": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz",
- "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==",
- "requires": {
- "execa": "^0.7.0",
- "lcid": "^1.0.0",
- "mem": "^1.1.0"
- }
- },
- "path-type": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
- "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
- "requires": {
- "pify": "^2.0.0"
- }
- },
- "pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
- },
- "read-pkg": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
- "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
- "requires": {
- "load-json-file": "^2.0.0",
- "normalize-package-data": "^2.3.2",
- "path-type": "^2.0.0"
- }
- },
- "read-pkg-up": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
- "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
- "requires": {
- "find-up": "^2.0.0",
- "read-pkg": "^2.0.0"
- }
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "string-width": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
- "requires": {
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^4.0.0"
- }
- },
- "strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "requires": {
- "ansi-regex": "^3.0.0"
- }
- },
- "strip-bom": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
- "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM="
- },
- "supports-color": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
- "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
- "requires": {
- "has-flag": "^2.0.0"
- }
- },
- "tapable": {
- "version": "0.2.9",
- "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.9.tgz",
- "integrity": "sha512-2wsvQ+4GwBvLPLWsNfLCDYGsW6xb7aeC6utq2Qh0PFwgEy7K7dsma9Jsmb2zSQj7GvYAyUGSntLtsv++GmgL1A=="
- },
- "which-module": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
- "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho="
- },
- "yargs": {
- "version": "8.0.2",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz",
- "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=",
- "requires": {
- "camelcase": "^4.1.0",
- "cliui": "^3.2.0",
- "decamelize": "^1.1.1",
- "get-caller-file": "^1.0.1",
- "os-locale": "^2.0.0",
- "read-pkg-up": "^2.0.0",
- "require-directory": "^2.1.1",
- "require-main-filename": "^1.0.1",
- "set-blocking": "^2.0.0",
- "string-width": "^2.0.0",
- "which-module": "^2.0.0",
- "y18n": "^3.2.1",
- "yargs-parser": "^7.0.0"
- }
- },
- "yargs-parser": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz",
- "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=",
- "requires": {
- "camelcase": "^4.1.0"
- }
- }
- }
- },
- "webpack-bundle-analyzer": {
- "version": "2.13.1",
- "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-2.13.1.tgz",
- "integrity": "sha512-rwxyfecTAxoarCC9VlHlIpfQCmmJ/qWD5bpbjkof+7HrNhTNZIwZITxN6CdlYL2axGmwNUQ+tFgcSOiNXMf/sQ==",
- "dev": true,
- "requires": {
- "acorn": "^5.3.0",
- "bfj-node4": "^5.2.0",
- "chalk": "^2.3.0",
- "commander": "^2.13.0",
- "ejs": "^2.5.7",
- "express": "^4.16.2",
- "filesize": "^3.5.11",
- "gzip-size": "^4.1.0",
- "lodash": "^4.17.4",
- "mkdirp": "^0.5.1",
- "opener": "^1.4.3",
- "ws": "^4.0.0"
- },
- "dependencies": {
- "acorn": {
- "version": "5.7.3",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz",
- "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==",
- "dev": true
- },
- "ws": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/ws/-/ws-4.1.0.tgz",
- "integrity": "sha512-ZGh/8kF9rrRNffkLFV4AzhvooEclrOH0xaugmqGsIfFgOE/pIz4fMc4Ef+5HSQqTEug2S9JZIWDR47duDSLfaA==",
- "dev": true,
- "requires": {
- "async-limiter": "~1.0.0",
- "safe-buffer": "~5.1.0"
- }
- }
- }
- },
- "webpack-dev-middleware": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-2.0.6.tgz",
- "integrity": "sha512-tj5LLD9r4tDuRIDa5Mu9lnY2qBBehAITv6A9irqXhw/HQquZgTx3BCd57zYbU2gMDnncA49ufK2qVQSbaKJwOw==",
- "dev": true,
- "requires": {
- "loud-rejection": "^1.6.0",
- "memory-fs": "~0.4.1",
- "mime": "^2.1.0",
- "path-is-absolute": "^1.0.0",
- "range-parser": "^1.0.3",
- "url-join": "^2.0.2",
- "webpack-log": "^1.0.1"
- },
- "dependencies": {
- "url-join": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/url-join/-/url-join-2.0.5.tgz",
- "integrity": "sha1-WvIvGMBSoACkjXuCxenC4v7tpyg=",
- "dev": true
- }
- }
- },
- "webpack-hot-middleware": {
- "version": "2.25.0",
- "resolved": "https://registry.npmjs.org/webpack-hot-middleware/-/webpack-hot-middleware-2.25.0.tgz",
- "integrity": "sha512-xs5dPOrGPCzuRXNi8F6rwhawWvQQkeli5Ro48PRuQh8pYPCPmNnltP9itiUPT4xI8oW+y0m59lyyeQk54s5VgA==",
- "dev": true,
- "requires": {
- "ansi-html": "0.0.7",
- "html-entities": "^1.2.0",
- "querystring": "^0.2.0",
- "strip-ansi": "^3.0.0"
- }
- },
- "webpack-log": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-1.2.0.tgz",
- "integrity": "sha512-U9AnICnu50HXtiqiDxuli5gLB5PGBo7VvcHx36jRZHwK4vzOYLbImqT4lwWwoMHdQWwEKw736fCHEekokTEKHA==",
- "dev": true,
- "requires": {
- "chalk": "^2.1.0",
- "log-symbols": "^2.1.0",
- "loglevelnext": "^1.0.1",
- "uuid": "^3.1.0"
- }
- },
- "webpack-merge": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.2.tgz",
- "integrity": "sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==",
- "requires": {
- "lodash": "^4.17.15"
- }
- },
- "webpack-sources": {
- "version": "1.4.3",
- "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz",
- "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==",
- "requires": {
- "source-list-map": "^2.0.0",
- "source-map": "~0.6.1"
- }
- },
- "whet.extend": {
- "version": "0.9.9",
- "resolved": "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz",
- "integrity": "sha1-+HfVv2SMl+WqVC+twW1qJZucEaE="
- },
"which": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
@@ -27669,15 +15181,6 @@
"triple-beam": "^1.2.0"
}
},
- "with": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/with/-/with-5.1.1.tgz",
- "integrity": "sha1-+k2qktrzLE6pTtRTyB8EaGtXXf4=",
- "requires": {
- "acorn": "^3.1.0",
- "acorn-globals": "^3.0.0"
- }
- },
"wordwrap": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
@@ -27698,9 +15201,10 @@
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
},
"write": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz",
- "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz",
+ "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==",
+ "dev": true,
"requires": {
"mkdirp": "^0.5.1"
}
@@ -27715,14 +15219,6 @@
"signal-exit": "^3.0.2"
}
},
- "write-json": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/write-json/-/write-json-0.2.2.tgz",
- "integrity": "sha1-+k4VKennY6T5LwfZhBMX49JI2vM=",
- "requires": {
- "write": "^0.2.1"
- }
- },
"ws": {
"version": "1.1.5",
"resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz",
@@ -27783,23 +15279,11 @@
"resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.19.tgz",
"integrity": "sha1-Yx/Ad3bv2EEYvyUXGzftTQdaCrw="
},
- "xmlhttprequest-ssl": {
- "version": "1.5.5",
- "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz",
- "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=",
- "dev": true
- },
"xpath.js": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/xpath.js/-/xpath.js-1.1.0.tgz",
"integrity": "sha512-jg+qkfS4K8E7965sqaUl8mRngXiKb3WZGfONgE18pr03FUQiuSV6G+Ej4tS55B+rIQSFEIw3phdVAQ4pPqNWfQ=="
},
- "xregexp": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz",
- "integrity": "sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM=",
- "dev": true
- },
"xtend": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
@@ -27852,12 +15336,6 @@
"buffer-crc32": "~0.2.3",
"fd-slicer": "~1.1.0"
}
- },
- "yeast": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz",
- "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=",
- "dev": true
}
}
}
diff --git a/package.json b/package.json
index f44f6eb9c2..1e4c29fb33 100644
--- a/package.json
+++ b/package.json
@@ -1,76 +1,49 @@
{
"name": "habitica",
"description": "A habit tracker app which treats your goals like a Role Playing Game.",
- "version": "4.116.3",
+ "version": "4.116.8",
"main": "./website/server/index.js",
"dependencies": {
- "@google-cloud/trace-agent": "^4.0.0",
+ "@google-cloud/trace-agent": "^4.2.2",
"@slack/client": "^3.8.1",
"accepts": "^1.3.5",
"amazon-payments": "^0.2.7",
"amplitude": "^3.5.0",
- "amplitude-js": "^5.2.2",
"apidoc": "^0.17.5",
"apn": "^2.2.0",
- "autoprefixer": "^9.4.0",
- "aws-sdk": "^2.432.0",
- "axios": "^0.19.0",
- "axios-progress-bar": "^1.2.0",
- "babel-core": "^6.26.3",
- "babel-eslint": "^8.2.3",
- "babel-loader": "^7.1.4",
- "babel-plugin-syntax-async-functions": "^6.13.0",
- "babel-plugin-syntax-dynamic-import": "^6.18.0",
- "babel-plugin-transform-es2015-modules-commonjs": "^6.26.2",
- "babel-plugin-transform-object-rest-spread": "^6.16.0",
- "babel-plugin-transform-regenerator": "^6.16.1",
- "babel-polyfill": "^6.6.1",
- "babel-preset-es2015": "^6.6.0",
- "babel-register": "^6.6.0",
- "babel-runtime": "^6.11.6",
+ "aws-sdk": "^2.553.0",
"bcrypt": "^3.0.6",
"body-parser": "^1.18.3",
- "bootstrap": "^4.1.1",
- "bootstrap-vue": "^2.0.2",
"compression": "^1.7.4",
"cookie-session": "^1.3.3",
"coupon-code": "^0.4.5",
- "cross-env": "^6.0.0",
- "css-loader": "^0.28.11",
"csv-stringify": "^5.1.0",
"cwait": "^1.1.1",
"domain-middleware": "~0.1.0",
"express": "^4.16.3",
"express-basic-auth": "^1.1.5",
"express-validator": "^5.2.0",
- "extract-text-webpack-plugin": "^3.0.2",
"glob": "^7.1.2",
"got": "^9.0.0",
"gulp": "^4.0.0",
- "gulp-babel": "^7.0.1",
- "gulp-imagemin": "^6.0.0",
+ "gulp-babel": "^8.0.0",
+ "gulp-imagemin": "^6.1.1",
"gulp-nodemon": "^2.4.1",
"gulp.spritesmith": "^6.9.0",
"habitica-markdown": "^1.3.0",
- "hellojs": "^1.18.1",
"helmet": "^3.21.0",
- "html-webpack-plugin": "^3.2.0",
- "image-size": "^0.8.0",
+ "image-size": "^0.8.3",
"in-app-purchase": "^1.11.3",
- "intro.js": "^2.9.3",
- "jquery": ">=3.0.0",
"js2xmlparser": "^4.0.0",
- "lodash": "^4.17.10",
+ "lodash": "^4.17.15",
"merge-stream": "^2.0.0",
"method-override": "^3.0.0",
- "moment": "^2.22.1",
+ "moment": "^2.24.0",
"moment-recur": "^1.0.7",
- "mongoose": "^5.6.9",
+ "mongoose": "^5.7.4",
"morgan": "^1.7.0",
"nconf": "^0.10.0",
"node-gcm": "^1.0.2",
- "node-sass": "^4.12.0",
- "ora": "^3.2.0",
"pageres": "^5.1.0",
"passport": "^0.4.0",
"passport-facebook": "^3.0.0",
@@ -78,40 +51,17 @@
"passport-google-oauth20": "1.0.0",
"paypal-ipn": "3.0.0",
"paypal-rest-sdk": "^1.8.1",
- "popper.js": "^1.14.3",
- "postcss-easy-import": "^3.0.0",
"ps-tree": "^1.0.0",
- "pug": "^2.0.3",
"regenerator-runtime": "^0.13.3",
- "rimraf": "^2.4.3",
- "sass-loader": "^7.0.3",
- "shelljs": "^0.8.2",
+ "rimraf": "^3.0.0",
"short-uuid": "^3.0.0",
- "smartbanner.js": "^1.11.0",
- "stripe": "^7.9.0",
+ "stripe": "^7.10.0",
"superagent": "^5.0.2",
- "svg-inline-loader": "^0.8.0",
- "svg-url-loader": "^3.0.0",
- "svgo": "^1.2.0",
- "svgo-loader": "^2.1.0",
"universal-analytics": "^0.4.17",
- "update": "^0.7.4",
- "upgrade": "^1.1.0",
- "url-loader": "^1.0.0",
"useragent": "^2.1.9",
- "uuid": "^3.0.1",
+ "uuid": "^3.3.3",
"validator": "^11.0.0",
"vinyl-buffer": "^1.0.1",
- "vue": "^2.6.10",
- "vue-loader": "^14.2.2",
- "vue-mugen-scroll": "^0.2.1",
- "vue-router": "^3.0.0",
- "vue-style-loader": "^4.1.0",
- "vue-template-compiler": "^2.6.10",
- "vuedraggable": "^2.20.0",
- "vuejs-datepicker": "git://github.com/habitrpg/vuejs-datepicker.git#5d237615463a84a23dd6f3f77c6ab577d68593ec",
- "webpack": "^3.12.0",
- "webpack-merge": "^4.1.3",
"winston": "^2.4.3",
"winston-loggly-bulk": "^2.0.2",
"xml2js": "^0.4.4"
@@ -122,7 +72,7 @@
"npm": "^6"
},
"scripts": {
- "lint": "eslint --ext .js,.vue .",
+ "lint": "eslint --ext .js --fix . && cd website/client && npm run lint",
"test": "npm run lint && gulp test && gulp apidoc",
"test:build": "gulp test:prepare:build",
"test:api-v3": "gulp test:api-v3",
@@ -137,60 +87,32 @@
"test:nodemon": "gulp test:nodemon",
"coverage": "COVERAGE=true mocha --require register-handlers.js --reporter html-cov > coverage.html; open coverage.html",
"sprites": "gulp sprites:compile",
- "client:dev": "node webpack/dev-server.js",
- "client:build": "gulp build:client",
- "client:unit": "cross-env NODE_ENV=test karma start test/client/unit/karma.conf.js --single-run",
- "client:unit:watch": "cross-env NODE_ENV=test karma start test/client/unit/karma.conf.js",
- "client:e2e": "node test/client/e2e/runner.js",
- "client:test": "npm run client:unit && npm run client:e2e",
+ "client:dev": "cd website/client && npm run serve",
+ "client:build": "cd website/client && npm run build",
+ "client:unit": "cd website/client && npm run test:unit",
"start": "gulp nodemon",
- "postinstall": "gulp build",
+ "postinstall": "gulp build && cd website/client && npm install",
"apidoc": "gulp apidoc"
},
"devDependencies": {
- "@vue/test-utils": "^1.0.0-beta.29",
- "babel-plugin-istanbul": "^4.1.6",
- "babel-plugin-syntax-object-rest-spread": "^6.13.0",
+ "@babel/core": "^7.6.4",
+ "@babel/preset-env": "^7.6.3",
+ "@babel/register": "^7.6.2",
+ "axios": "^0.19.0",
"chai": "^4.1.2",
"chai-as-promised": "^7.1.1",
"chalk": "^2.4.1",
- "chromedriver": "^77.0.0",
- "connect-history-api-fallback": "^1.1.0",
- "cross-spawn": "^7.0.0",
- "eslint": "^4.19.1",
- "eslint-config-habitrpg": "^4.0.0",
- "eslint-friendly-formatter": "^4.0.1",
- "eslint-loader": "^2.0.0",
- "eslint-plugin-html": "^4.0.3",
+ "eslint": "^6.5.1",
+ "eslint-config-habitrpg": "^6.1.0",
"eslint-plugin-mocha": "^5.0.0",
- "eventsource-polyfill": "^0.9.6",
"expect.js": "^0.3.1",
- "http-proxy-middleware": "^0.20.0",
"istanbul": "^1.1.0-alpha.1",
- "karma": "^4.0.1",
- "karma-babel-preprocessor": "^7.0.0",
- "karma-chai-plugins": "^0.9.0",
- "karma-chrome-launcher": "^3.0.0",
- "karma-coverage": "^1.1.2",
- "karma-mocha": "^1.3.0",
- "karma-mocha-reporter": "^2.2.5",
- "karma-sinon-chai": "^2.0.0",
- "karma-sinon-stub-promise": "^1.0.0",
- "karma-sourcemap-loader": "^0.3.7",
- "karma-spec-reporter": "0.0.32",
- "karma-webpack": "^3.0.0",
"mocha": "^5.1.1",
- "monk": "^6.0.6",
- "nightwatch": "^1.0.16",
- "puppeteer": "^1.14.0",
+ "monk": "^7.1.1",
"require-again": "^2.0.0",
- "selenium-server": "^3.12.0",
"sinon": "^7.2.4",
"sinon-chai": "^3.0.0",
- "sinon-stub-promise": "^4.0.0",
- "webpack-bundle-analyzer": "^2.12.0",
- "webpack-dev-middleware": "^2.0.5",
- "webpack-hot-middleware": "^2.22.2"
+ "sinon-stub-promise": "^4.0.0"
},
"optionalDependencies": {}
}
diff --git a/scripts/gdpr-delete-users.js b/scripts/gdpr-delete-users.js
index c60c16d92f..cfa95d29a3 100644
--- a/scripts/gdpr-delete-users.js
+++ b/scripts/gdpr-delete-users.js
@@ -1,13 +1,13 @@
-/* eslint-disable no-console */
-import axios from 'axios';
-import { model as User } from '../website/server/models/user';
+/* eslint-disable no-console, import/no-commonjs */
+import axios from 'axios'; // eslint-disable-line import/no-extraneous-dependencies
import nconf from 'nconf';
+import { model as User } from '../website/server/models/user';
const AMPLITUDE_KEY = nconf.get('AMPLITUDE_KEY');
const AMPLITUDE_SECRET = nconf.get('AMPLITUDE_SECRET');
const BASE_URL = nconf.get('BASE_URL');
-async function _deleteAmplitudeData (userId, email) {
+async function deleteAmplitudeData (userId, email) {
const response = await axios.post(
'https://amplitude.com/api/2/deletions/users',
{
@@ -19,22 +19,24 @@ async function _deleteAmplitudeData (userId, email) {
username: AMPLITUDE_KEY,
password: AMPLITUDE_SECRET,
},
- }
- ).catch((err) => {
+ },
+ ).catch(err => {
console.log(err.response.data);
});
if (response) console.log(`${response.status} ${response.statusText}`);
}
-async function _deleteHabiticaData (user, email) {
+async function deleteHabiticaData (user, email) {
await User.update(
- {_id: user._id},
- {$set: {
- 'auth.local.email': email,
- 'auth.local.hashed_password': '$2a$10$QDnNh1j1yMPnTXDEOV38xOePEWFd4X8DSYwAM8XTmqmacG5X0DKjW',
- 'auth.local.passwordHashMethod': 'bcrypt',
- }}
+ { _id: user._id },
+ {
+ $set: {
+ 'auth.local.email': email,
+ 'auth.local.hashed_password': '$2a$10$QDnNh1j1yMPnTXDEOV38xOePEWFd4X8DSYwAM8XTmqmacG5X0DKjW',
+ 'auth.local.passwordHashMethod': 'bcrypt',
+ },
+ },
);
const response = await axios.delete(
`${BASE_URL}/api/v3/user`,
@@ -46,8 +48,8 @@ async function _deleteHabiticaData (user, email) {
'x-api-user': user._id,
'x-api-key': user.apiToken,
},
- }
- ).catch((err) => {
+ },
+ ).catch(err => {
console.log(err.response.data);
});
@@ -57,14 +59,15 @@ async function _deleteHabiticaData (user, email) {
}
}
-async function _processEmailAddress (email) {
+async function processEmailAddress (email) {
const emailRegex = new RegExp(`^${email}$`, 'i');
const users = await User.find({
$or: [
- {'auth.local.email': emailRegex},
- {'auth.facebook.emails.value': emailRegex},
- {'auth.google.emails.value': emailRegex},
- ]},
+ { 'auth.local.email': emailRegex },
+ { 'auth.facebook.emails.value': emailRegex },
+ { 'auth.google.emails.value': emailRegex },
+ ],
+ },
{
_id: 1,
apiToken: 1,
@@ -74,15 +77,15 @@ async function _processEmailAddress (email) {
if (users.length < 1) {
console.log(`No users found with email address ${email}`);
} else {
- for (const user of users) {
- await _deleteAmplitudeData(user._id, email); // eslint-disable-line no-await-in-loop
- await _deleteHabiticaData(user, email); // eslint-disable-line no-await-in-loop
- }
+ Promise.all(users.map(user => (async () => {
+ await deleteAmplitudeData(user._id, email); // eslint-disable-line no-await-in-loop
+ await deleteHabiticaData(user, email); // eslint-disable-line no-await-in-loop
+ })()));
}
}
function deleteUserData (emails) {
- const emailPromises = emails.map(_processEmailAddress);
+ const emailPromises = emails.map(processEmailAddress);
return Promise.all(emailPromises);
}
diff --git a/scripts/paypalBillingSetup.js b/scripts/paypalBillingSetup.js
index e99ffe31b8..76ab828e58 100644
--- a/scripts/paypalBillingSetup.js
+++ b/scripts/paypalBillingSetup.js
@@ -1,8 +1,12 @@
-require('babel-register');
+/* eslint-disable import/no-commonjs */
+require('@babel/register'); // eslint-disable-line import/no-extraneous-dependencies
-// This file is used for creating paypal billing plans. PayPal doesn't have a web interface for setting up recurring
-// payment plan definitions, instead you have to create it via their REST SDK and keep it updated the same way. So this
-// file will be used once for initing your billing plan (then you get the resultant plan.id to store in config.json),
+// This file is used for creating paypal billing plans.
+// PayPal doesn't have a web interface for setting up recurring
+// payment plan definitions, instead you have to create it
+// via their REST SDK and keep it updated the same way. So this
+// file will be used once for initing your billing plan
+// (then you get the resultant plan.id to store in config.json),
// and once for any time you need to edit the plan thereafter
/* eslint-disable no-console, camelcase, no-case-declarations */
@@ -12,11 +16,12 @@ const nconf = require('nconf');
const _ = require('lodash');
const paypal = require('paypal-rest-sdk');
const blocks = require('../website/common').content.subscriptionBlocks;
+
const live = nconf.get('PAYPAL_MODE') === 'live';
nconf.argv().env().file('user', path.join(path.resolve(__dirname, '../config.json')));
-let OP = 'create'; // list get update create create-webprofile
+const OP = 'create'; // list get update create create-webprofile
paypal.configure({
mode: nconf.get('PAYPAL_MODE'), // sandbox or live
@@ -25,8 +30,8 @@ paypal.configure({
});
// https://developer.paypal.com/docs/api/#billing-plans-and-agreements
-let billingPlanTitle = 'Habitica Subscription';
-let billingPlanAttributes = {
+const billingPlanTitle = 'Habitica Subscription';
+const billingPlanAttributes = {
description: billingPlanTitle,
type: 'INFINITE',
merchant_preferences: {
@@ -41,7 +46,7 @@ let billingPlanAttributes = {
}],
};
-_.each(blocks, (block) => {
+_.each(blocks, block => {
block.definition = _.cloneDeep(billingPlanAttributes);
_.merge(block.definition.payment_definitions[0], {
name: `${billingPlanTitle} ($${block.price} every ${block.months} months, recurring)`,
@@ -57,17 +62,17 @@ _.each(blocks, (block) => {
switch (OP) {
case 'list':
- paypal.billingPlan.list({status: 'ACTIVE'}, (err, plans) => {
- console.log({err, plans});
+ paypal.billingPlan.list({ status: 'ACTIVE' }, (err, plans) => {
+ console.log({ err, plans });
});
break;
case 'get':
paypal.billingPlan.get(nconf.get('PAYPAL_BILLING_PLANS_basic_12mo'), (err, plan) => {
- console.log({err, plan});
+ console.log({ err, plan });
});
break;
case 'update':
- let updatePayload = {
+ const updatePayload = {
op: 'replace',
path: '/merchant_preferences',
value: {
@@ -75,7 +80,7 @@ switch (OP) {
},
};
paypal.billingPlan.update(nconf.get('PAYPAL_BILLING_PLANS_basic_12mo'), updatePayload, (err, res) => {
- console.log({err, plan: res});
+ console.log({ err, plan: res });
});
break;
case 'create':
@@ -83,10 +88,10 @@ switch (OP) {
if (err) return console.log(err);
if (plan.state === 'ACTIVE') {
- return console.log({err, plan});
+ return console.log({ err, plan });
}
- let billingPlanUpdateAttributes = [{
+ const billingPlanUpdateAttributes = [{
op: 'replace',
path: '/',
value: {
@@ -96,12 +101,14 @@ switch (OP) {
// Activate the plan by changing status to Active
paypal.billingPlan.update(plan.id, billingPlanUpdateAttributes, (err2, response) => {
- console.log({err: err2, response, id: plan.id});
+ console.log({ err: err2, response, id: plan.id });
});
+
+ return null;
});
break;
case 'create-webprofile':
- let webexpinfo = {
+ const webexpinfo = {
name: 'HabiticaProfile',
input_fields: {
no_shipping: 1,
@@ -112,4 +119,6 @@ switch (OP) {
console.log(error, result);
});
break;
+ default:
+ throw new Error('Invalid op');
}
diff --git a/test/.eslintrc b/test/.eslintrc
deleted file mode 100644
index 465e06424b..0000000000
--- a/test/.eslintrc
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "extends": [
- "habitrpg/mocha",
- "habitrpg/esnext"
- ],
- "env": {
- "node": true,
- },
- "globals": {
- "_": true,
- }
-}
diff --git a/test/.eslintrc.js b/test/.eslintrc.js
new file mode 100644
index 0000000000..b62d82ccea
--- /dev/null
+++ b/test/.eslintrc.js
@@ -0,0 +1,12 @@
+module.exports = {
+ extends: [
+ 'habitrpg/lib/mocha',
+ ],
+ globals: {
+ _: true,
+ chai: true,
+ expect: true,
+ sinon: true,
+ sandbox: true
+ },
+}
diff --git a/test/api/unit/libs/analyticsService.test.js b/test/api/unit/libs/analyticsService.test.js
index e5c7819478..27d78d3f3c 100644
--- a/test/api/unit/libs/analyticsService.test.js
+++ b/test/api/unit/libs/analyticsService.test.js
@@ -1,7 +1,7 @@
/* eslint-disable camelcase */
-import analyticsService from '../../../../website/server/libs/analyticsService';
import Amplitude from 'amplitude';
import { Visitor } from 'universal-analytics';
+import * as analyticsService from '../../../../website/server/libs/analyticsService';
describe('analyticsService', () => {
beforeEach(() => {
@@ -16,7 +16,8 @@ describe('analyticsService', () => {
});
describe('#track', () => {
- let eventType, data;
+ let eventType; let
+ data;
beforeEach(() => {
Visitor.prototype.event.yields();
@@ -35,12 +36,10 @@ describe('analyticsService', () => {
});
context('Amplitude', () => {
- it('calls out to amplitude', () => {
- return analyticsService.track(eventType, data)
- .then(() => {
- expect(Amplitude.prototype.track).to.be.calledOnce;
- });
- });
+ it('calls out to amplitude', () => analyticsService.track(eventType, data)
+ .then(() => {
+ expect(Amplitude.prototype.track).to.be.calledOnce;
+ }));
it('uses a dummy user id if none is provided', () => {
delete data.uuid;
@@ -55,7 +54,7 @@ describe('analyticsService', () => {
context('platform', () => {
it('logs web platform', () => {
- data.headers = {'x-client': 'habitica-web'};
+ data.headers = { 'x-client': 'habitica-web' };
return analyticsService.track(eventType, data)
.then(() => {
@@ -66,7 +65,7 @@ describe('analyticsService', () => {
});
it('logs iOS platform', () => {
- data.headers = {'x-client': 'habitica-ios'};
+ data.headers = { 'x-client': 'habitica-ios' };
return analyticsService.track(eventType, data)
.then(() => {
@@ -77,7 +76,7 @@ describe('analyticsService', () => {
});
it('logs Android platform', () => {
- data.headers = {'x-client': 'habitica-android'};
+ data.headers = { 'x-client': 'habitica-android' };
return analyticsService.track(eventType, data)
.then(() => {
@@ -88,7 +87,7 @@ describe('analyticsService', () => {
});
it('logs 3rd Party platform', () => {
- data.headers = {'x-client': 'some-third-party'};
+ data.headers = { 'x-client': 'some-third-party' };
return analyticsService.track(eventType, data)
.then(() => {
@@ -169,18 +168,16 @@ describe('analyticsService', () => {
});
});
- it('sends details about event', () => {
- return analyticsService.track(eventType, data)
- .then(() => {
- expect(Amplitude.prototype.track).to.be.calledWithMatch({
- event_properties: {
- category: 'behavior',
- resting: true,
- cronCount: 5,
- },
- });
+ it('sends details about event', () => analyticsService.track(eventType, data)
+ .then(() => {
+ expect(Amplitude.prototype.track).to.be.calledWithMatch({
+ event_properties: {
+ category: 'behavior',
+ resting: true,
+ cronCount: 5,
+ },
});
- });
+ }));
it('sends english item name for gear if itemKey is provided', () => {
data.itemKey = 'headAccessory_special_foxEars';
@@ -267,16 +264,18 @@ describe('analyticsService', () => {
});
it('sends user data if provided', () => {
- let stats = { class: 'wizard', exp: 5, gp: 23, hp: 10, lvl: 4, mp: 30 };
- let user = {
+ const stats = {
+ class: 'wizard', exp: 5, gp: 23, hp: 10, lvl: 4, mp: 30,
+ };
+ const user = {
stats,
contributor: { level: 1 },
purchased: { plan: { planId: 'foo-plan' } },
- flags: {tour: {intro: -2}},
- habits: [{_id: 'habit'}],
- dailys: [{_id: 'daily'}],
- todos: [{_id: 'todo'}],
- rewards: [{_id: 'reward'}],
+ flags: { tour: { intro: -2 } },
+ habits: [{ _id: 'habit' }],
+ dailys: [{ _id: 'daily' }],
+ todos: [{ _id: 'todo' }],
+ rewards: [{ _id: 'reward' }],
balance: 12,
loginIncentives: 1,
};
@@ -312,27 +311,24 @@ describe('analyticsService', () => {
});
context('GA', () => {
- it('calls out to GA', () => {
- return analyticsService.track(eventType, data)
- .then(() => {
- expect(Visitor.prototype.event).to.be.calledOnce;
- });
- });
+ it('calls out to GA', () => analyticsService.track(eventType, data)
+ .then(() => {
+ expect(Visitor.prototype.event).to.be.calledOnce;
+ }));
- it('sends details about event', () => {
- return analyticsService.track(eventType, data)
- .then(() => {
- expect(Visitor.prototype.event).to.be.calledWith({
- ea: 'Cron',
- ec: 'behavior',
- });
+ it('sends details about event', () => analyticsService.track(eventType, data)
+ .then(() => {
+ expect(Visitor.prototype.event).to.be.calledWith({
+ ea: 'Cron',
+ ec: 'behavior',
});
- });
+ }));
});
});
describe('#trackPurchase', () => {
- let data, itemSpy;
+ let data; let
+ itemSpy;
beforeEach(() => {
Visitor.prototype.event.yields();
@@ -361,12 +357,10 @@ describe('analyticsService', () => {
});
context('Amplitude', () => {
- it('calls out to amplitude', () => {
- return analyticsService.trackPurchase(data)
- .then(() => {
- expect(Amplitude.prototype.track).to.be.calledOnce;
- });
- });
+ it('calls out to amplitude', () => analyticsService.trackPurchase(data)
+ .then(() => {
+ expect(Amplitude.prototype.track).to.be.calledOnce;
+ }));
it('uses a dummy user id if none is provided', () => {
delete data.uuid;
@@ -381,7 +375,7 @@ describe('analyticsService', () => {
context('platform', () => {
it('logs web platform', () => {
- data.headers = {'x-client': 'habitica-web'};
+ data.headers = { 'x-client': 'habitica-web' };
return analyticsService.trackPurchase(data)
.then(() => {
@@ -392,7 +386,7 @@ describe('analyticsService', () => {
});
it('logs iOS platform', () => {
- data.headers = {'x-client': 'habitica-ios'};
+ data.headers = { 'x-client': 'habitica-ios' };
return analyticsService.trackPurchase(data)
.then(() => {
@@ -403,7 +397,7 @@ describe('analyticsService', () => {
});
it('logs Android platform', () => {
- data.headers = {'x-client': 'habitica-android'};
+ data.headers = { 'x-client': 'habitica-android' };
return analyticsService.trackPurchase(data)
.then(() => {
@@ -414,7 +408,7 @@ describe('analyticsService', () => {
});
it('logs 3rd Party platform', () => {
- data.headers = {'x-client': 'some-third-party'};
+ data.headers = { 'x-client': 'some-third-party' };
return analyticsService.trackPurchase(data)
.then(() => {
@@ -495,33 +489,33 @@ describe('analyticsService', () => {
});
});
- it('sends details about purchase', () => {
- return analyticsService.trackPurchase(data)
- .then(() => {
- expect(Amplitude.prototype.track).to.be.calledWithMatch({
- event_properties: {
- gift: false,
- itemPurchased: 'Gems',
- paymentMethod: 'PayPal',
- purchaseType: 'checkout',
- quantity: 1,
- sku: 'paypal-checkout',
- },
- });
+ it('sends details about purchase', () => analyticsService.trackPurchase(data)
+ .then(() => {
+ expect(Amplitude.prototype.track).to.be.calledWithMatch({
+ event_properties: {
+ gift: false,
+ itemPurchased: 'Gems',
+ paymentMethod: 'PayPal',
+ purchaseType: 'checkout',
+ quantity: 1,
+ sku: 'paypal-checkout',
+ },
});
- });
+ }));
it('sends user data if provided', () => {
- let stats = { class: 'wizard', exp: 5, gp: 23, hp: 10, lvl: 4, mp: 30 };
- let user = {
+ const stats = {
+ class: 'wizard', exp: 5, gp: 23, hp: 10, lvl: 4, mp: 30,
+ };
+ const user = {
stats,
contributor: { level: 1 },
purchased: { plan: { planId: 'foo-plan' } },
- flags: {tour: {intro: -2}},
- habits: [{_id: 'habit'}],
- dailys: [{_id: 'daily'}],
- todos: [{_id: 'todo'}],
- rewards: [{_id: 'reward'}],
+ flags: { tour: { intro: -2 } },
+ habits: [{ _id: 'habit' }],
+ dailys: [{ _id: 'daily' }],
+ todos: [{ _id: 'todo' }],
+ rewards: [{ _id: 'reward' }],
};
data.user = user;
@@ -552,27 +546,23 @@ describe('analyticsService', () => {
});
context('GA', () => {
- it('calls out to GA', () => {
- return analyticsService.trackPurchase(data)
- .then(() => {
- expect(Visitor.prototype.event).to.be.calledOnce;
- expect(Visitor.prototype.transaction).to.be.calledOnce;
- });
- });
+ it('calls out to GA', () => analyticsService.trackPurchase(data)
+ .then(() => {
+ expect(Visitor.prototype.event).to.be.calledOnce;
+ expect(Visitor.prototype.transaction).to.be.calledOnce;
+ }));
- it('sends details about purchase', () => {
- return analyticsService.trackPurchase(data)
- .then(() => {
- expect(Visitor.prototype.event).to.be.calledWith({
- ea: 'checkout',
- ec: 'commerce',
- el: 'PayPal',
- ev: 8,
- });
- expect(Visitor.prototype.transaction).to.be.calledWith('user-id', 8);
- expect(itemSpy).to.be.calledWith(8, 1, 'paypal-checkout', 'Gems', 'checkout');
+ it('sends details about purchase', () => analyticsService.trackPurchase(data)
+ .then(() => {
+ expect(Visitor.prototype.event).to.be.calledWith({
+ ea: 'checkout',
+ ec: 'commerce',
+ el: 'PayPal',
+ ev: 8,
});
- });
+ expect(Visitor.prototype.transaction).to.be.calledWith('user-id', 8);
+ expect(itemSpy).to.be.calledWith(8, 1, 'paypal-checkout', 'Gems', 'checkout');
+ }));
});
});
diff --git a/test/api/unit/libs/apiError.js b/test/api/unit/libs/apiError.js
index fda9b1788b..c9c8357f2f 100644
--- a/test/api/unit/libs/apiError.js
+++ b/test/api/unit/libs/apiError.js
@@ -11,7 +11,7 @@ describe('API Messages', () => {
});
it('clones the passed variables', () => {
- let vars = {a: 1};
+ const vars = { a: 1 };
sandbox.stub(_, 'clone').returns({});
apiError('guildsOnlyPaginate', vars);
expect(_.clone).to.have.been.calledOnce;
@@ -19,8 +19,8 @@ describe('API Messages', () => {
});
it('pass the message through _.template', () => {
- let vars = {a: 1};
- let stub = sinon.stub().returns('string');
+ const vars = { a: 1 };
+ const stub = sinon.stub().returns('string');
sandbox.stub(_, 'template').returns(stub);
apiError('guildsOnlyPaginate', vars);
expect(_.template).to.have.been.calledOnce;
diff --git a/test/api/unit/libs/baseModel.test.js b/test/api/unit/libs/baseModel.test.js
index 28e85aea50..44fbf1854c 100644
--- a/test/api/unit/libs/baseModel.test.js
+++ b/test/api/unit/libs/baseModel.test.js
@@ -1,5 +1,5 @@
-import baseModel from '../../../../website/server/libs/baseModel';
import mongoose from 'mongoose';
+import baseModel from '../../../../website/server/libs/baseModel';
describe('Base model plugin', () => {
let schema;
@@ -25,7 +25,7 @@ describe('Base model plugin', () => {
});
it('can add timestamps fields', () => {
- schema.plugin(baseModel, {timestamps: true});
+ schema.plugin(baseModel, { timestamps: true });
expect(schema.add).to.be.calledTwice;
});
@@ -36,7 +36,7 @@ describe('Base model plugin', () => {
});
expect(schema.statics.sanitize).to.exist;
- let sanitized = schema.statics.sanitize({ok: true, noUpdateForMe: true});
+ const sanitized = schema.statics.sanitize({ ok: true, noUpdateForMe: true });
expect(sanitized).to.have.property('ok');
expect(sanitized).not.to.have.property('noUpdateForMe');
@@ -49,7 +49,7 @@ describe('Base model plugin', () => {
});
expect(schema.statics.sanitize).to.exist;
- let sanitized = schema.statics.sanitize({ok: true, noUpdateForMe: true, usuallySettable: true}, ['usuallySettable']);
+ const sanitized = schema.statics.sanitize({ ok: true, noUpdateForMe: true, usuallySettable: true }, ['usuallySettable']);
expect(sanitized).to.have.property('ok');
expect(sanitized).not.to.have.property('noUpdateForMe');
@@ -63,31 +63,31 @@ describe('Base model plugin', () => {
});
expect(schema.options.toJSON.transform).to.exist;
- let objToTransform = {ok: true, amPrivate: true};
- let privatized = schema.options.toJSON.transform({}, objToTransform);
+ const objToTransform = { ok: true, amPrivate: true };
+ const privatized = schema.options.toJSON.transform({}, objToTransform);
expect(privatized).to.have.property('ok');
expect(privatized).not.to.have.property('amPrivate');
});
it('accepts a further transform function for toJSON', () => {
- let options = {
+ const options = {
private: ['amPrivate'],
toJSONTransform: sandbox.stub().returns(true),
};
schema.plugin(baseModel, options);
- let objToTransform = {ok: true, amPrivate: true};
- let doc = {doc: true};
- let privatized = schema.options.toJSON.transform(doc, objToTransform);
+ const objToTransform = { ok: true, amPrivate: true };
+ const doc = { doc: true };
+ const privatized = schema.options.toJSON.transform(doc, objToTransform);
expect(privatized).to.equals(true);
expect(options.toJSONTransform).to.be.calledWith(objToTransform, doc);
});
it('accepts a transform function for sanitize', () => {
- let options = {
+ const options = {
private: ['amPrivate'],
sanitizeTransform: sandbox.stub().returns(true),
};
@@ -95,8 +95,8 @@ describe('Base model plugin', () => {
schema.plugin(baseModel, options);
expect(schema.options.toJSON.transform).to.exist;
- let objToSanitize = {ok: true, noUpdateForMe: true};
- let sanitized = schema.statics.sanitize(objToSanitize);
+ const objToSanitize = { ok: true, noUpdateForMe: true };
+ const sanitized = schema.statics.sanitize(objToSanitize);
expect(sanitized).to.equals(true);
expect(options.sanitizeTransform).to.be.calledWith(objToSanitize);
diff --git a/test/api/unit/libs/collectionManipulators.test.js b/test/api/unit/libs/collectionManipulators.test.js
index 3d4fb70d6d..3c524d3af7 100644
--- a/test/api/unit/libs/collectionManipulators.test.js
+++ b/test/api/unit/libs/collectionManipulators.test.js
@@ -6,7 +6,7 @@ import {
describe('Collection Manipulators', () => {
describe('removeFromArray', () => {
it('removes element from array', () => {
- let array = ['a', 'b', 'c', 'd'];
+ const array = ['a', 'b', 'c', 'd'];
removeFromArray(array, 'c');
@@ -14,7 +14,7 @@ describe('Collection Manipulators', () => {
});
it('removes object from array', () => {
- let array = [
+ const array = [
{ id: 'a', foo: 'bar' },
{ id: 'b', foo: 'bar' },
{ id: 'c', foo: 'bar' },
@@ -28,7 +28,7 @@ describe('Collection Manipulators', () => {
});
it('does not change array if value is not found', () => {
- let array = ['a', 'b', 'c', 'd'];
+ const array = ['a', 'b', 'c', 'd'];
removeFromArray(array, 'z');
@@ -40,15 +40,15 @@ describe('Collection Manipulators', () => {
});
it('returns the removed element', () => {
- let array = ['a', 'b', 'c'];
+ const array = ['a', 'b', 'c'];
- let result = removeFromArray(array, 'b');
+ const result = removeFromArray(array, 'b');
expect(result).to.eql('b');
});
it('returns the removed object element', () => {
- let array = [
+ const array = [
{ id: 'a', foo: 'bar' },
{ id: 'b', foo: 'bar' },
{ id: 'c', foo: 'bar' },
@@ -56,31 +56,31 @@ describe('Collection Manipulators', () => {
{ id: 'e', foo: 'bar' },
];
- let result = removeFromArray(array, { id: 'c' });
+ const result = removeFromArray(array, { id: 'c' });
expect(result).to.eql({ id: 'c', foo: 'bar' });
});
it('returns false if item is not found', () => {
- let array = ['a', 'b', 'c'];
+ const array = ['a', 'b', 'c'];
- let result = removeFromArray(array, 'z');
+ const result = removeFromArray(array, 'z');
expect(result).to.eql(false);
});
it('persists removal of element when mongoose document is saved', async () => {
- let schema = new mongoose.Schema({
+ const schema = new mongoose.Schema({
array: Array,
});
- let Model = mongoose.model('ModelToTestRemoveFromArray', schema);
- let model = await new Model({
+ const Model = mongoose.model('ModelToTestRemoveFromArray', schema);
+ const model = await new Model({
array: ['a', 'b', 'c'],
}).save(); // Initial creation
removeFromArray(model.array, 'b');
- let savedModel = await model.save();
+ const savedModel = await model.save();
expect(savedModel.array).to.not.include('b');
});
diff --git a/test/api/unit/libs/cron.test.js b/test/api/unit/libs/cron.test.js
index 61e7499393..5f6c6c95d8 100644
--- a/test/api/unit/libs/cron.test.js
+++ b/test/api/unit/libs/cron.test.js
@@ -6,16 +6,18 @@ import { recoverCron, cron } from '../../../../website/server/libs/cron';
import { model as User } from '../../../../website/server/models/user';
import * as Tasks from '../../../../website/server/models/task';
import common from '../../../../website/common';
-import analytics from '../../../../website/server/libs/analyticsService';
+import * as analytics from '../../../../website/server/libs/analyticsService';
// const scoreTask = common.ops.scoreTask;
-let pathToCronLib = '../../../../website/server/libs/cron';
+const pathToCronLib = '../../../../website/server/libs/cron';
describe('cron', () => {
let clock = null;
let user;
- let tasksByType = {habits: [], dailys: [], todos: [], rewards: []};
+ const tasksByType = {
+ habits: [], dailys: [], todos: [], rewards: [],
+ };
let daysMissed = 0;
beforeEach(() => {
@@ -35,39 +37,48 @@ describe('cron', () => {
});
afterEach(() => {
- if (clock !== null)
- clock.restore();
+ if (clock !== null) clock.restore();
analytics.track.restore();
});
it('updates user.preferences.timezoneOffsetAtLastCron', () => {
- let timezoneOffsetFromUserPrefs = 1;
+ const timezoneOffsetFromUserPrefs = 1;
- cron({user, tasksByType, daysMissed, analytics, timezoneOffsetFromUserPrefs});
+ cron({
+ user, tasksByType, daysMissed, analytics, timezoneOffsetFromUserPrefs,
+ });
expect(user.preferences.timezoneOffsetAtLastCron).to.equal(timezoneOffsetFromUserPrefs);
});
it('resets user.items.lastDrop.count', () => {
user.items.lastDrop.count = 4;
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.items.lastDrop.count).to.equal(0);
});
it('increments user cron count', () => {
- let cronCountBefore = user.flags.cronCount;
- cron({user, tasksByType, daysMissed, analytics});
+ const cronCountBefore = user.flags.cronCount;
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.flags.cronCount).to.be.greaterThan(cronCountBefore);
});
it('calls analytics', () => {
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(analytics.track.callCount).to.equal(1);
});
it('calls analytics when user is sleeping', () => {
user.preferences.sleep = true;
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(analytics.track.callCount).to.equal(1);
});
@@ -79,14 +90,18 @@ describe('cron', () => {
it('resets plan.gemsBought on a new month', () => {
user.purchased.plan.gemsBought = 10;
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.purchased.plan.gemsBought).to.equal(0);
});
it('resets plan.gemsBought on a new month if user does not have purchased.plan.dateUpdated', () => {
user.purchased.plan.gemsBought = 10;
user.purchased.plan.dateUpdated = undefined;
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.purchased.plan.gemsBought).to.equal(0);
});
@@ -95,32 +110,42 @@ describe('cron', () => {
user.purchased.plan.dateUpdated = moment().startOf('month').toDate();
user.purchased.plan.gemsBought = 10;
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.purchased.plan.gemsBought).to.equal(10);
});
it('resets plan.dateUpdated on a new month', () => {
- let currentMonth = moment().startOf('month');
- cron({user, tasksByType, daysMissed, analytics});
+ const currentMonth = moment().startOf('month');
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(moment(user.purchased.plan.dateUpdated).startOf('month').isSame(currentMonth)).to.eql(true);
});
it('increments plan.consecutive.count', () => {
user.purchased.plan.consecutive.count = 0;
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.purchased.plan.consecutive.count).to.equal(1);
});
it('increments plan.consecutive.count by more than 1 if user skipped months between logins', () => {
user.purchased.plan.dateUpdated = moment().subtract(2, 'months').toDate();
user.purchased.plan.consecutive.count = 0;
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.purchased.plan.consecutive.count).to.equal(2);
});
it('decrements plan.consecutive.offset when offset is greater than 0', () => {
user.purchased.plan.consecutive.offset = 2;
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.purchased.plan.consecutive.offset).to.equal(1);
});
@@ -130,7 +155,9 @@ describe('cron', () => {
user.purchased.plan.consecutive.count = 5;
user.purchased.plan.consecutive.trinkets = 1;
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.purchased.plan.consecutive.trinkets).to.equal(1);
});
@@ -138,23 +165,29 @@ describe('cron', () => {
it('does not increment plan.consecutive.gemCapExtra when user has reached the gemCap limit', () => {
user.purchased.plan.consecutive.gemCapExtra = 25;
user.purchased.plan.consecutive.count = 5;
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.purchased.plan.consecutive.gemCapExtra).to.equal(25);
});
it('does not reset plan stats if we are before the last day of the cancelled month', () => {
- user.purchased.plan.dateTerminated = moment(new Date()).add({days: 1});
- cron({user, tasksByType, daysMissed, analytics});
+ user.purchased.plan.dateTerminated = moment(new Date()).add({ days: 1 });
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.purchased.plan.customerId).to.exist;
});
it('does reset plan stats if we are after the last day of the cancelled month', () => {
- user.purchased.plan.dateTerminated = moment(new Date()).subtract({days: 1});
+ user.purchased.plan.dateTerminated = moment(new Date()).subtract({ days: 1 });
user.purchased.plan.consecutive.gemCapExtra = 20;
user.purchased.plan.consecutive.count = 5;
user.purchased.plan.consecutive.offset = 1;
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.purchased.plan.customerId).to.not.exist;
expect(user.purchased.plan.consecutive.gemCapExtra).to.equal(0);
@@ -164,7 +197,7 @@ describe('cron', () => {
describe('for a 1-month recurring subscription', () => {
// create a user that will be used for all of these tests without a reset before each
- let user1 = new User({
+ const user1 = new User({
auth: {
local: {
username: 'username1',
@@ -185,10 +218,15 @@ describe('cron', () => {
user1.purchased.plan.consecutive.gemCapExtra = 0;
it('does not increment consecutive benefits after the first month', () => {
- clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(1, 'months').add(2, 'days').toDate());
+ clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(1, 'months')
+ .add(2, 'days')
+ .toDate());
// Add 1 month to simulate what happens a month after the subscription was created.
- // Add 2 days so that we're sure we're not affected by any start-of-month effects e.g., from time zone oddness.
- cron({user: user1, tasksByType, daysMissed, analytics});
+ // Add 2 days so that we're sure we're not affected by any start-of-month effects
+ // e.g., from time zone oddness.
+ cron({
+ user: user1, tasksByType, daysMissed, analytics,
+ });
expect(user1.purchased.plan.consecutive.count).to.equal(1);
expect(user1.purchased.plan.consecutive.offset).to.equal(0);
expect(user1.purchased.plan.consecutive.trinkets).to.equal(0);
@@ -196,10 +234,15 @@ describe('cron', () => {
});
it('does not increment consecutive benefits after the second month', () => {
- clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(2, 'months').add(2, 'days').toDate());
+ clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(2, 'months')
+ .add(2, 'days')
+ .toDate());
// Add 1 month to simulate what happens a month after the subscription was created.
- // Add 2 days so that we're sure we're not affected by any start-of-month effects e.g., from time zone oddness.
- cron({user: user1, tasksByType, daysMissed, analytics});
+ // Add 2 days so that we're sure we're not affected by any start-of-month effects
+ // e.g., from time zone oddness.
+ cron({
+ user: user1, tasksByType, daysMissed, analytics,
+ });
expect(user1.purchased.plan.consecutive.count).to.equal(2);
expect(user1.purchased.plan.consecutive.offset).to.equal(0);
expect(user1.purchased.plan.consecutive.trinkets).to.equal(0);
@@ -207,10 +250,15 @@ describe('cron', () => {
});
it('increments consecutive benefits after the third month', () => {
- clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(3, 'months').add(2, 'days').toDate());
+ clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(3, 'months')
+ .add(2, 'days')
+ .toDate());
// Add 1 month to simulate what happens a month after the subscription was created.
- // Add 2 days so that we're sure we're not affected by any start-of-month effects e.g., from time zone oddness.
- cron({user: user1, tasksByType, daysMissed, analytics});
+ // Add 2 days so that we're sure we're not affected by any start-of-month effects
+ // e.g., from time zone oddness.
+ cron({
+ user: user1, tasksByType, daysMissed, analytics,
+ });
expect(user1.purchased.plan.consecutive.count).to.equal(3);
expect(user1.purchased.plan.consecutive.offset).to.equal(0);
expect(user1.purchased.plan.consecutive.trinkets).to.equal(1);
@@ -218,10 +266,15 @@ describe('cron', () => {
});
it('does not increment consecutive benefits after the fourth month', () => {
- clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(4, 'months').add(2, 'days').toDate());
+ clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(4, 'months')
+ .add(2, 'days')
+ .toDate());
// Add 1 month to simulate what happens a month after the subscription was created.
- // Add 2 days so that we're sure we're not affected by any start-of-month effects e.g., from time zone oddness.
- cron({user: user1, tasksByType, daysMissed, analytics});
+ // Add 2 days so that we're sure we're not affected by any start-of-month effects
+ // e.g., from time zone oddness.
+ cron({
+ user: user1, tasksByType, daysMissed, analytics,
+ });
expect(user1.purchased.plan.consecutive.count).to.equal(4);
expect(user1.purchased.plan.consecutive.offset).to.equal(0);
expect(user1.purchased.plan.consecutive.trinkets).to.equal(1);
@@ -229,8 +282,12 @@ describe('cron', () => {
});
it('increments consecutive benefits correctly if user has been absent with continuous subscription', () => {
- clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(10, 'months').add(2, 'days').toDate());
- cron({user: user1, tasksByType, daysMissed, analytics});
+ clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(10, 'months')
+ .add(2, 'days')
+ .toDate());
+ cron({
+ user: user1, tasksByType, daysMissed, analytics,
+ });
expect(user1.purchased.plan.consecutive.count).to.equal(10);
expect(user1.purchased.plan.consecutive.offset).to.equal(0);
expect(user1.purchased.plan.consecutive.trinkets).to.equal(3);
@@ -239,7 +296,7 @@ describe('cron', () => {
});
describe('for a 3-month recurring subscription', () => {
- let user3 = new User({
+ const user3 = new User({
auth: {
local: {
username: 'username3',
@@ -260,8 +317,12 @@ describe('cron', () => {
user3.purchased.plan.consecutive.gemCapExtra = 5;
it('does not increment consecutive benefits in the first month of the first paid period that they already have benefits for', () => {
- clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(1, 'months').add(2, 'days').toDate());
- cron({user: user3, tasksByType, daysMissed, analytics});
+ clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(1, 'months')
+ .add(2, 'days')
+ .toDate());
+ cron({
+ user: user3, tasksByType, daysMissed, analytics,
+ });
expect(user3.purchased.plan.consecutive.count).to.equal(1);
expect(user3.purchased.plan.consecutive.offset).to.equal(2);
expect(user3.purchased.plan.consecutive.trinkets).to.equal(1);
@@ -269,8 +330,12 @@ describe('cron', () => {
});
it('does not increment consecutive benefits in the middle of the period that they already have benefits for', () => {
- clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(2, 'months').add(2, 'days').toDate());
- cron({user: user3, tasksByType, daysMissed, analytics});
+ clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(2, 'months')
+ .add(2, 'days')
+ .toDate());
+ cron({
+ user: user3, tasksByType, daysMissed, analytics,
+ });
expect(user3.purchased.plan.consecutive.count).to.equal(2);
expect(user3.purchased.plan.consecutive.offset).to.equal(1);
expect(user3.purchased.plan.consecutive.trinkets).to.equal(1);
@@ -278,8 +343,12 @@ describe('cron', () => {
});
it('does not increment consecutive benefits in the final month of the period that they already have benefits for', () => {
- clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(3, 'months').add(2, 'days').toDate());
- cron({user: user3, tasksByType, daysMissed, analytics});
+ clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(3, 'months')
+ .add(2, 'days')
+ .toDate());
+ cron({
+ user: user3, tasksByType, daysMissed, analytics,
+ });
expect(user3.purchased.plan.consecutive.count).to.equal(3);
expect(user3.purchased.plan.consecutive.offset).to.equal(0);
expect(user3.purchased.plan.consecutive.trinkets).to.equal(1);
@@ -287,8 +356,12 @@ describe('cron', () => {
});
it('increments consecutive benefits the month after the second paid period has started', () => {
- clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(4, 'months').add(2, 'days').toDate());
- cron({user: user3, tasksByType, daysMissed, analytics});
+ clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(4, 'months')
+ .add(2, 'days')
+ .toDate());
+ cron({
+ user: user3, tasksByType, daysMissed, analytics,
+ });
expect(user3.purchased.plan.consecutive.count).to.equal(4);
expect(user3.purchased.plan.consecutive.offset).to.equal(2);
expect(user3.purchased.plan.consecutive.trinkets).to.equal(2);
@@ -296,8 +369,12 @@ describe('cron', () => {
});
it('does not increment consecutive benefits in the second month of the second period that they already have benefits for', () => {
- clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(5, 'months').add(2, 'days').toDate());
- cron({user: user3, tasksByType, daysMissed, analytics});
+ clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(5, 'months')
+ .add(2, 'days')
+ .toDate());
+ cron({
+ user: user3, tasksByType, daysMissed, analytics,
+ });
expect(user3.purchased.plan.consecutive.count).to.equal(5);
expect(user3.purchased.plan.consecutive.offset).to.equal(1);
expect(user3.purchased.plan.consecutive.trinkets).to.equal(2);
@@ -305,8 +382,12 @@ describe('cron', () => {
});
it('does not increment consecutive benefits in the final month of the second period that they already have benefits for', () => {
- clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(6, 'months').add(2, 'days').toDate());
- cron({user: user3, tasksByType, daysMissed, analytics});
+ clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(6, 'months')
+ .add(2, 'days')
+ .toDate());
+ cron({
+ user: user3, tasksByType, daysMissed, analytics,
+ });
expect(user3.purchased.plan.consecutive.count).to.equal(6);
expect(user3.purchased.plan.consecutive.offset).to.equal(0);
expect(user3.purchased.plan.consecutive.trinkets).to.equal(2);
@@ -314,8 +395,12 @@ describe('cron', () => {
});
it('increments consecutive benefits the month after the third paid period has started', () => {
- clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(7, 'months').add(2, 'days').toDate());
- cron({user: user3, tasksByType, daysMissed, analytics});
+ clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(7, 'months')
+ .add(2, 'days')
+ .toDate());
+ cron({
+ user: user3, tasksByType, daysMissed, analytics,
+ });
expect(user3.purchased.plan.consecutive.count).to.equal(7);
expect(user3.purchased.plan.consecutive.offset).to.equal(2);
expect(user3.purchased.plan.consecutive.trinkets).to.equal(3);
@@ -323,8 +408,12 @@ describe('cron', () => {
});
it('increments consecutive benefits correctly if user has been absent with continuous subscription', () => {
- clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(10, 'months').add(2, 'days').toDate());
- cron({user: user3, tasksByType, daysMissed, analytics});
+ clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(10, 'months')
+ .add(2, 'days')
+ .toDate());
+ cron({
+ user: user3, tasksByType, daysMissed, analytics,
+ });
expect(user3.purchased.plan.consecutive.count).to.equal(10);
expect(user3.purchased.plan.consecutive.offset).to.equal(2);
expect(user3.purchased.plan.consecutive.trinkets).to.equal(4);
@@ -333,7 +422,7 @@ describe('cron', () => {
});
describe('for a 6-month recurring subscription', () => {
- let user6 = new User({
+ const user6 = new User({
auth: {
local: {
username: 'username6',
@@ -354,8 +443,12 @@ describe('cron', () => {
user6.purchased.plan.consecutive.gemCapExtra = 10;
it('does not increment consecutive benefits in the first month of the first paid period that they already have benefits for', () => {
- clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(1, 'months').add(2, 'days').toDate());
- cron({user: user6, tasksByType, daysMissed, analytics});
+ clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(1, 'months')
+ .add(2, 'days')
+ .toDate());
+ cron({
+ user: user6, tasksByType, daysMissed, analytics,
+ });
expect(user6.purchased.plan.consecutive.count).to.equal(1);
expect(user6.purchased.plan.consecutive.offset).to.equal(5);
expect(user6.purchased.plan.consecutive.trinkets).to.equal(2);
@@ -363,8 +456,12 @@ describe('cron', () => {
});
it('does not increment consecutive benefits in the final month of the period that they already have benefits for', () => {
- clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(6, 'months').add(2, 'days').toDate());
- cron({user: user6, tasksByType, daysMissed, analytics});
+ clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(6, 'months')
+ .add(2, 'days')
+ .toDate());
+ cron({
+ user: user6, tasksByType, daysMissed, analytics,
+ });
expect(user6.purchased.plan.consecutive.count).to.equal(6);
expect(user6.purchased.plan.consecutive.offset).to.equal(0);
expect(user6.purchased.plan.consecutive.trinkets).to.equal(2);
@@ -372,8 +469,12 @@ describe('cron', () => {
});
it('increments consecutive benefits the month after the second paid period has started', () => {
- clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(7, 'months').add(2, 'days').toDate());
- cron({user: user6, tasksByType, daysMissed, analytics});
+ clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(7, 'months')
+ .add(2, 'days')
+ .toDate());
+ cron({
+ user: user6, tasksByType, daysMissed, analytics,
+ });
expect(user6.purchased.plan.consecutive.count).to.equal(7);
expect(user6.purchased.plan.consecutive.offset).to.equal(5);
expect(user6.purchased.plan.consecutive.trinkets).to.equal(4);
@@ -381,8 +482,12 @@ describe('cron', () => {
});
it('increments consecutive benefits the month after the third paid period has started', () => {
- clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(13, 'months').add(2, 'days').toDate());
- cron({user: user6, tasksByType, daysMissed, analytics});
+ clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(13, 'months')
+ .add(2, 'days')
+ .toDate());
+ cron({
+ user: user6, tasksByType, daysMissed, analytics,
+ });
expect(user6.purchased.plan.consecutive.count).to.equal(13);
expect(user6.purchased.plan.consecutive.offset).to.equal(5);
expect(user6.purchased.plan.consecutive.trinkets).to.equal(6);
@@ -390,8 +495,12 @@ describe('cron', () => {
});
it('increments consecutive benefits correctly if user has been absent with continuous subscription', () => {
- clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(19, 'months').add(2, 'days').toDate());
- cron({user: user6, tasksByType, daysMissed, analytics});
+ clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(19, 'months')
+ .add(2, 'days')
+ .toDate());
+ cron({
+ user: user6, tasksByType, daysMissed, analytics,
+ });
expect(user6.purchased.plan.consecutive.count).to.equal(19);
expect(user6.purchased.plan.consecutive.offset).to.equal(5);
expect(user6.purchased.plan.consecutive.trinkets).to.equal(8);
@@ -400,7 +509,7 @@ describe('cron', () => {
});
describe('for a 12-month recurring subscription', () => {
- let user12 = new User({
+ const user12 = new User({
auth: {
local: {
username: 'username12',
@@ -421,8 +530,12 @@ describe('cron', () => {
user12.purchased.plan.consecutive.gemCapExtra = 20;
it('does not increment consecutive benefits in the first month of the first paid period that they already have benefits for', () => {
- clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(1, 'months').add(2, 'days').toDate());
- cron({user: user12, tasksByType, daysMissed, analytics});
+ clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(1, 'months')
+ .add(2, 'days')
+ .toDate());
+ cron({
+ user: user12, tasksByType, daysMissed, analytics,
+ });
expect(user12.purchased.plan.consecutive.count).to.equal(1);
expect(user12.purchased.plan.consecutive.offset).to.equal(11);
expect(user12.purchased.plan.consecutive.trinkets).to.equal(4);
@@ -430,8 +543,12 @@ describe('cron', () => {
});
it('does not increment consecutive benefits in the final month of the period that they already have benefits for', () => {
- clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(12, 'months').add(2, 'days').toDate());
- cron({user: user12, tasksByType, daysMissed, analytics});
+ clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(12, 'months')
+ .add(2, 'days')
+ .toDate());
+ cron({
+ user: user12, tasksByType, daysMissed, analytics,
+ });
expect(user12.purchased.plan.consecutive.count).to.equal(12);
expect(user12.purchased.plan.consecutive.offset).to.equal(0);
expect(user12.purchased.plan.consecutive.trinkets).to.equal(4);
@@ -439,8 +556,12 @@ describe('cron', () => {
});
it('increments consecutive benefits the month after the second paid period has started', () => {
- clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(13, 'months').add(2, 'days').toDate());
- cron({user: user12, tasksByType, daysMissed, analytics});
+ clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(13, 'months')
+ .add(2, 'days')
+ .toDate());
+ cron({
+ user: user12, tasksByType, daysMissed, analytics,
+ });
expect(user12.purchased.plan.consecutive.count).to.equal(13);
expect(user12.purchased.plan.consecutive.offset).to.equal(11);
expect(user12.purchased.plan.consecutive.trinkets).to.equal(8);
@@ -448,8 +569,12 @@ describe('cron', () => {
});
it('increments consecutive benefits the month after the third paid period has started', () => {
- clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(25, 'months').add(2, 'days').toDate());
- cron({user: user12, tasksByType, daysMissed, analytics});
+ clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(25, 'months')
+ .add(2, 'days')
+ .toDate());
+ cron({
+ user: user12, tasksByType, daysMissed, analytics,
+ });
expect(user12.purchased.plan.consecutive.count).to.equal(25);
expect(user12.purchased.plan.consecutive.offset).to.equal(11);
expect(user12.purchased.plan.consecutive.trinkets).to.equal(12);
@@ -457,8 +582,12 @@ describe('cron', () => {
});
it('increments consecutive benefits correctly if user has been absent with continuous subscription', () => {
- clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(37, 'months').add(2, 'days').toDate());
- cron({user: user12, tasksByType, daysMissed, analytics});
+ clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(37, 'months')
+ .add(2, 'days')
+ .toDate());
+ cron({
+ user: user12, tasksByType, daysMissed, analytics,
+ });
expect(user12.purchased.plan.consecutive.count).to.equal(37);
expect(user12.purchased.plan.consecutive.offset).to.equal(11);
expect(user12.purchased.plan.consecutive.trinkets).to.equal(16);
@@ -467,7 +596,7 @@ describe('cron', () => {
});
describe('for a 3-month gift subscription (non-recurring)', () => {
- let user3g = new User({
+ const user3g = new User({
auth: {
local: {
username: 'username3g',
@@ -481,7 +610,8 @@ describe('cron', () => {
// user3g has a 3-month gift subscription starting today
user3g.purchased.plan.customerId = 'Gift';
user3g.purchased.plan.dateUpdated = moment().toDate();
- user3g.purchased.plan.dateTerminated = moment().startOf('month').add(3, 'months').add(15, 'days').toDate();
+ user3g.purchased.plan.dateTerminated = moment().startOf('month').add(3, 'months').add(15, 'days')
+ .toDate();
user3g.purchased.plan.planId = null;
user3g.purchased.plan.consecutive.count = 0;
user3g.purchased.plan.consecutive.offset = 3;
@@ -489,8 +619,12 @@ describe('cron', () => {
user3g.purchased.plan.consecutive.gemCapExtra = 5;
it('does not increment consecutive benefits in the first month of the gift subscription', () => {
- clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(1, 'months').add(2, 'days').toDate());
- cron({user: user3g, tasksByType, daysMissed, analytics});
+ clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(1, 'months')
+ .add(2, 'days')
+ .toDate());
+ cron({
+ user: user3g, tasksByType, daysMissed, analytics,
+ });
expect(user3g.purchased.plan.consecutive.count).to.equal(1);
expect(user3g.purchased.plan.consecutive.offset).to.equal(2);
expect(user3g.purchased.plan.consecutive.trinkets).to.equal(1);
@@ -498,8 +632,12 @@ describe('cron', () => {
});
it('does not increment consecutive benefits in the second month of the gift subscription', () => {
- clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(2, 'months').add(2, 'days').toDate());
- cron({user: user3g, tasksByType, daysMissed, analytics});
+ clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(2, 'months')
+ .add(2, 'days')
+ .toDate());
+ cron({
+ user: user3g, tasksByType, daysMissed, analytics,
+ });
expect(user3g.purchased.plan.consecutive.count).to.equal(2);
expect(user3g.purchased.plan.consecutive.offset).to.equal(1);
expect(user3g.purchased.plan.consecutive.trinkets).to.equal(1);
@@ -507,8 +645,12 @@ describe('cron', () => {
});
it('does not increment consecutive benefits in the third month of the gift subscription', () => {
- clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(3, 'months').add(2, 'days').toDate());
- cron({user: user3g, tasksByType, daysMissed, analytics});
+ clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(3, 'months')
+ .add(2, 'days')
+ .toDate());
+ cron({
+ user: user3g, tasksByType, daysMissed, analytics,
+ });
expect(user3g.purchased.plan.consecutive.count).to.equal(3);
expect(user3g.purchased.plan.consecutive.offset).to.equal(0);
expect(user3g.purchased.plan.consecutive.trinkets).to.equal(1);
@@ -516,9 +658,14 @@ describe('cron', () => {
});
it('does not increment consecutive benefits in the month after the gift subscription has ended', () => {
- clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(4, 'months').add(2, 'days').toDate());
- cron({user: user3g, tasksByType, daysMissed, analytics});
- expect(user3g.purchased.plan.consecutive.count).to.equal(0); // subscription has been erased by now
+ clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(4, 'months')
+ .add(2, 'days')
+ .toDate());
+ cron({
+ user: user3g, tasksByType, daysMissed, analytics,
+ });
+ // subscription has been erased by now
+ expect(user3g.purchased.plan.consecutive.count).to.equal(0);
expect(user3g.purchased.plan.consecutive.offset).to.equal(0);
expect(user3g.purchased.plan.consecutive.trinkets).to.equal(1);
expect(user3g.purchased.plan.consecutive.gemCapExtra).to.equal(0); // erased
@@ -526,7 +673,7 @@ describe('cron', () => {
});
describe('for a 6-month recurring subscription where the user has incorrect consecutive month data from prior bugs', () => {
- let user6x = new User({
+ const user6x = new User({
auth: {
local: {
username: 'username6x',
@@ -537,7 +684,8 @@ describe('cron', () => {
},
},
});
- // user6x has a 6-month recurring subscription starting 8 months in the past before issue #4819 was fixed
+ // user6x has a 6-month recurring subscription starting 8 months in the past
+ // before issue #4819 was fixed
user6x.purchased.plan.customerId = 'subscribedId';
user6x.purchased.plan.dateUpdated = moment().toDate();
user6x.purchased.plan.planId = 'basic_6mo';
@@ -547,8 +695,12 @@ describe('cron', () => {
user6x.purchased.plan.consecutive.gemCapExtra = 15;
it('increments consecutive benefits in the first month since the fix for #4819 goes live', () => {
- clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(1, 'months').add(2, 'days').toDate());
- cron({user: user6x, tasksByType, daysMissed, analytics});
+ clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(1, 'months')
+ .add(2, 'days')
+ .toDate());
+ cron({
+ user: user6x, tasksByType, daysMissed, analytics,
+ });
expect(user6x.purchased.plan.consecutive.count).to.equal(9);
expect(user6x.purchased.plan.consecutive.offset).to.equal(5);
expect(user6x.purchased.plan.consecutive.trinkets).to.equal(5);
@@ -556,8 +708,12 @@ describe('cron', () => {
});
it('does not increment consecutive benefits in the second month after the fix goes live', () => {
- clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(2, 'months').add(2, 'days').toDate());
- cron({user: user6x, tasksByType, daysMissed, analytics});
+ clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(2, 'months')
+ .add(2, 'days')
+ .toDate());
+ cron({
+ user: user6x, tasksByType, daysMissed, analytics,
+ });
expect(user6x.purchased.plan.consecutive.count).to.equal(10);
expect(user6x.purchased.plan.consecutive.offset).to.equal(4);
expect(user6x.purchased.plan.consecutive.trinkets).to.equal(5);
@@ -565,8 +721,12 @@ describe('cron', () => {
});
it('does not increment consecutive benefits in the third month after the fix goes live', () => {
- clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(3, 'months').add(2, 'days').toDate());
- cron({user: user6x, tasksByType, daysMissed, analytics});
+ clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(3, 'months')
+ .add(2, 'days')
+ .toDate());
+ cron({
+ user: user6x, tasksByType, daysMissed, analytics,
+ });
expect(user6x.purchased.plan.consecutive.count).to.equal(11);
expect(user6x.purchased.plan.consecutive.offset).to.equal(3);
expect(user6x.purchased.plan.consecutive.trinkets).to.equal(5);
@@ -574,8 +734,12 @@ describe('cron', () => {
});
it('increments consecutive benefits in the seventh month after the fix goes live', () => {
- clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(7, 'months').add(2, 'days').toDate());
- cron({user: user6x, tasksByType, daysMissed, analytics});
+ clock = sinon.useFakeTimers(moment().zone(0).startOf('month').add(7, 'months')
+ .add(2, 'days')
+ .toDate());
+ cron({
+ user: user6x, tasksByType, daysMissed, analytics,
+ });
expect(user6x.purchased.plan.consecutive.count).to.equal(15);
expect(user6x.purchased.plan.consecutive.offset).to.equal(5);
expect(user6x.purchased.plan.consecutive.trinkets).to.equal(7);
@@ -591,7 +755,9 @@ describe('cron', () => {
it('resets plan.gemsBought on a new month', () => {
user.purchased.plan.gemsBought = 10;
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.purchased.plan.gemsBought).to.equal(0);
});
@@ -600,59 +766,77 @@ describe('cron', () => {
user.purchased.plan.dateUpdated = moment().startOf('month').toDate();
user.purchased.plan.gemsBought = 10;
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.purchased.plan.gemsBought).to.equal(10);
});
it('does not reset plan.dateUpdated on a new month', () => {
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.purchased.plan.dateUpdated).to.be.empty;
});
it('does not increment plan.consecutive.count', () => {
user.purchased.plan.consecutive.count = 0;
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.purchased.plan.consecutive.count).to.equal(0);
});
it('does not decrement plan.consecutive.offset when offset is greater than 0', () => {
user.purchased.plan.consecutive.offset = 1;
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.purchased.plan.consecutive.offset).to.equal(1);
});
it('does not increment plan.consecutive.trinkets when user has reached a month that is a multiple of 3', () => {
user.purchased.plan.consecutive.count = 5;
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.purchased.plan.consecutive.trinkets).to.equal(0);
});
it('does not increment plan.consecutive.gemCapExtra when user has reached a month that is a multiple of 3', () => {
user.purchased.plan.consecutive.count = 5;
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.purchased.plan.consecutive.gemCapExtra).to.equal(0);
});
it('does not increment plan.consecutive.gemCapExtra when user has reached the gemCap limit', () => {
user.purchased.plan.consecutive.gemCapExtra = 25;
user.purchased.plan.consecutive.count = 5;
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.purchased.plan.consecutive.gemCapExtra).to.equal(25);
});
it('does nothing to plan stats if we are before the last day of the cancelled month', () => {
- user.purchased.plan.dateTerminated = moment(new Date()).add({days: 1});
- cron({user, tasksByType, daysMissed, analytics});
+ user.purchased.plan.dateTerminated = moment(new Date()).add({ days: 1 });
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.purchased.plan.customerId).to.not.exist;
});
xit('does nothing to plan stats when we are after the last day of the cancelled month', () => {
- user.purchased.plan.dateTerminated = moment(new Date()).subtract({days: 1});
+ user.purchased.plan.dateTerminated = moment(new Date()).subtract({ days: 1 });
user.purchased.plan.consecutive.gemCapExtra = 20;
user.purchased.plan.consecutive.count = 5;
user.purchased.plan.consecutive.offset = 1;
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.purchased.plan.customerId).to.exist;
expect(user.purchased.plan.consecutive.gemCapExtra).to.exist;
@@ -663,26 +847,30 @@ describe('cron', () => {
describe('todos', () => {
beforeEach(() => {
- let todo = {
+ const todo = {
text: 'test todo',
type: 'todo',
value: 0,
};
- let task = new Tasks.todo(Tasks.Task.sanitize(todo)); // eslint-disable-line new-cap
+ const task = new Tasks.todo(Tasks.Task.sanitize(todo)); // eslint-disable-line new-cap
tasksByType.todos.push(task);
});
it('should make uncompleted todos redder', () => {
- let valueBefore = tasksByType.todos[0].value;
- cron({user, tasksByType, daysMissed, analytics});
+ const valueBefore = tasksByType.todos[0].value;
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(tasksByType.todos[0].value).to.be.lessThan(valueBefore);
});
it('should add history of completed todos to user history', () => {
tasksByType.todos[0].completed = true;
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.history.todos).to.be.lengthOf(1);
});
@@ -690,7 +878,7 @@ describe('cron', () => {
it('should remove completed todos from users taskOrder list', () => {
tasksByType.todos = [];
user.tasksOrder.todos = [];
- let todo = {
+ const todo = {
text: 'test todo',
type: 'todo',
value: 0,
@@ -702,16 +890,17 @@ describe('cron', () => {
tasksByType.todos.push(task);
tasksByType.todos[0].completed = true;
- user.tasksOrder.todos = tasksByType.todos.map(taskTodo => {
- return taskTodo._id;
- });
- // Since ideally tasksByType should not contain completed todos, fake ids should be filtered too
+ user.tasksOrder.todos = tasksByType.todos.map(taskTodo => taskTodo._id);
+ // Since ideally tasksByType should not contain completed todos,
+ // fake ids should be filtered too
user.tasksOrder.todos.push('00000000-0000-0000-0000-000000000000');
expect(tasksByType.todos).to.be.lengthOf(2);
expect(user.tasksOrder.todos).to.be.lengthOf(3);
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
// user.tasksOrder.todos should be filtered while tasks by type remains unchanged
expect(tasksByType.todos).to.be.lengthOf(2);
@@ -721,7 +910,7 @@ describe('cron', () => {
it('should preserve todos order in task list', () => {
tasksByType.todos = [];
user.tasksOrder.todos = [];
- let todo = {
+ const todo = {
text: 'test todo',
type: 'todo',
value: 0,
@@ -735,12 +924,12 @@ describe('cron', () => {
tasksByType.todos.push(task);
// Set up user.tasksOrder list in a specific order
- user.tasksOrder.todos = tasksByType.todos.map(todoTask => {
- return todoTask._id;
- }).reverse();
- let original = user.tasksOrder.todos; // Preserve the original order
+ user.tasksOrder.todos = tasksByType.todos.map(todoTask => todoTask._id).reverse();
+ const original = user.tasksOrder.todos; // Preserve the original order
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
let listsAreEqual = true;
user.tasksOrder.todos.forEach((taskId, index) => {
@@ -756,18 +945,18 @@ describe('cron', () => {
describe('dailys', () => {
beforeEach(() => {
- let daily = {
+ const daily = {
text: 'test daily',
type: 'daily',
};
- let task = new Tasks.daily(Tasks.Task.sanitize(daily)); // eslint-disable-line new-cap
+ const task = new Tasks.daily(Tasks.Task.sanitize(daily)); // eslint-disable-line new-cap
tasksByType.dailys = [];
tasksByType.dailys.push(task);
const statsComputedRes = common.statsComputed(user);
const stubbedStatsComputed = sinon.stub(common, 'statsComputed');
- stubbedStatsComputed.returns(Object.assign(statsComputedRes, {con: 1}));
+ stubbedStatsComputed.returns(Object.assign(statsComputedRes, { con: 1 }));
});
afterEach(() => {
@@ -778,7 +967,9 @@ describe('cron', () => {
tasksByType.dailys[0].frequency = 'daily';
tasksByType.dailys[0].everyX = 5;
tasksByType.dailys[0].startDate = moment().add(1, 'days').toDate();
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(tasksByType.dailys[0].isDue).to.be.false;
});
@@ -787,7 +978,9 @@ describe('cron', () => {
tasksByType.dailys[0].frequency = 'daily';
tasksByType.dailys[0].everyX = 5;
tasksByType.dailys[0].startDate = moment().toDate();
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(tasksByType.dailys[0].isDue).to.exist;
});
@@ -795,88 +988,110 @@ describe('cron', () => {
tasksByType.dailys[0].frequency = 'daily';
tasksByType.dailys[0].everyX = 5;
tasksByType.dailys[0].startDate = moment().add(1, 'days').toDate();
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(tasksByType.dailys[0].nextDue.length).to.eql(6);
});
it('should add history', () => {
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(tasksByType.dailys[0].history).to.be.lengthOf(1);
});
it('should set tasks completed to false', () => {
tasksByType.dailys[0].completed = true;
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(tasksByType.dailys[0].completed).to.be.false;
});
it('should set tasks completed to false when user is sleeping', () => {
user.preferences.sleep = true;
tasksByType.dailys[0].completed = true;
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(tasksByType.dailys[0].completed).to.be.false;
});
it('should reset task checklist for completed dailys', () => {
- tasksByType.dailys[0].checklist.push({title: 'test', completed: false});
+ tasksByType.dailys[0].checklist.push({ title: 'test', completed: false });
tasksByType.dailys[0].completed = true;
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(tasksByType.dailys[0].checklist[0].completed).to.be.false;
});
it('should reset task checklist for completed dailys when user is sleeping', () => {
user.preferences.sleep = true;
- tasksByType.dailys[0].checklist.push({title: 'test', completed: false});
+ tasksByType.dailys[0].checklist.push({ title: 'test', completed: false });
tasksByType.dailys[0].completed = true;
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(tasksByType.dailys[0].checklist[0].completed).to.be.false;
});
it('should reset task checklist for dailys with scheduled misses', () => {
daysMissed = 10;
- tasksByType.dailys[0].checklist.push({title: 'test', completed: false});
- tasksByType.dailys[0].startDate = moment(new Date()).subtract({days: 1});
- cron({user, tasksByType, daysMissed, analytics});
+ tasksByType.dailys[0].checklist.push({ title: 'test', completed: false });
+ tasksByType.dailys[0].startDate = moment(new Date()).subtract({ days: 1 });
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(tasksByType.dailys[0].checklist[0].completed).to.be.false;
});
it('should do damage for missing a daily', () => {
daysMissed = 1;
- let hpBefore = user.stats.hp;
- tasksByType.dailys[0].startDate = moment(new Date()).subtract({days: 1});
- cron({user, tasksByType, daysMissed, analytics});
+ const hpBefore = user.stats.hp;
+ tasksByType.dailys[0].startDate = moment(new Date()).subtract({ days: 1 });
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.stats.hp).to.be.lessThan(hpBefore);
});
it('should not do damage for missing a daily when user is sleeping', () => {
user.preferences.sleep = true;
daysMissed = 1;
- let hpBefore = user.stats.hp;
- tasksByType.dailys[0].startDate = moment(new Date()).subtract({days: 1});
- cron({user, tasksByType, daysMissed, analytics});
+ const hpBefore = user.stats.hp;
+ tasksByType.dailys[0].startDate = moment(new Date()).subtract({ days: 1 });
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.stats.hp).to.equal(hpBefore);
});
it('should not do damage for missing a daily when CRON_SAFE_MODE is set', () => {
sandbox.stub(nconf, 'get').withArgs('CRON_SAFE_MODE').returns('true');
- let cronOverride = requireAgain(pathToCronLib).cron;
+ const cronOverride = requireAgain(pathToCronLib).cron;
daysMissed = 1;
- let hpBefore = user.stats.hp;
- tasksByType.dailys[0].startDate = moment(new Date()).subtract({days: 1});
+ const hpBefore = user.stats.hp;
+ tasksByType.dailys[0].startDate = moment(new Date()).subtract({ days: 1 });
- cronOverride({user, tasksByType, daysMissed, analytics});
+ cronOverride({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.stats.hp).to.equal(hpBefore);
});
it('should not do damage for missing a daily if user stealth buff is greater than or equal to days missed', () => {
daysMissed = 1;
- let hpBefore = user.stats.hp;
+ const hpBefore = user.stats.hp;
user.stats.buffs.stealth = 2;
- tasksByType.dailys[0].startDate = moment(new Date()).subtract({days: 1});
+ tasksByType.dailys[0].startDate = moment(new Date()).subtract({ days: 1 });
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.stats.hp).to.equal(hpBefore);
});
@@ -884,24 +1099,31 @@ describe('cron', () => {
it('should do less damage for missing a daily with partial completion', () => {
daysMissed = 1;
let hpBefore = user.stats.hp;
- tasksByType.dailys[0].startDate = moment(new Date()).subtract({days: 1});
- cron({user, tasksByType, daysMissed, analytics});
- let hpDifferenceOfFullyIncompleteDaily = hpBefore - user.stats.hp;
+ tasksByType.dailys[0].startDate = moment(new Date()).subtract({ days: 1 });
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
+ const hpDifferenceOfFullyIncompleteDaily = hpBefore - user.stats.hp;
hpBefore = user.stats.hp;
- tasksByType.dailys[0].checklist.push({title: 'test', completed: true});
- tasksByType.dailys[0].checklist.push({title: 'test2', completed: false});
- cron({user, tasksByType, daysMissed, analytics});
- let hpDifferenceOfPartiallyIncompleteDaily = hpBefore - user.stats.hp;
+ tasksByType.dailys[0].checklist.push({ title: 'test', completed: true });
+ tasksByType.dailys[0].checklist.push({ title: 'test2', completed: false });
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
+ const hpDifferenceOfPartiallyIncompleteDaily = hpBefore - user.stats.hp;
- expect(hpDifferenceOfPartiallyIncompleteDaily).to.be.lessThan(hpDifferenceOfFullyIncompleteDaily);
+ expect(hpDifferenceOfPartiallyIncompleteDaily)
+ .to.be.lessThan(hpDifferenceOfFullyIncompleteDaily);
});
it('should decrement quest.progress.down for missing a daily', () => {
daysMissed = 1;
- tasksByType.dailys[0].startDate = moment(new Date()).subtract({days: 1});
+ tasksByType.dailys[0].startDate = moment(new Date()).subtract({ days: 1 });
- let progress = cron({user, tasksByType, daysMissed, analytics});
+ const progress = cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(progress.down).to.equal(-1);
});
@@ -909,28 +1131,32 @@ describe('cron', () => {
it('should not decrement quest.progress.down for missing a daily when user is sleeping', () => {
user.preferences.sleep = true;
daysMissed = 1;
- tasksByType.dailys[0].startDate = moment(new Date()).subtract({days: 1});
+ tasksByType.dailys[0].startDate = moment(new Date()).subtract({ days: 1 });
- let progress = cron({user, tasksByType, daysMissed, analytics});
+ const progress = cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(progress.down).to.equal(0);
});
it('should do damage for only yesterday\'s dailies', () => {
daysMissed = 3;
- tasksByType.dailys[0].startDate = moment(new Date()).subtract({days: 1});
+ tasksByType.dailys[0].startDate = moment(new Date()).subtract({ days: 1 });
- let daily = {
+ const daily = {
text: 'test daily',
type: 'daily',
};
- let task = new Tasks.daily(Tasks.Task.sanitize(daily)); // eslint-disable-line new-cap
+ const task = new Tasks.daily(Tasks.Task.sanitize(daily)); // eslint-disable-line new-cap
tasksByType.dailys.push(task);
- tasksByType.dailys[1].startDate = moment(new Date()).subtract({days: 2});
+ tasksByType.dailys[1].startDate = moment(new Date()).subtract({ days: 2 });
tasksByType.dailys[1].everyX = 2;
tasksByType.dailys[1].frequency = 'daily';
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.stats.hp).to.equal(48);
});
@@ -938,12 +1164,12 @@ describe('cron', () => {
describe('habits', () => {
beforeEach(() => {
- let habit = {
+ const habit = {
text: 'test habit',
type: 'habit',
};
- let task = new Tasks.habit(Tasks.Task.sanitize(habit)); // eslint-disable-line new-cap
+ const task = new Tasks.habit(Tasks.Task.sanitize(habit)); // eslint-disable-line new-cap
tasksByType.habits = [];
tasksByType.habits.push(task);
});
@@ -952,7 +1178,9 @@ describe('cron', () => {
tasksByType.habits[0].value = 1;
tasksByType.habits[0].down = false;
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(tasksByType.habits[0].value).to.be.lessThan(1);
});
@@ -961,7 +1189,9 @@ describe('cron', () => {
tasksByType.habits[0].value = 1;
tasksByType.habits[0].up = false;
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(tasksByType.habits[0].value).to.be.lessThan(1);
});
@@ -971,13 +1201,15 @@ describe('cron', () => {
tasksByType.habits[0].up = true;
tasksByType.habits[0].down = true;
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(tasksByType.habits[0].value).to.equal(1);
});
describe('counters', () => {
- let notStartOfWeekOrMonth = new Date(2016, 9, 28).getTime(); // a Friday
+ const notStartOfWeekOrMonth = new Date(2016, 9, 28).getTime(); // a Friday
beforeEach(() => {
// Replace system clocks so we can get predictable results
@@ -988,7 +1220,9 @@ describe('cron', () => {
tasksByType.habits[0].counterUp = 1;
tasksByType.habits[0].counterDown = 1;
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(tasksByType.habits[0].counterUp).to.equal(0);
expect(tasksByType.habits[0].counterDown).to.equal(0);
@@ -999,7 +1233,9 @@ describe('cron', () => {
tasksByType.habits[0].counterUp = 1;
tasksByType.habits[0].counterDown = 1;
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(tasksByType.habits[0].counterUp).to.equal(0);
expect(tasksByType.habits[0].counterDown).to.equal(0);
@@ -1011,14 +1247,18 @@ describe('cron', () => {
tasksByType.habits[0].counterDown = 1;
// should not reset
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(tasksByType.habits[0].counterUp).to.equal(1);
expect(tasksByType.habits[0].counterDown).to.equal(1);
// should reset
daysMissed = 8;
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(tasksByType.habits[0].counterUp).to.equal(0);
expect(tasksByType.habits[0].counterDown).to.equal(0);
@@ -1040,7 +1280,9 @@ describe('cron', () => {
daysMissed = 1;
// should not reset
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(tasksByType.habits[0].counterUp).to.equal(1);
expect(tasksByType.habits[0].counterDown).to.equal(1);
@@ -1052,7 +1294,9 @@ describe('cron', () => {
clock = sinon.useFakeTimers(monday);
// should reset after user CDS
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(tasksByType.habits[0].counterUp).to.equal(0);
expect(tasksByType.habits[0].counterDown).to.equal(0);
@@ -1062,7 +1306,7 @@ describe('cron', () => {
clock.restore();
// Server clock: Monday 11pm UTC
- let monday = new Date('May 22, 2017 23:00:00 GMT').getTime();
+ const monday = new Date('May 22, 2017 23:00:00 GMT').getTime();
clock = sinon.useFakeTimers(monday);
// User clock: Tuesday 1am UTC + 2
@@ -1074,7 +1318,9 @@ describe('cron', () => {
daysMissed = 1;
// should not reset
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(tasksByType.habits[0].counterUp).to.equal(1);
expect(tasksByType.habits[0].counterDown).to.equal(1);
@@ -1082,7 +1328,9 @@ describe('cron', () => {
// User missed one cron, which will subtract User clock back to Monday 1am UTC + 2
// should reset
daysMissed = 2;
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(tasksByType.habits[0].counterUp).to.equal(0);
expect(tasksByType.habits[0].counterDown).to.equal(0);
@@ -1092,7 +1340,7 @@ describe('cron', () => {
clock.restore();
// Server clock: Sunday 11pm UTC
- let sunday = new Date('May 21, 2017 23:00:00 GMT').getTime();
+ const sunday = new Date('May 21, 2017 23:00:00 GMT').getTime();
clock = sinon.useFakeTimers(sunday);
// User clock: Monday 2am UTC + 3
@@ -1104,7 +1352,9 @@ describe('cron', () => {
daysMissed = 1;
// should reset
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(tasksByType.habits[0].counterUp).to.equal(0);
expect(tasksByType.habits[0].counterDown).to.equal(0);
@@ -1114,7 +1364,7 @@ describe('cron', () => {
clock.restore();
// Server clock: Monday 2am UTC
- let monday = new Date('May 22, 2017 02:00:00 GMT').getTime();
+ const monday = new Date('May 22, 2017 02:00:00 GMT').getTime();
clock = sinon.useFakeTimers(monday);
// User clock: Sunday 11pm UTC - 3
@@ -1126,7 +1376,9 @@ describe('cron', () => {
daysMissed = 1;
// should not reset
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(tasksByType.habits[0].counterUp).to.equal(1);
expect(tasksByType.habits[0].counterDown).to.equal(1);
@@ -1138,14 +1390,18 @@ describe('cron', () => {
tasksByType.habits[0].counterDown = 1;
// should not reset
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(tasksByType.habits[0].counterUp).to.equal(1);
expect(tasksByType.habits[0].counterDown).to.equal(1);
// should reset
daysMissed = 32;
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(tasksByType.habits[0].counterUp).to.equal(0);
expect(tasksByType.habits[0].counterDown).to.equal(0);
@@ -1156,7 +1412,7 @@ describe('cron', () => {
daysMissed = 0;
// Server clock: 4/30/17 11pm UTC
- let monday = new Date('April 30, 2017 23:00:00 GMT').getTime();
+ const monday = new Date('April 30, 2017 23:00:00 GMT').getTime();
clock = sinon.useFakeTimers(monday);
// User clock: 5/1/17 2am UTC + 3
@@ -1168,7 +1424,9 @@ describe('cron', () => {
daysMissed = 1;
// should reset
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(tasksByType.habits[0].counterUp).to.equal(0);
expect(tasksByType.habits[0].counterDown).to.equal(0);
@@ -1178,7 +1436,7 @@ describe('cron', () => {
clock.restore();
// Server clock: 5/1/17 11pm UTC
- let monday = new Date('May 1, 2017 23:00:00 GMT').getTime();
+ const monday = new Date('May 1, 2017 23:00:00 GMT').getTime();
clock = sinon.useFakeTimers(monday);
// User clock: 5/2/17 2am UTC + 3
@@ -1190,7 +1448,9 @@ describe('cron', () => {
daysMissed = 1;
// should not reset
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(tasksByType.habits[0].counterUp).to.equal(1);
expect(tasksByType.habits[0].counterDown).to.equal(1);
@@ -1198,7 +1458,9 @@ describe('cron', () => {
// User missed one day, which will subtract User clock back to 5/1/17 2am UTC + 3
// should reset
daysMissed = 2;
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(tasksByType.habits[0].counterUp).to.equal(0);
expect(tasksByType.habits[0].counterDown).to.equal(0);
@@ -1208,18 +1470,18 @@ describe('cron', () => {
describe('perfect day', () => {
beforeEach(() => {
- let daily = {
+ const daily = {
text: 'test daily',
type: 'daily',
};
- let task = new Tasks.daily(Tasks.Task.sanitize(daily)); // eslint-disable-line new-cap
+ const task = new Tasks.daily(Tasks.Task.sanitize(daily)); // eslint-disable-line new-cap
tasksByType.dailys = [];
tasksByType.dailys.push(task);
const statsComputedRes = common.statsComputed(user);
const stubbedStatsComputed = sinon.stub(common, 'statsComputed');
- stubbedStatsComputed.returns(Object.assign(statsComputedRes, {con: 1}));
+ stubbedStatsComputed.returns(Object.assign(statsComputedRes, { con: 1 }));
});
afterEach(() => {
@@ -1229,7 +1491,9 @@ describe('cron', () => {
it('stores a new entry in user.history.exp', () => {
user.stats.lvl = 2;
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.history.exp).to.have.lengthOf(1);
expect(user.history.exp[0].value).to.equal(25);
@@ -1238,9 +1502,11 @@ describe('cron', () => {
it('increments perfect day achievement if all (at least 1) due dailies were completed', () => {
daysMissed = 1;
tasksByType.dailys[0].completed = true;
- tasksByType.dailys[0].startDate = moment(new Date()).subtract({days: 1});
+ tasksByType.dailys[0].startDate = moment(new Date()).subtract({ days: 1 });
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.achievements.perfect).to.equal(1);
});
@@ -1248,9 +1514,11 @@ describe('cron', () => {
it('does not increment perfect day achievement if no due dailies', () => {
daysMissed = 1;
tasksByType.dailys[0].completed = true;
- tasksByType.dailys[0].startDate = moment(new Date()).add({days: 1});
+ tasksByType.dailys[0].startDate = moment(new Date()).add({ days: 1 });
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.achievements.perfect).to.equal(0);
});
@@ -1258,11 +1526,13 @@ describe('cron', () => {
it('gives perfect day buff if all (at least 1) due dailies were completed', () => {
daysMissed = 1;
tasksByType.dailys[0].completed = true;
- tasksByType.dailys[0].startDate = moment(new Date()).subtract({days: 1});
+ tasksByType.dailys[0].startDate = moment(new Date()).subtract({ days: 1 });
- let previousBuffs = user.stats.buffs.toObject();
+ const previousBuffs = user.stats.buffs.toObject();
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.stats.buffs.str).to.be.greaterThan(previousBuffs.str);
expect(user.stats.buffs.int).to.be.greaterThan(previousBuffs.int);
@@ -1274,11 +1544,13 @@ describe('cron', () => {
user.preferences.sleep = true;
daysMissed = 1;
tasksByType.dailys[0].completed = true;
- tasksByType.dailys[0].startDate = moment(new Date()).subtract({days: 1});
+ tasksByType.dailys[0].startDate = moment(new Date()).subtract({ days: 1 });
- let previousBuffs = user.stats.buffs.toObject();
+ const previousBuffs = user.stats.buffs.toObject();
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.stats.buffs.str).to.be.greaterThan(previousBuffs.str);
expect(user.stats.buffs.int).to.be.greaterThan(previousBuffs.int);
@@ -1289,7 +1561,7 @@ describe('cron', () => {
it('clears buffs if user does not have a perfect day (no due dailys)', () => {
daysMissed = 1;
tasksByType.dailys[0].completed = true;
- tasksByType.dailys[0].startDate = moment(new Date()).add({days: 1});
+ tasksByType.dailys[0].startDate = moment(new Date()).add({ days: 1 });
user.stats.buffs = {
str: 1,
@@ -1300,7 +1572,9 @@ describe('cron', () => {
streaks: true,
};
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.stats.buffs.str).to.equal(0);
expect(user.stats.buffs.int).to.equal(0);
@@ -1314,7 +1588,7 @@ describe('cron', () => {
user.preferences.sleep = true;
daysMissed = 1;
tasksByType.dailys[0].completed = true;
- tasksByType.dailys[0].startDate = moment(new Date()).add({days: 1});
+ tasksByType.dailys[0].startDate = moment(new Date()).add({ days: 1 });
user.stats.buffs = {
str: 1,
@@ -1325,7 +1599,9 @@ describe('cron', () => {
streaks: true,
};
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.stats.buffs.str).to.equal(0);
expect(user.stats.buffs.int).to.equal(0);
@@ -1338,7 +1614,7 @@ describe('cron', () => {
it('clears buffs if user does not have a perfect day (at least one due daily not completed)', () => {
daysMissed = 1;
tasksByType.dailys[0].completed = false;
- tasksByType.dailys[0].startDate = moment(new Date()).subtract({days: 1});
+ tasksByType.dailys[0].startDate = moment(new Date()).subtract({ days: 1 });
user.stats.buffs = {
str: 1,
@@ -1349,7 +1625,9 @@ describe('cron', () => {
streaks: true,
};
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.stats.buffs.str).to.equal(0);
expect(user.stats.buffs.int).to.equal(0);
@@ -1363,7 +1641,7 @@ describe('cron', () => {
user.preferences.sleep = true;
daysMissed = 1;
tasksByType.dailys[0].completed = false;
- tasksByType.dailys[0].startDate = moment(new Date()).subtract({days: 1});
+ tasksByType.dailys[0].startDate = moment(new Date()).subtract({ days: 1 });
user.stats.buffs = {
str: 1,
@@ -1374,7 +1652,9 @@ describe('cron', () => {
streaks: true,
};
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.stats.buffs.str).to.equal(0);
expect(user.stats.buffs.int).to.equal(0);
@@ -1386,14 +1666,16 @@ describe('cron', () => {
it('always grants a perfect day buff when CRON_SAFE_MODE is set', () => {
sandbox.stub(nconf, 'get').withArgs('CRON_SAFE_MODE').returns('true');
- let cronOverride = requireAgain(pathToCronLib).cron;
+ const cronOverride = requireAgain(pathToCronLib).cron;
daysMissed = 1;
tasksByType.dailys[0].completed = false;
- tasksByType.dailys[0].startDate = moment(new Date()).subtract({days: 1});
+ tasksByType.dailys[0].startDate = moment(new Date()).subtract({ days: 1 });
- let previousBuffs = user.stats.buffs.toObject();
+ const previousBuffs = user.stats.buffs.toObject();
- cronOverride({user, tasksByType, daysMissed, analytics});
+ cronOverride({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.stats.buffs.str).to.be.greaterThan(previousBuffs.str);
expect(user.stats.buffs.int).to.be.greaterThan(previousBuffs.int);
@@ -1404,14 +1686,16 @@ describe('cron', () => {
it('always grants a perfect day buff when CRON_SAFE_MODE is set when user is sleeping', () => {
user.preferences.sleep = true;
sandbox.stub(nconf, 'get').withArgs('CRON_SAFE_MODE').returns('true');
- let cronOverride = requireAgain(pathToCronLib).cron;
+ const cronOverride = requireAgain(pathToCronLib).cron;
daysMissed = 1;
tasksByType.dailys[0].completed = false;
- tasksByType.dailys[0].startDate = moment(new Date()).subtract({days: 1});
+ tasksByType.dailys[0].startDate = moment(new Date()).subtract({ days: 1 });
- let previousBuffs = user.stats.buffs.toObject();
+ const previousBuffs = user.stats.buffs.toObject();
- cronOverride({user, tasksByType, daysMissed, analytics});
+ cronOverride({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.stats.buffs.str).to.be.greaterThan(previousBuffs.str);
expect(user.stats.buffs.int).to.be.greaterThan(previousBuffs.int);
@@ -1425,10 +1709,12 @@ describe('cron', () => {
const statsComputedRes = common.statsComputed(user);
const stubbedStatsComputed = sinon.stub(common, 'statsComputed');
- let mpBefore = user.stats.mp;
+ const mpBefore = user.stats.mp;
tasksByType.dailys[0].completed = true;
- stubbedStatsComputed.returns(Object.assign(statsComputedRes, {maxMP: 100}));
- cron({user, tasksByType, daysMissed, analytics});
+ stubbedStatsComputed.returns(Object.assign(statsComputedRes, { maxMP: 100 }));
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.stats.mp).to.be.greaterThan(mpBefore);
common.statsComputed.restore();
@@ -1439,10 +1725,12 @@ describe('cron', () => {
const stubbedStatsComputed = sinon.stub(common, 'statsComputed');
user.preferences.sleep = true;
- let mpBefore = user.stats.mp;
+ const mpBefore = user.stats.mp;
tasksByType.dailys[0].completed = true;
- stubbedStatsComputed.returns(Object.assign(statsComputedRes, {maxMP: 100}));
- cron({user, tasksByType, daysMissed, analytics});
+ stubbedStatsComputed.returns(Object.assign(statsComputedRes, { maxMP: 100 }));
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.stats.mp).to.equal(mpBefore);
common.statsComputed.restore();
@@ -1452,8 +1740,10 @@ describe('cron', () => {
const statsComputedRes = common.statsComputed(user);
const stubbedStatsComputed = sinon.stub(common, 'statsComputed');
user.stats.mp = 120;
- stubbedStatsComputed.returns(Object.assign(statsComputedRes, {maxMP: 100}));
- cron({user, tasksByType, daysMissed, analytics});
+ stubbedStatsComputed.returns(Object.assign(statsComputedRes, { maxMP: 100 }));
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.stats.mp).to.equal(common.statsComputed(user).maxMP);
common.statsComputed.restore();
@@ -1462,21 +1752,21 @@ describe('cron', () => {
describe('quest progress', () => {
beforeEach(() => {
- let daily = {
+ const daily = {
text: 'test daily',
type: 'daily',
};
- let task = new Tasks.daily(Tasks.Task.sanitize(daily)); // eslint-disable-line new-cap
+ const task = new Tasks.daily(Tasks.Task.sanitize(daily)); // eslint-disable-line new-cap
tasksByType.dailys = [];
tasksByType.dailys.push(task);
const statsComputedRes = common.statsComputed(user);
const stubbedStatsComputed = sinon.stub(common, 'statsComputed');
- stubbedStatsComputed.returns(Object.assign(statsComputedRes, {con: 1}));
+ stubbedStatsComputed.returns(Object.assign(statsComputedRes, { con: 1 }));
daysMissed = 1;
- tasksByType.dailys[0].startDate = moment(new Date()).subtract({days: 1});
+ tasksByType.dailys[0].startDate = moment(new Date()).subtract({ days: 1 });
});
afterEach(() => {
@@ -1484,32 +1774,38 @@ describe('cron', () => {
});
it('resets user progress', () => {
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.party.quest.progress.up).to.equal(0);
expect(user.party.quest.progress.down).to.equal(0);
expect(user.party.quest.progress.collectedItems).to.equal(0);
});
it('applies the user progress', () => {
- let progress = cron({user, tasksByType, daysMissed, analytics});
+ const progress = cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(progress.down).to.equal(-1);
});
});
describe('notifications', () => {
it('adds a user notification', () => {
- let mpBefore = user.stats.mp;
+ const mpBefore = user.stats.mp;
tasksByType.dailys[0].completed = true;
const statsComputedRes = common.statsComputed(user);
const stubbedStatsComputed = sinon.stub(common, 'statsComputed');
- stubbedStatsComputed.returns(Object.assign(statsComputedRes, {maxMP: 100}));
+ stubbedStatsComputed.returns(Object.assign(statsComputedRes, { maxMP: 100 }));
daysMissed = 1;
- let hpBefore = user.stats.hp;
- tasksByType.dailys[0].startDate = moment(new Date()).subtract({days: 1});
+ const hpBefore = user.stats.hp;
+ tasksByType.dailys[0].startDate = moment(new Date()).subtract({ days: 1 });
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.notifications.length).to.be.greaterThan(0);
expect(user.notifications[1].type).to.equal('CRON');
@@ -1522,18 +1818,20 @@ describe('cron', () => {
});
it('condenses multiple notifications into one', () => {
- let mpBefore1 = user.stats.mp;
+ const mpBefore1 = user.stats.mp;
tasksByType.dailys[0].completed = true;
const statsComputedRes = common.statsComputed(user);
const stubbedStatsComputed = sinon.stub(common, 'statsComputed');
- stubbedStatsComputed.returns(Object.assign(statsComputedRes, {maxMP: 100}));
+ stubbedStatsComputed.returns(Object.assign(statsComputedRes, { maxMP: 100 }));
daysMissed = 1;
- let hpBefore1 = user.stats.hp;
- tasksByType.dailys[0].startDate = moment(new Date()).subtract({days: 1});
+ const hpBefore1 = user.stats.hp;
+ tasksByType.dailys[0].startDate = moment(new Date()).subtract({ days: 1 });
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.notifications.length).to.be.greaterThan(0);
expect(user.notifications[1].type).to.equal('CRON');
@@ -1542,13 +1840,15 @@ describe('cron', () => {
mp: user.stats.mp - mpBefore1,
});
- let notifsBefore2 = user.notifications.length;
- let hpBefore2 = user.stats.hp;
- let mpBefore2 = user.stats.mp;
+ const notifsBefore2 = user.notifications.length;
+ const hpBefore2 = user.stats.hp;
+ const mpBefore2 = user.stats.mp;
- user.lastCron = moment(new Date()).subtract({days: 2});
+ user.lastCron = moment(new Date()).subtract({ days: 2 });
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.notifications.length - notifsBefore2).to.equal(0);
expect(user.notifications[0].type).to.not.equal('CRON');
@@ -1566,9 +1866,9 @@ describe('cron', () => {
let lastMessageId;
beforeEach(() => {
- let maxPMs = 200;
+ const maxPMs = 200;
for (let index = 0; index < maxPMs - 1; index += 1) {
- let messageId = common.uuid();
+ const messageId = common.uuid();
user.inbox.messages[messageId] = {
id: messageId,
text: `test ${index}`,
@@ -1593,43 +1893,61 @@ describe('cron', () => {
describe('login incentives', () => {
it('increments incentive counter each cron', () => {
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.loginIncentives).to.eql(1);
- user.lastCron = moment(new Date()).subtract({days: 1});
- cron({user, tasksByType, daysMissed, analytics});
+ user.lastCron = moment(new Date()).subtract({ days: 1 });
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.loginIncentives).to.eql(2);
});
it('pushes a notification of the day\'s incentive each cron', () => {
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.notifications.length).to.be.greaterThan(1);
expect(user.notifications[0].type).to.eql('LOGIN_INCENTIVE');
});
it('replaces previous notifications', () => {
- cron({user, tasksByType, daysMissed, analytics});
- cron({user, tasksByType, daysMissed, analytics});
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
- let filteredNotifications = user.notifications.filter(n => n.type === 'LOGIN_INCENTIVE');
+ const filteredNotifications = user.notifications.filter(n => n.type === 'LOGIN_INCENTIVE');
expect(filteredNotifications.length).to.equal(1);
});
it('increments loginIncentives by 1 even if days are skipped in between', () => {
daysMissed = 3;
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.loginIncentives).to.eql(1);
});
it('increments loginIncentives by 1 even if user is sleeping', () => {
user.preferences.sleep = true;
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.loginIncentives).to.eql(1);
});
it('awards user bard robes if login incentive is 1', () => {
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.loginIncentives).to.eql(1);
expect(user.items.gear.owned.armor_special_bardRobes).to.eql(true);
expect(user.notifications[0].type).to.eql('LOGIN_INCENTIVE');
@@ -1637,7 +1955,9 @@ describe('cron', () => {
it('awards user incentive backgrounds if login incentive is 2', () => {
user.loginIncentives = 1;
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.loginIncentives).to.eql(2);
expect(user.purchased.background.blue).to.eql(true);
expect(user.purchased.background.green).to.eql(true);
@@ -1649,7 +1969,9 @@ describe('cron', () => {
it('awards user Bard Hat if login incentive is 3', () => {
user.loginIncentives = 2;
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.loginIncentives).to.eql(3);
expect(user.items.gear.owned.head_special_bardHat).to.eql(true);
expect(user.notifications[0].type).to.eql('LOGIN_INCENTIVE');
@@ -1657,7 +1979,9 @@ describe('cron', () => {
it('awards user RoyalPurple Hatching Potion if login incentive is 4', () => {
user.loginIncentives = 3;
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.loginIncentives).to.eql(4);
expect(user.items.hatchingPotions.RoyalPurple).to.eql(1);
expect(user.notifications[0].type).to.eql('LOGIN_INCENTIVE');
@@ -1665,7 +1989,9 @@ describe('cron', () => {
it('awards user a Chocolate, Meat and Pink Contton Candy if login incentive is 5', () => {
user.loginIncentives = 4;
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.loginIncentives).to.eql(5);
expect(user.items.food.Chocolate).to.eql(1);
@@ -1677,7 +2003,9 @@ describe('cron', () => {
it('awards user moon quest if login incentive is 7', () => {
user.loginIncentives = 6;
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.loginIncentives).to.eql(7);
expect(user.items.quests.moon1).to.eql(1);
expect(user.notifications[0].type).to.eql('LOGIN_INCENTIVE');
@@ -1685,7 +2013,9 @@ describe('cron', () => {
it('awards user RoyalPurple Hatching Potion if login incentive is 10', () => {
user.loginIncentives = 9;
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.loginIncentives).to.eql(10);
expect(user.items.hatchingPotions.RoyalPurple).to.eql(1);
expect(user.notifications[0].type).to.eql('LOGIN_INCENTIVE');
@@ -1693,7 +2023,9 @@ describe('cron', () => {
it('awards user a Strawberry, Patato and Blue Contton Candy if login incentive is 14', () => {
user.loginIncentives = 13;
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.loginIncentives).to.eql(14);
expect(user.items.food.Strawberry).to.eql(1);
@@ -1705,7 +2037,9 @@ describe('cron', () => {
it('awards user a bard instrument if login incentive is 18', () => {
user.loginIncentives = 17;
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.loginIncentives).to.eql(18);
expect(user.items.gear.owned.weapon_special_bardInstrument).to.eql(true);
expect(user.notifications[0].type).to.eql('LOGIN_INCENTIVE');
@@ -1713,7 +2047,9 @@ describe('cron', () => {
it('awards user second moon quest if login incentive is 22', () => {
user.loginIncentives = 21;
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.loginIncentives).to.eql(22);
expect(user.items.quests.moon2).to.eql(1);
expect(user.notifications[0].type).to.eql('LOGIN_INCENTIVE');
@@ -1721,7 +2057,9 @@ describe('cron', () => {
it('awards user a RoyalPurple hatching potion if login incentive is 26', () => {
user.loginIncentives = 25;
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.loginIncentives).to.eql(26);
expect(user.items.hatchingPotions.RoyalPurple).to.eql(1);
expect(user.notifications[0].type).to.eql('LOGIN_INCENTIVE');
@@ -1729,7 +2067,9 @@ describe('cron', () => {
it('awards user Fish, Milk, Rotten Meat and Honey if login incentive is 30', () => {
user.loginIncentives = 29;
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.loginIncentives).to.eql(30);
expect(user.items.food.Fish).to.eql(1);
@@ -1742,7 +2082,9 @@ describe('cron', () => {
it('awards user a RoyalPurple hatching potion if login incentive is 35', () => {
user.loginIncentives = 34;
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.loginIncentives).to.eql(35);
expect(user.items.hatchingPotions.RoyalPurple).to.eql(1);
expect(user.notifications[0].type).to.eql('LOGIN_INCENTIVE');
@@ -1750,7 +2092,9 @@ describe('cron', () => {
it('awards user the third moon quest if login incentive is 40', () => {
user.loginIncentives = 39;
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.loginIncentives).to.eql(40);
expect(user.items.quests.moon3).to.eql(1);
expect(user.notifications[0].type).to.eql('LOGIN_INCENTIVE');
@@ -1758,7 +2102,9 @@ describe('cron', () => {
it('awards user a RoyalPurple hatching potion if login incentive is 45', () => {
user.loginIncentives = 44;
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.loginIncentives).to.eql(45);
expect(user.items.hatchingPotions.RoyalPurple).to.eql(1);
expect(user.notifications[0].type).to.eql('LOGIN_INCENTIVE');
@@ -1766,7 +2112,9 @@ describe('cron', () => {
it('awards user a saddle if login incentive is 50', () => {
user.loginIncentives = 49;
- cron({user, tasksByType, daysMissed, analytics});
+ cron({
+ user, tasksByType, daysMissed, analytics,
+ });
expect(user.loginIncentives).to.eql(50);
expect(user.items.food.Saddle).to.eql(1);
expect(user.notifications[0].type).to.eql('LOGIN_INCENTIVE');
@@ -1775,7 +2123,8 @@ describe('cron', () => {
});
describe('recoverCron', () => {
- let locals, status, execStub;
+ let locals; let status; let
+ execStub;
beforeEach(() => {
execStub = sandbox.stub();
@@ -1813,17 +2162,17 @@ describe('recoverCron', () => {
});
it('increases status.times count and reruns up to 4 times', async () => {
- execStub.returns(Promise.resolve({_cronSignature: 'RUNNING_CRON'}));
- execStub.onCall(4).returns(Promise.resolve({_cronSignature: 'NOT_RUNNING'}));
+ execStub.returns(Promise.resolve({ _cronSignature: 'RUNNING_CRON' }));
+ execStub.onCall(4).returns(Promise.resolve({ _cronSignature: 'NOT_RUNNING' }));
await recoverCron(status, locals);
expect(status.times).to.eql(4);
- expect(locals.user).to.eql({_cronSignature: 'NOT_RUNNING'});
+ expect(locals.user).to.eql({ _cronSignature: 'NOT_RUNNING' });
});
it('throws an error if recoverCron runs 5 times', async () => {
- execStub.returns(Promise.resolve({_cronSignature: 'RUNNING_CRON'}));
+ execStub.returns(Promise.resolve({ _cronSignature: 'RUNNING_CRON' }));
try {
await recoverCron(status, locals);
diff --git a/test/api/unit/libs/email.test.js b/test/api/unit/libs/email.test.js
index 6b4d368aa6..057766eddd 100644
--- a/test/api/unit/libs/email.test.js
+++ b/test/api/unit/libs/email.test.js
@@ -31,20 +31,20 @@ function getUser () {
}
describe('emails', () => {
- let pathToEmailLib = '../../../../website/server/libs/email';
+ const pathToEmailLib = '../../../../website/server/libs/email';
describe('getUserInfo', () => {
it('returns an empty object if no field request', () => {
- let attachEmail = requireAgain(pathToEmailLib);
- let getUserInfo = attachEmail.getUserInfo;
+ const attachEmail = requireAgain(pathToEmailLib);
+ const { getUserInfo } = attachEmail;
expect(getUserInfo({}, [])).to.be.empty;
});
it('returns correct user data', () => {
- let attachEmail = requireAgain(pathToEmailLib);
- let getUserInfo = attachEmail.getUserInfo;
- let user = getUser();
- let data = getUserInfo(user, ['name', 'email', '_id', 'canSend']);
+ const attachEmail = requireAgain(pathToEmailLib);
+ const { getUserInfo } = attachEmail;
+ const user = getUser();
+ const data = getUserInfo(user, ['name', 'email', '_id', 'canSend']);
expect(data).to.have.property('name', user.auth.local.username);
expect(data).to.have.property('email', user.auth.local.email);
@@ -53,13 +53,13 @@ describe('emails', () => {
});
it('returns correct user data [facebook users]', () => {
- let attachEmail = requireAgain(pathToEmailLib);
- let getUserInfo = attachEmail.getUserInfo;
- let user = getUser();
+ const attachEmail = requireAgain(pathToEmailLib);
+ const { getUserInfo } = attachEmail;
+ const user = getUser();
delete user.profile.name;
delete user.auth.local.email;
- let data = getUserInfo(user, ['name', 'email', '_id', 'canSend']);
+ const data = getUserInfo(user, ['name', 'email', '_id', 'canSend']);
expect(data).to.have.property('name', user.auth.local.username);
expect(data).to.have.property('email', user.auth.facebook.emails[0].value);
@@ -68,13 +68,13 @@ describe('emails', () => {
});
it('has fallbacks for missing data', () => {
- let attachEmail = requireAgain(pathToEmailLib);
- let getUserInfo = attachEmail.getUserInfo;
- let user = getUser();
+ const attachEmail = requireAgain(pathToEmailLib);
+ const { getUserInfo } = attachEmail;
+ const user = getUser();
delete user.auth.local.email;
delete user.auth.facebook;
- let data = getUserInfo(user, ['name', 'email', '_id', 'canSend']);
+ const data = getUserInfo(user, ['name', 'email', '_id', 'canSend']);
expect(data).to.have.property('name', user.auth.local.username);
expect(data).not.to.have.property('email');
@@ -85,18 +85,18 @@ describe('emails', () => {
describe('getGroupUrl', () => {
it('returns correct url if group is the tavern', () => {
- let getGroupUrl = require(pathToEmailLib).getGroupUrl;
- expect(getGroupUrl({_id: TAVERN_ID, type: 'guild'})).to.eql('/groups/tavern');
+ const { getGroupUrl } = require(pathToEmailLib); // eslint-disable-line import/no-dynamic-require, max-len
+ expect(getGroupUrl({ _id: TAVERN_ID, type: 'guild' })).to.eql('/groups/tavern');
});
it('returns correct url if group is a guild', () => {
- let getGroupUrl = require(pathToEmailLib).getGroupUrl;
- expect(getGroupUrl({_id: 'random _id', type: 'guild'})).to.eql('/groups/guild/random _id');
+ const { getGroupUrl } = require(pathToEmailLib); // eslint-disable-line import/no-dynamic-require, max-len
+ expect(getGroupUrl({ _id: 'random _id', type: 'guild' })).to.eql('/groups/guild/random _id');
});
it('returns correct url if group is a party', () => {
- let getGroupUrl = require(pathToEmailLib).getGroupUrl;
- expect(getGroupUrl({_id: 'random _id', type: 'party'})).to.eql('party');
+ const { getGroupUrl } = require(pathToEmailLib); // eslint-disable-line import/no-dynamic-require, max-len
+ expect(getGroupUrl({ _id: 'random _id', type: 'party' })).to.eql('party');
});
});
@@ -111,10 +111,10 @@ describe('emails', () => {
it('can send a txn email to one recipient', () => {
sandbox.stub(nconf, 'get').withArgs('IS_PROD').returns(true);
- let attachEmail = requireAgain(pathToEmailLib);
- let sendTxnEmail = attachEmail.sendTxn;
- let emailType = 'an email type';
- let mailingInfo = {
+ const attachEmail = requireAgain(pathToEmailLib);
+ const sendTxnEmail = attachEmail.sendTxn;
+ const emailType = 'an email type';
+ const mailingInfo = {
name: 'my name',
email: 'my@email',
};
@@ -125,9 +125,7 @@ describe('emails', () => {
body: {
data: {
emailType: sinon.match.same(emailType),
- to: sinon.match((value) => {
- return Array.isArray(value) && value[0].name === mailingInfo.name;
- }, 'matches mailing info array'),
+ to: sinon.match(value => Array.isArray(value) && value[0].name === mailingInfo.name, 'matches mailing info array'),
},
},
}));
@@ -135,10 +133,10 @@ describe('emails', () => {
it('does not send email if address is missing', () => {
sandbox.stub(nconf, 'get').withArgs('IS_PROD').returns(true);
- let attachEmail = requireAgain(pathToEmailLib);
- let sendTxnEmail = attachEmail.sendTxn;
- let emailType = 'an email type';
- let mailingInfo = {
+ const attachEmail = requireAgain(pathToEmailLib);
+ const sendTxnEmail = attachEmail.sendTxn;
+ const emailType = 'an email type';
+ const mailingInfo = {
name: 'my name',
// email: 'my@email',
};
@@ -149,10 +147,10 @@ describe('emails', () => {
it('uses getUserInfo in case of user data', () => {
sandbox.stub(nconf, 'get').withArgs('IS_PROD').returns(true);
- let attachEmail = requireAgain(pathToEmailLib);
- let sendTxnEmail = attachEmail.sendTxn;
- let emailType = 'an email type';
- let mailingInfo = getUser();
+ const attachEmail = requireAgain(pathToEmailLib);
+ const sendTxnEmail = attachEmail.sendTxn;
+ const emailType = 'an email type';
+ const mailingInfo = getUser();
sendTxnEmail(mailingInfo, emailType);
expect(got.post).to.be.calledWith('undefined/job', sinon.match({
@@ -168,28 +166,24 @@ describe('emails', () => {
it('sends email with some default variables', () => {
sandbox.stub(nconf, 'get').withArgs('IS_PROD').returns(true);
- let attachEmail = requireAgain(pathToEmailLib);
- let sendTxnEmail = attachEmail.sendTxn;
- let emailType = 'an email type';
- let mailingInfo = {
+ const attachEmail = requireAgain(pathToEmailLib);
+ const sendTxnEmail = attachEmail.sendTxn;
+ const emailType = 'an email type';
+ const mailingInfo = {
name: 'my name',
email: 'my@email',
};
- let variables = [1, 2, 3];
+ const variables = [1, 2, 3];
sendTxnEmail(mailingInfo, emailType, variables);
expect(got.post).to.be.calledWith('undefined/job', sinon.match({
json: true,
body: {
data: {
- variables: sinon.match((value) => {
- return value[0].name === 'BASE_URL';
- }, 'matches variables'),
- personalVariables: sinon.match((value) => {
- return value[0].rcpt === mailingInfo.email &&
- value[0].vars[0].name === 'RECIPIENT_NAME' &&
- value[0].vars[1].name === 'RECIPIENT_UNSUB_URL';
- }, 'matches personal variables'),
+ variables: sinon.match(value => value[0].name === 'BASE_URL', 'matches variables'),
+ personalVariables: sinon.match(value => value[0].rcpt === mailingInfo.email
+ && value[0].vars[0].name === 'RECIPIENT_NAME'
+ && value[0].vars[1].name === 'RECIPIENT_UNSUB_URL', 'matches personal variables'),
},
},
}));
diff --git a/test/api/unit/libs/encryption.test.js b/test/api/unit/libs/encryption.test.js
index 60522d1927..fdfdb39e75 100644
--- a/test/api/unit/libs/encryption.test.js
+++ b/test/api/unit/libs/encryption.test.js
@@ -5,9 +5,9 @@ import {
describe('encryption', () => {
it('can encrypt and decrypt', () => {
- let data = 'some secret text';
- let encrypted = encrypt(data);
- let decrypted = decrypt(encrypted);
+ const data = 'some secret text';
+ const encrypted = encrypt(data);
+ const decrypted = decrypt(encrypted);
expect(encrypted).not.to.equal(data);
expect(data).to.equal(decrypted);
diff --git a/test/api/unit/libs/errors.test.js b/test/api/unit/libs/errors.test.js
index b7e3657ff4..4de2e4499f 100644
--- a/test/api/unit/libs/errors.test.js
+++ b/test/api/unit/libs/errors.test.js
@@ -12,7 +12,7 @@ import i18n from '../../../../website/common/script/i18n';
describe('Custom Errors', () => {
describe('CustomError', () => {
it('is an instance of Error', () => {
- let customError = new CustomError();
+ const customError = new CustomError();
expect(customError).to.be.an.instanceOf(Error);
});
@@ -20,25 +20,25 @@ describe('Custom Errors', () => {
describe('NotAuthorized', () => {
it('is an instance of CustomError', () => {
- let notAuthorizedError = new NotAuthorized();
+ const notAuthorizedError = new NotAuthorized();
expect(notAuthorizedError).to.be.an.instanceOf(CustomError);
});
it('it returns an http code of 401', () => {
- let notAuthorizedError = new NotAuthorized();
+ const notAuthorizedError = new NotAuthorized();
expect(notAuthorizedError.httpCode).to.eql(401);
});
it('returns a default message', () => {
- let notAuthorizedError = new NotAuthorized();
+ const notAuthorizedError = new NotAuthorized();
expect(notAuthorizedError.message).to.eql('Not authorized.');
});
it('allows a custom message', () => {
- let notAuthorizedError = new NotAuthorized('Custom Error Message');
+ const notAuthorizedError = new NotAuthorized('Custom Error Message');
expect(notAuthorizedError.message).to.eql('Custom Error Message');
});
@@ -46,25 +46,25 @@ describe('Custom Errors', () => {
describe('NotFound', () => {
it('is an instance of CustomError', () => {
- let notAuthorizedError = new NotFound();
+ const notAuthorizedError = new NotFound();
expect(notAuthorizedError).to.be.an.instanceOf(CustomError);
});
it('it returns an http code of 404', () => {
- let notAuthorizedError = new NotFound();
+ const notAuthorizedError = new NotFound();
expect(notAuthorizedError.httpCode).to.eql(404);
});
it('returns a default message', () => {
- let notAuthorizedError = new NotFound();
+ const notAuthorizedError = new NotFound();
expect(notAuthorizedError.message).to.eql('Not found.');
});
it('allows a custom message', () => {
- let notAuthorizedError = new NotFound('Custom Error Message');
+ const notAuthorizedError = new NotFound('Custom Error Message');
expect(notAuthorizedError.message).to.eql('Custom Error Message');
});
@@ -89,25 +89,25 @@ describe('Custom Errors', () => {
describe('BadRequest', () => {
it('is an instance of CustomError', () => {
- let badRequestError = new BadRequest();
+ const badRequestError = new BadRequest();
expect(badRequestError).to.be.an.instanceOf(CustomError);
});
it('it returns an http code of 401', () => {
- let badRequestError = new BadRequest();
+ const badRequestError = new BadRequest();
expect(badRequestError.httpCode).to.eql(400);
});
it('returns a default message', () => {
- let badRequestError = new BadRequest();
+ const badRequestError = new BadRequest();
expect(badRequestError.message).to.eql('Bad request.');
});
it('allows a custom message', () => {
- let badRequestError = new BadRequest('Custom Error Message');
+ const badRequestError = new BadRequest('Custom Error Message');
expect(badRequestError.message).to.eql('Custom Error Message');
});
@@ -115,25 +115,25 @@ describe('Custom Errors', () => {
describe('InternalServerError', () => {
it('is an instance of CustomError', () => {
- let internalServerError = new InternalServerError();
+ const internalServerError = new InternalServerError();
expect(internalServerError).to.be.an.instanceOf(CustomError);
});
it('it returns an http code of 500', () => {
- let internalServerError = new InternalServerError();
+ const internalServerError = new InternalServerError();
expect(internalServerError.httpCode).to.eql(500);
});
it('returns a default message', () => {
- let internalServerError = new InternalServerError();
+ const internalServerError = new InternalServerError();
expect(internalServerError.message).to.eql('An unexpected error occurred.');
});
it('allows a custom message', () => {
- let internalServerError = new InternalServerError('Custom Error Message');
+ const internalServerError = new InternalServerError('Custom Error Message');
expect(internalServerError.message).to.eql('Custom Error Message');
});
diff --git a/test/api/unit/libs/highlightMentions.js b/test/api/unit/libs/highlightMentions.js
new file mode 100644
index 0000000000..6d46e14aee
--- /dev/null
+++ b/test/api/unit/libs/highlightMentions.js
@@ -0,0 +1,60 @@
+import mongoose from 'mongoose';
+import {
+ highlightMentions,
+} from '../../../../website/server/libs/highlightMentions';
+
+describe('highlightMentions', () => {
+ beforeEach(() => {
+ const mockFind = {
+ select () {
+ return this;
+ },
+ lean () {
+ return this;
+ },
+ exec () {
+ return Promise.resolve([{
+ auth: { local: { username: 'user' } }, _id: '111',
+ }, { auth: { local: { username: 'user2' } }, _id: '222' }, { auth: { local: { username: 'user3' } }, _id: '333' }, { auth: { local: { username: 'user-dash' } }, _id: '444' }, { auth: { local: { username: 'user_underscore' } }, _id: '555' },
+ ]);
+ },
+ };
+
+ sinon.stub(mongoose.Model, 'find').returns(mockFind);
+ });
+
+ afterEach(() => {
+ sinon.restore();
+ });
+
+ it('doesn\'t change text without mentions', async () => {
+ const text = 'some chat text';
+ const result = await highlightMentions(text);
+ expect(result[0]).to.equal(text);
+ });
+ it('highlights existing users', async () => {
+ const text = '@user: message';
+ const result = await highlightMentions(text);
+ expect(result[0]).to.equal('[@user](/profile/111): message');
+ });
+ it('highlights special characters', async () => {
+ const text = '@user-dash: message @user_underscore';
+ const result = await highlightMentions(text);
+ expect(result[0]).to.equal('[@user-dash](/profile/444): message [@user_underscore](/profile/555)');
+ });
+ it('doesn\'t highlight nonexisting users', async () => {
+ const text = '@nouser message';
+ const result = await highlightMentions(text);
+ expect(result[0]).to.equal('@nouser message');
+ });
+ it('highlights multiple existing users', async () => {
+ const text = '@user message (@user2) @user3 @user';
+ const result = await highlightMentions(text);
+ expect(result[0]).to.equal('[@user](/profile/111) message ([@user2](/profile/222)) [@user3](/profile/333) [@user](/profile/111)');
+ });
+ it('doesn\'t highlight more than 5 users', async () => {
+ const text = '@user @user2 @user3 @user4 @user5 @user6';
+ const result = await highlightMentions(text);
+ expect(result[0]).to.equal(text);
+ });
+});
diff --git a/test/api/unit/libs/i18n.test.js b/test/api/unit/libs/i18n.test.js
index e276ee5dc1..bc1c436332 100644
--- a/test/api/unit/libs/i18n.test.js
+++ b/test/api/unit/libs/i18n.test.js
@@ -5,11 +5,11 @@ import {
} from '../../../../website/server/libs/i18n';
describe('i18n', () => {
- let listOfLocales = approvedLanguages.sort();
+ const listOfLocales = approvedLanguages.sort();
describe('translations', () => {
it('includes a translation object for each locale', () => {
- listOfLocales.forEach((locale) => {
+ listOfLocales.forEach(locale => {
expect(translations[locale]).to.be.an('object');
});
});
diff --git a/test/api/unit/libs/logger.js b/test/api/unit/libs/logger.js
index bf6f2a2f9f..c9878f36fa 100644
--- a/test/api/unit/libs/logger.js
+++ b/test/api/unit/libs/logger.js
@@ -2,7 +2,7 @@ import winston from 'winston';
import logger from '../../../../website/server/libs/logger';
import {
NotFound,
-} from '../../../../website/server/libs//errors';
+} from '../../../../website/server/libs/errors';
describe('logger', () => {
let logSpy;
@@ -34,7 +34,7 @@ describe('logger', () => {
context('error object', () => {
it('logs the stack and the err data', () => {
- let errInstance = new Error('An error.');
+ const errInstance = new Error('An error.');
logger.error(errInstance, {
data: 1,
}, 2, 3);
@@ -45,13 +45,13 @@ describe('logger', () => {
errInstance.stack,
{ data: 1, fullError: errInstance },
2,
- 3
+ 3,
);
});
it('logs the stack and the err data with it\'s own fullError property', () => {
- let errInstance = new Error('An error.');
- let anotherError = new Error('another error');
+ const errInstance = new Error('An error.');
+ const anotherError = new Error('another error');
logger.error(errInstance, {
data: 1,
@@ -64,12 +64,12 @@ describe('logger', () => {
errInstance.stack,
{ data: 1, fullError: anotherError },
2,
- 3
+ 3,
);
});
it('logs the error when errorData is null', () => {
- let errInstance = new Error('An error.');
+ const errInstance = new Error('An error.');
logger.error(errInstance, null, 2, 3);
@@ -79,12 +79,12 @@ describe('logger', () => {
errInstance.stack,
null,
2,
- 3
+ 3,
);
});
it('logs the error when errorData is not an object', () => {
- let errInstance = new Error('An error.');
+ const errInstance = new Error('An error.');
logger.error(errInstance, true, 2, 3);
@@ -94,12 +94,12 @@ describe('logger', () => {
errInstance.stack,
true,
2,
- 3
+ 3,
);
});
it('logs the error when errorData does not include isHandledError property', () => {
- let errInstance = new Error('An error.');
+ const errInstance = new Error('An error.');
logger.error(errInstance, { httpCode: 400 }, 2, 3);
@@ -109,12 +109,12 @@ describe('logger', () => {
errInstance.stack,
{ httpCode: 400, fullError: errInstance },
2,
- 3
+ 3,
);
});
it('logs the error when errorData includes isHandledError property but is a 500 error', () => {
- let errInstance = new Error('An error.');
+ const errInstance = new Error('An error.');
logger.error(errInstance, {
isHandledError: true,
@@ -127,12 +127,12 @@ describe('logger', () => {
errInstance.stack,
{ httpCode: 502, isHandledError: true, fullError: errInstance },
2,
- 3
+ 3,
);
});
it('logs a warning when errorData includes isHandledError property and is not a 500 error', () => {
- let errInstance = new Error('An error.');
+ const errInstance = new Error('An error.');
logger.error(errInstance, {
isHandledError: true,
@@ -145,12 +145,12 @@ describe('logger', () => {
errInstance.stack,
{ httpCode: 403, isHandledError: true, fullError: errInstance },
2,
- 3
+ 3,
);
});
it('logs additional data from a CustomError', () => {
- let errInstance = new NotFound('An error.');
+ const errInstance = new NotFound('An error.');
errInstance.customField = 'Some interesting data';
@@ -166,7 +166,7 @@ describe('logger', () => {
},
},
2,
- 3
+ 3,
);
});
});
diff --git a/test/api/unit/libs/password.test.js b/test/api/unit/libs/password.test.js
index 66fccbfe51..3ca2643b6d 100644
--- a/test/api/unit/libs/password.test.js
+++ b/test/api/unit/libs/password.test.js
@@ -1,9 +1,9 @@
/* eslint-disable camelcase */
+import moment from 'moment';
import {
encrypt,
} from '../../../../website/server/libs/encryption';
-import moment from 'moment';
import {
generateUser,
} from '../../../helpers/api-integration/v3';
@@ -20,11 +20,11 @@ import {
describe('Password Utilities', () => {
describe('compare', () => {
it('can compare a correct password hashed with SHA1', async () => {
- let textPassword = 'mySecretPassword';
- let salt = sha1MakeSalt();
- let hashedPassword = sha1EncryptPassword(textPassword, salt);
+ const textPassword = 'mySecretPassword';
+ const salt = sha1MakeSalt();
+ const hashedPassword = sha1EncryptPassword(textPassword, salt);
- let user = {
+ const user = {
auth: {
local: {
hashed_password: hashedPassword,
@@ -34,16 +34,16 @@ describe('Password Utilities', () => {
},
};
- let isValidPassword = await compare(user, textPassword);
+ const isValidPassword = await compare(user, textPassword);
expect(isValidPassword).to.eql(true);
});
it('can compare an invalid password hashed with SHA1', async () => {
- let textPassword = 'mySecretPassword';
- let salt = sha1MakeSalt();
- let hashedPassword = sha1EncryptPassword(textPassword, salt);
+ const textPassword = 'mySecretPassword';
+ const salt = sha1MakeSalt();
+ const hashedPassword = sha1EncryptPassword(textPassword, salt);
- let user = {
+ const user = {
auth: {
local: {
hashed_password: hashedPassword,
@@ -53,15 +53,15 @@ describe('Password Utilities', () => {
},
};
- let isValidPassword = await compare(user, 'wrongPassword');
+ const isValidPassword = await compare(user, 'wrongPassword');
expect(isValidPassword).to.eql(false);
});
it('can compare a correct password hashed with bcrypt', async () => {
- let textPassword = 'mySecretPassword';
- let hashedPassword = await bcryptHash(textPassword);
+ const textPassword = 'mySecretPassword';
+ const hashedPassword = await bcryptHash(textPassword);
- let user = {
+ const user = {
auth: {
local: {
hashed_password: hashedPassword,
@@ -70,15 +70,15 @@ describe('Password Utilities', () => {
},
};
- let isValidPassword = await compare(user, textPassword);
+ const isValidPassword = await compare(user, textPassword);
expect(isValidPassword).to.eql(true);
});
it('can compare an invalid password hashed with bcrypt', async () => {
- let textPassword = 'mySecretPassword';
- let hashedPassword = await bcryptHash(textPassword);
+ const textPassword = 'mySecretPassword';
+ const hashedPassword = await bcryptHash(textPassword);
- let user = {
+ const user = {
auth: {
local: {
hashed_password: hashedPassword,
@@ -87,7 +87,7 @@ describe('Password Utilities', () => {
},
};
- let isValidPassword = await compare(user, 'wrongPassword');
+ const isValidPassword = await compare(user, 'wrongPassword');
expect(isValidPassword).to.eql(false);
});
@@ -101,18 +101,18 @@ describe('Password Utilities', () => {
it('throws an error if passwordToCheck is missing', async () => {
try {
- await compare({a: true});
+ await compare({ a: true });
} catch (e) {
expect(e.toString()).to.equal('Error: user and passwordToCheck are required parameters.');
}
});
it('defaults to SHA1 encryption if salt is provided', async () => {
- let textPassword = 'mySecretPassword';
- let salt = sha1MakeSalt();
- let hashedPassword = sha1EncryptPassword(textPassword, salt);
+ const textPassword = 'mySecretPassword';
+ const salt = sha1MakeSalt();
+ const hashedPassword = sha1EncryptPassword(textPassword, salt);
- let user = {
+ const user = {
auth: {
local: {
hashed_password: hashedPassword,
@@ -122,7 +122,7 @@ describe('Password Utilities', () => {
},
};
- let isValidPassword = await compare(user, textPassword);
+ const isValidPassword = await compare(user, textPassword);
expect(isValidPassword).to.eql(true);
});
@@ -141,29 +141,29 @@ describe('Password Utilities', () => {
});
it('returns true if comparing the same password', async () => {
- let textPassword = 'mySecretPassword';
- let hashedPassword = await bcryptHash(textPassword);
+ const textPassword = 'mySecretPassword';
+ const hashedPassword = await bcryptHash(textPassword);
- let isValidPassword = await bcryptCompare(textPassword, hashedPassword);
+ const isValidPassword = await bcryptCompare(textPassword, hashedPassword);
expect(isValidPassword).to.eql(true);
});
it('returns true if comparing a different password', async () => {
- let textPassword = 'mySecretPassword';
- let hashedPassword = await bcryptHash(textPassword);
+ const textPassword = 'mySecretPassword';
+ const hashedPassword = await bcryptHash(textPassword);
- let isValidPassword = await bcryptCompare('anotherPassword', hashedPassword);
+ const isValidPassword = await bcryptCompare('anotherPassword', hashedPassword);
expect(isValidPassword).to.eql(false);
});
});
describe('convertToBcrypt', () => {
it('converts an user password hashed with sha1 to bcrypt', async () => {
- let textPassword = 'mySecretPassword';
- let salt = sha1MakeSalt();
- let hashedPassword = sha1EncryptPassword(textPassword, salt);
+ const textPassword = 'mySecretPassword';
+ const salt = sha1MakeSalt();
+ const hashedPassword = sha1EncryptPassword(textPassword, salt);
- let user = {
+ const user = {
auth: {
local: {
hashed_password: hashedPassword,
@@ -178,7 +178,7 @@ describe('Password Utilities', () => {
expect(user.auth.local.passwordHashMethod).to.equal('bcrypt');
expect(user.auth.local.hashed_password).to.be.a.string;
- let isValidPassword = await compare(user, textPassword);
+ const isValidPassword = await compare(user, textPassword);
expect(isValidPassword).to.eql(true);
});
@@ -192,7 +192,7 @@ describe('Password Utilities', () => {
it('throws an error if plainTextPassword is missing', async () => {
try {
- await convertToBcrypt({a: true});
+ await convertToBcrypt({ a: true });
} catch (e) {
expect(e.toString()).to.equal('Error: user and plainTextPassword are required parameters.');
}
@@ -201,18 +201,18 @@ describe('Password Utilities', () => {
describe('validatePasswordResetCodeAndFindUser', () => {
it('returns false if the code is missing', async () => {
- let res = await validatePasswordResetCodeAndFindUser();
+ const res = await validatePasswordResetCodeAndFindUser();
expect(res).to.equal(false);
});
it('returns false if the code is invalid json', async () => {
- let res = await validatePasswordResetCodeAndFindUser('invalid json');
+ const res = await validatePasswordResetCodeAndFindUser('invalid json');
expect(res).to.equal(false);
});
it('returns false if the code cannot be decrypted', async () => {
- let user = await generateUser();
- let res = await validatePasswordResetCodeAndFindUser(JSON.stringify({ // not encrypted
+ const user = await generateUser();
+ const res = await validatePasswordResetCodeAndFindUser(JSON.stringify({ // not encrypted
userId: user._id,
expiresAt: new Date(),
}));
@@ -220,71 +220,71 @@ describe('Password Utilities', () => {
});
it('returns false if the code is expired', async () => {
- let user = await generateUser();
+ const user = await generateUser();
- let code = encrypt(JSON.stringify({
+ const code = encrypt(JSON.stringify({
userId: user._id,
- expiresAt: moment().subtract({minutes: 1}),
+ expiresAt: moment().subtract({ minutes: 1 }),
}));
await user.update({
'auth.local.passwordResetCode': code,
});
- let res = await validatePasswordResetCodeAndFindUser(code);
+ const res = await validatePasswordResetCodeAndFindUser(code);
expect(res).to.equal(false);
});
it('returns false if the user does not exist', async () => {
- let res = await validatePasswordResetCodeAndFindUser(encrypt(JSON.stringify({
+ const res = await validatePasswordResetCodeAndFindUser(encrypt(JSON.stringify({
userId: Date.now().toString(),
- expiresAt: moment().add({days: 1}),
+ expiresAt: moment().add({ days: 1 }),
})));
expect(res).to.equal(false);
});
it('returns false if the user has no local auth', async () => {
- let user = await generateUser({
+ const user = await generateUser({
auth: {
facebook: {},
},
});
- let res = await validatePasswordResetCodeAndFindUser(encrypt(JSON.stringify({
+ const res = await validatePasswordResetCodeAndFindUser(encrypt(JSON.stringify({
userId: user._id,
- expiresAt: moment().add({days: 1}),
+ expiresAt: moment().add({ days: 1 }),
})));
expect(res).to.equal(false);
});
it('returns false if the code doesn\'t match the one saved at user.auth.passwordResetCode', async () => {
- let user = await generateUser();
+ const user = await generateUser();
- let code = encrypt(JSON.stringify({
+ const code = encrypt(JSON.stringify({
userId: user._id,
- expiresAt: moment().add({days: 1}),
+ expiresAt: moment().add({ days: 1 }),
}));
await user.update({
'auth.local.passwordResetCode': 'invalid',
});
- let res = await validatePasswordResetCodeAndFindUser(code);
+ const res = await validatePasswordResetCodeAndFindUser(code);
expect(res).to.equal(false);
});
it('returns the user if the password reset code is valid', async () => {
- let user = await generateUser();
+ const user = await generateUser();
- let code = encrypt(JSON.stringify({
+ const code = encrypt(JSON.stringify({
userId: user._id,
- expiresAt: moment().add({days: 1}),
+ expiresAt: moment().add({ days: 1 }),
}));
await user.update({
'auth.local.passwordResetCode': code,
});
- let res = await validatePasswordResetCodeAndFindUser(code);
+ const res = await validatePasswordResetCodeAndFindUser(code);
expect(res).not.to.equal(false);
expect(res._id).to.equal(user._id);
});
@@ -293,8 +293,8 @@ describe('Password Utilities', () => {
describe('bcrypt', () => {
describe('Hash', () => {
it('returns a hashed string', async () => {
- let textPassword = 'mySecretPassword';
- let hashedPassword = await bcryptHash(textPassword);
+ const textPassword = 'mySecretPassword';
+ const hashedPassword = await bcryptHash(textPassword);
expect(hashedPassword).to.be.a.string;
});
@@ -302,18 +302,18 @@ describe('Password Utilities', () => {
describe('Compare', () => {
it('returns true if comparing the same password', async () => {
- let textPassword = 'mySecretPassword';
- let hashedPassword = await bcryptHash(textPassword);
+ const textPassword = 'mySecretPassword';
+ const hashedPassword = await bcryptHash(textPassword);
- let isValidPassword = await bcryptCompare(textPassword, hashedPassword);
+ const isValidPassword = await bcryptCompare(textPassword, hashedPassword);
expect(isValidPassword).to.eql(true);
});
it('returns true if comparing a different password', async () => {
- let textPassword = 'mySecretPassword';
- let hashedPassword = await bcryptHash(textPassword);
+ const textPassword = 'mySecretPassword';
+ const hashedPassword = await bcryptHash(textPassword);
- let isValidPassword = await bcryptCompare('anotherPassword', hashedPassword);
+ const isValidPassword = await bcryptCompare('anotherPassword', hashedPassword);
expect(isValidPassword).to.eql(false);
});
});
@@ -322,19 +322,19 @@ describe('Password Utilities', () => {
describe('SHA1', () => {
describe('Encrypt', () => {
it('always encrypt the same password to the same value when using the same salt', () => {
- let textPassword = 'mySecretPassword';
- let salt = sha1MakeSalt();
- let encryptedPassword = sha1EncryptPassword(textPassword, salt);
+ const textPassword = 'mySecretPassword';
+ const salt = sha1MakeSalt();
+ const encryptedPassword = sha1EncryptPassword(textPassword, salt);
expect(sha1EncryptPassword(textPassword, salt)).to.eql(encryptedPassword);
});
it('never encrypt the same password to the same value when using a different salt', () => {
- let textPassword = 'mySecretPassword';
- let aSalt = sha1MakeSalt();
- let anotherSalt = sha1MakeSalt();
- let anEncryptedPassword = sha1EncryptPassword(textPassword, aSalt);
- let anotherEncryptedPassword = sha1EncryptPassword(textPassword, anotherSalt);
+ const textPassword = 'mySecretPassword';
+ const aSalt = sha1MakeSalt();
+ const anotherSalt = sha1MakeSalt();
+ const anEncryptedPassword = sha1EncryptPassword(textPassword, aSalt);
+ const anotherEncryptedPassword = sha1EncryptPassword(textPassword, anotherSalt);
expect(anEncryptedPassword).not.to.eql(anotherEncryptedPassword);
});
@@ -342,14 +342,14 @@ describe('Password Utilities', () => {
describe('Make Salt', () => {
it('creates a salt with length 10 by default', () => {
- let salt = sha1MakeSalt();
+ const salt = sha1MakeSalt();
expect(salt.length).to.eql(10);
});
it('can create a salt of any length', () => {
- let length = 24;
- let salt = sha1MakeSalt(length);
+ const length = 24;
+ const salt = sha1MakeSalt(length);
expect(salt.length).to.eql(length);
});
diff --git a/test/api/unit/libs/payments/amazon/cancel.test.js b/test/api/unit/libs/payments/amazon/cancel.test.js
index ab0f2ebf8c..e24d3dbf52 100644
--- a/test/api/unit/libs/payments/amazon/cancel.test.js
+++ b/test/api/unit/libs/payments/amazon/cancel.test.js
@@ -2,19 +2,20 @@ import moment from 'moment';
import {
generateGroup,
-} from '../../../../../helpers/api-unit.helper.js';
+} from '../../../../../helpers/api-unit.helper';
import { model as User } from '../../../../../../website/server/models/user';
import amzLib from '../../../../../../website/server/libs/payments/amazon';
import payments from '../../../../../../website/server/libs/payments/payments';
import common from '../../../../../../website/common';
import { createNonLeaderGroupMember } from '../paymentHelpers';
-const i18n = common.i18n;
+const { i18n } = common;
describe('Amazon Payments - Cancel Subscription', () => {
const subKey = 'basic_3mo';
- let user, group, headers, billingAgreementId, subscriptionBlock, subscriptionLength;
+ let user; let group; let headers; let billingAgreementId; let subscriptionBlock; let
+ subscriptionLength;
let getBillingAgreementDetailsSpy;
let paymentCancelSubscriptionSpy;
@@ -50,7 +51,7 @@ describe('Amazon Payments - Cancel Subscription', () => {
getBillingAgreementDetailsSpy = sinon.stub(amzLib, 'getBillingAgreementDetails')
.resolves({
BillingAgreementDetails: {
- BillingAgreementStatus: {State: 'Open'},
+ BillingAgreementStatus: { State: 'Open' },
},
});
}
@@ -81,7 +82,7 @@ describe('Amazon Payments - Cancel Subscription', () => {
getBillingAgreementDetailsSpy = sinon.stub(amzLib, 'getBillingAgreementDetails');
getBillingAgreementDetailsSpy.resolves({
BillingAgreementDetails: {
- BillingAgreementStatus: {State: 'Closed'},
+ BillingAgreementStatus: { State: 'Closed' },
},
});
@@ -89,7 +90,7 @@ describe('Amazon Payments - Cancel Subscription', () => {
paymentCancelSubscriptionSpy.resolves({});
});
- afterEach(function () {
+ afterEach(() => {
amzLib.getBillingAgreementDetails.restore();
payments.cancelSubscription.restore();
});
@@ -97,7 +98,7 @@ describe('Amazon Payments - Cancel Subscription', () => {
it('should throw an error if we are missing a subscription', async () => {
user.purchased.plan.customerId = undefined;
- await expect(amzLib.cancelSubscription({user}))
+ await expect(amzLib.cancelSubscription({ user }))
.to.eventually.be.rejected.and.to.eql({
httpCode: 401,
name: 'NotAuthorized',
@@ -108,7 +109,7 @@ describe('Amazon Payments - Cancel Subscription', () => {
it('should cancel a user subscription', async () => {
billingAgreementId = user.purchased.plan.customerId;
- await amzLib.cancelSubscription({user, headers});
+ await amzLib.cancelSubscription({ user, headers });
expectAmazonCancelUserSubscriptionSpy();
expectAmazonStubs();
@@ -117,10 +118,10 @@ describe('Amazon Payments - Cancel Subscription', () => {
it('should close a user subscription if amazon not closed', async () => {
amzLib.getBillingAgreementDetails.restore();
expectBillingAggreementDetailSpy();
- let closeBillingAgreementSpy = sinon.stub(amzLib, 'closeBillingAgreement').resolves({});
+ const closeBillingAgreementSpy = sinon.stub(amzLib, 'closeBillingAgreement').resolves({});
billingAgreementId = user.purchased.plan.customerId;
- await amzLib.cancelSubscription({user, headers});
+ await amzLib.cancelSubscription({ user, headers });
expectAmazonStubs();
expect(closeBillingAgreementSpy).to.be.calledOnce;
@@ -132,7 +133,7 @@ describe('Amazon Payments - Cancel Subscription', () => {
});
it('should throw an error if group is not found', async () => {
- await expect(amzLib.cancelSubscription({user, groupId: 'fake-id'}))
+ await expect(amzLib.cancelSubscription({ user, groupId: 'fake-id' }))
.to.eventually.be.rejected.and.to.eql({
httpCode: 404,
name: 'NotFound',
@@ -141,9 +142,9 @@ describe('Amazon Payments - Cancel Subscription', () => {
});
it('should throw an error if user is not group leader', async () => {
- let nonLeader = await createNonLeaderGroupMember(group);
+ const nonLeader = await createNonLeaderGroupMember(group);
- await expect(amzLib.cancelSubscription({user: nonLeader, groupId: group._id}))
+ await expect(amzLib.cancelSubscription({ user: nonLeader, groupId: group._id }))
.to.eventually.be.rejected.and.to.eql({
httpCode: 401,
name: 'NotAuthorized',
@@ -154,7 +155,7 @@ describe('Amazon Payments - Cancel Subscription', () => {
it('should cancel a group subscription', async () => {
billingAgreementId = group.purchased.plan.customerId;
- await amzLib.cancelSubscription({user, groupId: group._id, headers});
+ await amzLib.cancelSubscription({ user, groupId: group._id, headers });
expectAmazonCancelGroupSubscriptionSpy(group._id);
expectAmazonStubs();
@@ -163,10 +164,10 @@ describe('Amazon Payments - Cancel Subscription', () => {
it('should close a group subscription if amazon not closed', async () => {
amzLib.getBillingAgreementDetails.restore();
expectBillingAggreementDetailSpy();
- let closeBillingAgreementSpy = sinon.stub(amzLib, 'closeBillingAgreement').resolves({});
+ const closeBillingAgreementSpy = sinon.stub(amzLib, 'closeBillingAgreement').resolves({});
billingAgreementId = group.purchased.plan.customerId;
- await amzLib.cancelSubscription({user, groupId: group._id, headers});
+ await amzLib.cancelSubscription({ user, groupId: group._id, headers });
expectAmazonStubs();
expect(closeBillingAgreementSpy).to.be.calledOnce;
diff --git a/test/api/unit/libs/payments/amazon/checkout.test.js b/test/api/unit/libs/payments/amazon/checkout.test.js
index 4e220bb26b..ee4ab9cee7 100644
--- a/test/api/unit/libs/payments/amazon/checkout.test.js
+++ b/test/api/unit/libs/payments/amazon/checkout.test.js
@@ -3,11 +3,12 @@ import amzLib from '../../../../../../website/server/libs/payments/amazon';
import payments from '../../../../../../website/server/libs/payments/payments';
import common from '../../../../../../website/common';
-const i18n = common.i18n;
+const { i18n } = common;
describe('Amazon Payments - Checkout', () => {
const subKey = 'basic_3mo';
- let user, orderReferenceId, headers;
+ let user; let orderReferenceId; let
+ headers;
let setOrderReferenceDetailsSpy;
let confirmOrderReferenceSpy;
let authorizeSpy;
@@ -62,7 +63,7 @@ describe('Amazon Payments - Checkout', () => {
expect(closeOrderReferenceSpy).to.be.calledWith({ AmazonOrderReferenceId: orderReferenceId });
}
- beforeEach(function () {
+ beforeEach(() => {
user = new User();
headers = {};
orderReferenceId = 'orderReferenceId';
@@ -88,7 +89,7 @@ describe('Amazon Payments - Checkout', () => {
sinon.stub(common, 'uuid').returns('uuid-generated');
});
- afterEach(function () {
+ afterEach(() => {
amzLib.setOrderReferenceDetails.restore();
amzLib.confirmOrderReference.restore();
amzLib.authorize.restore();
@@ -101,7 +102,7 @@ describe('Amazon Payments - Checkout', () => {
function expectBuyGemsStub (paymentMethod, gift) {
expect(paymentBuyGemsStub).to.be.calledOnce;
- let expectedArgs = {
+ const expectedArgs = {
user,
paymentMethod,
headers,
@@ -112,7 +113,7 @@ describe('Amazon Payments - Checkout', () => {
it('should purchase gems', async () => {
sinon.stub(user, 'canGetGems').resolves(true);
- await amzLib.checkout({user, orderReferenceId, headers});
+ await amzLib.checkout({ user, orderReferenceId, headers });
expectBuyGemsStub(amzLib.constants.PAYMENT_METHOD);
expectAmazonStubs();
@@ -121,9 +122,9 @@ describe('Amazon Payments - Checkout', () => {
});
it('should error if gem amount is too low', async () => {
- let receivingUser = new User();
+ const receivingUser = new User();
receivingUser.save();
- let gift = {
+ const gift = {
type: 'gems',
gems: {
amount: 0,
@@ -131,7 +132,9 @@ describe('Amazon Payments - Checkout', () => {
},
};
- await expect(amzLib.checkout({gift, user, orderReferenceId, headers}))
+ await expect(amzLib.checkout({
+ gift, user, orderReferenceId, headers,
+ }))
.to.eventually.be.rejected.and.to.eql({
httpCode: 400,
message: 'Amount must be at least 1.',
@@ -141,18 +144,19 @@ describe('Amazon Payments - Checkout', () => {
it('should error if user cannot get gems gems', async () => {
sinon.stub(user, 'canGetGems').resolves(false);
- await expect(amzLib.checkout({user, orderReferenceId, headers})).to.eventually.be.rejected.and.to.eql({
- httpCode: 401,
- message: i18n.t('groupPolicyCannotGetGems'),
- name: 'NotAuthorized',
- });
+ await expect(amzLib.checkout({ user, orderReferenceId, headers }))
+ .to.eventually.be.rejected.and.to.eql({
+ httpCode: 401,
+ message: i18n.t('groupPolicyCannotGetGems'),
+ name: 'NotAuthorized',
+ });
user.canGetGems.restore();
});
it('should gift gems', async () => {
- let receivingUser = new User();
+ const receivingUser = new User();
await receivingUser.save();
- let gift = {
+ const gift = {
type: 'gems',
uuid: receivingUser._id,
gems: {
@@ -160,16 +164,18 @@ describe('Amazon Payments - Checkout', () => {
},
};
amount = 16 / 4;
- await amzLib.checkout({gift, user, orderReferenceId, headers});
+ await amzLib.checkout({
+ gift, user, orderReferenceId, headers,
+ });
expectBuyGemsStub(amzLib.constants.PAYMENT_METHOD_GIFT, gift);
expectAmazonStubs();
});
it('should gift a subscription', async () => {
- let receivingUser = new User();
+ const receivingUser = new User();
receivingUser.save();
- let gift = {
+ const gift = {
type: 'subscription',
subscription: {
key: subKey,
@@ -178,7 +184,9 @@ describe('Amazon Payments - Checkout', () => {
};
amount = common.content.subscriptionBlocks[subKey].price;
- await amzLib.checkout({user, orderReferenceId, headers, gift});
+ await amzLib.checkout({
+ user, orderReferenceId, headers, gift,
+ });
gift.member = receivingUser;
expect(paymentCreateSubscritionStub).to.be.calledOnce;
diff --git a/test/api/unit/libs/payments/amazon/subscribe.test.js b/test/api/unit/libs/payments/amazon/subscribe.test.js
index d42c80d96c..03cef6b0bc 100644
--- a/test/api/unit/libs/payments/amazon/subscribe.test.js
+++ b/test/api/unit/libs/payments/amazon/subscribe.test.js
@@ -2,18 +2,19 @@ import cc from 'coupon-code';
import {
generateGroup,
-} from '../../../../../helpers/api-unit.helper.js';
+} from '../../../../../helpers/api-unit.helper';
import { model as User } from '../../../../../../website/server/models/user';
import { model as Coupon } from '../../../../../../website/server/models/coupon';
import amzLib from '../../../../../../website/server/libs/payments/amazon';
import payments from '../../../../../../website/server/libs/payments/payments';
import common from '../../../../../../website/common';
-const i18n = common.i18n;
+const { i18n } = common;
describe('Amazon Payments - Subscribe', () => {
const subKey = 'basic_3mo';
- let user, group, amount, billingAgreementId, sub, coupon, groupId, headers;
+ let user; let group; let amount; let billingAgreementId; let sub; let coupon; let groupId; let
+ headers;
let amazonSetBillingAgreementDetailsSpy;
let amazonConfirmBillingAgreementSpy;
let amazonAuthorizeOnBillingAgreementSpy;
@@ -60,7 +61,7 @@ describe('Amazon Payments - Subscribe', () => {
sinon.stub(common, 'uuid').returns('uuid-generated');
});
- afterEach(function () {
+ afterEach(() => {
amzLib.setBillingAgreementDetails.restore();
amzLib.confirmBillingAgreement.restore();
amzLib.authorizeOnBillingAgreement.restore();
@@ -168,7 +169,7 @@ describe('Amazon Payments - Subscribe', () => {
sub.key = 'google_6mo';
coupon = 'example-coupon';
- let couponModel = new Coupon();
+ const couponModel = new Coupon();
couponModel.event = 'google_6mo';
await couponModel.save();
@@ -195,9 +196,9 @@ describe('Amazon Payments - Subscribe', () => {
sub.key = 'google_6mo';
coupon = 'example-coupon';
- let couponModel = new Coupon();
+ const couponModel = new Coupon();
couponModel.event = 'google_6mo';
- let updatedCouponModel = await couponModel.save();
+ const updatedCouponModel = await couponModel.save();
sinon.stub(cc, 'validate').returns(updatedCouponModel._id);
diff --git a/test/api/unit/libs/payments/amazon/upgrade-groupplan.test.js b/test/api/unit/libs/payments/amazon/upgrade-groupplan.test.js
index f846738acc..b47ed59257 100644
--- a/test/api/unit/libs/payments/amazon/upgrade-groupplan.test.js
+++ b/test/api/unit/libs/payments/amazon/upgrade-groupplan.test.js
@@ -2,16 +2,17 @@ import uuid from 'uuid';
import {
generateGroup,
-} from '../../../../../helpers/api-unit.helper.js';
+} from '../../../../../helpers/api-unit.helper';
import { model as User } from '../../../../../../website/server/models/user';
import { model as Group } from '../../../../../../website/server/models/group';
import amzLib from '../../../../../../website/server/libs/payments/amazon';
import payments from '../../../../../../website/server/libs/payments/payments';
describe('#upgradeGroupPlan', () => {
- let spy, data, user, group, uuidString;
+ let spy; let data; let user; let group; let
+ uuidString;
- beforeEach(async function () {
+ beforeEach(async () => {
user = new User();
user.profile.name = 'sender';
@@ -46,7 +47,7 @@ describe('#upgradeGroupPlan', () => {
data.sub.quantity = 3;
});
- afterEach(function () {
+ afterEach(() => {
amzLib.authorizeOnBillingAgreement.restore();
uuid.v4.restore();
});
@@ -55,7 +56,7 @@ describe('#upgradeGroupPlan', () => {
data.paymentMethod = amzLib.constants.PAYMENT_METHOD;
await payments.createSubscription(data);
- let updatedGroup = await Group.findById(group._id).exec();
+ const updatedGroup = await Group.findById(group._id).exec();
updatedGroup.memberCount += 1;
await updatedGroup.save();
diff --git a/test/api/unit/libs/payments/apple.test.js b/test/api/unit/libs/payments/apple.test.js
index 10029b6c3b..82fea35eec 100644
--- a/test/api/unit/libs/payments/apple.test.js
+++ b/test/api/unit/libs/payments/apple.test.js
@@ -1,21 +1,22 @@
/* eslint-disable camelcase */
-import iapModule from '../../../../../website/server/libs/inAppPurchases';
+import moment from 'moment';
import payments from '../../../../../website/server/libs/payments/payments';
import applePayments from '../../../../../website/server/libs/payments/apple';
import iap from '../../../../../website/server/libs/inAppPurchases';
-import {model as User} from '../../../../../website/server/models/user';
+import { model as User } from '../../../../../website/server/models/user';
import common from '../../../../../website/common';
-import moment from 'moment';
-import {mockFindById, restoreFindById} from '../../../../helpers/mongoose.helper';
+import { mockFindById, restoreFindById } from '../../../../helpers/mongoose.helper';
-const i18n = common.i18n;
+const { i18n } = common;
-describe('Apple Payments', () => {
- let subKey = 'basic_3mo';
+describe('Apple Payments', () => {
+ const subKey = 'basic_3mo';
describe('verifyGemPurchase', () => {
- let sku, user, token, receipt, headers;
- let iapSetupStub, iapValidateStub, iapIsValidatedStub, paymentBuyGemsStub, iapGetPurchaseDataStub;
+ let sku; let user; let token; let receipt; let
+ headers;
+ let iapSetupStub; let iapValidateStub; let iapIsValidatedStub; let paymentBuyGemsStub; let
+ iapGetPurchaseDataStub;
beforeEach(() => {
token = 'testToken';
@@ -24,33 +25,34 @@ describe('Apple Payments', () => {
receipt = `{"token": "${token}", "productId": "${sku}"}`;
headers = {};
- iapSetupStub = sinon.stub(iapModule, 'setup')
+ iapSetupStub = sinon.stub(iap, 'setup')
.resolves();
- iapValidateStub = sinon.stub(iapModule, 'validate')
+ iapValidateStub = sinon.stub(iap, 'validate')
.resolves({});
- iapIsValidatedStub = sinon.stub(iapModule, 'isValidated')
+ iapIsValidatedStub = sinon.stub(iap, 'isValidated')
.returns(true);
- iapGetPurchaseDataStub = sinon.stub(iapModule, 'getPurchaseData')
- .returns([{productId: 'com.habitrpg.ios.Habitica.21gems',
- transactionId: token,
+ iapGetPurchaseDataStub = sinon.stub(iap, 'getPurchaseData')
+ .returns([{
+ productId: 'com.habitrpg.ios.Habitica.21gems',
+ transactionId: token,
}]);
paymentBuyGemsStub = sinon.stub(payments, 'buyGems').resolves({});
});
afterEach(() => {
- iapModule.setup.restore();
- iapModule.validate.restore();
- iapModule.isValidated.restore();
- iapModule.getPurchaseData.restore();
+ iap.setup.restore();
+ iap.validate.restore();
+ iap.isValidated.restore();
+ iap.getPurchaseData.restore();
payments.buyGems.restore();
});
it('should throw an error if receipt is invalid', async () => {
- iapModule.isValidated.restore();
- iapIsValidatedStub = sinon.stub(iapModule, 'isValidated')
+ iap.isValidated.restore();
+ iapIsValidatedStub = sinon.stub(iap, 'isValidated')
.returns(false);
- await expect(applePayments.verifyGemPurchase({user, receipt, headers}))
+ await expect(applePayments.verifyGemPurchase({ user, receipt, headers }))
.to.eventually.be.rejected.and.to.eql({
httpCode: 401,
name: 'NotAuthorized',
@@ -60,9 +62,9 @@ describe('Apple Payments', () => {
it('should throw an error if getPurchaseData is invalid', async () => {
iapGetPurchaseDataStub.restore();
- iapGetPurchaseDataStub = sinon.stub(iapModule, 'getPurchaseData').returns([]);
+ iapGetPurchaseDataStub = sinon.stub(iap, 'getPurchaseData').returns([]);
- await expect(applePayments.verifyGemPurchase({user, receipt, headers}))
+ await expect(applePayments.verifyGemPurchase({ user, receipt, headers }))
.to.eventually.be.rejected.and.to.eql({
httpCode: 401,
name: 'NotAuthorized',
@@ -72,7 +74,7 @@ describe('Apple Payments', () => {
it('errors if the user cannot purchase gems', async () => {
sinon.stub(user, 'canGetGems').resolves(false);
- await expect(applePayments.verifyGemPurchase({user, receipt, headers}))
+ await expect(applePayments.verifyGemPurchase({ user, receipt, headers }))
.to.eventually.be.rejected.and.to.eql({
httpCode: 401,
name: 'NotAuthorized',
@@ -85,12 +87,13 @@ describe('Apple Payments', () => {
it('errors if amount does not exist', async () => {
sinon.stub(user, 'canGetGems').resolves(true);
iapGetPurchaseDataStub.restore();
- iapGetPurchaseDataStub = sinon.stub(iapModule, 'getPurchaseData')
- .returns([{productId: 'badProduct',
- transactionId: token,
+ iapGetPurchaseDataStub = sinon.stub(iap, 'getPurchaseData')
+ .returns([{
+ productId: 'badProduct',
+ transactionId: token,
}]);
- await expect(applePayments.verifyGemPurchase({user, receipt, headers}))
+ await expect(applePayments.verifyGemPurchase({ user, receipt, headers }))
.to.eventually.be.rejected.and.to.eql({
httpCode: 401,
name: 'NotAuthorized',
@@ -126,13 +129,14 @@ describe('Apple Payments', () => {
gemsCanPurchase.forEach(gemTest => {
it(`purchases ${gemTest.productId} gems`, async () => {
iapGetPurchaseDataStub.restore();
- iapGetPurchaseDataStub = sinon.stub(iapModule, 'getPurchaseData')
- .returns([{productId: gemTest.productId,
- transactionId: token,
+ iapGetPurchaseDataStub = sinon.stub(iap, 'getPurchaseData')
+ .returns([{
+ productId: gemTest.productId,
+ transactionId: token,
}]);
sinon.stub(user, 'canGetGems').resolves(true);
- await applePayments.verifyGemPurchase({user, receipt, headers});
+ await applePayments.verifyGemPurchase({ user, receipt, headers });
expect(iapSetupStub).to.be.calledOnce;
expect(iapValidateStub).to.be.calledOnce;
@@ -160,13 +164,16 @@ describe('Apple Payments', () => {
mockFindById(receivingUser);
iapGetPurchaseDataStub.restore();
- iapGetPurchaseDataStub = sinon.stub(iapModule, 'getPurchaseData')
- .returns([{productId: gemsCanPurchase[0].productId,
- transactionId: token,
+ iapGetPurchaseDataStub = sinon.stub(iap, 'getPurchaseData')
+ .returns([{
+ productId: gemsCanPurchase[0].productId,
+ transactionId: token,
}]);
- const gift = {uuid: receivingUser._id};
- await applePayments.verifyGemPurchase({user, gift, receipt, headers});
+ const gift = { uuid: receivingUser._id };
+ await applePayments.verifyGemPurchase({
+ user, gift, receipt, headers,
+ });
expect(iapSetupStub).to.be.calledOnce;
expect(iapValidateStub).to.be.calledOnce;
@@ -187,8 +194,11 @@ describe('Apple Payments', () => {
});
describe('subscribe', () => {
- let sub, sku, user, token, receipt, headers, nextPaymentProcessing;
- let iapSetupStub, iapValidateStub, iapIsValidatedStub, paymentsCreateSubscritionStub, iapGetPurchaseDataStub;
+ let sub; let sku; let user; let token; let receipt; let headers; let
+ nextPaymentProcessing;
+ let iapSetupStub; let iapValidateStub; let iapIsValidatedStub;
+ let paymentsCreateSubscritionStub; let
+ iapGetPurchaseDataStub;
beforeEach(() => {
sub = common.content.subscriptionBlocks[subKey];
@@ -197,25 +207,25 @@ describe('Apple Payments', () => {
token = 'test-token';
headers = {};
receipt = `{"token": "${token}"}`;
- nextPaymentProcessing = moment.utc().add({days: 2});
+ nextPaymentProcessing = moment.utc().add({ days: 2 });
- iapSetupStub = sinon.stub(iapModule, 'setup')
+ iapSetupStub = sinon.stub(iap, 'setup')
.resolves();
- iapValidateStub = sinon.stub(iapModule, 'validate')
+ iapValidateStub = sinon.stub(iap, 'validate')
.resolves({});
- iapIsValidatedStub = sinon.stub(iapModule, 'isValidated')
+ iapIsValidatedStub = sinon.stub(iap, 'isValidated')
.returns(true);
- iapGetPurchaseDataStub = sinon.stub(iapModule, 'getPurchaseData')
+ iapGetPurchaseDataStub = sinon.stub(iap, 'getPurchaseData')
.returns([{
- expirationDate: moment.utc().subtract({day: 1}).toDate(),
+ expirationDate: moment.utc().subtract({ day: 1 }).toDate(),
productId: sku,
transactionId: token,
}, {
- expirationDate: moment.utc().add({day: 1}).toDate(),
+ expirationDate: moment.utc().add({ day: 1 }).toDate(),
productId: 'wrongsku',
transactionId: token,
}, {
- expirationDate: moment.utc().add({day: 1}).toDate(),
+ expirationDate: moment.utc().add({ day: 1 }).toDate(),
productId: sku,
transactionId: token,
}]);
@@ -223,10 +233,10 @@ describe('Apple Payments', () => {
});
afterEach(() => {
- iapModule.setup.restore();
- iapModule.validate.restore();
- iapModule.isValidated.restore();
- iapModule.getPurchaseData.restore();
+ iap.setup.restore();
+ iap.validate.restore();
+ iap.isValidated.restore();
+ iap.getPurchaseData.restore();
if (payments.createSubscription.restore) payments.createSubscription.restore();
});
@@ -240,8 +250,8 @@ describe('Apple Payments', () => {
});
it('should throw an error if receipt is invalid', async () => {
- iapModule.isValidated.restore();
- iapIsValidatedStub = sinon.stub(iapModule, 'isValidated')
+ iap.isValidated.restore();
+ iapIsValidatedStub = sinon.stub(iap, 'isValidated')
.returns(false);
await expect(applePayments.subscribe(sku, user, receipt, headers, nextPaymentProcessing))
@@ -272,10 +282,10 @@ describe('Apple Payments', () => {
];
subOptions.forEach(option => {
it(`creates a user subscription for ${option.sku}`, async () => {
- iapModule.getPurchaseData.restore();
- iapGetPurchaseDataStub = sinon.stub(iapModule, 'getPurchaseData')
+ iap.getPurchaseData.restore();
+ iapGetPurchaseDataStub = sinon.stub(iap, 'getPurchaseData')
.returns([{
- expirationDate: moment.utc().add({day: 1}).toDate(),
+ expirationDate: moment.utc().add({ day: 1 }).toDate(),
productId: option.sku,
transactionId: token,
}]);
@@ -319,8 +329,10 @@ describe('Apple Payments', () => {
});
describe('cancelSubscribe ', () => {
- let user, token, receipt, headers, customerId, expirationDate;
- let iapSetupStub, iapValidateStub, iapIsValidatedStub, iapGetPurchaseDataStub, paymentCancelSubscriptionSpy;
+ let user; let token; let receipt; let headers; let customerId; let
+ expirationDate;
+ let iapSetupStub; let iapValidateStub; let iapIsValidatedStub; let iapGetPurchaseDataStub; let
+ paymentCancelSubscriptionSpy;
beforeEach(async () => {
token = 'test-token';
@@ -329,15 +341,15 @@ describe('Apple Payments', () => {
customerId = 'test-customerId';
expirationDate = moment.utc();
- iapSetupStub = sinon.stub(iapModule, 'setup')
+ iapSetupStub = sinon.stub(iap, 'setup')
.resolves();
- iapValidateStub = sinon.stub(iapModule, 'validate')
+ iapValidateStub = sinon.stub(iap, 'validate')
.resolves({
expirationDate,
});
- iapGetPurchaseDataStub = sinon.stub(iapModule, 'getPurchaseData')
- .returns([{expirationDate: expirationDate.toDate()}]);
- iapIsValidatedStub = sinon.stub(iapModule, 'isValidated')
+ iapGetPurchaseDataStub = sinon.stub(iap, 'getPurchaseData')
+ .returns([{ expirationDate: expirationDate.toDate() }]);
+ iapIsValidatedStub = sinon.stub(iap, 'isValidated')
.returns(true);
user = new User();
@@ -350,11 +362,11 @@ describe('Apple Payments', () => {
paymentCancelSubscriptionSpy = sinon.stub(payments, 'cancelSubscription').resolves({});
});
- afterEach(function () {
- iapModule.setup.restore();
- iapModule.validate.restore();
- iapModule.isValidated.restore();
- iapModule.getPurchaseData.restore();
+ afterEach(() => {
+ iap.setup.restore();
+ iap.validate.restore();
+ iap.isValidated.restore();
+ iap.getPurchaseData.restore();
payments.cancelSubscription.restore();
});
@@ -370,9 +382,9 @@ describe('Apple Payments', () => {
});
it('should throw an error if subscription is still valid', async () => {
- iapModule.getPurchaseData.restore();
- iapGetPurchaseDataStub = sinon.stub(iapModule, 'getPurchaseData')
- .returns([{expirationDate: expirationDate.add({day: 1}).toDate()}]);
+ iap.getPurchaseData.restore();
+ iapGetPurchaseDataStub = sinon.stub(iap, 'getPurchaseData')
+ .returns([{ expirationDate: expirationDate.add({ day: 1 }).toDate() }]);
await expect(applePayments.cancelSubscribe(user, headers))
.to.eventually.be.rejected.and.to.eql({
@@ -383,8 +395,8 @@ describe('Apple Payments', () => {
});
it('should throw an error if receipt is invalid', async () => {
- iapModule.isValidated.restore();
- iapIsValidatedStub = sinon.stub(iapModule, 'isValidated')
+ iap.isValidated.restore();
+ iapIsValidatedStub = sinon.stub(iap, 'isValidated')
.returns(false);
await expect(applePayments.cancelSubscribe(user, headers))
diff --git a/test/api/unit/libs/payments/google.test.js b/test/api/unit/libs/payments/google.test.js
index c80639957c..c8383fa828 100644
--- a/test/api/unit/libs/payments/google.test.js
+++ b/test/api/unit/libs/payments/google.test.js
@@ -1,21 +1,22 @@
/* eslint-disable camelcase */
-import iapModule from '../../../../../website/server/libs/inAppPurchases';
+import moment from 'moment';
import payments from '../../../../../website/server/libs/payments/payments';
import googlePayments from '../../../../../website/server/libs/payments/google';
import iap from '../../../../../website/server/libs/inAppPurchases';
-import {model as User} from '../../../../../website/server/models/user';
+import { model as User } from '../../../../../website/server/models/user';
import common from '../../../../../website/common';
-import moment from 'moment';
-import {mockFindById, restoreFindById} from '../../../../helpers/mongoose.helper';
+import { mockFindById, restoreFindById } from '../../../../helpers/mongoose.helper';
-const i18n = common.i18n;
+const { i18n } = common;
-describe('Google Payments', () => {
- let subKey = 'basic_3mo';
+describe('Google Payments', () => {
+ const subKey = 'basic_3mo';
describe('verifyGemPurchase', () => {
- let sku, user, token, receipt, signature, headers;
- let iapSetupStub, iapValidateStub, iapIsValidatedStub, paymentBuyGemsStub;
+ let sku; let user; let token; let receipt; let signature; let
+ headers;
+ let iapSetupStub; let iapValidateStub; let iapIsValidatedStub; let
+ paymentBuyGemsStub;
beforeEach(() => {
sku = 'com.habitrpg.android.habitica.iap.21gems';
@@ -24,28 +25,30 @@ describe('Google Payments', () => {
signature = '';
headers = {};
- iapSetupStub = sinon.stub(iapModule, 'setup')
+ iapSetupStub = sinon.stub(iap, 'setup')
.resolves();
- iapValidateStub = sinon.stub(iapModule, 'validate')
+ iapValidateStub = sinon.stub(iap, 'validate')
.resolves({});
- iapIsValidatedStub = sinon.stub(iapModule, 'isValidated')
+ iapIsValidatedStub = sinon.stub(iap, 'isValidated')
.returns(true);
paymentBuyGemsStub = sinon.stub(payments, 'buyGems').resolves({});
});
afterEach(() => {
- iapModule.setup.restore();
- iapModule.validate.restore();
- iapModule.isValidated.restore();
+ iap.setup.restore();
+ iap.validate.restore();
+ iap.isValidated.restore();
payments.buyGems.restore();
});
it('should throw an error if receipt is invalid', async () => {
- iapModule.isValidated.restore();
- iapIsValidatedStub = sinon.stub(iapModule, 'isValidated')
+ iap.isValidated.restore();
+ iapIsValidatedStub = sinon.stub(iap, 'isValidated')
.returns(false);
- await expect(googlePayments.verifyGemPurchase({user, receipt, signature, headers}))
+ await expect(googlePayments.verifyGemPurchase({
+ user, receipt, signature, headers,
+ }))
.to.eventually.be.rejected.and.to.eql({
httpCode: 401,
name: 'NotAuthorized',
@@ -56,7 +59,9 @@ describe('Google Payments', () => {
it('should throw an error if productId is invalid', async () => {
receipt = `{"token": "${token}", "productId": "invalid"}`;
- await expect(googlePayments.verifyGemPurchase({user, receipt, signature, headers}))
+ await expect(googlePayments.verifyGemPurchase({
+ user, receipt, signature, headers,
+ }))
.to.eventually.be.rejected.and.to.eql({
httpCode: 401,
name: 'NotAuthorized',
@@ -67,7 +72,9 @@ describe('Google Payments', () => {
it('should throw an error if user cannot purchase gems', async () => {
sinon.stub(user, 'canGetGems').resolves(false);
- await expect(googlePayments.verifyGemPurchase({user, receipt, signature, headers}))
+ await expect(googlePayments.verifyGemPurchase({
+ user, receipt, signature, headers,
+ }))
.to.eventually.be.rejected.and.to.eql({
httpCode: 401,
name: 'NotAuthorized',
@@ -79,7 +86,9 @@ describe('Google Payments', () => {
it('purchases gems', async () => {
sinon.stub(user, 'canGetGems').resolves(true);
- await googlePayments.verifyGemPurchase({user, receipt, signature, headers});
+ await googlePayments.verifyGemPurchase({
+ user, receipt, signature, headers,
+ });
expect(iapSetupStub).to.be.calledOnce;
expect(iapValidateStub).to.be.calledOnce;
@@ -107,8 +116,10 @@ describe('Google Payments', () => {
mockFindById(receivingUser);
- const gift = {uuid: receivingUser._id};
- await googlePayments.verifyGemPurchase({user, gift, receipt, signature, headers});
+ const gift = { uuid: receivingUser._id };
+ await googlePayments.verifyGemPurchase({
+ user, gift, receipt, signature, headers,
+ });
expect(iapSetupStub).to.be.calledOnce;
expect(iapValidateStub).to.be.calledOnce;
@@ -131,8 +142,10 @@ describe('Google Payments', () => {
});
describe('subscribe', () => {
- let sub, sku, user, token, receipt, signature, headers, nextPaymentProcessing;
- let iapSetupStub, iapValidateStub, iapIsValidatedStub, paymentsCreateSubscritionStub;
+ let sub; let sku; let user; let token; let receipt; let signature; let headers; let
+ nextPaymentProcessing;
+ let iapSetupStub; let iapValidateStub; let iapIsValidatedStub; let
+ paymentsCreateSubscritionStub;
beforeEach(() => {
sub = common.content.subscriptionBlocks[subKey];
@@ -142,30 +155,31 @@ describe('Google Payments', () => {
headers = {};
receipt = `{"token": "${token}"}`;
signature = '';
- nextPaymentProcessing = moment.utc().add({days: 2});
+ nextPaymentProcessing = moment.utc().add({ days: 2 });
- iapSetupStub = sinon.stub(iapModule, 'setup')
+ iapSetupStub = sinon.stub(iap, 'setup')
.resolves();
- iapValidateStub = sinon.stub(iapModule, 'validate')
+ iapValidateStub = sinon.stub(iap, 'validate')
.resolves({});
- iapIsValidatedStub = sinon.stub(iapModule, 'isValidated')
+ iapIsValidatedStub = sinon.stub(iap, 'isValidated')
.returns(true);
paymentsCreateSubscritionStub = sinon.stub(payments, 'createSubscription').resolves({});
});
afterEach(() => {
- iapModule.setup.restore();
- iapModule.validate.restore();
- iapModule.isValidated.restore();
+ iap.setup.restore();
+ iap.validate.restore();
+ iap.isValidated.restore();
payments.createSubscription.restore();
});
it('should throw an error if receipt is invalid', async () => {
- iapModule.isValidated.restore();
- iapIsValidatedStub = sinon.stub(iapModule, 'isValidated')
+ iap.isValidated.restore();
+ iapIsValidatedStub = sinon.stub(iap, 'isValidated')
.returns(false);
- await expect(googlePayments.subscribe(sku, user, receipt, signature, headers, nextPaymentProcessing))
+ await expect(googlePayments
+ .subscribe(sku, user, receipt, signature, headers, nextPaymentProcessing))
.to.eventually.be.rejected.and.to.eql({
httpCode: 401,
name: 'NotAuthorized',
@@ -176,7 +190,8 @@ describe('Google Payments', () => {
it('should throw an error if sku is invalid', async () => {
sku = 'invalid';
- await expect(googlePayments.subscribe(sku, user, receipt, signature, headers, nextPaymentProcessing))
+ await expect(googlePayments
+ .subscribe(sku, user, receipt, signature, headers, nextPaymentProcessing))
.to.eventually.be.rejected.and.to.eql({
httpCode: 401,
name: 'NotAuthorized',
@@ -203,15 +218,17 @@ describe('Google Payments', () => {
paymentMethod: googlePayments.constants.PAYMENT_METHOD_GOOGLE,
sub,
headers,
- additionalData: {data: receipt, signature},
+ additionalData: { data: receipt, signature },
nextPaymentProcessing,
});
});
});
describe('cancelSubscribe ', () => {
- let user, token, receipt, signature, headers, customerId, expirationDate;
- let iapSetupStub, iapValidateStub, iapIsValidatedStub, iapGetPurchaseDataStub, paymentCancelSubscriptionSpy;
+ let user; let token; let receipt; let signature; let headers; let customerId; let
+ expirationDate;
+ let iapSetupStub; let iapValidateStub; let iapIsValidatedStub; let iapGetPurchaseDataStub; let
+ paymentCancelSubscriptionSpy;
beforeEach(async () => {
token = 'test-token';
@@ -221,15 +238,15 @@ describe('Google Payments', () => {
customerId = 'test-customerId';
expirationDate = moment.utc();
- iapSetupStub = sinon.stub(iapModule, 'setup')
+ iapSetupStub = sinon.stub(iap, 'setup')
.resolves();
- iapValidateStub = sinon.stub(iapModule, 'validate')
+ iapValidateStub = sinon.stub(iap, 'validate')
.resolves({
expirationDate,
});
- iapGetPurchaseDataStub = sinon.stub(iapModule, 'getPurchaseData')
- .returns([{expirationDate: expirationDate.toDate()}]);
- iapIsValidatedStub = sinon.stub(iapModule, 'isValidated')
+ iapGetPurchaseDataStub = sinon.stub(iap, 'getPurchaseData')
+ .returns([{ expirationDate: expirationDate.toDate() }]);
+ iapIsValidatedStub = sinon.stub(iap, 'isValidated')
.returns(true);
user = new User();
@@ -237,16 +254,16 @@ describe('Google Payments', () => {
user.purchased.plan.customerId = customerId;
user.purchased.plan.paymentMethod = googlePayments.constants.PAYMENT_METHOD_GOOGLE;
user.purchased.plan.planId = subKey;
- user.purchased.plan.additionalData = {data: receipt, signature};
+ user.purchased.plan.additionalData = { data: receipt, signature };
paymentCancelSubscriptionSpy = sinon.stub(payments, 'cancelSubscription').resolves({});
});
- afterEach(function () {
- iapModule.setup.restore();
- iapModule.validate.restore();
- iapModule.isValidated.restore();
- iapModule.getPurchaseData.restore();
+ afterEach(() => {
+ iap.setup.restore();
+ iap.validate.restore();
+ iap.isValidated.restore();
+ iap.getPurchaseData.restore();
payments.cancelSubscription.restore();
});
@@ -262,9 +279,9 @@ describe('Google Payments', () => {
});
it('should throw an error if subscription is still valid', async () => {
- iapModule.getPurchaseData.restore();
- iapGetPurchaseDataStub = sinon.stub(iapModule, 'getPurchaseData')
- .returns([{expirationDate: expirationDate.add({day: 1}).toDate()}]);
+ iap.getPurchaseData.restore();
+ iapGetPurchaseDataStub = sinon.stub(iap, 'getPurchaseData')
+ .returns([{ expirationDate: expirationDate.add({ day: 1 }).toDate() }]);
await expect(googlePayments.cancelSubscribe(user, headers))
.to.eventually.be.rejected.and.to.eql({
@@ -275,8 +292,8 @@ describe('Google Payments', () => {
});
it('should throw an error if receipt is invalid', async () => {
- iapModule.isValidated.restore();
- iapIsValidatedStub = sinon.stub(iapModule, 'isValidated')
+ iap.isValidated.restore();
+ iapIsValidatedStub = sinon.stub(iap, 'isValidated')
.returns(false);
await expect(googlePayments.cancelSubscribe(user, headers))
diff --git a/test/api/unit/libs/payments/group-plans/group-payments-cancel.test.js b/test/api/unit/libs/payments/group-plans/group-payments-cancel.test.js
index 65d78399eb..ccbe63f328 100644
--- a/test/api/unit/libs/payments/group-plans/group-payments-cancel.test.js
+++ b/test/api/unit/libs/payments/group-plans/group-payments-cancel.test.js
@@ -1,16 +1,17 @@
import moment from 'moment';
import * as sender from '../../../../../../website/server/libs/email';
-import * as api from '../../../../../../website/server/libs/payments/payments';
+import api from '../../../../../../website/server/libs/payments/payments';
import { model as User } from '../../../../../../website/server/models/user';
import { model as Group } from '../../../../../../website/server/models/group';
import {
generateGroup,
-} from '../../../../../helpers/api-unit.helper.js';
+} from '../../../../../helpers/api-unit.helper';
import i18n from '../../../../../../website/common/script/i18n';
describe('Canceling a subscription for group', () => {
- let plan, group, user, data;
+ let plan; let group; let user; let
+ data;
beforeEach(async () => {
user = new User();
@@ -67,9 +68,9 @@ describe('Canceling a subscription for group', () => {
data.groupId = group._id;
await api.cancelSubscription(data);
- let now = new Date();
- let updatedGroup = await Group.findById(group._id).exec();
- let daysTillTermination = moment(updatedGroup.purchased.plan.dateTerminated).diff(now, 'days');
+ const now = new Date();
+ const updatedGroup = await Group.findById(group._id).exec();
+ const daysTillTermination = moment(updatedGroup.purchased.plan.dateTerminated).diff(now, 'days');
expect(daysTillTermination).to.be.within(29, 30); // 1 month +/- 1 days
});
@@ -81,9 +82,9 @@ describe('Canceling a subscription for group', () => {
await api.cancelSubscription(data);
- let now = new Date();
- let updatedGroup = await Group.findById(group._id).exec();
- let daysTillTermination = moment(updatedGroup.purchased.plan.dateTerminated).diff(now, 'days');
+ const now = new Date();
+ const updatedGroup = await Group.findById(group._id).exec();
+ const daysTillTermination = moment(updatedGroup.purchased.plan.dateTerminated).diff(now, 'days');
expect(daysTillTermination).to.be.within(89, 90); // 3 months +/- 1 days
});
@@ -95,9 +96,9 @@ describe('Canceling a subscription for group', () => {
await api.cancelSubscription(data);
- let now = new Date();
- let updatedGroup = await Group.findById(group._id).exec();
- let daysTillTermination = moment(updatedGroup.purchased.plan.dateTerminated).diff(now, 'days');
+ const now = new Date();
+ const updatedGroup = await Group.findById(group._id).exec();
+ const daysTillTermination = moment(updatedGroup.purchased.plan.dateTerminated).diff(now, 'days');
expect(daysTillTermination).to.be.within(38, 39); // should be about 1 month + 1/3 month
});
@@ -108,9 +109,9 @@ describe('Canceling a subscription for group', () => {
await api.cancelSubscription(data);
- let now = new Date();
- let updatedGroup = await Group.findById(group._id).exec();
- let daysTillTermination = moment(updatedGroup.purchased.plan.dateTerminated).diff(now, 'days');
+ const now = new Date();
+ const updatedGroup = await Group.findById(group._id).exec();
+ const daysTillTermination = moment(updatedGroup.purchased.plan.dateTerminated).diff(now, 'days');
expect(daysTillTermination).to.be.within(13, 15);
});
@@ -122,7 +123,7 @@ describe('Canceling a subscription for group', () => {
await api.cancelSubscription(data);
- let updatedGroup = await Group.findById(group._id).exec();
+ const updatedGroup = await Group.findById(group._id).exec();
expect(updatedGroup.purchased.plan.extraMonths).to.eql(0);
});
@@ -134,12 +135,12 @@ describe('Canceling a subscription for group', () => {
expect(sender.sendTxn.firstCall.args[0]._id).to.equal(user._id);
expect(sender.sendTxn.firstCall.args[1]).to.equal('group-cancel-subscription');
expect(sender.sendTxn.firstCall.args[2]).to.eql([
- {name: 'GROUP_NAME', content: group.name},
+ { name: 'GROUP_NAME', content: group.name },
]);
});
it('prevents non group leader from managing subscription', async () => {
- let groupMember = new User();
+ const groupMember = new User();
data.user = groupMember;
data.groupId = group._id;
@@ -160,7 +161,7 @@ describe('Canceling a subscription for group', () => {
await api.createSubscription(data);
let updatedGroup = await Group.findById(group._id).exec();
- let newLeader = new User();
+ const newLeader = new User();
updatedGroup.leader = newLeader._id;
await updatedGroup.save();
@@ -192,15 +193,15 @@ describe('Canceling a subscription for group', () => {
await api.cancelSubscription(data);
- let now = new Date();
+ const now = new Date();
now.setHours(0, 0, 0, 0);
- let updatedLeader = await User.findById(user._id).exec();
- let daysTillTermination = moment(updatedLeader.purchased.plan.dateTerminated).diff(now, 'days');
+ const updatedLeader = await User.findById(user._id).exec();
+ const daysTillTermination = moment(updatedLeader.purchased.plan.dateTerminated).diff(now, 'days');
expect(daysTillTermination).to.be.within(2, 3); // only a few days
});
it('sends an email to members of group', async () => {
- let recipient = new User();
+ const recipient = new User();
recipient.profile.name = 'recipient';
recipient.guilds.push(group._id);
await recipient.save();
@@ -214,8 +215,8 @@ describe('Canceling a subscription for group', () => {
expect(sender.sendTxn.thirdCall.args[0]._id).to.equal(recipient._id);
expect(sender.sendTxn.thirdCall.args[1]).to.equal('group-member-cancel');
expect(sender.sendTxn.thirdCall.args[2]).to.eql([
- {name: 'LEADER', content: user.profile.name},
- {name: 'GROUP_NAME', content: group.name},
+ { name: 'LEADER', content: user.profile.name },
+ { name: 'GROUP_NAME', content: group.name },
]);
});
@@ -223,7 +224,7 @@ describe('Canceling a subscription for group', () => {
plan.key = 'basic_earned';
plan.customerId = api.constants.UNLIMITED_CUSTOMER_ID;
- let recipient = new User();
+ const recipient = new User();
recipient.profile.name = 'recipient';
recipient.purchased.plan = plan;
recipient.guilds.push(group._id);
@@ -233,12 +234,12 @@ describe('Canceling a subscription for group', () => {
await api.cancelSubscription(data);
- let updatedLeader = await User.findById(user._id).exec();
+ const updatedLeader = await User.findById(user._id).exec();
expect(updatedLeader.purchased.plan.dateTerminated).to.not.exist;
});
it('does not cancel a user subscription if they are still in another active group plan', async () => {
- let recipient = new User();
+ const recipient = new User();
recipient.profile.name = 'recipient';
plan.key = 'basic_earned';
recipient.purchased.plan = plan;
@@ -252,10 +253,10 @@ describe('Canceling a subscription for group', () => {
await api.createSubscription(data);
let updatedUser = await User.findById(recipient._id).exec();
- let firstDateCreated = updatedUser.purchased.plan.dateCreated;
- let extraMonthsBeforeSecond = updatedUser.purchased.plan.extraMonths;
+ const firstDateCreated = updatedUser.purchased.plan.dateCreated;
+ const extraMonthsBeforeSecond = updatedUser.purchased.plan.extraMonths;
- let group2 = generateGroup({
+ const group2 = generateGroup({
name: 'test group2',
type: 'guild',
privacy: 'public',
@@ -291,10 +292,10 @@ describe('Canceling a subscription for group', () => {
await api.createSubscription(data);
let updatedUser = await User.findById(user._id).exec();
- let firstDateCreated = updatedUser.purchased.plan.dateCreated;
- let extraMonthsBeforeSecond = updatedUser.purchased.plan.extraMonths;
+ const firstDateCreated = updatedUser.purchased.plan.dateCreated;
+ const extraMonthsBeforeSecond = updatedUser.purchased.plan.extraMonths;
- let group2 = generateGroup({
+ const group2 = generateGroup({
name: 'test group2',
type: 'guild',
privacy: 'public',
diff --git a/test/api/unit/libs/payments/group-plans/group-payments-create.test.js b/test/api/unit/libs/payments/group-plans/group-payments-create.test.js
index 3e57126ef0..ca6c921f80 100644
--- a/test/api/unit/libs/payments/group-plans/group-payments-create.test.js
+++ b/test/api/unit/libs/payments/group-plans/group-payments-create.test.js
@@ -3,7 +3,7 @@ import stripeModule from 'stripe';
import nconf from 'nconf';
import * as sender from '../../../../../../website/server/libs/email';
-import * as api from '../../../../../../website/server/libs/payments/payments';
+import api from '../../../../../../website/server/libs/payments/payments';
import amzLib from '../../../../../../website/server/libs/payments/amazon';
import paypalPayments from '../../../../../../website/server/libs/payments/paypal';
import stripePayments from '../../../../../../website/server/libs/payments/stripe';
@@ -11,7 +11,7 @@ import { model as User } from '../../../../../../website/server/models/user';
import { model as Group } from '../../../../../../website/server/models/group';
import {
generateGroup,
-} from '../../../../../helpers/api-unit.helper.js';
+} from '../../../../../helpers/api-unit.helper';
describe('Purchasing a group plan for group', () => {
const EMAIL_TEMPLATE_SUBSCRIPTION_TYPE_GOOGLE = 'Google_subscription';
@@ -19,10 +19,11 @@ describe('Purchasing a group plan for group', () => {
const EMAIL_TEMPLATE_SUBSCRIPTION_TYPE_NORMAL = 'normal_subscription';
const EMAIL_TEMPLATE_SUBSCRIPTION_TYPE_NONE = 'no_subscription';
- let plan, group, user, data;
- let stripe = stripeModule('test');
- let groupLeaderName = 'sender';
- let groupName = 'test group';
+ let plan; let group; let user; let
+ data;
+ const stripe = stripeModule('test');
+ const groupLeaderName = 'sender';
+ const groupName = 'test group';
beforeEach(async () => {
user = new User();
@@ -68,14 +69,17 @@ describe('Purchasing a group plan for group', () => {
},
};
- let subscriptionId = 'subId';
+ const subscriptionId = 'subId';
sinon.stub(stripe.customers, 'del').resolves({});
- let currentPeriodEndTimeStamp = moment().add(3, 'months').unix();
+ const currentPeriodEndTimeStamp = moment().add(3, 'months').unix();
sinon.stub(stripe.customers, 'retrieve')
.resolves({
subscriptions: {
- data: [{id: subscriptionId, current_period_end: currentPeriodEndTimeStamp}], // eslint-disable-line camelcase
+ data: [{
+ id: subscriptionId,
+ current_period_end: currentPeriodEndTimeStamp,
+ }], // eslint-disable-line camelcase
},
});
@@ -95,7 +99,7 @@ describe('Purchasing a group plan for group', () => {
await api.createSubscription(data);
- let updatedGroup = await Group.findById(group._id).exec();
+ const updatedGroup = await Group.findById(group._id).exec();
expect(updatedGroup.purchased.plan.planId).to.eql('basic_3mo');
expect(updatedGroup.purchased.plan.customerId).to.eql('customer-id');
@@ -126,7 +130,7 @@ describe('Purchasing a group plan for group', () => {
await api.createSubscription(data);
- let updatedGroup = await Group.findById(group._id).exec();
+ const updatedGroup = await Group.findById(group._id).exec();
expect(updatedGroup.purchased.plan.extraMonths).to.within(1.9, 2);
});
@@ -139,7 +143,7 @@ describe('Purchasing a group plan for group', () => {
await api.createSubscription(data);
- let updatedGroup = await Group.findById(group._id).exec();
+ const updatedGroup = await Group.findById(group._id).exec();
expect(updatedGroup.purchased.plan.extraMonths).to.eql(0);
});
@@ -150,7 +154,7 @@ describe('Purchasing a group plan for group', () => {
data.groupId = group._id;
await api.createSubscription(data);
- let updatedLeader = await User.findById(user._id).exec();
+ const updatedLeader = await User.findById(user._id).exec();
expect(updatedLeader.purchased.plan.planId).to.eql('group_plan_auto');
expect(updatedLeader.purchased.plan.customerId).to.eql('group-plan');
@@ -166,7 +170,7 @@ describe('Purchasing a group plan for group', () => {
});
it('sends an email to member of group who was not a subscriber', async () => {
- let recipient = new User();
+ const recipient = new User();
recipient.profile.name = 'recipient';
recipient.guilds.push(group._id);
await recipient.save();
@@ -179,9 +183,9 @@ describe('Purchasing a group plan for group', () => {
expect(sender.sendTxn.firstCall.args[0]._id).to.equal(recipient._id);
expect(sender.sendTxn.firstCall.args[1]).to.equal('group-member-join');
expect(sender.sendTxn.firstCall.args[2]).to.eql([
- {name: 'LEADER', content: user.profile.name},
- {name: 'GROUP_NAME', content: group.name},
- {name: 'PREVIOUS_SUBSCRIPTION_TYPE', content: EMAIL_TEMPLATE_SUBSCRIPTION_TYPE_NONE},
+ { name: 'LEADER', content: user.profile.name },
+ { name: 'GROUP_NAME', content: group.name },
+ { name: 'PREVIOUS_SUBSCRIPTION_TYPE', content: EMAIL_TEMPLATE_SUBSCRIPTION_TYPE_NONE },
]);
// confirm that the other email sent is appropriate:
expect(sender.sendTxn.secondCall.args[0]._id).to.equal(group.leader);
@@ -189,7 +193,7 @@ describe('Purchasing a group plan for group', () => {
});
it('sends one email to subscribed member of group, stating subscription is cancelled (Stripe)', async () => {
- let recipient = new User();
+ const recipient = new User();
recipient.profile.name = 'recipient';
plan.key = 'basic_earned';
plan.paymentMethod = stripePayments.constants.PAYMENT_METHOD;
@@ -205,9 +209,9 @@ describe('Purchasing a group plan for group', () => {
expect(sender.sendTxn.firstCall.args[0]._id).to.equal(recipient._id);
expect(sender.sendTxn.firstCall.args[1]).to.equal('group-member-join');
expect(sender.sendTxn.firstCall.args[2]).to.eql([
- {name: 'LEADER', content: user.profile.name},
- {name: 'GROUP_NAME', content: group.name},
- {name: 'PREVIOUS_SUBSCRIPTION_TYPE', content: EMAIL_TEMPLATE_SUBSCRIPTION_TYPE_NORMAL},
+ { name: 'LEADER', content: user.profile.name },
+ { name: 'GROUP_NAME', content: group.name },
+ { name: 'PREVIOUS_SUBSCRIPTION_TYPE', content: EMAIL_TEMPLATE_SUBSCRIPTION_TYPE_NORMAL },
]);
// confirm that the other email sent is not a cancel-subscription email:
expect(sender.sendTxn.secondCall.args[0]._id).to.equal(group.leader);
@@ -218,11 +222,11 @@ describe('Purchasing a group plan for group', () => {
sinon.stub(amzLib, 'getBillingAgreementDetails')
.resolves({
BillingAgreementDetails: {
- BillingAgreementStatus: {State: 'Closed'},
+ BillingAgreementStatus: { State: 'Closed' },
},
});
- let recipient = new User();
+ const recipient = new User();
recipient.profile.name = 'recipient';
plan.planId = 'basic_earned';
plan.paymentMethod = amzLib.constants.PAYMENT_METHOD;
@@ -238,9 +242,9 @@ describe('Purchasing a group plan for group', () => {
expect(sender.sendTxn.firstCall.args[0]._id).to.equal(recipient._id);
expect(sender.sendTxn.firstCall.args[1]).to.equal('group-member-join');
expect(sender.sendTxn.firstCall.args[2]).to.eql([
- {name: 'LEADER', content: user.profile.name},
- {name: 'GROUP_NAME', content: group.name},
- {name: 'PREVIOUS_SUBSCRIPTION_TYPE', content: EMAIL_TEMPLATE_SUBSCRIPTION_TYPE_NORMAL},
+ { name: 'LEADER', content: user.profile.name },
+ { name: 'GROUP_NAME', content: group.name },
+ { name: 'PREVIOUS_SUBSCRIPTION_TYPE', content: EMAIL_TEMPLATE_SUBSCRIPTION_TYPE_NORMAL },
]);
// confirm that the other email sent is not a cancel-subscription email:
expect(sender.sendTxn.secondCall.args[0]._id).to.equal(group.leader);
@@ -259,7 +263,7 @@ describe('Purchasing a group plan for group', () => {
},
});
- let recipient = new User();
+ const recipient = new User();
recipient.profile.name = 'recipient';
plan.planId = 'basic_earned';
plan.paymentMethod = paypalPayments.constants.PAYMENT_METHOD;
@@ -275,9 +279,9 @@ describe('Purchasing a group plan for group', () => {
expect(sender.sendTxn.firstCall.args[0]._id).to.equal(recipient._id);
expect(sender.sendTxn.firstCall.args[1]).to.equal('group-member-join');
expect(sender.sendTxn.firstCall.args[2]).to.eql([
- {name: 'LEADER', content: user.profile.name},
- {name: 'GROUP_NAME', content: group.name},
- {name: 'PREVIOUS_SUBSCRIPTION_TYPE', content: EMAIL_TEMPLATE_SUBSCRIPTION_TYPE_NORMAL},
+ { name: 'LEADER', content: user.profile.name },
+ { name: 'GROUP_NAME', content: group.name },
+ { name: 'PREVIOUS_SUBSCRIPTION_TYPE', content: EMAIL_TEMPLATE_SUBSCRIPTION_TYPE_NORMAL },
]);
// confirm that the other email sent is not a cancel-subscription email:
expect(sender.sendTxn.secondCall.args[0]._id).to.equal(group.leader);
@@ -292,7 +296,7 @@ describe('Purchasing a group plan for group', () => {
plan.customerId = 'random';
plan.paymentMethod = api.constants.GOOGLE_PAYMENT_METHOD;
- let recipient = new User();
+ const recipient = new User();
recipient.profile.name = 'recipient';
recipient.purchased.plan = plan;
recipient.guilds.push(group._id);
@@ -310,9 +314,9 @@ describe('Purchasing a group plan for group', () => {
expect(sender.sendTxn.args[1][0]._id).to.equal(recipient._id);
expect(sender.sendTxn.args[1][1]).to.equal('group-member-join');
expect(sender.sendTxn.args[1][2]).to.eql([
- {name: 'LEADER', content: groupLeaderName},
- {name: 'GROUP_NAME', content: groupName},
- {name: 'PREVIOUS_SUBSCRIPTION_TYPE', content: EMAIL_TEMPLATE_SUBSCRIPTION_TYPE_GOOGLE},
+ { name: 'LEADER', content: groupLeaderName },
+ { name: 'GROUP_NAME', content: groupName },
+ { name: 'PREVIOUS_SUBSCRIPTION_TYPE', content: EMAIL_TEMPLATE_SUBSCRIPTION_TYPE_GOOGLE },
]);
expect(sender.sendTxn.args[2][0]._id).to.equal(group.leader);
expect(sender.sendTxn.args[2][1]).to.equal('group-member-join');
@@ -325,7 +329,7 @@ describe('Purchasing a group plan for group', () => {
plan.customerId = 'random';
plan.paymentMethod = api.constants.IOS_PAYMENT_METHOD;
- let recipient = new User();
+ const recipient = new User();
recipient.profile.name = 'recipient';
recipient.purchased.plan = plan;
recipient.guilds.push(group._id);
@@ -343,9 +347,9 @@ describe('Purchasing a group plan for group', () => {
expect(sender.sendTxn.args[1][0]._id).to.equal(recipient._id);
expect(sender.sendTxn.args[1][1]).to.equal('group-member-join');
expect(sender.sendTxn.args[1][2]).to.eql([
- {name: 'LEADER', content: groupLeaderName},
- {name: 'GROUP_NAME', content: groupName},
- {name: 'PREVIOUS_SUBSCRIPTION_TYPE', content: EMAIL_TEMPLATE_SUBSCRIPTION_TYPE_IOS},
+ { name: 'LEADER', content: groupLeaderName },
+ { name: 'GROUP_NAME', content: groupName },
+ { name: 'PREVIOUS_SUBSCRIPTION_TYPE', content: EMAIL_TEMPLATE_SUBSCRIPTION_TYPE_IOS },
]);
expect(sender.sendTxn.args[2][0]._id).to.equal(group.leader);
expect(sender.sendTxn.args[2][1]).to.equal('group-member-join');
@@ -354,7 +358,7 @@ describe('Purchasing a group plan for group', () => {
});
it('adds months to members with existing gift subscription', async () => {
- let recipient = new User();
+ const recipient = new User();
recipient.profile.name = 'recipient';
recipient.purchased.plan = plan;
recipient.guilds.push(group._id);
@@ -378,7 +382,7 @@ describe('Purchasing a group plan for group', () => {
await api.createSubscription(data);
- let updatedUser = await User.findById(recipient._id).exec();
+ const updatedUser = await User.findById(recipient._id).exec();
expect(updatedUser.purchased.plan.planId).to.eql('group_plan_auto');
expect(updatedUser.purchased.plan.customerId).to.eql('group-plan');
@@ -392,7 +396,7 @@ describe('Purchasing a group plan for group', () => {
});
it('adds months to members with existing multi-month gift subscription', async () => {
- let recipient = new User();
+ const recipient = new User();
recipient.profile.name = 'recipient';
recipient.purchased.plan = plan;
recipient.guilds.push(group._id);
@@ -414,7 +418,7 @@ describe('Purchasing a group plan for group', () => {
await api.createSubscription(data);
- let updatedUser = await User.findById(recipient._id).exec();
+ const updatedUser = await User.findById(recipient._id).exec();
expect(updatedUser.purchased.plan.planId).to.eql('group_plan_auto');
expect(updatedUser.purchased.plan.customerId).to.eql('group-plan');
@@ -428,7 +432,7 @@ describe('Purchasing a group plan for group', () => {
});
it('adds months to members with existing recurring subscription (Stripe)', async () => {
- let recipient = new User();
+ const recipient = new User();
recipient.profile.name = 'recipient';
plan.key = 'basic_earned';
plan.paymentMethod = stripePayments.constants.PAYMENT_METHOD;
@@ -450,11 +454,11 @@ describe('Purchasing a group plan for group', () => {
sinon.stub(amzLib, 'getBillingAgreementDetails')
.resolves({
BillingAgreementDetails: {
- BillingAgreementStatus: {State: 'Closed'},
+ BillingAgreementStatus: { State: 'Closed' },
},
});
- let recipient = new User();
+ const recipient = new User();
recipient.profile.name = 'recipient';
plan.planId = 'basic_earned';
plan.paymentMethod = amzLib.constants.PAYMENT_METHOD;
@@ -470,7 +474,7 @@ describe('Purchasing a group plan for group', () => {
await api.createSubscription(data);
- let updatedUser = await User.findById(recipient._id).exec();
+ const updatedUser = await User.findById(recipient._id).exec();
expect(updatedUser.purchased.plan.extraMonths).to.within(3, 5);
});
@@ -485,7 +489,7 @@ describe('Purchasing a group plan for group', () => {
},
});
- let recipient = new User();
+ const recipient = new User();
recipient.profile.name = 'recipient';
plan.planId = 'basic_earned';
plan.paymentMethod = paypalPayments.constants.PAYMENT_METHOD;
@@ -500,7 +504,7 @@ describe('Purchasing a group plan for group', () => {
await api.createSubscription(data);
- let updatedUser = await User.findById(recipient._id).exec();
+ const updatedUser = await User.findById(recipient._id).exec();
expect(updatedUser.purchased.plan.extraMonths).to.within(2, 3);
paypalPayments.paypalBillingAgreementGet.restore();
@@ -511,7 +515,7 @@ describe('Purchasing a group plan for group', () => {
it('adds months to members with existing recurring subscription (iOS)');
it('adds months to members who already cancelled but not yet terminated recurring subscription', async () => {
- let recipient = new User();
+ const recipient = new User();
recipient.profile.name = 'recipient';
plan.key = 'basic_earned';
plan.paymentMethod = stripePayments.constants.PAYMENT_METHOD;
@@ -527,13 +531,13 @@ describe('Purchasing a group plan for group', () => {
await api.createSubscription(data);
- let updatedUser = await User.findById(recipient._id).exec();
+ const updatedUser = await User.findById(recipient._id).exec();
expect(updatedUser.purchased.plan.extraMonths).to.within(2, 3);
});
it('adds months to members who already cancelled but not yet terminated group plan subscription', async () => {
- let recipient = new User();
+ const recipient = new User();
recipient.profile.name = 'recipient';
plan.key = 'basic_earned';
plan.paymentMethod = api.constants.GROUP_PLAN_PAYMENT_METHOD;
@@ -550,12 +554,12 @@ describe('Purchasing a group plan for group', () => {
await api.createSubscription(data);
- let updatedUser = await User.findById(recipient._id).exec();
+ const updatedUser = await User.findById(recipient._id).exec();
expect(updatedUser.purchased.plan.extraMonths).to.within(3, 4);
});
it('resets date terminated if user has old subscription', async () => {
- let recipient = new User();
+ const recipient = new User();
recipient.profile.name = 'recipient';
plan.key = 'basic_earned';
plan.paymentMethod = stripePayments.constants.PAYMENT_METHOD;
@@ -570,13 +574,13 @@ describe('Purchasing a group plan for group', () => {
await api.createSubscription(data);
- let updatedUser = await User.findById(recipient._id).exec();
+ const updatedUser = await User.findById(recipient._id).exec();
expect(updatedUser.purchased.plan.dateTerminated).to.not.exist;
});
it('adds months to members with existing recurring subscription and includes existing extraMonths', async () => {
- let recipient = new User();
+ const recipient = new User();
recipient.profile.name = 'recipient';
plan.key = 'basic_earned';
plan.paymentMethod = stripePayments.constants.PAYMENT_METHOD;
@@ -591,13 +595,13 @@ describe('Purchasing a group plan for group', () => {
await api.createSubscription(data);
- let updatedUser = await User.findById(recipient._id).exec();
+ const updatedUser = await User.findById(recipient._id).exec();
expect(updatedUser.purchased.plan.extraMonths).to.within(7, 9);
});
it('adds months to members with existing recurring subscription and ignores existing negative extraMonths', async () => {
- let recipient = new User();
+ const recipient = new User();
recipient.profile.name = 'recipient';
plan.key = 'basic_earned';
plan.paymentMethod = stripePayments.constants.PAYMENT_METHOD;
@@ -612,23 +616,23 @@ describe('Purchasing a group plan for group', () => {
await api.createSubscription(data);
- let updatedUser = await User.findById(recipient._id).exec();
+ const updatedUser = await User.findById(recipient._id).exec();
expect(updatedUser.purchased.plan.extraMonths).to.within(2, 3);
});
it('does not override gemsBought, mysteryItems, dateCreated, and consective fields', async () => {
- let planCreatedDate = moment().toDate();
- let mysteryItem = {title: 'item'};
- let mysteryItems = [mysteryItem];
- let consecutive = {
+ const planCreatedDate = moment().toDate();
+ const mysteryItem = { title: 'item' };
+ const mysteryItems = [mysteryItem];
+ const consecutive = {
trinkets: 3,
gemCapExtra: 20,
offset: 1,
count: 13,
};
- let recipient = new User();
+ const recipient = new User();
recipient.profile.name = 'recipient';
plan.key = 'basic_earned';
@@ -647,7 +651,7 @@ describe('Purchasing a group plan for group', () => {
await api.createSubscription(data);
- let updatedUser = await User.findById(recipient._id).exec();
+ const updatedUser = await User.findById(recipient._id).exec();
expect(updatedUser.purchased.plan.gemsBought).to.equal(3);
expect(updatedUser.purchased.plan.mysteryItems[0]).to.eql(mysteryItem);
@@ -659,7 +663,7 @@ describe('Purchasing a group plan for group', () => {
});
it('does not modify a user with a group subscription when they join another group', async () => {
- let recipient = new User();
+ const recipient = new User();
recipient.profile.name = 'recipient';
plan.key = 'basic_earned';
recipient.purchased.plan = plan;
@@ -673,10 +677,10 @@ describe('Purchasing a group plan for group', () => {
await api.createSubscription(data);
let updatedUser = await User.findById(recipient._id).exec();
- let firstDateCreated = updatedUser.purchased.plan.dateCreated;
- let extraMonthsBeforeSecond = updatedUser.purchased.plan.extraMonths;
+ const firstDateCreated = updatedUser.purchased.plan.dateCreated;
+ const extraMonthsBeforeSecond = updatedUser.purchased.plan.extraMonths;
- let group2 = generateGroup({
+ const group2 = generateGroup({
name: 'test group2',
type: 'guild',
privacy: 'public',
@@ -703,7 +707,7 @@ describe('Purchasing a group plan for group', () => {
});
it('does not remove a user who is in two groups plans and leaves one', async () => {
- let recipient = new User();
+ const recipient = new User();
recipient.profile.name = 'recipient';
plan.key = 'basic_earned';
recipient.purchased.plan = plan;
@@ -717,10 +721,10 @@ describe('Purchasing a group plan for group', () => {
await api.createSubscription(data);
let updatedUser = await User.findById(recipient._id).exec();
- let firstDateCreated = updatedUser.purchased.plan.dateCreated;
- let extraMonthsBeforeSecond = updatedUser.purchased.plan.extraMonths;
+ const firstDateCreated = updatedUser.purchased.plan.dateCreated;
+ const extraMonthsBeforeSecond = updatedUser.purchased.plan.extraMonths;
- let group2 = generateGroup({
+ const group2 = generateGroup({
name: 'test group2',
type: 'guild',
privacy: 'public',
@@ -733,7 +737,7 @@ describe('Purchasing a group plan for group', () => {
await api.createSubscription(data);
- let updatedGroup = await Group.findById(group._id).exec();
+ const updatedGroup = await Group.findById(group._id).exec();
await updatedGroup.leave(recipient);
updatedUser = await User.findById(recipient._id).exec();
@@ -753,7 +757,7 @@ describe('Purchasing a group plan for group', () => {
plan.key = 'basic_earned';
plan.customerId = api.constants.UNLIMITED_CUSTOMER_ID;
- let recipient = new User();
+ const recipient = new User();
recipient.profile.name = 'recipient';
recipient.purchased.plan = plan;
recipient.guilds.push(group._id);
@@ -765,7 +769,7 @@ describe('Purchasing a group plan for group', () => {
await api.createSubscription(data);
- let updatedUser = await User.findById(recipient._id).exec();
+ const updatedUser = await User.findById(recipient._id).exec();
expect(updatedUser.purchased.plan.planId).to.eql('basic_3mo');
expect(updatedUser.purchased.plan.customerId).to.eql(api.constants.UNLIMITED_CUSTOMER_ID);
@@ -782,7 +786,7 @@ describe('Purchasing a group plan for group', () => {
plan.customerId = 'random';
plan.paymentMethod = api.constants.GOOGLE_PAYMENT_METHOD;
- let recipient = new User();
+ const recipient = new User();
recipient.profile.name = 'recipient';
recipient.purchased.plan = plan;
recipient.guilds.push(group._id);
@@ -794,7 +798,7 @@ describe('Purchasing a group plan for group', () => {
await api.createSubscription(data);
- let updatedUser = await User.findById(recipient._id).exec();
+ const updatedUser = await User.findById(recipient._id).exec();
expect(updatedUser.purchased.plan.planId).to.eql('basic_3mo');
expect(updatedUser.purchased.plan.customerId).to.eql('random');
@@ -811,7 +815,7 @@ describe('Purchasing a group plan for group', () => {
plan.customerId = 'random';
plan.paymentMethod = api.constants.IOS_PAYMENT_METHOD;
- let recipient = new User();
+ const recipient = new User();
recipient.profile.name = 'recipient';
recipient.purchased.plan = plan;
recipient.guilds.push(group._id);
@@ -823,7 +827,7 @@ describe('Purchasing a group plan for group', () => {
await api.createSubscription(data);
- let updatedUser = await User.findById(recipient._id).exec();
+ const updatedUser = await User.findById(recipient._id).exec();
expect(updatedUser.purchased.plan.planId).to.eql('basic_3mo');
expect(updatedUser.purchased.plan.customerId).to.eql('random');
@@ -841,7 +845,7 @@ describe('Purchasing a group plan for group', () => {
plan.customerId = api.constants.GROUP_PLAN_CUSTOMER_ID;
plan.dateTerminated = moment().add(1, 'months');
- let recipient = new User();
+ const recipient = new User();
recipient.profile.name = 'recipient';
recipient.purchased.plan = plan;
recipient.guilds.push(group._id);
@@ -853,7 +857,7 @@ describe('Purchasing a group plan for group', () => {
await api.createSubscription(data);
- let updatedUser = await User.findById(recipient._id).exec();
+ const updatedUser = await User.findById(recipient._id).exec();
expect(updatedUser.purchased.plan.planId).to.eql('group_plan_auto');
expect(updatedUser.purchased.plan.customerId).to.eql(api.constants.GROUP_PLAN_CUSTOMER_ID);
diff --git a/test/api/unit/libs/payments/paymentHelpers.js b/test/api/unit/libs/payments/paymentHelpers.js
index 6ea70a5504..7bed28e44b 100644
--- a/test/api/unit/libs/payments/paymentHelpers.js
+++ b/test/api/unit/libs/payments/paymentHelpers.js
@@ -1,7 +1,7 @@
import { model as User } from '../../../../../website/server/models/user';
-export async function createNonLeaderGroupMember (group) {
- let nonLeader = new User();
+export async function createNonLeaderGroupMember (group) { // eslint-disable-line import/prefer-default-export, max-len
+ const nonLeader = new User();
nonLeader.guilds.push(group._id);
- return await nonLeader.save();
+ return nonLeader.save();
}
diff --git a/test/api/unit/libs/payments/payments.test.js b/test/api/unit/libs/payments/payments.test.js
index f37c5c511b..76d0d3d00e 100644
--- a/test/api/unit/libs/payments/payments.test.js
+++ b/test/api/unit/libs/payments/payments.test.js
@@ -1,17 +1,18 @@
import moment from 'moment';
import * as sender from '../../../../../website/server/libs/email';
-import * as api from '../../../../../website/server/libs/payments/payments';
-import analytics from '../../../../../website/server/libs/analyticsService';
-import notifications from '../../../../../website/server/libs/pushNotifications';
+import api from '../../../../../website/server/libs/payments/payments';
+import * as analytics from '../../../../../website/server/libs/analyticsService';
+import * as notifications from '../../../../../website/server/libs/pushNotifications';
import { model as User } from '../../../../../website/server/models/user';
import { translate as t } from '../../../../helpers/api-integration/v3';
import {
generateGroup,
-} from '../../../../helpers/api-unit.helper.js';
+} from '../../../../helpers/api-unit.helper';
describe('payments/index', () => {
- let user, group, data, plan;
+ let user; let group; let data; let
+ plan;
beforeEach(async () => {
user = new User();
@@ -102,7 +103,7 @@ describe('payments/index', () => {
});
it('does not set negative extraMonths if plan has past dateTerminated date', async () => {
- let dateTerminated = moment().subtract(2, 'months').toDate();
+ const dateTerminated = moment().subtract(2, 'months').toDate();
recipient.purchased.plan.dateTerminated = dateTerminated;
await api.createSubscription(data);
@@ -120,7 +121,7 @@ describe('payments/index', () => {
});
it('adds to date terminated for an existing plan with a future terminated date', async () => {
- let dateTerminated = moment().add(1, 'months').toDate();
+ const dateTerminated = moment().add(1, 'months').toDate();
recipient.purchased.plan = plan;
recipient.purchased.plan.dateTerminated = dateTerminated;
@@ -130,7 +131,7 @@ describe('payments/index', () => {
});
it('replaces date terminated for an account with a past terminated date', async () => {
- let dateTerminated = moment().subtract(1, 'months').toDate();
+ const dateTerminated = moment().subtract(1, 'months').toDate();
recipient.purchased.plan.dateTerminated = dateTerminated;
await api.createSubscription(data);
@@ -208,18 +209,21 @@ describe('payments/index', () => {
it('sends a private message about the gift', async () => {
await api.createSubscription(data);
- let msg = '\`Hello recipient, sender has sent you 3 months of subscription!\`';
+ const msg = '`Hello recipient, sender has sent you 3 months of subscription!`';
expect(user.sendMessage).to.be.calledOnce;
- expect(user.sendMessage).to.be.calledWith(recipient, { receiverMsg: msg, senderMsg: msg, save: false });
+ expect(user.sendMessage).to.be.calledWith(
+ recipient,
+ { receiverMsg: msg, senderMsg: msg, save: false },
+ );
});
it('sends an email about the gift', async () => {
await api.createSubscription(data);
expect(sender.sendTxn).to.be.calledWith(recipient, 'gifted-subscription', [
- {name: 'GIFTER', content: 'sender'},
- {name: 'X_MONTHS_SUBSCRIPTION', content: 3},
+ { name: 'GIFTER', content: 'sender' },
+ { name: 'X_MONTHS_SUBSCRIPTION', content: 3 },
]);
});
@@ -416,8 +420,8 @@ describe('payments/index', () => {
context('Mystery Items', () => {
it('awards mystery items when within the timeframe for a mystery item', async () => {
- let mayMysteryItemTimeframe = 1464725113000; // May 31st 2016
- let fakeClock = sinon.useFakeTimers(mayMysteryItemTimeframe);
+ const mayMysteryItemTimeframe = 1464725113000; // May 31st 2016
+ const fakeClock = sinon.useFakeTimers(mayMysteryItemTimeframe);
data = { paymentMethod: 'PaymentMethod', user, sub: { key: 'basic_3mo' } };
@@ -437,7 +441,7 @@ describe('payments/index', () => {
it('does not awards mystery items when not within the timeframe for a mystery item', async () => {
const noMysteryItemTimeframe = 1462183920000; // May 2nd 2016
- let fakeClock = sinon.useFakeTimers(noMysteryItemTimeframe);
+ const fakeClock = sinon.useFakeTimers(noMysteryItemTimeframe);
data = { paymentMethod: 'PaymentMethod', user, sub: { key: 'basic_3mo' } };
await api.createSubscription(data);
@@ -449,7 +453,7 @@ describe('payments/index', () => {
it('does not add a notification for mystery items if none was awarded', async () => {
const noMysteryItemTimeframe = 1462183920000; // May 2nd 2016
- let fakeClock = sinon.useFakeTimers(noMysteryItemTimeframe);
+ const fakeClock = sinon.useFakeTimers(noMysteryItemTimeframe);
data = { paymentMethod: 'PaymentMethod', user, sub: { key: 'basic_3mo' } };
await api.createSubscription(data);
@@ -461,9 +465,9 @@ describe('payments/index', () => {
});
it('does not award mystery item when user already owns the item', async () => {
- let mayMysteryItemTimeframe = 1464725113000; // May 31st 2016
- let fakeClock = sinon.useFakeTimers(mayMysteryItemTimeframe);
- let mayMysteryItem = 'armor_mystery_201605';
+ const mayMysteryItemTimeframe = 1464725113000; // May 31st 2016
+ const fakeClock = sinon.useFakeTimers(mayMysteryItemTimeframe);
+ const mayMysteryItem = 'armor_mystery_201605';
user.items.gear.owned[mayMysteryItem] = true;
data = { paymentMethod: 'PaymentMethod', user, sub: { key: 'basic_3mo' } };
@@ -477,9 +481,9 @@ describe('payments/index', () => {
});
it('does not award mystery item when user already has the item in the mystery box', async () => {
- let mayMysteryItemTimeframe = 1464725113000; // May 31st 2016
- let fakeClock = sinon.useFakeTimers(mayMysteryItemTimeframe);
- let mayMysteryItem = 'armor_mystery_201605';
+ const mayMysteryItemTimeframe = 1464725113000; // May 31st 2016
+ const fakeClock = sinon.useFakeTimers(mayMysteryItemTimeframe);
+ const mayMysteryItem = 'armor_mystery_201605';
user.purchased.plan.mysteryItems = [mayMysteryItem];
sandbox.spy(user.purchased.plan.mysteryItems, 'push');
@@ -504,8 +508,8 @@ describe('payments/index', () => {
it('adds a month termination date by default', async () => {
await api.cancelSubscription(data);
- let now = new Date();
- let daysTillTermination = moment(user.purchased.plan.dateTerminated).diff(now, 'days');
+ const now = new Date();
+ const daysTillTermination = moment(user.purchased.plan.dateTerminated).diff(now, 'days');
expect(daysTillTermination).to.be.within(29, 30); // 1 month +/- 1 days
});
@@ -515,8 +519,8 @@ describe('payments/index', () => {
await api.cancelSubscription(data);
- let now = new Date();
- let daysTillTermination = moment(user.purchased.plan.dateTerminated).diff(now, 'days');
+ const now = new Date();
+ const daysTillTermination = moment(user.purchased.plan.dateTerminated).diff(now, 'days');
expect(daysTillTermination).to.be.within(89, 90); // 3 months +/- 1 days
});
@@ -526,8 +530,8 @@ describe('payments/index', () => {
await api.cancelSubscription(data);
- let now = new Date();
- let daysTillTermination = moment(user.purchased.plan.dateTerminated).diff(now, 'days');
+ const now = new Date();
+ const daysTillTermination = moment(user.purchased.plan.dateTerminated).diff(now, 'days');
expect(daysTillTermination).to.be.within(38, 39); // should be about 1 month + 1/3 month
});
@@ -537,8 +541,8 @@ describe('payments/index', () => {
await api.cancelSubscription(data);
- let now = new Date();
- let daysTillTermination = moment(user.purchased.plan.dateTerminated).diff(now, 'days');
+ const now = new Date();
+ const daysTillTermination = moment(user.purchased.plan.dateTerminated).diff(now, 'days');
expect(daysTillTermination).to.be.within(13, 15);
});
@@ -549,8 +553,8 @@ describe('payments/index', () => {
await api.cancelSubscription(data);
- let now = new Date();
- let daysTillTermination = moment(user.purchased.plan.dateTerminated).diff(now, 'days');
+ const now = new Date();
+ const daysTillTermination = moment(user.purchased.plan.dateTerminated).diff(now, 'days');
expect(daysTillTermination).to.be.within(13, 15);
});
@@ -641,9 +645,10 @@ describe('payments/index', () => {
it('sends a message from purchaser to recipient', async () => {
await api.buyGems(data);
- let msg = '\`Hello recipient, sender has sent you 4 gems!\`';
+ const msg = '`Hello recipient, sender has sent you 4 gems!`';
- expect(user.sendMessage).to.be.calledWith(recipient, { receiverMsg: msg, senderMsg: msg, save: false });
+ expect(user.sendMessage).to.be
+ .calledWith(recipient, { receiverMsg: msg, senderMsg: msg, save: false });
});
it('sends a message from purchaser to recipient wtih custom message', async () => {
@@ -652,7 +657,8 @@ describe('payments/index', () => {
await api.buyGems(data);
const msg = `\`Hello recipient, sender has sent you 4 gems!\` ${data.gift.message}`;
- expect(user.sendMessage).to.be.calledWith(recipient, { receiverMsg: msg, senderMsg: msg, save: false });
+ expect(user.sendMessage).to.be
+ .calledWith(recipient, { receiverMsg: msg, senderMsg: msg, save: false });
});
it('sends a push notification if user did not gift to self', async () => {
@@ -671,8 +677,8 @@ describe('payments/index', () => {
});
await api.buyGems(data);
- let [recipientsMessageContent, sendersMessageContent] = ['en', 'en'].map((lang) => {
- let messageContent = t('giftedGemsFull', {
+ const [recipientsMessageContent, sendersMessageContent] = ['en', 'en'].map(lang => {
+ const messageContent = t('giftedGemsFull', {
username: recipient.profile.name,
sender: user.profile.name,
gemAmount: data.gift.gems.amount,
@@ -681,7 +687,10 @@ describe('payments/index', () => {
return `\`${messageContent}\``;
});
- expect(user.sendMessage).to.be.calledWith(recipient, { receiverMsg: recipientsMessageContent, senderMsg: sendersMessageContent, save: false });
+ expect(user.sendMessage).to.be.calledWith(
+ recipient,
+ { receiverMsg: recipientsMessageContent, senderMsg: sendersMessageContent, save: false },
+ );
});
});
});
@@ -693,7 +702,7 @@ describe('payments/index', () => {
await api.addSubToGroupUser(user, group);
- let updatedUser = await User.findById(user._id).exec();
+ const updatedUser = await User.findById(user._id).exec();
expect(updatedUser.purchased.plan.planId).to.eql('group_plan_auto');
expect(updatedUser.purchased.plan.customerId).to.eql('group-plan');
@@ -709,17 +718,17 @@ describe('payments/index', () => {
it('awards the Royal Purple Jackalope pet', async () => {
await api.addSubToGroupUser(user, group);
- let updatedUser = await User.findById(user._id).exec();
+ const updatedUser = await User.findById(user._id).exec();
expect(updatedUser.items.pets['Jackalope-RoyalPurple']).to.eql(5);
});
it('saves previously unused Mystery Items and Hourglasses for an expired subscription', async () => {
- let planExpirationDate = new Date();
+ const planExpirationDate = new Date();
planExpirationDate.setDate(planExpirationDate.getDate() - 2);
- let mysteryItem = 'item';
- let mysteryItems = [mysteryItem];
- let consecutive = {
+ const mysteryItem = 'item';
+ const mysteryItems = [mysteryItem];
+ const consecutive = {
trinkets: 3,
};
@@ -735,7 +744,7 @@ describe('payments/index', () => {
await user.save();
await api.addSubToGroupUser(user, group);
- let updatedUser = await User.findById(user._id).exec();
+ const updatedUser = await User.findById(user._id).exec();
expect(updatedUser.purchased.plan.mysteryItems[0]).to.eql(mysteryItem);
expect(updatedUser.purchased.plan.consecutive.trinkets).to.equal(consecutive.trinkets);
diff --git a/test/api/unit/libs/payments/paypal/checkout-success.test.js b/test/api/unit/libs/payments/paypal/checkout-success.test.js
index 80547925b4..3c896f4128 100644
--- a/test/api/unit/libs/payments/paypal/checkout-success.test.js
+++ b/test/api/unit/libs/payments/paypal/checkout-success.test.js
@@ -5,8 +5,10 @@ import { model as User } from '../../../../../../website/server/models/user';
describe('checkout success', () => {
const subKey = 'basic_3mo';
- let user, gift, customerId, paymentId;
- let paypalPaymentExecuteStub, paymentBuyGemsStub, paymentsCreateSubscritionStub;
+ let user; let gift; let customerId; let
+ paymentId;
+ let paypalPaymentExecuteStub; let paymentBuyGemsStub; let
+ paymentsCreateSubscritionStub;
beforeEach(() => {
user = new User();
@@ -25,7 +27,9 @@ describe('checkout success', () => {
});
it('purchases gems', async () => {
- await paypalPayments.checkoutSuccess({user, gift, paymentId, customerId});
+ await paypalPayments.checkoutSuccess({
+ user, gift, paymentId, customerId,
+ });
expect(paypalPaymentExecuteStub).to.be.calledOnce;
expect(paypalPaymentExecuteStub).to.be.calledWith(paymentId, { payer_id: customerId });
@@ -38,7 +42,7 @@ describe('checkout success', () => {
});
it('gifts gems', async () => {
- let receivingUser = new User();
+ const receivingUser = new User();
await receivingUser.save();
gift = {
type: 'gems',
@@ -48,7 +52,9 @@ describe('checkout success', () => {
},
};
- await paypalPayments.checkoutSuccess({user, gift, paymentId, customerId});
+ await paypalPayments.checkoutSuccess({
+ user, gift, paymentId, customerId,
+ });
expect(paypalPaymentExecuteStub).to.be.calledOnce;
expect(paypalPaymentExecuteStub).to.be.calledWith(paymentId, { payer_id: customerId });
@@ -62,7 +68,7 @@ describe('checkout success', () => {
});
it('gifts subscription', async () => {
- let receivingUser = new User();
+ const receivingUser = new User();
await receivingUser.save();
gift = {
type: 'subscription',
@@ -72,7 +78,9 @@ describe('checkout success', () => {
},
};
- await paypalPayments.checkoutSuccess({user, gift, paymentId, customerId});
+ await paypalPayments.checkoutSuccess({
+ user, gift, paymentId, customerId,
+ });
expect(paypalPaymentExecuteStub).to.be.calledOnce;
expect(paypalPaymentExecuteStub).to.be.calledWith(paymentId, { payer_id: customerId });
diff --git a/test/api/unit/libs/payments/paypal/checkout.test.js b/test/api/unit/libs/payments/paypal/checkout.test.js
index 25e381bcc1..b6173f6d8e 100644
--- a/test/api/unit/libs/payments/paypal/checkout.test.js
+++ b/test/api/unit/libs/payments/paypal/checkout.test.js
@@ -6,7 +6,7 @@ import { model as User } from '../../../../../../website/server/models/user';
import common from '../../../../../../website/common';
const BASE_URL = nconf.get('BASE_URL');
-const i18n = common.i18n;
+const { i18n } = common;
describe('checkout', () => {
const subKey = 'basic_3mo';
@@ -53,7 +53,7 @@ describe('checkout', () => {
});
it('creates a link for gem purchases', async () => {
- let link = await paypalPayments.checkout({user: new User()});
+ const link = await paypalPayments.checkout({ user: new User() });
expect(paypalPaymentCreateStub).to.be.calledOnce;
expect(paypalPaymentCreateStub).to.be.calledWith(getPaypalCreateOptions('Habitica Gems', 5.00));
@@ -61,9 +61,9 @@ describe('checkout', () => {
});
it('should error if gem amount is too low', async () => {
- let receivingUser = new User();
+ const receivingUser = new User();
receivingUser.save();
- let gift = {
+ const gift = {
type: 'gems',
gems: {
amount: 0,
@@ -71,7 +71,7 @@ describe('checkout', () => {
},
};
- await expect(paypalPayments.checkout({gift}))
+ await expect(paypalPayments.checkout({ gift }))
.to.eventually.be.rejected.and.to.eql({
httpCode: 400,
message: 'Amount must be at least 1.',
@@ -80,10 +80,10 @@ describe('checkout', () => {
});
it('should error if the user cannot get gems', async () => {
- let user = new User();
+ const user = new User();
sinon.stub(user, 'canGetGems').resolves(false);
- await expect(paypalPayments.checkout({user})).to.eventually.be.rejected.and.to.eql({
+ await expect(paypalPayments.checkout({ user })).to.eventually.be.rejected.and.to.eql({
httpCode: 401,
message: i18n.t('groupPolicyCannotGetGems'),
name: 'NotAuthorized',
@@ -91,9 +91,9 @@ describe('checkout', () => {
});
it('creates a link for gifting gems', async () => {
- let receivingUser = new User();
+ const receivingUser = new User();
await receivingUser.save();
- let gift = {
+ const gift = {
type: 'gems',
uuid: receivingUser._id,
gems: {
@@ -101,7 +101,7 @@ describe('checkout', () => {
},
};
- let link = await paypalPayments.checkout({gift});
+ const link = await paypalPayments.checkout({ gift });
expect(paypalPaymentCreateStub).to.be.calledOnce;
expect(paypalPaymentCreateStub).to.be.calledWith(getPaypalCreateOptions('Habitica Gems (Gift)', '4.00'));
@@ -109,9 +109,9 @@ describe('checkout', () => {
});
it('creates a link for gifting a subscription', async () => {
- let receivingUser = new User();
+ const receivingUser = new User();
receivingUser.save();
- let gift = {
+ const gift = {
type: 'subscription',
subscription: {
key: subKey,
@@ -119,7 +119,7 @@ describe('checkout', () => {
},
};
- let link = await paypalPayments.checkout({gift});
+ const link = await paypalPayments.checkout({ gift });
expect(paypalPaymentCreateStub).to.be.calledOnce;
expect(paypalPaymentCreateStub).to.be.calledWith(getPaypalCreateOptions('mo. Habitica Subscription (Gift)', '15.00'));
diff --git a/test/api/unit/libs/payments/paypal/ipn.test.js b/test/api/unit/libs/payments/paypal/ipn.test.js
index 0fe6c8a455..31769ee593 100644
--- a/test/api/unit/libs/payments/paypal/ipn.test.js
+++ b/test/api/unit/libs/payments/paypal/ipn.test.js
@@ -3,13 +3,15 @@ import paypalPayments from '../../../../../../website/server/libs/payments/paypa
import payments from '../../../../../../website/server/libs/payments/payments';
import {
generateGroup,
-} from '../../../../../helpers/api-unit.helper.js';
+} from '../../../../../helpers/api-unit.helper';
import { model as User } from '../../../../../../website/server/models/user';
describe('ipn', () => {
const subKey = 'basic_3mo';
- let user, group, txn_type, userPaymentId, groupPaymentId;
- let ipnVerifyAsyncStub, paymentCancelSubscriptionSpy;
+ let user; let group; let txn_type; let userPaymentId; let
+ groupPaymentId;
+ let ipnVerifyAsyncStub; let
+ paymentCancelSubscriptionSpy;
beforeEach(async () => {
txn_type = 'recurring_payment_profile_cancel';
@@ -38,16 +40,16 @@ describe('ipn', () => {
paymentCancelSubscriptionSpy = sinon.stub(payments, 'cancelSubscription').resolves({});
});
- afterEach(function () {
+ afterEach(() => {
paypalPayments.ipnVerifyAsync.restore();
payments.cancelSubscription.restore();
});
it('should cancel a user subscription', async () => {
- await paypalPayments.ipn({txn_type, recurring_payment_id: userPaymentId});
+ await paypalPayments.ipn({ txn_type, recurring_payment_id: userPaymentId });
expect(ipnVerifyAsyncStub).to.be.calledOnce;
- expect(ipnVerifyAsyncStub).to.be.calledWith({txn_type, recurring_payment_id: userPaymentId});
+ expect(ipnVerifyAsyncStub).to.be.calledWith({ txn_type, recurring_payment_id: userPaymentId });
expect(paymentCancelSubscriptionSpy).to.be.calledOnce;
expect(paymentCancelSubscriptionSpy.args[0][0].user._id).to.eql(user._id);
@@ -55,10 +57,10 @@ describe('ipn', () => {
});
it('should cancel a group subscription', async () => {
- await paypalPayments.ipn({txn_type, recurring_payment_id: groupPaymentId});
+ await paypalPayments.ipn({ txn_type, recurring_payment_id: groupPaymentId });
expect(ipnVerifyAsyncStub).to.be.calledOnce;
- expect(ipnVerifyAsyncStub).to.be.calledWith({txn_type, recurring_payment_id: groupPaymentId});
+ expect(ipnVerifyAsyncStub).to.be.calledWith({ txn_type, recurring_payment_id: groupPaymentId });
expect(paymentCancelSubscriptionSpy).to.be.calledOnce;
expect(paymentCancelSubscriptionSpy).to.be.calledWith({ groupId: group._id, paymentMethod: 'Paypal' });
diff --git a/test/api/unit/libs/payments/paypal/subscribe-cancel.test.js b/test/api/unit/libs/payments/paypal/subscribe-cancel.test.js
index e0f195f0d2..f9d2f86979 100644
--- a/test/api/unit/libs/payments/paypal/subscribe-cancel.test.js
+++ b/test/api/unit/libs/payments/paypal/subscribe-cancel.test.js
@@ -3,17 +3,19 @@ import paypalPayments from '../../../../../../website/server/libs/payments/paypa
import payments from '../../../../../../website/server/libs/payments/payments';
import {
generateGroup,
-} from '../../../../../helpers/api-unit.helper.js';
+} from '../../../../../helpers/api-unit.helper';
import { model as User } from '../../../../../../website/server/models/user';
import common from '../../../../../../website/common';
import { createNonLeaderGroupMember } from '../paymentHelpers';
-const i18n = common.i18n;
+const { i18n } = common;
describe('subscribeCancel', () => {
const subKey = 'basic_3mo';
- let user, group, groupId, customerId, groupCustomerId, nextBillingDate;
- let paymentCancelSubscriptionSpy, paypalBillingAgreementCancelStub, paypalBillingAgreementGetStub;
+ let user; let group; let groupId; let customerId; let groupCustomerId; let
+ nextBillingDate;
+ let paymentCancelSubscriptionSpy; let paypalBillingAgreementCancelStub; let
+ paypalBillingAgreementGetStub;
beforeEach(async () => {
customerId = 'customer-id';
@@ -49,7 +51,7 @@ describe('subscribeCancel', () => {
paymentCancelSubscriptionSpy = sinon.stub(payments, 'cancelSubscription').resolves({});
});
- afterEach(function () {
+ afterEach(() => {
paypalPayments.paypalBillingAgreementGet.restore();
paypalPayments.paypalBillingAgreementCancel.restore();
payments.cancelSubscription.restore();
@@ -58,7 +60,7 @@ describe('subscribeCancel', () => {
it('should throw an error if we are missing a subscription', async () => {
user.purchased.plan.customerId = undefined;
- await expect(paypalPayments.subscribeCancel({user}))
+ await expect(paypalPayments.subscribeCancel({ user }))
.to.eventually.be.rejected.and.to.eql({
httpCode: 401,
name: 'NotAuthorized',
@@ -67,7 +69,7 @@ describe('subscribeCancel', () => {
});
it('should throw an error if group is not found', async () => {
- await expect(paypalPayments.subscribeCancel({user, groupId: 'fake-id'}))
+ await expect(paypalPayments.subscribeCancel({ user, groupId: 'fake-id' }))
.to.eventually.be.rejected.and.to.eql({
httpCode: 404,
name: 'NotFound',
@@ -76,9 +78,9 @@ describe('subscribeCancel', () => {
});
it('should throw an error if user is not group leader', async () => {
- let nonLeader = await createNonLeaderGroupMember(group);
+ const nonLeader = await createNonLeaderGroupMember(group);
- await expect(paypalPayments.subscribeCancel({user: nonLeader, groupId: group._id}))
+ await expect(paypalPayments.subscribeCancel({ user: nonLeader, groupId: group._id }))
.to.eventually.be.rejected.and.to.eql({
httpCode: 401,
name: 'NotAuthorized',
@@ -87,7 +89,7 @@ describe('subscribeCancel', () => {
});
it('should cancel a user subscription', async () => {
- await paypalPayments.subscribeCancel({user});
+ await paypalPayments.subscribeCancel({ user });
expect(paypalBillingAgreementGetStub).to.be.calledOnce;
expect(paypalBillingAgreementGetStub).to.be.calledWith(customerId);
@@ -105,7 +107,7 @@ describe('subscribeCancel', () => {
});
it('should cancel a group subscription', async () => {
- await paypalPayments.subscribeCancel({user, groupId: group._id});
+ await paypalPayments.subscribeCancel({ user, groupId: group._id });
expect(paypalBillingAgreementGetStub).to.be.calledOnce;
expect(paypalBillingAgreementGetStub).to.be.calledWith(groupCustomerId);
diff --git a/test/api/unit/libs/payments/paypal/subscribe-success.test.js b/test/api/unit/libs/payments/paypal/subscribe-success.test.js
index 6c2edbf73c..80a09ab7cb 100644
--- a/test/api/unit/libs/payments/paypal/subscribe-success.test.js
+++ b/test/api/unit/libs/payments/paypal/subscribe-success.test.js
@@ -3,14 +3,16 @@ import paypalPayments from '../../../../../../website/server/libs/payments/paypa
import payments from '../../../../../../website/server/libs/payments/payments';
import {
generateGroup,
-} from '../../../../../helpers/api-unit.helper.js';
+} from '../../../../../helpers/api-unit.helper';
import { model as User } from '../../../../../../website/server/models/user';
import common from '../../../../../../website/common';
describe('subscribeSuccess', () => {
const subKey = 'basic_3mo';
- let user, group, block, groupId, token, headers, customerId;
- let paypalBillingAgreementExecuteStub, paymentsCreateSubscritionStub;
+ let user; let group; let block; let groupId; let token; let headers; let
+ customerId;
+ let paypalBillingAgreementExecuteStub; let
+ paymentsCreateSubscritionStub;
beforeEach(async () => {
user = new User();
@@ -40,7 +42,9 @@ describe('subscribeSuccess', () => {
});
it('creates a user subscription', async () => {
- await paypalPayments.subscribeSuccess({user, block, groupId, token, headers});
+ await paypalPayments.subscribeSuccess({
+ user, block, groupId, token, headers,
+ });
expect(paypalBillingAgreementExecuteStub).to.be.calledOnce;
expect(paypalBillingAgreementExecuteStub).to.be.calledWith(token, {});
@@ -59,7 +63,9 @@ describe('subscribeSuccess', () => {
it('create a group subscription', async () => {
groupId = group._id;
- await paypalPayments.subscribeSuccess({user, block, groupId, token, headers});
+ await paypalPayments.subscribeSuccess({
+ user, block, groupId, token, headers,
+ });
expect(paypalBillingAgreementExecuteStub).to.be.calledOnce;
expect(paypalBillingAgreementExecuteStub).to.be.calledWith(token, {});
diff --git a/test/api/unit/libs/payments/paypal/subscribe.test.js b/test/api/unit/libs/payments/paypal/subscribe.test.js
index d167d7087d..23ad11c60c 100644
--- a/test/api/unit/libs/payments/paypal/subscribe.test.js
+++ b/test/api/unit/libs/payments/paypal/subscribe.test.js
@@ -6,16 +6,17 @@ import paypalPayments from '../../../../../../website/server/libs/payments/paypa
import { model as Coupon } from '../../../../../../website/server/models/coupon';
import common from '../../../../../../website/common';
-const i18n = common.i18n;
+const { i18n } = common;
describe('subscribe', () => {
const subKey = 'basic_3mo';
- let coupon, sub, approvalHerf;
+ let coupon; let sub; let
+ approvalHerf;
let paypalBillingAgreementCreateStub;
beforeEach(() => {
approvalHerf = 'approvalHerf-test';
- sub = Object.assign({}, common.content.subscriptionBlocks[subKey]);
+ sub = { ...common.content.subscriptionBlocks[subKey] };
paypalBillingAgreementCreateStub = sinon.stub(paypalPayments, 'paypalBillingAgreementCreate')
.resolves({
@@ -30,7 +31,7 @@ describe('subscribe', () => {
it('should throw an error when coupon code is missing', async () => {
sub.discount = 40;
- await expect(paypalPayments.subscribe({sub, coupon}))
+ await expect(paypalPayments.subscribe({ sub, coupon }))
.to.eventually.be.rejected.and.to.eql({
httpCode: 400,
name: 'BadRequest',
@@ -43,13 +44,13 @@ describe('subscribe', () => {
sub.key = 'google_6mo';
coupon = 'example-coupon';
- let couponModel = new Coupon();
+ const couponModel = new Coupon();
couponModel.event = 'google_6mo';
await couponModel.save();
sinon.stub(cc, 'validate').returns('invalid');
- await expect(paypalPayments.subscribe({sub, coupon}))
+ await expect(paypalPayments.subscribe({ sub, coupon }))
.to.eventually.be.rejected.and.to.eql({
httpCode: 401,
name: 'NotAuthorized',
@@ -63,17 +64,17 @@ describe('subscribe', () => {
sub.key = 'google_6mo';
coupon = 'example-coupon';
- let couponModel = new Coupon();
+ const couponModel = new Coupon();
couponModel.event = 'google_6mo';
- let updatedCouponModel = await couponModel.save();
+ const updatedCouponModel = await couponModel.save();
sinon.stub(cc, 'validate').returns(updatedCouponModel._id);
- let link = await paypalPayments.subscribe({sub, coupon});
+ const link = await paypalPayments.subscribe({ sub, coupon });
expect(link).to.eql(approvalHerf);
expect(paypalBillingAgreementCreateStub).to.be.calledOnce;
- let billingPlanTitle = `Habitica Subscription ($${sub.price} every ${sub.months} months, recurring)`;
+ const billingPlanTitle = `Habitica Subscription ($${sub.price} every ${sub.months} months, recurring)`;
expect(paypalBillingAgreementCreateStub).to.be.calledWith({
name: billingPlanTitle,
description: billingPlanTitle,
@@ -92,11 +93,11 @@ describe('subscribe', () => {
it('creates a link for a subscription', async () => {
delete sub.discount;
- let link = await paypalPayments.subscribe({sub, coupon});
+ const link = await paypalPayments.subscribe({ sub, coupon });
expect(link).to.eql(approvalHerf);
expect(paypalBillingAgreementCreateStub).to.be.calledOnce;
- let billingPlanTitle = `Habitica Subscription ($${sub.price} every ${sub.months} months, recurring)`;
+ const billingPlanTitle = `Habitica Subscription ($${sub.price} every ${sub.months} months, recurring)`;
expect(paypalBillingAgreementCreateStub).to.be.calledWith({
name: billingPlanTitle,
description: billingPlanTitle,
diff --git a/test/api/unit/libs/payments/stripe/cancel-subscription.test.js b/test/api/unit/libs/payments/stripe/cancel-subscription.test.js
index 64750dab8f..c392502f1d 100644
--- a/test/api/unit/libs/payments/stripe/cancel-subscription.test.js
+++ b/test/api/unit/libs/payments/stripe/cancel-subscription.test.js
@@ -2,18 +2,19 @@ import stripeModule from 'stripe';
import {
generateGroup,
-} from '../../../../../helpers/api-unit.helper.js';
+} from '../../../../../helpers/api-unit.helper';
import { model as User } from '../../../../../../website/server/models/user';
import stripePayments from '../../../../../../website/server/libs/payments/stripe';
import payments from '../../../../../../website/server/libs/payments/payments';
import common from '../../../../../../website/common';
-const i18n = common.i18n;
+const { i18n } = common;
describe('cancel subscription', () => {
const subKey = 'basic_3mo';
const stripe = stripeModule('test');
- let user, groupId, group;
+ let user; let groupId; let
+ group;
beforeEach(async () => {
user = new User();
@@ -62,7 +63,7 @@ describe('cancel subscription', () => {
});
it('throws an error if user is not the group leader', async () => {
- let nonLeader = new User();
+ const nonLeader = new User();
nonLeader.guilds.push(groupId);
await nonLeader.save();
@@ -78,7 +79,9 @@ describe('cancel subscription', () => {
});
describe('success', () => {
- let stripeDeleteCustomerStub, paymentsCancelSubStub, stripeRetrieveStub, subscriptionId, currentPeriodEndTimeStamp;
+ let stripeDeleteCustomerStub; let paymentsCancelSubStub;
+ let stripeRetrieveStub; let subscriptionId; let
+ currentPeriodEndTimeStamp;
beforeEach(() => {
subscriptionId = 'subId';
@@ -89,7 +92,10 @@ describe('cancel subscription', () => {
stripeRetrieveStub = sinon.stub(stripe.customers, 'retrieve')
.resolves({
subscriptions: {
- data: [{id: subscriptionId, current_period_end: currentPeriodEndTimeStamp}], // eslint-disable-line camelcase
+ data: [{
+ id: subscriptionId,
+ current_period_end: currentPeriodEndTimeStamp,
+ }], // eslint-disable-line camelcase
},
});
});
diff --git a/test/api/unit/libs/payments/stripe/checkout-subscription.test.js b/test/api/unit/libs/payments/stripe/checkout-subscription.test.js
index 9a47d7fffe..cffb9a9d35 100644
--- a/test/api/unit/libs/payments/stripe/checkout-subscription.test.js
+++ b/test/api/unit/libs/payments/stripe/checkout-subscription.test.js
@@ -3,19 +3,22 @@ import cc from 'coupon-code';
import {
generateGroup,
-} from '../../../../../helpers/api-unit.helper.js';
+} from '../../../../../helpers/api-unit.helper';
import { model as User } from '../../../../../../website/server/models/user';
import { model as Coupon } from '../../../../../../website/server/models/coupon';
import stripePayments from '../../../../../../website/server/libs/payments/stripe';
import payments from '../../../../../../website/server/libs/payments/payments';
import common from '../../../../../../website/common';
-const i18n = common.i18n;
+const { i18n } = common;
describe('checkout with subscription', () => {
const subKey = 'basic_3mo';
const stripe = stripeModule('test');
- let user, group, data, gift, sub, groupId, email, headers, coupon, customerIdResponse, subscriptionId, token;
+ let user; let group; let data; let gift; let sub;
+ let groupId; let email; let headers; let coupon;
+ let customerIdResponse; let subscriptionId; let
+ token;
let spy;
let stripeCreateCustomerSpy;
let stripePaymentsCreateSubSpy;
@@ -57,10 +60,10 @@ describe('checkout with subscription', () => {
spy.resolves;
stripeCreateCustomerSpy = sinon.stub(stripe.customers, 'create');
- let stripCustomerResponse = {
+ const stripCustomerResponse = {
id: customerIdResponse,
subscriptions: {
- data: [{id: subscriptionId}],
+ data: [{ id: subscriptionId }],
},
};
stripeCreateCustomerSpy.resolves(stripCustomerResponse);
@@ -72,7 +75,7 @@ describe('checkout with subscription', () => {
data.sub.quantity = 3;
});
- afterEach(function () {
+ afterEach(() => {
stripe.subscriptions.update.restore();
stripe.customers.create.restore();
payments.createSubscription.restore();
@@ -120,7 +123,7 @@ describe('checkout with subscription', () => {
sub.key = 'google_6mo';
coupon = 'example-coupon';
- let couponModel = new Coupon();
+ const couponModel = new Coupon();
couponModel.event = 'google_6mo';
await couponModel.save();
@@ -149,9 +152,9 @@ describe('checkout with subscription', () => {
sub.key = 'google_6mo';
coupon = 'example-coupon';
- let couponModel = new Coupon();
+ const couponModel = new Coupon();
couponModel.event = 'google_6mo';
- let updatedCouponModel = await couponModel.save();
+ const updatedCouponModel = await couponModel.save();
sinon.stub(cc, 'validate').returns(updatedCouponModel._id);
diff --git a/test/api/unit/libs/payments/stripe/checkout.test.js b/test/api/unit/libs/payments/stripe/checkout.test.js
index 37a89e4e70..72585007ad 100644
--- a/test/api/unit/libs/payments/stripe/checkout.test.js
+++ b/test/api/unit/libs/payments/stripe/checkout.test.js
@@ -5,13 +5,15 @@ import stripePayments from '../../../../../../website/server/libs/payments/strip
import payments from '../../../../../../website/server/libs/payments/payments';
import common from '../../../../../../website/common';
-const i18n = common.i18n;
+const { i18n } = common;
describe('checkout', () => {
const subKey = 'basic_3mo';
const stripe = stripeModule('test');
- let stripeChargeStub, paymentBuyGemsStub, paymentCreateSubscritionStub;
- let user, gift, groupId, email, headers, coupon, customerIdResponse, token;
+ let stripeChargeStub; let paymentBuyGemsStub; let
+ paymentCreateSubscritionStub;
+ let user; let gift; let groupId; let email; let headers; let coupon; let customerIdResponse; let
+ token;
beforeEach(() => {
user = new User();
@@ -23,7 +25,7 @@ describe('checkout', () => {
token = 'test-token';
customerIdResponse = 'example-customerIdResponse';
- let stripCustomerResponse = {
+ const stripCustomerResponse = {
id: customerIdResponse,
};
stripeChargeStub = sinon.stub(stripe.charges, 'create').resolves(stripCustomerResponse);
@@ -54,7 +56,7 @@ describe('checkout', () => {
});
it('should error if gem amount is too low', async () => {
- let receivingUser = new User();
+ const receivingUser = new User();
receivingUser.save();
gift = {
type: 'gems',
@@ -132,7 +134,7 @@ describe('checkout', () => {
});
it('should gift gems', async () => {
- let receivingUser = new User();
+ const receivingUser = new User();
await receivingUser.save();
gift = {
type: 'gems',
@@ -169,7 +171,7 @@ describe('checkout', () => {
});
it('should gift a subscription', async () => {
- let receivingUser = new User();
+ const receivingUser = new User();
receivingUser.save();
gift = {
type: 'subscription',
diff --git a/test/api/unit/libs/payments/stripe/edit-subscription.test.js b/test/api/unit/libs/payments/stripe/edit-subscription.test.js
index b7a2ec6ecd..1db3a86b17 100644
--- a/test/api/unit/libs/payments/stripe/edit-subscription.test.js
+++ b/test/api/unit/libs/payments/stripe/edit-subscription.test.js
@@ -2,17 +2,18 @@ import stripeModule from 'stripe';
import {
generateGroup,
-} from '../../../../../helpers/api-unit.helper.js';
+} from '../../../../../helpers/api-unit.helper';
import { model as User } from '../../../../../../website/server/models/user';
import stripePayments from '../../../../../../website/server/libs/payments/stripe';
import common from '../../../../../../website/common';
-const i18n = common.i18n;
+const { i18n } = common;
describe('edit subscription', () => {
const subKey = 'basic_3mo';
const stripe = stripeModule('test');
- let user, groupId, group, token;
+ let user; let groupId; let group; let
+ token;
beforeEach(async () => {
user = new User();
@@ -76,7 +77,7 @@ describe('edit subscription', () => {
});
it('throws an error if user is not the group leader', async () => {
- let nonLeader = new User();
+ const nonLeader = new User();
nonLeader.guilds.push(groupId);
await nonLeader.save();
@@ -93,13 +94,14 @@ describe('edit subscription', () => {
});
describe('success', () => {
- let stripeListSubscriptionStub, stripeUpdateSubscriptionStub, subscriptionId;
+ let stripeListSubscriptionStub; let stripeUpdateSubscriptionStub; let
+ subscriptionId;
beforeEach(() => {
subscriptionId = 'subId';
stripeListSubscriptionStub = sinon.stub(stripe.subscriptions, 'list')
.resolves({
- data: [{id: subscriptionId}],
+ data: [{ id: subscriptionId }],
});
stripeUpdateSubscriptionStub = sinon.stub(stripe.subscriptions, 'update').resolves({});
@@ -118,11 +120,13 @@ describe('edit subscription', () => {
}, stripe);
expect(stripeListSubscriptionStub).to.be.calledOnce;
- expect(stripeListSubscriptionStub).to.be.calledWith({customer: user.purchased.plan.customerId});
+ expect(stripeListSubscriptionStub).to.be.calledWith({
+ customer: user.purchased.plan.customerId,
+ });
expect(stripeUpdateSubscriptionStub).to.be.calledOnce;
expect(stripeUpdateSubscriptionStub).to.be.calledWith(
subscriptionId,
- { card: token }
+ { card: token },
);
});
@@ -134,11 +138,13 @@ describe('edit subscription', () => {
}, stripe);
expect(stripeListSubscriptionStub).to.be.calledOnce;
- expect(stripeListSubscriptionStub).to.be.calledWith({customer: group.purchased.plan.customerId});
+ expect(stripeListSubscriptionStub).to.be.calledWith({
+ customer: group.purchased.plan.customerId,
+ });
expect(stripeUpdateSubscriptionStub).to.be.calledOnce;
expect(stripeUpdateSubscriptionStub).to.be.calledWith(
subscriptionId,
- { card: token }
+ { card: token },
);
});
});
diff --git a/test/api/unit/libs/payments/stripe/handle-webhook.test.js b/test/api/unit/libs/payments/stripe/handle-webhook.test.js
index dd7d60be85..9be8121773 100644
--- a/test/api/unit/libs/payments/stripe/handle-webhook.test.js
+++ b/test/api/unit/libs/payments/stripe/handle-webhook.test.js
@@ -1,25 +1,25 @@
import stripeModule from 'stripe';
+import { v4 as uuid } from 'uuid';
+import moment from 'moment';
import {
generateGroup,
-} from '../../../../../helpers/api-unit.helper.js';
+} from '../../../../../helpers/api-unit.helper';
import { model as User } from '../../../../../../website/server/models/user';
import stripePayments from '../../../../../../website/server/libs/payments/stripe';
import payments from '../../../../../../website/server/libs/payments/payments';
import common from '../../../../../../website/common';
import logger from '../../../../../../website/server/libs/logger';
-import { v4 as uuid } from 'uuid';
-import moment from 'moment';
-const i18n = common.i18n;
+const { i18n } = common;
describe('Stripe - Webhooks', () => {
const stripe = stripeModule('test');
describe('all events', () => {
const eventType = 'account.updated';
- const event = {id: 123};
- const eventRetrieved = {type: eventType};
+ const event = { id: 123 };
+ const eventRetrieved = { type: eventType };
beforeEach(() => {
sinon.stub(stripe.events, 'retrieve').resolves(eventRetrieved);
@@ -33,7 +33,7 @@ describe('Stripe - Webhooks', () => {
it('logs an error if an unsupported webhook event is passed', async () => {
const error = new Error(`Missing handler for Stripe webhook ${eventType}`);
- await stripePayments.handleWebhooks({requestBody: event}, stripe);
+ await stripePayments.handleWebhooks({ requestBody: event }, stripe);
expect(logger.error).to.have.been.calledOnce;
const calledWith = logger.error.getCall(0).args;
@@ -42,7 +42,7 @@ describe('Stripe - Webhooks', () => {
});
it('retrieves and validates the event from Stripe', async () => {
- await stripePayments.handleWebhooks({requestBody: event}, stripe);
+ await stripePayments.handleWebhooks({ requestBody: event }, stripe);
expect(stripe.events.retrieve).to.have.been.calledOnce;
expect(stripe.events.retrieve).to.have.been.calledWith(event.id);
});
@@ -68,7 +68,7 @@ describe('Stripe - Webhooks', () => {
request: 123,
});
- await stripePayments.handleWebhooks({requestBody: {}}, stripe);
+ await stripePayments.handleWebhooks({ requestBody: {} }, stripe);
expect(stripe.events.retrieve).to.have.been.calledOnce;
expect(stripe.customers.del).to.not.have.been.called;
@@ -93,11 +93,12 @@ describe('Stripe - Webhooks', () => {
request: null,
});
- await expect(stripePayments.handleWebhooks({requestBody: {}}, stripe)).to.eventually.be.rejectedWith({
- message: i18n.t('userNotFound'),
- httpCode: 404,
- name: 'NotFound',
- });
+ await expect(stripePayments.handleWebhooks({ requestBody: {} }, stripe))
+ .to.eventually.be.rejectedWith({
+ message: i18n.t('userNotFound'),
+ httpCode: 404,
+ name: 'NotFound',
+ });
expect(stripe.customers.del).to.not.have.been.called;
expect(payments.cancelSubscription).to.not.have.been.called;
@@ -108,7 +109,7 @@ describe('Stripe - Webhooks', () => {
it('deletes the customer on Stripe and calls payments.cancelSubscription', async () => {
const customerId = '456';
- let subscriber = new User();
+ const subscriber = new User();
subscriber.purchased.plan.customerId = customerId;
subscriber.purchased.plan.paymentMethod = 'Stripe';
await subscriber.save();
@@ -127,13 +128,13 @@ describe('Stripe - Webhooks', () => {
request: null,
});
- await stripePayments.handleWebhooks({requestBody: {}}, stripe);
+ await stripePayments.handleWebhooks({ requestBody: {} }, stripe);
expect(stripe.customers.del).to.have.been.calledOnce;
expect(stripe.customers.del).to.have.been.calledWith(customerId);
expect(payments.cancelSubscription).to.have.been.calledOnce;
- let cancelSubscriptionOpts = payments.cancelSubscription.lastCall.args[0];
+ const cancelSubscriptionOpts = payments.cancelSubscription.lastCall.args[0];
expect(cancelSubscriptionOpts.user._id).to.equal(subscriber._id);
expect(cancelSubscriptionOpts.paymentMethod).to.equal('Stripe');
expect(Math.round(moment(cancelSubscriptionOpts.nextBill).diff(new Date(), 'days', true))).to.equal(3);
@@ -160,11 +161,12 @@ describe('Stripe - Webhooks', () => {
request: null,
});
- await expect(stripePayments.handleWebhooks({requestBody: {}}, stripe)).to.eventually.be.rejectedWith({
- message: i18n.t('groupNotFound'),
- httpCode: 404,
- name: 'NotFound',
- });
+ await expect(stripePayments.handleWebhooks({ requestBody: {} }, stripe))
+ .to.eventually.be.rejectedWith({
+ message: i18n.t('groupNotFound'),
+ httpCode: 404,
+ name: 'NotFound',
+ });
expect(stripe.customers.del).to.not.have.been.called;
expect(payments.cancelSubscription).to.not.have.been.called;
@@ -175,7 +177,7 @@ describe('Stripe - Webhooks', () => {
it('throws an error if the group leader is not found', async () => {
const customerId = 456;
- let subscriber = generateGroup({
+ const subscriber = generateGroup({
name: 'test group',
type: 'guild',
privacy: 'public',
@@ -199,11 +201,12 @@ describe('Stripe - Webhooks', () => {
request: null,
});
- await expect(stripePayments.handleWebhooks({requestBody: {}}, stripe)).to.eventually.be.rejectedWith({
- message: i18n.t('userNotFound'),
- httpCode: 404,
- name: 'NotFound',
- });
+ await expect(stripePayments.handleWebhooks({ requestBody: {} }, stripe))
+ .to.eventually.be.rejectedWith({
+ message: i18n.t('userNotFound'),
+ httpCode: 404,
+ name: 'NotFound',
+ });
expect(stripe.customers.del).to.not.have.been.called;
expect(payments.cancelSubscription).to.not.have.been.called;
@@ -214,10 +217,10 @@ describe('Stripe - Webhooks', () => {
it('deletes the customer on Stripe and calls payments.cancelSubscription', async () => {
const customerId = '456';
- let leader = new User();
+ const leader = new User();
await leader.save();
- let subscriber = generateGroup({
+ const subscriber = generateGroup({
name: 'test group',
type: 'guild',
privacy: 'public',
@@ -241,13 +244,13 @@ describe('Stripe - Webhooks', () => {
request: null,
});
- await stripePayments.handleWebhooks({requestBody: {}}, stripe);
+ await stripePayments.handleWebhooks({ requestBody: {} }, stripe);
expect(stripe.customers.del).to.have.been.calledOnce;
expect(stripe.customers.del).to.have.been.calledWith(customerId);
expect(payments.cancelSubscription).to.have.been.calledOnce;
- let cancelSubscriptionOpts = payments.cancelSubscription.lastCall.args[0];
+ const cancelSubscriptionOpts = payments.cancelSubscription.lastCall.args[0];
expect(cancelSubscriptionOpts.user._id).to.equal(leader._id);
expect(cancelSubscriptionOpts.paymentMethod).to.equal('Stripe');
expect(Math.round(moment(cancelSubscriptionOpts.nextBill).diff(new Date(), 'days', true))).to.equal(3);
diff --git a/test/api/unit/libs/payments/stripe/upgrade-group-plan.test.js b/test/api/unit/libs/payments/stripe/upgrade-group-plan.test.js
index 38b6e6f979..a1ce194cae 100644
--- a/test/api/unit/libs/payments/stripe/upgrade-group-plan.test.js
+++ b/test/api/unit/libs/payments/stripe/upgrade-group-plan.test.js
@@ -2,7 +2,7 @@ import stripeModule from 'stripe';
import {
generateGroup,
-} from '../../../../../helpers/api-unit.helper.js';
+} from '../../../../../helpers/api-unit.helper';
import { model as User } from '../../../../../../website/server/models/user';
import { model as Group } from '../../../../../../website/server/models/group';
import stripePayments from '../../../../../../website/server/libs/payments/stripe';
@@ -10,9 +10,10 @@ import payments from '../../../../../../website/server/libs/payments/payments';
describe('Stripe - Upgrade Group Plan', () => {
const stripe = stripeModule('test');
- let spy, data, user, group;
+ let spy; let data; let user; let
+ group;
- beforeEach(async function () {
+ beforeEach(async () => {
user = new User();
user.profile.name = 'sender';
@@ -44,7 +45,7 @@ describe('Stripe - Upgrade Group Plan', () => {
stripePayments.setStripeApi(stripe);
});
- afterEach(function () {
+ afterEach(() => {
stripe.subscriptions.update.restore();
});
@@ -52,7 +53,7 @@ describe('Stripe - Upgrade Group Plan', () => {
data.paymentMethod = 'Stripe';
await payments.createSubscription(data);
- let updatedGroup = await Group.findById(group._id).exec();
+ const updatedGroup = await Group.findById(group._id).exec();
expect(updatedGroup.purchased.plan.quantity).to.eql(3);
updatedGroup.memberCount += 1;
diff --git a/test/api/unit/libs/preening.test.js b/test/api/unit/libs/preening.test.js
index 9f5dacbf14..c2448c5df9 100644
--- a/test/api/unit/libs/preening.test.js
+++ b/test/api/unit/libs/preening.test.js
@@ -1,7 +1,7 @@
-import { preenHistory } from '../../../../website/server/libs/preening';
import moment from 'moment';
import sinon from 'sinon'; // eslint-disable-line no-shadow
-import { generateHistory } from '../../../helpers/api-unit.helper.js';
+import { preenHistory } from '../../../../website/server/libs/preening';
+import { generateHistory } from '../../../helpers/api-unit.helper';
describe('preenHistory', () => {
let clock;
@@ -13,47 +13,47 @@ describe('preenHistory', () => {
toFake: ['Date'],
});
});
- afterEach(() => {
- return clock.restore();
- });
+ afterEach(() => clock.restore());
it('does not modify history if all entries are more recent than cutoff (free users)', () => {
- let h = generateHistory(60);
+ const h = generateHistory(60);
expect(preenHistory(_.cloneDeep(h), false, 0)).to.eql(h);
});
it('does not modify history if all entries are more recent than cutoff (subscribers)', () => {
- let h = generateHistory(365);
+ const h = generateHistory(365);
expect(preenHistory(_.cloneDeep(h), true, 0)).to.eql(h);
});
it('does aggregate data in monthly entries before cutoff (free users)', () => {
- let h = generateHistory(81); // Jumps to July
- let preened = preenHistory(_.cloneDeep(h), false, 0);
+ const h = generateHistory(81); // Jumps to July
+ const preened = preenHistory(_.cloneDeep(h), false, 0);
expect(preened.length).to.eql(62); // Keeps 60 days + 2 entries per august and july
});
it('does aggregate data in monthly entries before cutoff (subscribers)', () => {
- let h = generateHistory(396); // Jumps to September 2012
- let preened = preenHistory(_.cloneDeep(h), true, 0);
+ const h = generateHistory(396); // Jumps to September 2012
+ const preened = preenHistory(_.cloneDeep(h), true, 0);
expect(preened.length).to.eql(367); // Keeps 365 days + 2 entries per october and september
});
it('does aggregate data in monthly and yearly entries before cutoff (free users)', () => {
- let h = generateHistory(731); // Jumps to October 21 2012
- let preened = preenHistory(_.cloneDeep(h), false, 0);
- expect(preened.length).to.eql(73); // Keeps 60 days + 11 montly entries and 2 yearly entry for 2011 and 2012
+ const h = generateHistory(731); // Jumps to October 21 2012
+ const preened = preenHistory(_.cloneDeep(h), false, 0);
+ // Keeps 60 days + 11 montly entries and 2 yearly entry for 2011 and 2012
+ expect(preened.length).to.eql(73);
});
it('does aggregate data in monthly and yearly entries before cutoff (subscribers)', () => {
- let h = generateHistory(1031); // Jumps to October 21 2012
- let preened = preenHistory(_.cloneDeep(h), true, 0);
- expect(preened.length).to.eql(380); // Keeps 365 days + 13 montly entries and 2 yearly entries for 2011 and 2010
+ const h = generateHistory(1031); // Jumps to October 21 2012
+ const preened = preenHistory(_.cloneDeep(h), true, 0);
+ // Keeps 365 days + 13 montly entries and 2 yearly entries for 2011 and 2010
+ expect(preened.length).to.eql(380);
});
it('correctly aggregates values', () => {
- let h = generateHistory(63); // Compress last 3 days
- let preened = preenHistory(_.cloneDeep(h), false, 0);
+ const h = generateHistory(63); // Compress last 3 days
+ const preened = preenHistory(_.cloneDeep(h), false, 0);
expect(preened[0].value).to.eql((61 + 62 + 63) / 3);
});
});
diff --git a/test/api/unit/libs/pushNotifications.js b/test/api/unit/libs/pushNotifications.js
index 0967ba349d..ba09d4cdce 100644
--- a/test/api/unit/libs/pushNotifications.js
+++ b/test/api/unit/libs/pushNotifications.js
@@ -1,19 +1,19 @@
-import { model as User } from '../../../../website/server/models/user';
import requireAgain from 'require-again';
import apn from 'apn/mock';
import nconf from 'nconf';
import gcmLib from 'node-gcm'; // works with FCM notifications too
+import { model as User } from '../../../../website/server/models/user';
describe('pushNotifications', () => {
let user;
let sendPushNotification;
- let pathToPushNotifications = '../../../../website/server/libs/pushNotifications';
+ const pathToPushNotifications = '../../../../website/server/libs/pushNotifications';
let fcmSendSpy;
let apnSendSpy;
- let identifier = 'identifier';
- let title = 'title';
- let message = 'message';
+ const identifier = 'identifier';
+ const title = 'title';
+ const message = 'message';
beforeEach(() => {
user = new User();
@@ -93,7 +93,7 @@ describe('pushNotifications', () => {
regId: '123',
});
- let details = {
+ const details = {
identifier,
title,
message,
diff --git a/test/api/unit/libs/setupNconf.test.js b/test/api/unit/libs/setupNconf.test.js
index 33101e40af..81269915cd 100644
--- a/test/api/unit/libs/setupNconf.test.js
+++ b/test/api/unit/libs/setupNconf.test.js
@@ -1,7 +1,7 @@
-import setupNconf from '../../../../website/server/libs/setupNconf';
import path from 'path';
import nconf from 'nconf';
+import setupNconf from '../../../../website/server/libs/setupNconf';
describe('setupNconf', () => {
beforeEach(() => {
@@ -21,7 +21,7 @@ describe('setupNconf', () => {
expect(nconf.env).to.be.calledOnce;
expect(nconf.file).to.be.calledOnce;
- let regexString = `\\${path.sep}config.json$`;
+ const regexString = `\\${path.sep}config.json$`;
expect(nconf.file).to.be.calledWithMatch('user', new RegExp(regexString));
});
diff --git a/test/api/unit/libs/slack.js b/test/api/unit/libs/slack.js
index 4b6acdf695..c1615804c2 100644
--- a/test/api/unit/libs/slack.js
+++ b/test/api/unit/libs/slack.js
@@ -1,11 +1,11 @@
/* eslint-disable camelcase */
import { IncomingWebhook } from '@slack/client';
import requireAgain from 'require-again';
-import slack from '../../../../website/server/libs/slack';
-import logger from '../../../../website/server/libs/logger';
-import { TAVERN_ID } from '../../../../website/server/models/group';
import nconf from 'nconf';
import moment from 'moment';
+import * as slack from '../../../../website/server/libs/slack';
+import logger from '../../../../website/server/libs/logger';
+import { TAVERN_ID } from '../../../../website/server/models/group';
describe('slack', () => {
describe('sendFlagNotification', () => {
@@ -113,7 +113,7 @@ describe('slack', () => {
it('noops if no flagging url is provided', () => {
sandbox.stub(nconf, 'get').withArgs('SLACK_FLAGGING_URL').returns('');
sandbox.stub(logger, 'error');
- let reRequiredSlack = requireAgain('../../../../website/server/libs/slack');
+ const reRequiredSlack = requireAgain('../../../../website/server/libs/slack');
expect(logger.error).to.be.calledOnce;
diff --git a/test/api/unit/libs/taskManager.js b/test/api/unit/libs/taskManager.js
index 57c6f3957f..c6c54dc012 100644
--- a/test/api/unit/libs/taskManager.js
+++ b/test/api/unit/libs/taskManager.js
@@ -9,11 +9,12 @@ import {
generateUser,
generateGroup,
generateChallenge,
-} from '../../../helpers/api-unit.helper.js';
+} from '../../../helpers/api-unit.helper';
describe('taskManager', () => {
- let user, group, challenge;
- let testHabit = {
+ let user; let group; let
+ challenge;
+ const testHabit = {
text: 'test habit',
type: 'habit',
up: false,
@@ -47,8 +48,8 @@ describe('taskManager', () => {
req.body = testHabit;
res.t = i18n.t;
- let newTasks = await createTasks(req, res, {user});
- let newTask = newTasks[0];
+ const newTasks = await createTasks(req, res, { user });
+ const newTask = newTasks[0];
expect(newTask.text).to.equal(testHabit.text);
expect(newTask.type).to.equal(testHabit.type);
@@ -61,15 +62,15 @@ describe('taskManager', () => {
req.body = testHabit;
res.t = i18n.t;
- await createTasks(req, res, {user});
+ await createTasks(req, res, { user });
req.body = {};
req.query = {
type: 'habits',
};
- let tasks = await getTasks(req, res, {user});
- let task = tasks[0];
+ const tasks = await getTasks(req, res, { user });
+ const task = tasks[0];
expect(task.text).to.equal(testHabit.text);
expect(task.type).to.equal(testHabit.type);
@@ -82,8 +83,8 @@ describe('taskManager', () => {
req.body = testHabit;
res.t = i18n.t;
- let newTasks = await createTasks(req, res, {user, group});
- let newTask = newTasks[0];
+ const newTasks = await createTasks(req, res, { user, group });
+ const newTask = newTasks[0];
expect(newTask.text).to.equal(testHabit.text);
expect(newTask.type).to.equal(testHabit.type);
@@ -97,15 +98,15 @@ describe('taskManager', () => {
req.body = testHabit;
res.t = i18n.t;
- await createTasks(req, res, {user, group});
+ await createTasks(req, res, { user, group });
req.body = {};
req.query = {
type: 'habits',
};
- let tasks = await getTasks(req, res, {user, group});
- let task = tasks[0];
+ const tasks = await getTasks(req, res, { user, group });
+ const task = tasks[0];
expect(task.text).to.equal(testHabit.text);
expect(task.type).to.equal(testHabit.type);
@@ -119,8 +120,8 @@ describe('taskManager', () => {
req.body = testHabit;
res.t = i18n.t;
- let newTasks = await createTasks(req, res, {user, challenge});
- let newTask = newTasks[0];
+ const newTasks = await createTasks(req, res, { user, challenge });
+ const newTask = newTasks[0];
expect(newTask.text).to.equal(testHabit.text);
expect(newTask.type).to.equal(testHabit.type);
@@ -134,15 +135,15 @@ describe('taskManager', () => {
req.body = testHabit;
res.t = i18n.t;
- await createTasks(req, res, {user, challenge});
+ await createTasks(req, res, { user, challenge });
req.body = {};
req.query = {
type: 'habits',
};
- let tasks = await getTasks(req, res, {user, challenge});
- let task = tasks[0];
+ const tasks = await getTasks(req, res, { user, challenge });
+ const task = tasks[0];
expect(task.text).to.equal(testHabit.text);
expect(task.type).to.equal(testHabit.type);
@@ -156,9 +157,9 @@ describe('taskManager', () => {
req.body = testHabit;
res.t = i18n.t;
- let tasks = await createTasks(req, res, {user, challenge});
+ const tasks = await createTasks(req, res, { user, challenge });
- let syncableTask = syncableAttrs(tasks[0]);
+ const syncableTask = syncableAttrs(tasks[0]);
expect(syncableTask._id).to.not.exist;
expect(syncableTask.userId).to.not.exist;
@@ -172,7 +173,7 @@ describe('taskManager', () => {
});
it('moves tasks to a specified position', async () => {
- let order = ['task-id-1', 'task-id-2'];
+ const order = ['task-id-1', 'task-id-2'];
moveTask(order, 'task-id-2', 0);
@@ -180,7 +181,7 @@ describe('taskManager', () => {
});
it('moves tasks to a specified position out of length', async () => {
- let order = ['task-id-1'];
+ const order = ['task-id-1'];
moveTask(order, 'task-id-2', 2);
diff --git a/test/api/unit/libs/webhooks.test.js b/test/api/unit/libs/webhooks.test.js
index d1bc9c52ff..761eda713b 100644
--- a/test/api/unit/libs/webhooks.test.js
+++ b/test/api/unit/libs/webhooks.test.js
@@ -12,11 +12,13 @@ import {
} from '../../../../website/server/models/user';
import {
generateUser,
-} from '../../../helpers/api-unit.helper.js';
-import { defer } from '../../../helpers/api-unit.helper';
+ defer,
+} from '../../../helpers/api-unit.helper';
+
describe('webhooks', () => {
- let webhooks, user;
+ let webhooks; let
+ user;
beforeEach(() => {
sandbox.stub(got, 'post').returns(defer().promise);
@@ -72,7 +74,7 @@ describe('webhooks', () => {
describe('WebhookSender', () => {
it('creates a new WebhookSender object', () => {
- let sendWebhook = new WebhookSender({
+ const sendWebhook = new WebhookSender({
type: 'custom',
});
@@ -82,13 +84,15 @@ describe('webhooks', () => {
it('provides default function for data transformation', () => {
sandbox.spy(WebhookSender, 'defaultTransformData');
- let sendWebhook = new WebhookSender({
+ const sendWebhook = new WebhookSender({
type: 'custom',
});
- let body = { foo: 'bar' };
+ const body = { foo: 'bar' };
- user.webhooks = [{id: 'custom-webhook', url: 'http://custom-url.com', enabled: true, type: 'custom'}];
+ user.webhooks = [{
+ id: 'custom-webhook', url: 'http://custom-url.com', enabled: true, type: 'custom',
+ }];
sendWebhook.send(user, body);
expect(WebhookSender.defaultTransformData).to.be.calledOnce;
@@ -100,14 +104,16 @@ describe('webhooks', () => {
});
it('adds default data (user and webhookType) to the body', () => {
- let sendWebhook = new WebhookSender({
+ const sendWebhook = new WebhookSender({
type: 'custom',
});
sandbox.spy(sendWebhook, 'attachDefaultData');
- let body = { foo: 'bar' };
+ const body = { foo: 'bar' };
- user.webhooks = [{id: 'custom-webhook', url: 'http://custom-url.com', enabled: true, type: 'custom'}];
+ user.webhooks = [{
+ id: 'custom-webhook', url: 'http://custom-url.com', enabled: true, type: 'custom',
+ }];
sendWebhook.send(user, body);
expect(sendWebhook.attachDefaultData).to.be.calledOnce;
@@ -118,25 +124,27 @@ describe('webhooks', () => {
expect(body).to.eql({
foo: 'bar',
- user: {_id: user._id},
+ user: { _id: user._id },
webhookType: 'custom',
});
});
it('can pass in a data transformation function', () => {
sandbox.spy(WebhookSender, 'defaultTransformData');
- let sendWebhook = new WebhookSender({
+ const sendWebhook = new WebhookSender({
type: 'custom',
transformData (data) {
- let dataToSend = Object.assign({baz: 'biz'}, data);
+ const dataToSend = { baz: 'biz', ...data };
return dataToSend;
},
});
- let body = { foo: 'bar' };
+ const body = { foo: 'bar' };
- user.webhooks = [{id: 'custom-webhook', url: 'http://custom-url.com', enabled: true, type: 'custom'}];
+ user.webhooks = [{
+ id: 'custom-webhook', url: 'http://custom-url.com', enabled: true, type: 'custom',
+ }];
sendWebhook.send(user, body);
expect(WebhookSender.defaultTransformData).to.not.be.called;
@@ -152,13 +160,15 @@ describe('webhooks', () => {
it('provides a default filter function', () => {
sandbox.spy(WebhookSender, 'defaultWebhookFilter');
- let sendWebhook = new WebhookSender({
+ const sendWebhook = new WebhookSender({
type: 'custom',
});
- let body = { foo: 'bar' };
+ const body = { foo: 'bar' };
- user.webhooks = [{id: 'custom-webhook', url: 'http://custom-url.com', enabled: true, type: 'custom'}];
+ user.webhooks = [{
+ id: 'custom-webhook', url: 'http://custom-url.com', enabled: true, type: 'custom',
+ }];
sendWebhook.send(user, body);
expect(WebhookSender.defaultWebhookFilter).to.be.calledOnce;
@@ -166,16 +176,18 @@ describe('webhooks', () => {
it('can pass in a webhook filter function', () => {
sandbox.spy(WebhookSender, 'defaultWebhookFilter');
- let sendWebhook = new WebhookSender({
+ const sendWebhook = new WebhookSender({
type: 'custom',
webhookFilter (hook) {
return hook.url !== 'http://custom-url.com';
},
});
- let body = { foo: 'bar' };
+ const body = { foo: 'bar' };
- user.webhooks = [{id: 'custom-webhook', url: 'http://custom-url.com', enabled: true, type: 'custom'}];
+ user.webhooks = [{
+ id: 'custom-webhook', url: 'http://custom-url.com', enabled: true, type: 'custom',
+ }];
sendWebhook.send(user, body);
expect(WebhookSender.defaultWebhookFilter).to.not.be.called;
@@ -184,18 +196,22 @@ describe('webhooks', () => {
it('can pass in a webhook filter function that filters on data', () => {
sandbox.spy(WebhookSender, 'defaultWebhookFilter');
- let sendWebhook = new WebhookSender({
+ const sendWebhook = new WebhookSender({
type: 'custom',
webhookFilter (hook, data) {
return hook.options.foo === data.foo;
},
});
- let body = { foo: 'bar' };
+ const body = { foo: 'bar' };
user.webhooks = [
- { id: 'custom-webhook', url: 'http://custom-url.com', enabled: true, type: 'custom', options: { foo: 'bar' }},
- { id: 'other-custom-webhook', url: 'http://other-custom-url.com', enabled: true, type: 'custom', options: { foo: 'foo' }},
+ {
+ id: 'custom-webhook', url: 'http://custom-url.com', enabled: true, type: 'custom', options: { foo: 'bar' },
+ },
+ {
+ id: 'other-custom-webhook', url: 'http://other-custom-url.com', enabled: true, type: 'custom', options: { foo: 'foo' },
+ },
];
sendWebhook.send(user, body);
@@ -204,41 +220,49 @@ describe('webhooks', () => {
});
it('ignores disabled webhooks', () => {
- let sendWebhook = new WebhookSender({
+ const sendWebhook = new WebhookSender({
type: 'custom',
});
- let body = { foo: 'bar' };
+ const body = { foo: 'bar' };
- user.webhooks = [{id: 'custom-webhook', url: 'http://custom-url.com', enabled: false, type: 'custom'}];
+ user.webhooks = [{
+ id: 'custom-webhook', url: 'http://custom-url.com', enabled: false, type: 'custom',
+ }];
sendWebhook.send(user, body);
expect(got.post).to.not.be.called;
});
it('ignores webhooks with invalid urls', () => {
- let sendWebhook = new WebhookSender({
+ const sendWebhook = new WebhookSender({
type: 'custom',
});
- let body = { foo: 'bar' };
+ const body = { foo: 'bar' };
- user.webhooks = [{id: 'custom-webhook', url: 'httxp://custom-url!!!', enabled: true, type: 'custom'}];
+ user.webhooks = [{
+ id: 'custom-webhook', url: 'httxp://custom-url!!!', enabled: true, type: 'custom',
+ }];
sendWebhook.send(user, body);
expect(got.post).to.not.be.called;
});
it('ignores webhooks of other types', () => {
- let sendWebhook = new WebhookSender({
+ const sendWebhook = new WebhookSender({
type: 'custom',
});
- let body = { foo: 'bar' };
+ const body = { foo: 'bar' };
user.webhooks = [
- { id: 'custom-webhook', url: 'http://custom-url.com', enabled: true, type: 'custom'},
- { id: 'other-webhook', url: 'http://other-url.com', enabled: true, type: 'other'},
+ {
+ id: 'custom-webhook', url: 'http://custom-url.com', enabled: true, type: 'custom',
+ },
+ {
+ id: 'other-webhook', url: 'http://other-url.com', enabled: true, type: 'other',
+ },
];
sendWebhook.send(user, body);
@@ -250,14 +274,16 @@ describe('webhooks', () => {
});
it('sends every type of activity to global webhooks', () => {
- let sendWebhook = new WebhookSender({
+ const sendWebhook = new WebhookSender({
type: 'custom',
});
- let body = { foo: 'bar' };
+ const body = { foo: 'bar' };
user.webhooks = [
- { id: 'global-webhook', url: 'http://custom-url.com', enabled: true, type: 'globalActivity'},
+ {
+ id: 'global-webhook', url: 'http://custom-url.com', enabled: true, type: 'globalActivity',
+ },
];
sendWebhook.send(user, body);
@@ -269,15 +295,19 @@ describe('webhooks', () => {
});
it('sends multiple webhooks of the same type', () => {
- let sendWebhook = new WebhookSender({
+ const sendWebhook = new WebhookSender({
type: 'custom',
});
- let body = { foo: 'bar' };
+ const body = { foo: 'bar' };
user.webhooks = [
- { id: 'custom-webhook', url: 'http://custom-url.com', enabled: true, type: 'custom'},
- { id: 'other-custom-webhook', url: 'http://other-url.com', enabled: true, type: 'custom'},
+ {
+ id: 'custom-webhook', url: 'http://custom-url.com', enabled: true, type: 'custom',
+ },
+ {
+ id: 'other-custom-webhook', url: 'http://other-url.com', enabled: true, type: 'custom',
+ },
];
sendWebhook.send(user, body);
@@ -299,7 +329,7 @@ describe('webhooks', () => {
beforeEach(() => {
data = {
user: {
- _tmp: {foo: 'bar'},
+ _tmp: { foo: 'bar' },
stats: {
lvl: 5,
int: 10,
@@ -317,11 +347,12 @@ describe('webhooks', () => {
delta: 176,
};
- let mockStats = Object.assign({
+ const mockStats = {
maxHealth: 50,
maxMP: 103,
toNextLevel: 40,
- }, data.user.stats);
+ ...data.user.stats,
+ };
delete mockStats.toJSON;
sandbox.stub(User, 'addComputedStatsToJSONObj').returns(mockStats);
@@ -338,7 +369,7 @@ describe('webhooks', () => {
webhookType: 'taskActivity',
user: {
_id: user._id,
- _tmp: {foo: 'bar'},
+ _tmp: { foo: 'bar' },
stats: {
lvl: 5,
int: 10,
@@ -376,7 +407,7 @@ describe('webhooks', () => {
webhookType: 'taskActivity',
user: {
_id: user._id,
- _tmp: {foo: 'bar'},
+ _tmp: { foo: 'bar' },
stats: {
lvl: 5,
int: 10,
@@ -416,7 +447,7 @@ describe('webhooks', () => {
};
});
- ['created', 'updated', 'deleted'].forEach((type) => {
+ ['created', 'updated', 'deleted'].forEach(type => {
it(`sends ${type} tasks`, () => {
data.type = type;
@@ -498,7 +529,7 @@ describe('webhooks', () => {
};
});
- ['petHatched', 'mountRaised', 'leveledUp'].forEach((type) => {
+ ['petHatched', 'mountRaised', 'leveledUp'].forEach(type => {
it(`sends ${type} webhooks`, () => {
data.type = type;
@@ -545,7 +576,7 @@ describe('webhooks', () => {
};
});
- ['questStarted', 'questFinised'].forEach((type) => {
+ ['questStarted', 'questFinised'].forEach(type => {
it(`sends ${type} webhooks`, () => {
data.type = type;
@@ -584,7 +615,7 @@ describe('webhooks', () => {
describe('groupChatReceivedWebhook', () => {
it('sends chat data', () => {
- let data = {
+ const data = {
group: {
id: 'group-id',
name: 'some group',
@@ -619,7 +650,7 @@ describe('webhooks', () => {
});
it('does not send chat data for group if not selected', () => {
- let data = {
+ const data = {
group: {
id: 'not-group-id',
name: 'some group',
diff --git a/test/api/unit/middlewares/analytics.test.js b/test/api/unit/middlewares/analytics.test.js
index dce6bab20d..32b88d00b8 100644
--- a/test/api/unit/middlewares/analytics.test.js
+++ b/test/api/unit/middlewares/analytics.test.js
@@ -1,16 +1,17 @@
/* eslint-disable global-require */
+import nconf from 'nconf';
+import requireAgain from 'require-again';
import {
generateRes,
generateReq,
generateNext,
} from '../../../helpers/api-unit.helper';
-import analyticsService from '../../../../website/server/libs/analyticsService';
-import nconf from 'nconf';
-import requireAgain from 'require-again';
+import * as analyticsService from '../../../../website/server/libs/analyticsService';
describe('analytics middleware', () => {
- let res, req, next;
- let pathToAnalyticsMiddleware = '../../../../website/server/middlewares/analytics';
+ let res; let req; let
+ next;
+ const pathToAnalyticsMiddleware = '../../../../website/server/middlewares/analytics';
beforeEach(() => {
res = generateRes();
@@ -19,7 +20,7 @@ describe('analytics middleware', () => {
});
it('attaches analytics object res.locals', () => {
- let attachAnalytics = requireAgain(pathToAnalyticsMiddleware);
+ const attachAnalytics = requireAgain(pathToAnalyticsMiddleware).default;
attachAnalytics(req, res, next);
@@ -28,7 +29,7 @@ describe('analytics middleware', () => {
it('attaches stubbed methods for non-prod environments', () => {
sandbox.stub(nconf, 'get').withArgs('IS_PROD').returns(false);
- let attachAnalytics = requireAgain(pathToAnalyticsMiddleware);
+ const attachAnalytics = requireAgain(pathToAnalyticsMiddleware).default;
attachAnalytics(req, res, next);
@@ -39,7 +40,7 @@ describe('analytics middleware', () => {
it('attaches real methods for prod environments', () => {
sandbox.stub(nconf, 'get').withArgs('IS_PROD').returns(true);
- let attachAnalytics = requireAgain(pathToAnalyticsMiddleware);
+ const attachAnalytics = requireAgain(pathToAnalyticsMiddleware).default;
attachAnalytics(req, res, next);
diff --git a/test/api/unit/middlewares/auth.test.js b/test/api/unit/middlewares/auth.test.js
index 830af9be04..f4a9324189 100644
--- a/test/api/unit/middlewares/auth.test.js
+++ b/test/api/unit/middlewares/auth.test.js
@@ -5,7 +5,8 @@ import {
import { authWithHeaders as authWithHeadersFactory } from '../../../../website/server/middlewares/auth';
describe('auth middleware', () => {
- let res, req, user;
+ let res; let req; let
+ user;
beforeEach(async () => {
res = generateRes();
@@ -14,7 +15,7 @@ describe('auth middleware', () => {
});
describe('auth with headers', () => {
- it('allows to specify a list of user field that we do not want to load', (done) => {
+ it('allows to specify a list of user field that we do not want to load', done => {
const authWithHeaders = authWithHeadersFactory({
userFieldsToExclude: ['items'],
});
@@ -22,18 +23,18 @@ describe('auth middleware', () => {
req.headers['x-api-user'] = user._id;
req.headers['x-api-key'] = user.apiToken;
- authWithHeaders(req, res, (err) => {
+ authWithHeaders(req, res, err => {
if (err) return done(err);
const userToJSON = res.locals.user.toJSON();
expect(userToJSON.items).to.not.exist;
expect(userToJSON.auth).to.exist;
- done();
+ return done();
});
});
- it('makes sure some fields are always included', (done) => {
+ it('makes sure some fields are always included', done => {
const authWithHeaders = authWithHeadersFactory({
userFieldsToExclude: [
'items', 'auth.timestamps',
@@ -44,7 +45,7 @@ describe('auth middleware', () => {
req.headers['x-api-user'] = user._id;
req.headers['x-api-key'] = user.apiToken;
- authWithHeaders(req, res, (err) => {
+ authWithHeaders(req, res, err => {
if (err) return done(err);
const userToJSON = res.locals.user.toJSON();
@@ -56,7 +57,7 @@ describe('auth middleware', () => {
expect(userToJSON._id).to.exist;
expect(userToJSON.flags).to.exist;
- done();
+ return done();
});
});
});
diff --git a/test/api/unit/middlewares/cors.test.js b/test/api/unit/middlewares/cors.test.js
index 1d5b111dd4..9b2c568bf1 100644
--- a/test/api/unit/middlewares/cors.test.js
+++ b/test/api/unit/middlewares/cors.test.js
@@ -7,7 +7,8 @@ import {
import cors from '../../../../website/server/middlewares/cors';
describe('cors middleware', () => {
- let res, req, next;
+ let res; let req; let
+ next;
beforeEach(() => {
req = generateReq();
diff --git a/test/api/unit/middlewares/cronMiddleware.js b/test/api/unit/middlewares/cronMiddleware.js
index 28d4135e25..bd93b06e65 100644
--- a/test/api/unit/middlewares/cronMiddleware.js
+++ b/test/api/unit/middlewares/cronMiddleware.js
@@ -1,3 +1,5 @@
+import moment from 'moment';
+import { v4 as generateUUID } from 'uuid';
import {
generateRes,
generateReq,
@@ -5,22 +7,21 @@ import {
generateDaily,
} from '../../../helpers/api-unit.helper';
import cronMiddleware from '../../../../website/server/middlewares/cron';
-import moment from 'moment';
import { model as User } from '../../../../website/server/models/user';
import { model as Group } from '../../../../website/server/models/group';
import * as Tasks from '../../../../website/server/models/task';
-import analyticsService from '../../../../website/server/libs/analyticsService';
+import * as analyticsService from '../../../../website/server/libs/analyticsService';
import * as cronLib from '../../../../website/server/libs/cron';
-import { v4 as generateUUID } from 'uuid';
const CRON_TIMEOUT_WAIT = new Date(60 * 60 * 1000).getTime();
const CRON_TIMEOUT_UNIT = new Date(60 * 1000).getTime();
describe('cron middleware', () => {
- let res, req;
+ let res; let
+ req;
let user;
- beforeEach((done) => {
+ beforeEach(done => {
res = generateRes();
req = generateReq();
user = new User({
@@ -48,33 +49,35 @@ describe('cron middleware', () => {
sandbox.restore();
});
- it('calls next when user is not attached', (done) => {
+ it('calls next when user is not attached', done => {
res.locals.user = null;
cronMiddleware(req, res, done);
});
- it('calls next when days have not been missed', (done) => {
+ it('calls next when days have not been missed', done => {
cronMiddleware(req, res, done);
});
it('should clear todos older than 30 days for free users', async () => {
- user.lastCron = moment(new Date()).subtract({days: 2});
- let task = generateTodo(user);
- task.dateCompleted = moment(new Date()).subtract({days: 31});
+ user.lastCron = moment(new Date()).subtract({ days: 2 });
+ const task = generateTodo(user);
+ task.dateCompleted = moment(new Date()).subtract({ days: 31 });
task.completed = true;
await task.save();
await user.save();
await new Promise((resolve, reject) => {
- cronMiddleware(req, res, (err) => {
+ cronMiddleware(req, res, err => {
if (err) return reject(err);
- Tasks.Task.findOne({_id: task}, function (secondErr, taskFound) {
+ Tasks.Task.findOne({ _id: task }, (secondErr, taskFound) => {
if (secondErr) return reject(err);
expect(secondErr).to.not.exist;
expect(taskFound).to.not.exist;
- resolve();
+ return resolve();
});
+
+ return null;
});
});
});
@@ -82,22 +85,23 @@ describe('cron middleware', () => {
it('should not clear todos older than 30 days for subscribed users', async () => {
user.purchased.plan.customerId = 'subscribedId';
user.purchased.plan.dateUpdated = moment('012013', 'MMYYYY');
- user.lastCron = moment(new Date()).subtract({days: 2});
- let task = generateTodo(user);
- task.dateCompleted = moment(new Date()).subtract({days: 31});
+ user.lastCron = moment(new Date()).subtract({ days: 2 });
+ const task = generateTodo(user);
+ task.dateCompleted = moment(new Date()).subtract({ days: 31 });
task.completed = true;
await task.save();
await user.save();
await new Promise((resolve, reject) => {
- cronMiddleware(req, res, (err) => {
+ cronMiddleware(req, res, err => {
if (err) return reject(err);
- Tasks.Task.findOne({_id: task}, function (secondErr, taskFound) {
+ Tasks.Task.findOne({ _id: task }, (secondErr, taskFound) => {
if (secondErr) return reject(secondErr);
expect(secondErr).to.not.exist;
expect(taskFound).to.exist;
- resolve();
+ return resolve();
});
+ return null;
});
});
});
@@ -105,105 +109,106 @@ describe('cron middleware', () => {
it('should clear todos older than 90 days for subscribed users', async () => {
user.purchased.plan.customerId = 'subscribedId';
user.purchased.plan.dateUpdated = moment('012013', 'MMYYYY');
- user.lastCron = moment(new Date()).subtract({days: 2});
+ user.lastCron = moment(new Date()).subtract({ days: 2 });
- let task = generateTodo(user);
- task.dateCompleted = moment(new Date()).subtract({days: 91});
+ const task = generateTodo(user);
+ task.dateCompleted = moment(new Date()).subtract({ days: 91 });
task.completed = true;
await task.save();
await user.save();
await new Promise((resolve, reject) => {
- cronMiddleware(req, res, (err) => {
+ cronMiddleware(req, res, err => {
if (err) return reject(err);
- Tasks.Task.findOne({_id: task}, function (secondErr, taskFound) {
+ Tasks.Task.findOne({ _id: task }, (secondErr, taskFound) => {
if (secondErr) return reject(secondErr);
expect(secondErr).to.not.exist;
expect(taskFound).to.not.exist;
- resolve();
+ return resolve();
});
+ return null;
});
});
});
it('should call next if user was not modified after cron', async () => {
- let hpBefore = user.stats.hp;
- user.lastCron = moment(new Date()).subtract({days: 2});
+ const hpBefore = user.stats.hp;
+ user.lastCron = moment(new Date()).subtract({ days: 2 });
await user.save();
await new Promise((resolve, reject) => {
- cronMiddleware(req, res, (err) => {
+ cronMiddleware(req, res, err => {
if (err) return reject(err);
expect(hpBefore).to.equal(user.stats.hp);
- resolve();
+ return resolve();
});
});
});
it('updates user.auth.timestamps.loggedin and lastCron', async () => {
- user.lastCron = moment(new Date()).subtract({days: 2});
- let now = new Date();
+ user.lastCron = moment(new Date()).subtract({ days: 2 });
+ const now = new Date();
await user.save();
await new Promise((resolve, reject) => {
- cronMiddleware(req, res, (err) => {
+ cronMiddleware(req, res, err => {
if (err) return reject(err);
expect(moment(now).isSame(user.lastCron, 'day'));
expect(moment(now).isSame(user.auth.timestamps.loggedin, 'day'));
- resolve();
+ return resolve();
});
});
});
it('does damage for missing dailies', async () => {
- let hpBefore = user.stats.hp;
- user.lastCron = moment(new Date()).subtract({days: 2});
- let daily = generateDaily(user);
- daily.startDate = moment(new Date()).subtract({days: 2});
+ const hpBefore = user.stats.hp;
+ user.lastCron = moment(new Date()).subtract({ days: 2 });
+ const daily = generateDaily(user);
+ daily.startDate = moment(new Date()).subtract({ days: 2 });
await daily.save();
await user.save();
await new Promise((resolve, reject) => {
- cronMiddleware(req, res, (err) => {
+ cronMiddleware(req, res, err => {
if (err) return reject(err);
- User.findOne({_id: user._id}, function (secondErr, updatedUser) {
+ return User.findOne({ _id: user._id }, (secondErr, updatedUser) => {
if (secondErr) return reject(secondErr);
expect(updatedUser.stats.hp).to.be.lessThan(hpBefore);
- resolve();
+ return resolve();
});
});
});
});
it('updates tasks', async () => {
- user.lastCron = moment(new Date()).subtract({days: 2});
- let todo = generateTodo(user);
- let todoValueBefore = todo.value;
+ user.lastCron = moment(new Date()).subtract({ days: 2 });
+ const todo = generateTodo(user);
+ const todoValueBefore = todo.value;
await Promise.all([todo.save(), user.save()]);
await new Promise((resolve, reject) => {
- cronMiddleware(req, res, (err) => {
+ cronMiddleware(req, res, err => {
if (err) return reject(err);
- Tasks.Task.findOne({_id: todo._id}, function (secondErr, todoFound) {
+ return Tasks.Task.findOne({ _id: todo._id }, (secondErr, todoFound) => {
if (secondErr) return reject(secondErr);
expect(todoFound.value).to.be.lessThan(todoValueBefore);
- resolve();
+ return resolve();
});
});
});
});
it('applies quest progress', async () => {
- let hpBefore = user.stats.hp;
- user.lastCron = moment(new Date()).subtract({days: 2});
- let daily = generateDaily(user);
- daily.startDate = moment(new Date()).subtract({days: 2});
+ const hpBefore = user.stats.hp;
+ user.lastCron = moment(new Date()).subtract({ days: 2 });
+ const daily = generateDaily(user);
+ daily.startDate = moment(new Date()).subtract({ days: 2 });
await daily.save();
- let questKey = 'dilatory';
+ const questKey = 'dilatory';
user.party.quest.key = questKey;
- let party = new Group({
+ const party = new Group({
type: 'party',
name: generateUUID(),
leader: user._id,
@@ -218,22 +223,22 @@ describe('cron middleware', () => {
party.startQuest(user);
await new Promise((resolve, reject) => {
- cronMiddleware(req, res, (err) => {
+ cronMiddleware(req, res, err => {
if (err) return reject(err);
- User.findOne({_id: user._id}, function (secondErr, updatedUser) {
+ return User.findOne({ _id: user._id }, (secondErr, updatedUser) => {
if (secondErr) return reject(secondErr);
expect(updatedUser.stats.hp).to.be.lessThan(hpBefore);
- resolve();
+ return resolve();
});
});
});
});
it('recovers from failed cron and does not error when user is already cronning', async () => {
- user.lastCron = moment(new Date()).subtract({days: 2});
+ user.lastCron = moment(new Date()).subtract({ days: 2 });
await user.save();
- let updatedUser = user.toObject();
+ const updatedUser = user.toObject();
updatedUser.nMatched = 0;
sandbox.spy(cronLib, 'recoverCron');
@@ -242,8 +247,8 @@ describe('cron middleware', () => {
.withArgs({
_id: user._id,
$or: [
- {_cronSignature: 'NOT_RUNNING'},
- {_cronSignature: {$lt: sinon.match.number}},
+ { _cronSignature: 'NOT_RUNNING' },
+ { _cronSignature: { $lt: sinon.match.number } },
],
})
.returns({
@@ -253,18 +258,18 @@ describe('cron middleware', () => {
});
await new Promise((resolve, reject) => {
- cronMiddleware(req, res, (err) => {
+ cronMiddleware(req, res, err => {
if (err) return reject(err);
expect(cronLib.recoverCron).to.be.calledOnce;
- resolve();
+ return resolve();
});
});
});
it('cronSignature less than an hour ago should error', async () => {
- user.lastCron = moment(new Date()).subtract({days: 2});
- let now = new Date();
+ user.lastCron = moment(new Date()).subtract({ days: 2 });
+ const now = new Date();
await User.update({
_id: user._id,
}, {
@@ -273,20 +278,20 @@ describe('cron middleware', () => {
},
}).exec();
await user.save();
- let expectedErrMessage = `Impossible to recover from cron for user ${user._id}.`;
+ const expectedErrMessage = `Impossible to recover from cron for user ${user._id}.`;
await new Promise((resolve, reject) => {
- cronMiddleware(req, res, (err) => {
+ cronMiddleware(req, res, err => {
if (!err) return reject(new Error('Cron should have failed.'));
expect(err.message).to.be.equal(expectedErrMessage);
- resolve();
+ return resolve();
});
});
});
it('cronSignature longer than an hour ago should allow cron', async () => {
- user.lastCron = moment(new Date()).subtract({days: 2});
- let now = new Date();
+ user.lastCron = moment(new Date()).subtract({ days: 2 });
+ const now = new Date();
await User.update({
_id: user._id,
}, {
@@ -297,11 +302,11 @@ describe('cron middleware', () => {
await user.save();
await new Promise((resolve, reject) => {
- cronMiddleware(req, res, (err) => {
+ cronMiddleware(req, res, err => {
if (err) return reject(err);
expect(moment(now).isSame(user.auth.timestamps.loggedin, 'day'));
expect(user._cronSignature).to.be.equal('NOT_RUNNING');
- resolve();
+ return resolve();
});
});
});
diff --git a/test/api/unit/middlewares/ensureAccessRight.test.js b/test/api/unit/middlewares/ensureAccessRight.test.js
index 1938546c9c..30eb84b333 100644
--- a/test/api/unit/middlewares/ensureAccessRight.test.js
+++ b/test/api/unit/middlewares/ensureAccessRight.test.js
@@ -10,7 +10,8 @@ import { NotAuthorized } from '../../../../website/server/libs/errors';
import apiError from '../../../../website/server/libs/apiError';
describe('ensure access middlewares', () => {
- let res, req, next;
+ let res; let req; let
+ next;
beforeEach(() => {
res = generateRes();
@@ -20,7 +21,7 @@ describe('ensure access middlewares', () => {
context('ensure admin', () => {
it('returns not authorized when user is not an admin', () => {
- res.locals = {user: {contributor: {admin: false}}};
+ res.locals = { user: { contributor: { admin: false } } };
ensureAdmin(req, res, next);
@@ -30,7 +31,7 @@ describe('ensure access middlewares', () => {
});
it('passes when user is an admin', () => {
- res.locals = {user: {contributor: {admin: true}}};
+ res.locals = { user: { contributor: { admin: true } } };
ensureAdmin(req, res, next);
@@ -41,7 +42,7 @@ describe('ensure access middlewares', () => {
context('ensure sudo', () => {
it('returns not authorized when user is not a sudo user', () => {
- res.locals = {user: {contributor: {sudo: false}}};
+ res.locals = { user: { contributor: { sudo: false } } };
ensureSudo(req, res, next);
@@ -51,7 +52,7 @@ describe('ensure access middlewares', () => {
});
it('passes when user is a sudo user', () => {
- res.locals = {user: {contributor: {sudo: true}}};
+ res.locals = { user: { contributor: { sudo: true } } };
ensureSudo(req, res, next);
diff --git a/test/api/unit/middlewares/ensureDevelpmentMode.js b/test/api/unit/middlewares/ensureDevelpmentMode.js
index 0e1140c961..39bbb2fe6f 100644
--- a/test/api/unit/middlewares/ensureDevelpmentMode.js
+++ b/test/api/unit/middlewares/ensureDevelpmentMode.js
@@ -1,4 +1,5 @@
/* eslint-disable global-require */
+import nconf from 'nconf';
import {
generateRes,
generateReq,
@@ -6,10 +7,10 @@ import {
} from '../../../helpers/api-unit.helper';
import ensureDevelpmentMode from '../../../../website/server/middlewares/ensureDevelpmentMode';
import { NotFound } from '../../../../website/server/libs/errors';
-import nconf from 'nconf';
describe('developmentMode middleware', () => {
- let res, req, next;
+ let res; let req; let
+ next;
beforeEach(() => {
res = generateRes();
diff --git a/test/api/unit/middlewares/errorHandler.test.js b/test/api/unit/middlewares/errorHandler.test.js
index 7611b2c418..ba7c5998a5 100644
--- a/test/api/unit/middlewares/errorHandler.test.js
+++ b/test/api/unit/middlewares/errorHandler.test.js
@@ -15,7 +15,8 @@ import { BadRequest } from '../../../../website/server/libs/errors';
import logger from '../../../../website/server/libs/logger';
describe('errorHandler', () => {
- let res, req, next;
+ let res; let req; let
+ next;
beforeEach(() => {
res = generateRes();
@@ -29,7 +30,7 @@ describe('errorHandler', () => {
});
it('sends internal server error if error is not a CustomError and is not identified', () => {
- let error = new Error();
+ const error = new Error();
errorHandler(error, req, res, next);
@@ -45,7 +46,7 @@ describe('errorHandler', () => {
});
it('identifies errors with statusCode property and format them correctly', () => {
- let error = new Error('Error message');
+ const error = new Error('Error message');
error.statusCode = 400;
errorHandler(error, req, res, next);
@@ -62,7 +63,7 @@ describe('errorHandler', () => {
});
it('doesn\'t leak info about 500 errors', () => {
- let error = new Error('Some secret error message');
+ const error = new Error('Some secret error message');
error.statusCode = 500;
errorHandler(error, req, res, next);
@@ -79,7 +80,7 @@ describe('errorHandler', () => {
});
it('sends CustomError', () => {
- let error = new BadRequest();
+ const error = new BadRequest();
errorHandler(error, req, res, next);
@@ -95,7 +96,7 @@ describe('errorHandler', () => {
});
it('handle http-errors errors', () => {
- let error = new Error('custom message');
+ const error = new Error('custom message');
error.statusCode = 422;
errorHandler(error, req, res, next);
@@ -112,7 +113,7 @@ describe('errorHandler', () => {
});
it('handle express-validator errors', () => {
- let error = [{param: 'param', msg: 'invalid param', value: 123}];
+ const error = [{ param: 'param', msg: 'invalid param', value: 123 }];
errorHandler(error, req, res, next);
@@ -131,7 +132,7 @@ describe('errorHandler', () => {
});
it('handle Mongoose Validation errors', () => {
- let error = new Error('User validation failed');
+ const error = new Error('User validation failed');
error.name = 'ValidationError';
error.errors = {
@@ -159,7 +160,7 @@ describe('errorHandler', () => {
});
it('logs error', () => {
- let error = new BadRequest();
+ const error = new BadRequest();
errorHandler(error, req, res, next);
diff --git a/test/api/unit/middlewares/language.test.js b/test/api/unit/middlewares/language.test.js
index 8c93bc2b5e..4965da9a49 100644
--- a/test/api/unit/middlewares/language.test.js
+++ b/test/api/unit/middlewares/language.test.js
@@ -10,11 +10,12 @@ import {
import common from '../../../../website/common';
import { model as User } from '../../../../website/server/models/user';
-const i18n = common.i18n;
+const { i18n } = common;
describe('language middleware', () => {
describe('res.t', () => {
- let res, req, next;
+ let res; let req; let
+ next;
beforeEach(() => {
res = generateRes();
@@ -46,9 +47,10 @@ describe('language middleware', () => {
});
describe('getUserLanguage', () => {
- let res, req, next;
+ let res; let req; let
+ next;
- let checkResT = (resToCheck) => {
+ const checkResT = resToCheck => {
expect(resToCheck.t).to.be.a('function');
expect(resToCheck.t('help')).to.equal(i18n.t('help', req.language));
};
@@ -119,7 +121,7 @@ describe('language middleware', () => {
checkResT(res);
});
- it('falls back to english if the user preferred language is not avalaible', (done) => {
+ it('falls back to english if the user preferred language is not avalaible', done => {
req.locals = {
user: {
preferences: {
@@ -155,7 +157,7 @@ describe('language middleware', () => {
});
context('request with session', () => {
- it('uses the user preferred language if avalaible', (done) => {
+ it('uses the user preferred language if avalaible', done => {
sandbox.stub(User, 'findOne').returns({
lean () {
return this;
@@ -182,7 +184,7 @@ describe('language middleware', () => {
});
context('browser fallback', () => {
- it('uses browser specificed language', (done) => {
+ it('uses browser specificed language', done => {
req.headers['accept-language'] = 'pt';
getUserLanguage(req, res, () => {
@@ -192,7 +194,7 @@ describe('language middleware', () => {
});
});
- it('uses first language in series if browser specifies multiple', (done) => {
+ it('uses first language in series if browser specifies multiple', done => {
req.headers['accept-language'] = 'he, pt, it';
getUserLanguage(req, res, () => {
@@ -202,7 +204,7 @@ describe('language middleware', () => {
});
});
- it('skips invalid lanaguages and uses first language in series if browser specifies multiple', (done) => {
+ it('skips invalid lanaguages and uses first language in series if browser specifies multiple', done => {
req.headers['accept-language'] = 'blah, he, pt, it';
getUserLanguage(req, res, () => {
@@ -212,7 +214,7 @@ describe('language middleware', () => {
});
});
- it('uses normal version of language if specialized locale is passed in', (done) => {
+ it('uses normal version of language if specialized locale is passed in', done => {
req.headers['accept-language'] = 'fr-CA';
getUserLanguage(req, res, () => {
@@ -222,7 +224,7 @@ describe('language middleware', () => {
});
});
- it('uses normal version of language if specialized locale is passed in', (done) => {
+ it('uses normal version of language if specialized locale is passed in', done => {
req.headers['accept-language'] = 'fr-CA';
getUserLanguage(req, res, () => {
@@ -232,7 +234,7 @@ describe('language middleware', () => {
});
});
- it('uses es if es is passed in', (done) => {
+ it('uses es if es is passed in', done => {
req.headers['accept-language'] = 'es';
getUserLanguage(req, res, () => {
@@ -242,7 +244,7 @@ describe('language middleware', () => {
});
});
- it('uses es_419 if applicable es-languages are passed in', (done) => {
+ it('uses es_419 if applicable es-languages are passed in', done => {
req.headers['accept-language'] = 'es-mx';
getUserLanguage(req, res, () => {
@@ -252,7 +254,7 @@ describe('language middleware', () => {
});
});
- it('uses es_419 if multiple es languages are passed in', (done) => {
+ it('uses es_419 if multiple es languages are passed in', done => {
req.headers['accept-language'] = 'es-GT, es-MX, es-CR';
getUserLanguage(req, res, () => {
@@ -262,7 +264,7 @@ describe('language middleware', () => {
});
});
- it('zh', (done) => {
+ it('zh', done => {
req.headers['accept-language'] = 'zh-TW';
getUserLanguage(req, res, () => {
@@ -272,7 +274,7 @@ describe('language middleware', () => {
});
});
- it('uses english if browser specified language is not compatible', (done) => {
+ it('uses english if browser specified language is not compatible', done => {
req.headers['accept-language'] = 'blah';
getUserLanguage(req, res, () => {
@@ -282,7 +284,7 @@ describe('language middleware', () => {
});
});
- it('uses english if browser does not specify', (done) => {
+ it('uses english if browser does not specify', done => {
req.headers['accept-language'] = '';
getUserLanguage(req, res, () => {
@@ -292,7 +294,7 @@ describe('language middleware', () => {
});
});
- it('uses english if browser does not supply an accept-language header', (done) => {
+ it('uses english if browser does not supply an accept-language header', done => {
delete req.headers['accept-language'];
getUserLanguage(req, res, () => {
diff --git a/test/api/unit/middlewares/maintenanceMode.test.js b/test/api/unit/middlewares/maintenanceMode.test.js
index df5736bd38..59b5185381 100644
--- a/test/api/unit/middlewares/maintenanceMode.test.js
+++ b/test/api/unit/middlewares/maintenanceMode.test.js
@@ -1,14 +1,15 @@
+import nconf from 'nconf';
+import requireAgain from 'require-again';
import {
generateRes,
generateReq,
generateNext,
} from '../../../helpers/api-unit.helper';
-import nconf from 'nconf';
-import requireAgain from 'require-again';
describe('maintenance mode middleware', () => {
- let res, req, next;
- let pathToMaintenanceModeMiddleware = '../../../../website/server/middlewares/maintenanceMode';
+ let res; let req; let
+ next;
+ const pathToMaintenanceModeMiddleware = '../../../../website/server/middlewares/maintenanceMode';
beforeEach(() => {
res = generateRes();
@@ -18,7 +19,7 @@ describe('maintenance mode middleware', () => {
it('does not return 503 error when maintenance mode is off', () => {
req = generateReq();
sandbox.stub(nconf, 'get').withArgs('MAINTENANCE_MODE').returns('false');
- let attachMaintenanceMode = requireAgain(pathToMaintenanceModeMiddleware);
+ const attachMaintenanceMode = requireAgain(pathToMaintenanceModeMiddleware).default;
attachMaintenanceMode(req, res, next);
@@ -29,7 +30,7 @@ describe('maintenance mode middleware', () => {
it('returns 503 error when maintenance mode is on', () => {
req = generateReq();
sandbox.stub(nconf, 'get').withArgs('MAINTENANCE_MODE').returns('true');
- let attachMaintenanceMode = requireAgain(pathToMaintenanceModeMiddleware);
+ const attachMaintenanceMode = requireAgain(pathToMaintenanceModeMiddleware).default;
attachMaintenanceMode(req, res, next);
@@ -39,18 +40,18 @@ describe('maintenance mode middleware', () => {
});
it('renders maintenance page when request type is HTML', () => {
- req = generateReq({headers: {accept: 'text/html'}});
+ req = generateReq({ headers: { accept: 'text/html' } });
sandbox.stub(nconf, 'get').withArgs('MAINTENANCE_MODE').returns('true');
- let attachMaintenanceMode = requireAgain(pathToMaintenanceModeMiddleware);
+ const attachMaintenanceMode = requireAgain(pathToMaintenanceModeMiddleware).default;
attachMaintenanceMode(req, res, next);
expect(res.render).to.have.been.calledOnce;
});
it('sends error message when request type is JSON', () => {
- req = generateReq({headers: {accept: 'application/json'}});
+ req = generateReq({ headers: { accept: 'application/json' } });
sandbox.stub(nconf, 'get').withArgs('MAINTENANCE_MODE').returns('true');
- let attachMaintenanceMode = requireAgain(pathToMaintenanceModeMiddleware);
+ const attachMaintenanceMode = requireAgain(pathToMaintenanceModeMiddleware).default;
attachMaintenanceMode(req, res, next);
expect(res.send).to.have.been.calledOnce;
diff --git a/test/api/unit/middlewares/redirects.js b/test/api/unit/middlewares/redirects.js
index fdbff0d879..2399717437 100644
--- a/test/api/unit/middlewares/redirects.js
+++ b/test/api/unit/middlewares/redirects.js
@@ -1,14 +1,15 @@
+import nconf from 'nconf';
+import requireAgain from 'require-again';
import {
generateRes,
generateReq,
generateNext,
} from '../../../helpers/api-unit.helper';
-import nconf from 'nconf';
-import requireAgain from 'require-again';
describe('redirects middleware', () => {
- let res, req, next;
- let pathToRedirectsMiddleware = '../../../../website/server/middlewares/redirects';
+ let res; let req; let
+ next;
+ const pathToRedirectsMiddleware = '../../../../website/server/middlewares/redirects';
beforeEach(() => {
res = generateRes();
@@ -18,13 +19,13 @@ describe('redirects middleware', () => {
context('forceSSL', () => {
it('sends http requests to https', () => {
- let nconfStub = sandbox.stub(nconf, 'get');
+ const nconfStub = sandbox.stub(nconf, 'get');
nconfStub.withArgs('BASE_URL').returns('https://habitica.com');
nconfStub.withArgs('IS_PROD').returns(true);
req.header = sandbox.stub().withArgs('x-forwarded-proto').returns('http');
req.originalUrl = '/static/front';
- let attachRedirects = requireAgain(pathToRedirectsMiddleware);
+ const attachRedirects = requireAgain(pathToRedirectsMiddleware);
attachRedirects.forceSSL(req, res, next);
@@ -33,13 +34,13 @@ describe('redirects middleware', () => {
});
it('does not redirect https forwarded requests', () => {
- let nconfStub = sandbox.stub(nconf, 'get');
+ const nconfStub = sandbox.stub(nconf, 'get');
nconfStub.withArgs('BASE_URL').returns('https://habitica.com');
nconfStub.withArgs('IS_PROD').returns(true);
req.header = sandbox.stub().withArgs('x-forwarded-proto').returns('https');
req.originalUrl = '/static/front';
- let attachRedirects = requireAgain(pathToRedirectsMiddleware);
+ const attachRedirects = requireAgain(pathToRedirectsMiddleware);
attachRedirects.forceSSL(req, res, next);
@@ -47,13 +48,13 @@ describe('redirects middleware', () => {
});
it('does not redirect outside of production environments', () => {
- let nconfStub = sandbox.stub(nconf, 'get');
+ const nconfStub = sandbox.stub(nconf, 'get');
nconfStub.withArgs('BASE_URL').returns('https://habitica.com');
nconfStub.withArgs('IS_PROD').returns(false);
req.header = sandbox.stub().withArgs('x-forwarded-proto').returns('http');
req.originalUrl = '/static/front';
- let attachRedirects = requireAgain(pathToRedirectsMiddleware);
+ const attachRedirects = requireAgain(pathToRedirectsMiddleware);
attachRedirects.forceSSL(req, res, next);
@@ -61,13 +62,13 @@ describe('redirects middleware', () => {
});
it('does not redirect if base URL is not https', () => {
- let nconfStub = sandbox.stub(nconf, 'get');
+ const nconfStub = sandbox.stub(nconf, 'get');
nconfStub.withArgs('BASE_URL').returns('http://habitica.com');
nconfStub.withArgs('IS_PROD').returns(true);
req.header = sandbox.stub().withArgs('x-forwarded-proto').returns('http');
req.originalUrl = '/static/front';
- let attachRedirects = requireAgain(pathToRedirectsMiddleware);
+ const attachRedirects = requireAgain(pathToRedirectsMiddleware);
attachRedirects.forceSSL(req, res, next);
@@ -75,7 +76,7 @@ describe('redirects middleware', () => {
});
it('does not redirect if passed skip ssl request param is passed with corrrect key', () => {
- let nconfStub = sandbox.stub(nconf, 'get');
+ const nconfStub = sandbox.stub(nconf, 'get');
nconfStub.withArgs('BASE_URL').returns('https://habitica.com');
nconfStub.withArgs('IS_PROD').returns(true);
nconfStub.withArgs('SKIP_SSL_CHECK_KEY').returns('test-key');
@@ -91,7 +92,7 @@ describe('redirects middleware', () => {
});
it('does redirect if skip ssl request param is passed with incorrrect key', () => {
- let nconfStub = sandbox.stub(nconf, 'get');
+ const nconfStub = sandbox.stub(nconf, 'get');
nconfStub.withArgs('BASE_URL').returns('https://habitica.com');
nconfStub.withArgs('IS_PROD').returns(true);
nconfStub.withArgs('SKIP_SSL_CHECK_KEY').returns('test-key');
@@ -108,7 +109,7 @@ describe('redirects middleware', () => {
});
it('does redirect if skip ssl check key is not set', () => {
- let nconfStub = sandbox.stub(nconf, 'get');
+ const nconfStub = sandbox.stub(nconf, 'get');
nconfStub.withArgs('BASE_URL').returns('https://habitica.com');
nconfStub.withArgs('IS_PROD').returns(true);
nconfStub.withArgs('SKIP_SSL_CHECK_KEY').returns(null);
@@ -127,7 +128,7 @@ describe('redirects middleware', () => {
context('forceHabitica', () => {
it('sends requests with differing hostname to base URL host', () => {
- let nconfStub = sandbox.stub(nconf, 'get');
+ const nconfStub = sandbox.stub(nconf, 'get');
nconfStub.withArgs('BASE_URL').returns('https://habitica.com');
nconfStub.withArgs('IGNORE_REDIRECT').returns('false');
nconfStub.withArgs('IS_PROD').returns(true);
@@ -136,7 +137,7 @@ describe('redirects middleware', () => {
req.originalUrl = '/static/front';
req.url = '/static/front';
- let attachRedirects = requireAgain(pathToRedirectsMiddleware);
+ const attachRedirects = requireAgain(pathToRedirectsMiddleware);
attachRedirects.forceHabitica(req, res, next);
@@ -145,7 +146,7 @@ describe('redirects middleware', () => {
});
it('does not redirect outside of production environments', () => {
- let nconfStub = sandbox.stub(nconf, 'get');
+ const nconfStub = sandbox.stub(nconf, 'get');
nconfStub.withArgs('BASE_URL').returns('https://habitica.com');
nconfStub.withArgs('IGNORE_REDIRECT').returns('false');
nconfStub.withArgs('IS_PROD').returns(false);
@@ -154,7 +155,7 @@ describe('redirects middleware', () => {
req.originalUrl = '/static/front';
req.url = '/static/front';
- let attachRedirects = requireAgain(pathToRedirectsMiddleware);
+ const attachRedirects = requireAgain(pathToRedirectsMiddleware);
attachRedirects.forceHabitica(req, res, next);
@@ -162,7 +163,7 @@ describe('redirects middleware', () => {
});
it('does not redirect if env is set to ignore redirection', () => {
- let nconfStub = sandbox.stub(nconf, 'get');
+ const nconfStub = sandbox.stub(nconf, 'get');
nconfStub.withArgs('BASE_URL').returns('https://habitica.com');
nconfStub.withArgs('IGNORE_REDIRECT').returns('true');
nconfStub.withArgs('IS_PROD').returns(true);
@@ -171,7 +172,7 @@ describe('redirects middleware', () => {
req.originalUrl = '/static/front';
req.url = '/static/front';
- let attachRedirects = requireAgain(pathToRedirectsMiddleware);
+ const attachRedirects = requireAgain(pathToRedirectsMiddleware);
attachRedirects.forceHabitica(req, res, next);
@@ -179,7 +180,7 @@ describe('redirects middleware', () => {
});
it('does not redirect if request hostname matches base URL host', () => {
- let nconfStub = sandbox.stub(nconf, 'get');
+ const nconfStub = sandbox.stub(nconf, 'get');
nconfStub.withArgs('BASE_URL').returns('https://habitica.com');
nconfStub.withArgs('IGNORE_REDIRECT').returns('false');
nconfStub.withArgs('IS_PROD').returns(true);
@@ -188,7 +189,7 @@ describe('redirects middleware', () => {
req.originalUrl = '/static/front';
req.url = '/static/front';
- let attachRedirects = requireAgain(pathToRedirectsMiddleware);
+ const attachRedirects = requireAgain(pathToRedirectsMiddleware);
attachRedirects.forceHabitica(req, res, next);
@@ -196,7 +197,7 @@ describe('redirects middleware', () => {
});
it('does not redirect if request is an API URL', () => {
- let nconfStub = sandbox.stub(nconf, 'get');
+ const nconfStub = sandbox.stub(nconf, 'get');
nconfStub.withArgs('BASE_URL').returns('https://habitica.com');
nconfStub.withArgs('IGNORE_REDIRECT').returns('false');
nconfStub.withArgs('IS_PROD').returns(true);
@@ -205,7 +206,7 @@ describe('redirects middleware', () => {
req.originalUrl = '/api/v3/challenges';
req.url = '/api/v3/challenges';
- let attachRedirects = requireAgain(pathToRedirectsMiddleware);
+ const attachRedirects = requireAgain(pathToRedirectsMiddleware);
attachRedirects.forceHabitica(req, res, next);
@@ -213,7 +214,7 @@ describe('redirects middleware', () => {
});
it('does not redirect if request method is not GET', () => {
- let nconfStub = sandbox.stub(nconf, 'get');
+ const nconfStub = sandbox.stub(nconf, 'get');
nconfStub.withArgs('BASE_URL').returns('https://habitica.com');
nconfStub.withArgs('IGNORE_REDIRECT').returns('false');
nconfStub.withArgs('IS_PROD').returns(true);
@@ -222,7 +223,7 @@ describe('redirects middleware', () => {
req.originalUrl = '/static/front';
req.url = '/static/front';
- let attachRedirects = requireAgain(pathToRedirectsMiddleware);
+ const attachRedirects = requireAgain(pathToRedirectsMiddleware);
attachRedirects.forceHabitica(req, res, next);
diff --git a/test/api/unit/middlewares/response.js b/test/api/unit/middlewares/response.js
index 2ffc8c6675..b8157287be 100644
--- a/test/api/unit/middlewares/response.js
+++ b/test/api/unit/middlewares/response.js
@@ -7,7 +7,8 @@ import responseMiddleware from '../../../../website/server/middlewares/response'
import packageInfo from '../../../../package.json';
describe('response middleware', () => {
- let res, req, next;
+ let res; let req; let
+ next;
beforeEach(() => {
res = generateRes();
@@ -24,7 +25,7 @@ describe('response middleware', () => {
it('can be used to respond to requests', () => {
responseMiddleware(req, res, next);
- res.respond(200, {field: 1});
+ res.respond(200, { field: 1 });
expect(res.status).to.be.calledOnce;
expect(res.json).to.be.calledOnce;
@@ -32,7 +33,7 @@ describe('response middleware', () => {
expect(res.status).to.be.calledWith(200);
expect(res.json).to.be.calledWith({
success: true,
- data: {field: 1},
+ data: { field: 1 },
notifications: [],
userV: res.locals.user._v,
appVersion: packageInfo.version,
@@ -41,7 +42,7 @@ describe('response middleware', () => {
it('can be passed a third parameter to be used as optional message', () => {
responseMiddleware(req, res, next);
- res.respond(200, {field: 1}, 'hello');
+ res.respond(200, { field: 1 }, 'hello');
expect(res.status).to.be.calledOnce;
expect(res.json).to.be.calledOnce;
@@ -49,7 +50,7 @@ describe('response middleware', () => {
expect(res.status).to.be.calledWith(200);
expect(res.json).to.be.calledWith({
success: true,
- data: {field: 1},
+ data: { field: 1 },
message: 'hello',
notifications: [],
userV: res.locals.user._v,
@@ -59,7 +60,7 @@ describe('response middleware', () => {
it('treats status >= 400 as failures', () => {
responseMiddleware(req, res, next);
- res.respond(403, {field: 1});
+ res.respond(403, { field: 1 });
expect(res.status).to.be.calledOnce;
expect(res.json).to.be.calledOnce;
@@ -67,7 +68,7 @@ describe('response middleware', () => {
expect(res.status).to.be.calledWith(403);
expect(res.json).to.be.calledWith({
success: false,
- data: {field: 1},
+ data: { field: 1 },
notifications: [],
userV: res.locals.user._v,
appVersion: packageInfo.version,
@@ -76,13 +77,13 @@ describe('response middleware', () => {
it('returns userV if a user is authenticated', () => {
responseMiddleware(req, res, next);
- res.respond(200, {field: 1});
+ res.respond(200, { field: 1 });
expect(res.json).to.be.calledOnce;
expect(res.json).to.be.calledWith({
success: true,
- data: {field: 1},
+ data: { field: 1 },
notifications: [],
userV: 0,
appVersion: packageInfo.version,
@@ -90,24 +91,25 @@ describe('response middleware', () => {
});
it('returns notifications if a user is authenticated', () => {
- const user = res.locals.user;
+ const { user } = res.locals;
user.notifications = [
null, // invalid, not an object
- {seen: true}, // invalid, no type or id
- {id: 123}, // invalid, no type
- // {type: 'ABC'}, // invalid, no id, not included here because the id would be added automatically
- {type: 'ABC', id: '123'}, // valid
+ { seen: true }, // invalid, no type or id
+ { id: 123 }, // invalid, no type
+ // invalid, no id, not included here because the id would be added automatically
+ // {type: 'ABC'},
+ { type: 'ABC', id: '123' }, // valid
];
responseMiddleware(req, res, next);
- res.respond(200, {field: 1});
+ res.respond(200, { field: 1 });
expect(res.json).to.be.calledOnce;
expect(res.json).to.be.calledWith({
success: true,
- data: {field: 1},
+ data: { field: 1 },
notifications: [
{
type: 'ABC',
diff --git a/test/api/unit/models/challenge.test.js b/test/api/unit/models/challenge.test.js
index cb4b5562e5..f95908f298 100644
--- a/test/api/unit/models/challenge.test.js
+++ b/test/api/unit/models/challenge.test.js
@@ -1,13 +1,14 @@
+import { each, find } from 'lodash';
import { model as Challenge } from '../../../../website/server/models/challenge';
import { model as Group } from '../../../../website/server/models/group';
import { model as User } from '../../../../website/server/models/user';
import * as Tasks from '../../../../website/server/models/task';
-import common from '../../../../website/common/';
-import { each, find } from 'lodash';
+import common from '../../../../website/common';
describe('Challenge Model', () => {
- let guild, leader, challenge, task;
- let tasksToTest = {
+ let guild; let leader; let challenge; let
+ task;
+ const tasksToTest = {
habit: {
text: 'test habit',
type: 'habit',
@@ -74,11 +75,15 @@ describe('Challenge Model', () => {
it('adds tasks to challenge and challenge members', async () => {
await challenge.addTasks([task]);
- const updatedLeader = await User.findOne({_id: leader._id});
- const updatedLeadersTasks = await Tasks.Task.find({_id: { $in: updatedLeader.tasksOrder[`${taskType}s`]}});
- const syncedTask = find(updatedLeadersTasks, function findNewTask (updatedLeadersTask) {
- return updatedLeadersTask.type === taskValue.type && updatedLeadersTask.text === taskValue.text;
- });
+ const updatedLeader = await User.findOne({ _id: leader._id });
+ const updatedLeadersTasks = await Tasks.Task.find({ _id: { $in: updatedLeader.tasksOrder[`${taskType}s`] } });
+ const syncedTask = find(
+ updatedLeadersTasks,
+ updatedLeadersTask => (
+ updatedLeadersTask.type === taskValue.type
+ && updatedLeadersTask.text === taskValue.text
+ ),
+ );
expect(syncedTask).to.exist;
expect(syncedTask.notes).to.eql(task.notes);
@@ -88,18 +93,22 @@ describe('Challenge Model', () => {
it('syncs a challenge to a user', async () => {
await challenge.addTasks([task]);
- let newMember = new User({
+ const newMember = new User({
guilds: [guild._id],
});
await newMember.save();
await challenge.syncToUser(newMember);
- let updatedNewMember = await User.findById(newMember._id);
- let updatedNewMemberTasks = await Tasks.Task.find({_id: { $in: updatedNewMember.tasksOrder[`${taskType}s`]}});
- let syncedTask = find(updatedNewMemberTasks, function findNewTask (updatedNewMemberTask) {
- return updatedNewMemberTask.type === taskValue.type && updatedNewMemberTask.text === taskValue.text;
- });
+ const updatedNewMember = await User.findById(newMember._id);
+ const updatedNewMemberTasks = await Tasks.Task.find({ _id: { $in: updatedNewMember.tasksOrder[`${taskType}s`] } });
+ const syncedTask = find(
+ updatedNewMemberTasks,
+ updatedNewMemberTask => (
+ updatedNewMemberTask.type === taskValue.type
+ && updatedNewMemberTask.text === taskValue.text
+ ),
+ );
expect(updatedNewMember.challenges).to.contain(challenge._id);
expect(updatedNewMember.tags[7].id).to.equal(challenge._id);
@@ -111,30 +120,32 @@ describe('Challenge Model', () => {
it('syncs a challenge to a user with the existing task', async () => {
await challenge.addTasks([task]);
- let updatedLeader = await User.findOne({_id: leader._id});
- let updatedLeadersTasks = await Tasks.Task.find({_id: { $in: updatedLeader.tasksOrder[`${taskType}s`]}});
- let syncedTask = find(updatedLeadersTasks, function findNewTask (updatedLeadersTask) {
- return updatedLeadersTask.challenge.taskId === task._id;
- });
+ let updatedLeader = await User.findOne({ _id: leader._id });
+ let updatedLeadersTasks = await Tasks.Task.find({ _id: { $in: updatedLeader.tasksOrder[`${taskType}s`] } });
+ let syncedTask = find(
+ updatedLeadersTasks,
+ updatedLeadersTask => updatedLeadersTask.challenge.taskId === task._id,
+ );
- let createdAtBefore = syncedTask.createdAt;
- let attributeBefore = syncedTask.attribute;
+ const createdAtBefore = syncedTask.createdAt;
+ const attributeBefore = syncedTask.attribute;
- let newTitle = 'newName';
+ const newTitle = 'newName';
task.text = newTitle;
task.attribute = 'int';
await task.save();
await challenge.syncToUser(leader);
- updatedLeader = await User.findOne({_id: leader._id});
- updatedLeadersTasks = await Tasks.Task.find({_id: { $in: updatedLeader.tasksOrder[`${taskType}s`]}});
+ updatedLeader = await User.findOne({ _id: leader._id });
+ updatedLeadersTasks = await Tasks.Task.find({ _id: { $in: updatedLeader.tasksOrder[`${taskType}s`] } });
- syncedTask = find(updatedLeadersTasks, function findNewTask (updatedLeadersTask) {
- return updatedLeadersTask.challenge.taskId === task._id;
- });
+ syncedTask = find(
+ updatedLeadersTasks,
+ updatedLeadersTask => updatedLeadersTask.challenge.taskId === task._id,
+ );
- let createdAtAfter = syncedTask.createdAt;
- let attributeAfter = syncedTask.attribute;
+ const createdAtAfter = syncedTask.createdAt;
+ const attributeAfter = syncedTask.attribute;
expect(createdAtBefore).to.eql(createdAtAfter);
expect(attributeBefore).to.eql(attributeAfter);
@@ -142,10 +153,10 @@ describe('Challenge Model', () => {
});
it('updates tasks to challenge and challenge members', async () => {
- let updatedTaskName = 'Updated Test Habit';
+ const updatedTaskName = 'Updated Test Habit';
await challenge.addTasks([task]);
- let req = {
+ const req = {
body: { text: updatedTaskName },
};
@@ -154,8 +165,8 @@ describe('Challenge Model', () => {
await challenge.updateTask(task);
- let updatedLeader = await User.findOne({_id: leader._id});
- let updatedUserTask = await Tasks.Task.findById(updatedLeader.tasksOrder[`${taskType}s`][0]);
+ const updatedLeader = await User.findOne({ _id: leader._id });
+ const updatedUserTask = await Tasks.Task.findById(updatedLeader.tasksOrder[`${taskType}s`][0]);
expect(updatedUserTask.text).to.equal(updatedTaskName);
});
@@ -164,8 +175,8 @@ describe('Challenge Model', () => {
await challenge.addTasks([task]);
await challenge.removeTask(task);
- let updatedLeader = await User.findOne({_id: leader._id});
- let updatedUserTask = await Tasks.Task.findOne({_id: updatedLeader.tasksOrder[`${taskType}s`][0]}).exec();
+ const updatedLeader = await User.findOne({ _id: leader._id });
+ const updatedUserTask = await Tasks.Task.findOne({ _id: updatedLeader.tasksOrder[`${taskType}s`][0] }).exec();
expect(updatedUserTask.challenge.broken).to.equal('TASK_DELETED');
});
@@ -174,11 +185,15 @@ describe('Challenge Model', () => {
await challenge.addTasks([task]);
await challenge.unlinkTasks(leader, 'remove-all');
- let updatedLeader = await User.findOne({_id: leader._id});
- let updatedLeadersTasks = await Tasks.Task.find({_id: { $in: updatedLeader.tasksOrder[`${taskType}s`]}});
- let syncedTask = find(updatedLeadersTasks, function findNewTask (updatedLeadersTask) {
- return updatedLeadersTask.type === taskValue.type && updatedLeadersTask.text === taskValue.text;
- });
+ const updatedLeader = await User.findOne({ _id: leader._id });
+ const updatedLeadersTasks = await Tasks.Task.find({ _id: { $in: updatedLeader.tasksOrder[`${taskType}s`] } });
+ const syncedTask = find(
+ updatedLeadersTasks,
+ updatedLeadersTask => (
+ updatedLeadersTask.type === taskValue.type
+ && updatedLeadersTask.text === taskValue.text
+ ),
+ );
expect(syncedTask).to.not.exist;
});
@@ -187,11 +202,15 @@ describe('Challenge Model', () => {
await challenge.addTasks([task]);
await challenge.unlinkTasks(leader, 'keep-all');
- let updatedLeader = await User.findOne({_id: leader._id});
- let updatedLeadersTasks = await Tasks.Task.find({_id: { $in: updatedLeader.tasksOrder[`${taskType}s`]}});
- let syncedTask = find(updatedLeadersTasks, function findNewTask (updatedLeadersTask) {
- return updatedLeadersTask.type === taskValue.type && updatedLeadersTask.text === taskValue.text;
- });
+ const updatedLeader = await User.findOne({ _id: leader._id });
+ const updatedLeadersTasks = await Tasks.Task.find({ _id: { $in: updatedLeader.tasksOrder[`${taskType}s`] } });
+ const syncedTask = find(
+ updatedLeadersTasks,
+ updatedLeadersTask => (
+ updatedLeadersTask.type === taskValue.type
+ && updatedLeadersTask.text === taskValue.text
+ ),
+ );
expect(syncedTask).to.exist;
expect(syncedTask.challenge._id).to.be.undefined;
@@ -212,8 +231,8 @@ describe('Challenge Model', () => {
await challenge.updateTask(task);
- let updatedLeader = await User.findOne({_id: leader._id});
- let updatedUserTask = await Tasks.Task.findById(updatedLeader.tasksOrder.habits[0]);
+ const updatedLeader = await User.findOne({ _id: leader._id });
+ const updatedUserTask = await Tasks.Task.findById(updatedLeader.tasksOrder.habits[0]);
expect(updatedUserTask.up).to.equal(true);
expect(updatedUserTask.down).to.equal(false);
@@ -229,8 +248,8 @@ describe('Challenge Model', () => {
task.date = new Date();
await challenge.updateTask(task);
- let updatedLeader = await User.findOne({_id: leader._id});
- let updatedUserTask = await Tasks.Task.findById(updatedLeader.tasksOrder.todos[0]);
+ const updatedLeader = await User.findOne({ _id: leader._id });
+ const updatedUserTask = await Tasks.Task.findById(updatedLeader.tasksOrder.todos[0]);
expect(updatedUserTask.date).to.exist;
});
@@ -247,8 +266,8 @@ describe('Challenge Model', () => {
});
await challenge.updateTask(task);
- let updatedLeader = await User.findOne({_id: leader._id});
- let updatedUserTask = await Tasks.Task.findById(updatedLeader.tasksOrder.todos[0]);
+ const updatedLeader = await User.findOne({ _id: leader._id });
+ const updatedUserTask = await Tasks.Task.findById(updatedLeader.tasksOrder.todos[0]);
expect(updatedUserTask.checklist.toObject()).to.deep.equal([]);
});
@@ -263,8 +282,8 @@ describe('Challenge Model', () => {
task.everyX = 2;
await challenge.updateTask(task);
- let updatedLeader = await User.findOne({_id: leader._id});
- let updatedUserTask = await Tasks.Task.findById(updatedLeader.tasksOrder.dailys[0]);
+ const updatedLeader = await User.findOne({ _id: leader._id });
+ const updatedUserTask = await Tasks.Task.findById(updatedLeader.tasksOrder.dailys[0]);
expect(updatedUserTask.everyX).to.eql(2);
});
diff --git a/test/api/unit/models/group.test.js b/test/api/unit/models/group.test.js
index 0a2b45b571..85557ba418 100644
--- a/test/api/unit/models/group.test.js
+++ b/test/api/unit/models/group.test.js
@@ -10,17 +10,19 @@ import {
model as Group,
} from '../../../../website/server/models/group';
import { model as User } from '../../../../website/server/models/user';
-import { quests as questScrolls } from '../../../../website/common/script/content';
+import { quests as questScrolls } from '../../../../website/common/script/content/quests';
import {
groupChatReceivedWebhook,
questActivityWebhook,
} from '../../../../website/server/libs/webhook';
import * as email from '../../../../website/server/libs/email';
-import { TAVERN_ID } from '../../../../website/common/script/';
+import { TAVERN_ID } from '../../../../website/common/script/constants';
import shared from '../../../../website/common';
describe('Group Model', () => {
- let party, questLeader, participatingMember, sleepingParticipatingMember, nonParticipatingMember, undecidedMember;
+ let party; let questLeader; let participatingMember;
+ let sleepingParticipatingMember; let nonParticipatingMember; let
+ undecidedMember;
beforeEach(async () => {
sandbox.stub(email, 'sendTxn');
@@ -32,7 +34,7 @@ describe('Group Model', () => {
privacy: 'private',
});
- let _progress = {
+ const _progress = {
up: 10,
down: 8,
collectedItems: 5,
@@ -132,13 +134,13 @@ describe('Group Model', () => {
});
it('returns early if user is not in a party', async () => {
- let userWithoutParty = new User();
+ const userWithoutParty = new User();
await userWithoutParty.save();
await Group.processQuestProgress(userWithoutParty, progress);
- party = await Group.findOne({_id: party._id});
+ party = await Group.findOne({ _id: party._id });
expect(party._processBossQuest).to.not.be.called;
expect(party._processCollectionQuest).to.not.be.called;
@@ -150,7 +152,7 @@ describe('Group Model', () => {
await Group.processQuestProgress(participatingMember, progress);
- party = await Group.findOne({_id: party._id});
+ party = await Group.findOne({ _id: party._id });
expect(party._processBossQuest).to.not.be.called;
expect(party._processCollectionQuest).to.not.be.called;
@@ -159,7 +161,7 @@ describe('Group Model', () => {
it('returns early if user is not on quest', async () => {
await Group.processQuestProgress(nonParticipatingMember, progress);
- party = await Group.findOne({_id: party._id});
+ party = await Group.findOne({ _id: party._id });
expect(party._processBossQuest).to.not.be.called;
expect(party._processCollectionQuest).to.not.be.called;
@@ -168,7 +170,7 @@ describe('Group Model', () => {
it('returns early if user has made no progress', async () => {
await Group.processQuestProgress(participatingMember, null);
- party = await Group.findOne({_id: party._id});
+ party = await Group.findOne({ _id: party._id });
expect(party._processBossQuest).to.not.be.called;
expect(party._processCollectionQuest).to.not.be.called;
@@ -180,7 +182,7 @@ describe('Group Model', () => {
await Group.processQuestProgress(participatingMember, progress);
- party = await Group.findOne({_id: party._id});
+ party = await Group.findOne({ _id: party._id });
expect(party._processBossQuest).to.not.be.called;
expect(party._processCollectionQuest).to.not.be.called;
@@ -194,7 +196,7 @@ describe('Group Model', () => {
await Group.processQuestProgress(participatingMember, progress);
- party = await Group.findOne({_id: party._id});
+ party = await Group.findOne({ _id: party._id });
expect(Group.prototype._processBossQuest).to.be.calledOnce;
expect(party._processCollectionQuest).to.not.be.called;
@@ -208,7 +210,7 @@ describe('Group Model', () => {
await Group.processQuestProgress(participatingMember, progress);
- party = await Group.findOne({_id: party._id});
+ party = await Group.findOne({ _id: party._id });
expect(party._processBossQuest).to.not.be.called;
expect(Group.prototype._processCollectionQuest).to.be.calledOnce;
@@ -222,7 +224,7 @@ describe('Group Model', () => {
await Group.processQuestProgress(sleepingParticipatingMember, progress);
- party = await Group.findOne({_id: party._id});
+ party = await Group.findOne({ _id: party._id });
expect(party._processBossQuest).to.not.be.called;
expect(party._processCollectionQuest).to.not.be.called;
@@ -236,7 +238,7 @@ describe('Group Model', () => {
await Group.processQuestProgress(sleepingParticipatingMember, progress);
- party = await Group.findOne({_id: party._id});
+ party = await Group.findOne({ _id: party._id });
expect(party._processBossQuest).to.not.be.called;
expect(party._processCollectionQuest).to.not.be.called;
@@ -260,7 +262,7 @@ describe('Group Model', () => {
it('applies user\'s progress to quest boss hp', async () => {
await Group.processQuestProgress(participatingMember, progress);
- party = await Group.findOne({_id: party._id});
+ party = await Group.findOne({ _id: party._id });
expect(party.quest.progress.hp).to.eql(495);
});
@@ -268,7 +270,7 @@ describe('Group Model', () => {
it('sends a chat message about progress', async () => {
await Group.processQuestProgress(participatingMember, progress);
- party = await Group.findOne({_id: party._id});
+ party = await Group.findOne({ _id: party._id });
expect(Group.prototype.sendChat).to.be.calledOnce;
expect(Group.prototype.sendChat).to.be.calledWith({
@@ -286,9 +288,9 @@ describe('Group Model', () => {
it('applies damage only to participating members of party', async () => {
await Group.processQuestProgress(participatingMember, progress);
- party = await Group.findOne({_id: party._id});
+ party = await Group.findOne({ _id: party._id });
- let [
+ const [
updatedLeader,
updatedParticipatingMember,
updatedSleepingParticipatingMember,
@@ -322,9 +324,9 @@ describe('Group Model', () => {
await Group.processQuestProgress(participatingMember, progress);
- party = await Group.findOne({_id: party._id});
+ party = await Group.findOne({ _id: party._id });
- let [
+ const [
updatedLeader,
updatedParticipatingMember,
updatedSleepingParticipatingMember,
@@ -350,7 +352,7 @@ describe('Group Model', () => {
await Group.processQuestProgress(participatingMember, progress);
- party = await Group.findOne({_id: party._id});
+ party = await Group.findOne({ _id: party._id });
expect(Group.prototype.sendChat).to.be.calledTwice;
expect(Group.prototype.sendChat).to.be.calledWith({
@@ -360,8 +362,8 @@ describe('Group Model', () => {
});
it('calls finishQuest when boss has <= 0 hp', async () => {
- let quest = questScrolls[party.quest.key];
- let finishQuest = sandbox.spy(Group.prototype, 'finishQuest');
+ const quest = questScrolls[party.quest.key];
+ const finishQuest = sandbox.spy(Group.prototype, 'finishQuest');
progress.up = 999;
@@ -383,13 +385,13 @@ describe('Group Model', () => {
it('applies down progress to boss rage', async () => {
await Group.processQuestProgress(participatingMember, progress);
- party = await Group.findOne({_id: party._id});
+ party = await Group.findOne({ _id: party._id });
expect(party.quest.progress.rage).to.eql(10);
});
it('activates rage when progress.down triggers rage bar', async () => {
- let quest = questScrolls[party.quest.key];
+ const quest = questScrolls[party.quest.key];
progress.down = -999;
party.quest.progress.hp = 300;
@@ -397,7 +399,7 @@ describe('Group Model', () => {
await party.save();
await Group.processQuestProgress(participatingMember, progress);
- party = await Group.findOne({_id: party._id});
+ party = await Group.findOne({ _id: party._id });
expect(Group.prototype.sendChat).to.be.calledWith({
message: quest.boss.rage.effect('en'),
@@ -414,7 +416,7 @@ describe('Group Model', () => {
await Group.processQuestProgress(participatingMember, progress);
- party = await Group.findOne({_id: party._id});
+ party = await Group.findOne({ _id: party._id });
expect(party.quest.progress.hp).to.eql(500);
});
@@ -434,23 +436,23 @@ describe('Group Model', () => {
await Group.processQuestProgress(participatingMember, progress);
- party = await Group.findOne({_id: party._id});
+ party = await Group.findOne({ _id: party._id });
expect(party.quest.progress.rage).to.eql(8);
- let drainedUser = await User.findById(participatingMember._id);
+ const drainedUser = await User.findById(participatingMember._id);
expect(drainedUser.stats.mp).to.eql(10);
});
it('activates rage when progress.down triggers rage bar', async () => {
- let quest = questScrolls[party.quest.key];
+ const quest = questScrolls[party.quest.key];
progress.down = -999;
await party.save();
await Group.processQuestProgress(participatingMember, progress);
- party = await Group.findOne({_id: party._id});
+ party = await Group.findOne({ _id: party._id });
expect(Group.prototype.sendChat).to.be.calledWith({
message: quest.boss.rage.effect('en'),
@@ -458,7 +460,7 @@ describe('Group Model', () => {
});
expect(party.quest.progress.rage).to.eql(0);
- let drainedUser = await User.findById(participatingMember._id);
+ const drainedUser = await User.findById(participatingMember._id);
expect(drainedUser.stats.mp).to.eql(0);
});
});
@@ -481,7 +483,7 @@ describe('Group Model', () => {
it('applies user\'s progress to found quest items', async () => {
await Group.processQuestProgress(participatingMember, progress);
- party = await Group.findOne({_id: party._id});
+ party = await Group.findOne({ _id: party._id });
expect(party.quest.progress.collect.soapBars).to.eq(5);
});
@@ -495,7 +497,7 @@ describe('Group Model', () => {
await Group.processQuestProgress(participatingMember, progress);
- party = await Group.findOne({_id: party._id});
+ party = await Group.findOne({ _id: party._id });
expect(party.quest.progress.collect.fireCoral).to.eq(20);
});
@@ -503,7 +505,7 @@ describe('Group Model', () => {
it('sends a chat message about progress', async () => {
await Group.processQuestProgress(participatingMember, progress);
- party = await Group.findOne({_id: party._id});
+ party = await Group.findOne({ _id: party._id });
expect(Group.prototype.sendChat).to.be.calledOnce;
expect(Group.prototype.sendChat).to.be.calledWith({
@@ -522,7 +524,7 @@ describe('Group Model', () => {
await Group.processQuestProgress(participatingMember, progress);
- party = await Group.findOne({_id: party._id});
+ party = await Group.findOne({ _id: party._id });
expect(Group.prototype.sendChat).to.be.calledOnce;
expect(Group.prototype.sendChat).to.be.calledWith({
@@ -547,7 +549,7 @@ describe('Group Model', () => {
await Group.processQuestProgress(participatingMember, progress);
- party = await Group.findOne({_id: party._id});
+ party = await Group.findOne({ _id: party._id });
expect(Group.prototype.sendChat).to.be.calledOnce;
expect(Group.prototype.sendChat).to.be.calledWith({
@@ -572,7 +574,7 @@ describe('Group Model', () => {
await Group.processQuestProgress(participatingMember, progress);
- party = await Group.findOne({_id: party._id});
+ party = await Group.findOne({ _id: party._id });
expect(Group.prototype.sendChat).to.be.calledOnce;
expect(Group.prototype.sendChat).to.be.calledWithMatch({
@@ -590,7 +592,7 @@ describe('Group Model', () => {
await Group.processQuestProgress(participatingMember, progress);
- party = await Group.findOne({_id: party._id});
+ party = await Group.findOne({ _id: party._id });
expect(Group.prototype.sendChat).to.be.calledTwice;
expect(Group.prototype.sendChat).to.be.calledWith({
@@ -600,8 +602,8 @@ describe('Group Model', () => {
});
it('calls finishQuest when all items are found', async () => {
- let quest = questScrolls[party.quest.key];
- let finishQuest = sandbox.spy(Group.prototype, 'finishQuest');
+ const quest = questScrolls[party.quest.key];
+ const finishQuest = sandbox.spy(Group.prototype, 'finishQuest');
progress.collectedItems = 999;
@@ -616,7 +618,7 @@ describe('Group Model', () => {
await Group.processQuestProgress(participatingMember, progress);
- let [
+ const [
updatedLeader,
updatedParticipatingMember,
updatedSleepingParticipatingMember,
@@ -659,7 +661,7 @@ describe('Group Model', () => {
});
it('throws an error if only uuids are passed in, but they are not an array', async () => {
- await expect(Group.validateInvitations({ uuids: 'user-id'}, res)).to.eventually.be.rejected.and.eql({
+ await expect(Group.validateInvitations({ uuids: 'user-id' }, res)).to.eventually.be.rejected.and.eql({
httpCode: 400,
message: 'Bad request.',
name: 'BadRequest',
@@ -669,7 +671,7 @@ describe('Group Model', () => {
});
it('throws an error if only emails are passed in, but they are not an array', async () => {
- await expect(Group.validateInvitations({emails: 'user@example.com'}, res)).to.eventually.be.rejected.and.eql({
+ await expect(Group.validateInvitations({ emails: 'user@example.com' }, res)).to.eventually.be.rejected.and.eql({
httpCode: 400,
message: 'Bad request.',
name: 'BadRequest',
@@ -679,91 +681,95 @@ describe('Group Model', () => {
});
it('throws an error if emails are not passed in, and uuid array is empty', async () => {
- await expect(Group.validateInvitations({uuids: []}, res)).to.eventually.be.rejected.and.eql({
- httpCode: 400,
- message: 'Bad request.',
- name: 'BadRequest',
- });
+ await expect(Group.validateInvitations({ uuids: [] }, res))
+ .to.eventually.be.rejected.and.eql({
+ httpCode: 400,
+ message: 'Bad request.',
+ name: 'BadRequest',
+ });
expect(res.t).to.be.calledOnce;
expect(res.t).to.be.calledWith('inviteMustNotBeEmpty');
});
it('throws an error if uuids are not passed in, and email array is empty', async () => {
- await expect(Group.validateInvitations({emails: []}, res)).to.eventually.be.rejected.and.eql({
- httpCode: 400,
- message: 'Bad request.',
- name: 'BadRequest',
- });
+ await expect(Group.validateInvitations({ emails: [] }, res))
+ .to.eventually.be.rejected.and.eql({
+ httpCode: 400,
+ message: 'Bad request.',
+ name: 'BadRequest',
+ });
expect(res.t).to.be.calledOnce;
expect(res.t).to.be.calledWith('inviteMustNotBeEmpty');
});
it('throws an error if uuids and emails are passed in as empty arrays', async () => {
- await expect(Group.validateInvitations({emails: [], uuids: []}, res)).to.eventually.be.rejected.and.eql({
- httpCode: 400,
- message: 'Bad request.',
- name: 'BadRequest',
- });
+ await expect(Group.validateInvitations({ emails: [], uuids: [] }, res))
+ .to.eventually.be.rejected.and.eql({
+ httpCode: 400,
+ message: 'Bad request.',
+ name: 'BadRequest',
+ });
expect(res.t).to.be.calledOnce;
expect(res.t).to.be.calledWith('inviteMustNotBeEmpty');
});
it('throws an error if total invites exceed max invite constant', async () => {
- let uuids = [];
- let emails = [];
+ const uuids = [];
+ const emails = [];
- for (let i = 0; i < INVITES_LIMIT / 2; i++) {
+ for (let i = 0; i < INVITES_LIMIT / 2; i += 1) {
uuids.push(`user-id-${i}`);
emails.push(`user-${i}@example.com`);
}
uuids.push('one-more-uuid'); // to put it over the limit
- await expect(Group.validateInvitations({uuids, emails}, res)).to.eventually.be.rejected.and.eql({
- httpCode: 400,
- message: 'Bad request.',
- name: 'BadRequest',
- });
+ await expect(Group.validateInvitations({ uuids, emails }, res))
+ .to.eventually.be.rejected.and.eql({
+ httpCode: 400,
+ message: 'Bad request.',
+ name: 'BadRequest',
+ });
expect(res.t).to.be.calledOnce;
- expect(res.t).to.be.calledWith('canOnlyInviteMaxInvites', {maxInvites: INVITES_LIMIT });
+ expect(res.t).to.be.calledWith('canOnlyInviteMaxInvites', { maxInvites: INVITES_LIMIT });
});
it('does not throw error if number of invites matches max invite limit', async () => {
- let uuids = [];
- let emails = [];
+ const uuids = [];
+ const emails = [];
- for (let i = 0; i < INVITES_LIMIT / 2; i++) {
+ for (let i = 0; i < INVITES_LIMIT / 2; i += 1) {
uuids.push(`user-id-${i}`);
emails.push(`user-${i}@example.com`);
}
- await Group.validateInvitations({uuids, emails}, res);
+ await Group.validateInvitations({ uuids, emails }, res);
expect(res.t).to.not.be.called;
});
it('does not throw an error if only user ids are passed in', async () => {
- await Group.validateInvitations({uuids: ['user-id', 'user-id2']}, res);
+ await Group.validateInvitations({ uuids: ['user-id', 'user-id2'] }, res);
expect(res.t).to.not.be.called;
});
it('does not throw an error if only emails are passed in', async () => {
- await Group.validateInvitations({emails: ['user1@example.com', 'user2@example.com']}, res);
+ await Group.validateInvitations({ emails: ['user1@example.com', 'user2@example.com'] }, res);
expect(res.t).to.not.be.called;
});
it('does not throw an error if both uuids and emails are passed in', async () => {
- await Group.validateInvitations({uuids: ['user-id', 'user-id2'], emails: ['user1@example.com', 'user2@example.com']}, res);
+ await Group.validateInvitations({ uuids: ['user-id', 'user-id2'], emails: ['user1@example.com', 'user2@example.com'] }, res);
expect(res.t).to.not.be.called;
});
it('does not throw an error if uuids are passed in and emails are an empty array', async () => {
- await Group.validateInvitations({uuids: ['user-id', 'user-id2'], emails: []}, res);
+ await Group.validateInvitations({ uuids: ['user-id', 'user-id2'], emails: [] }, res);
expect(res.t).to.not.be.called;
});
it('does not throw an error if emails are passed in and uuids are an empty array', async () => {
- await Group.validateInvitations({uuids: [], emails: ['user1@example.com', 'user2@example.com']}, res);
+ await Group.validateInvitations({ uuids: [], emails: ['user1@example.com', 'user2@example.com'] }, res);
expect(res.t).to.not.be.called;
});
});
@@ -777,7 +783,7 @@ describe('Group Model', () => {
quest: 'basilist',
},
}];
- let toJSON = await Group.toJSONCleanChat(party, questLeader);
+ const toJSON = await Group.toJSONCleanChat(party, questLeader);
translationCheck(toJSON.chat[0].text);
});
@@ -792,7 +798,7 @@ describe('Group Model', () => {
bossDamage: 3.7,
},
}];
- let toJSON = await Group.toJSONCleanChat(party, questLeader);
+ const toJSON = await Group.toJSONCleanChat(party, questLeader);
translationCheck(toJSON.chat[0].text);
});
@@ -806,7 +812,7 @@ describe('Group Model', () => {
userDamage: 15.3,
},
}];
- let toJSON = await Group.toJSONCleanChat(party, questLeader);
+ const toJSON = await Group.toJSONCleanChat(party, questLeader);
translationCheck(toJSON.chat[0].text);
});
@@ -818,7 +824,7 @@ describe('Group Model', () => {
quest: 'lostMasterclasser3',
},
}];
- let toJSON = await Group.toJSONCleanChat(party, questLeader);
+ const toJSON = await Group.toJSONCleanChat(party, questLeader);
translationCheck(toJSON.chat[0].text);
});
@@ -830,7 +836,7 @@ describe('Group Model', () => {
quest: 'lostMasterclasser3',
},
}];
- let toJSON = await Group.toJSONCleanChat(party, questLeader);
+ const toJSON = await Group.toJSONCleanChat(party, questLeader);
translationCheck(toJSON.chat[0].text);
});
@@ -848,7 +854,7 @@ describe('Group Model', () => {
},
},
}];
- let toJSON = await Group.toJSONCleanChat(party, questLeader);
+ const toJSON = await Group.toJSONCleanChat(party, questLeader);
translationCheck(toJSON.chat[0].text);
});
@@ -859,7 +865,7 @@ describe('Group Model', () => {
type: 'all_items_found',
},
}];
- let toJSON = await Group.toJSONCleanChat(party, questLeader);
+ const toJSON = await Group.toJSONCleanChat(party, questLeader);
translationCheck(toJSON.chat[0].text);
});
@@ -873,7 +879,7 @@ describe('Group Model', () => {
spell: 'earth',
},
}];
- let toJSON = await Group.toJSONCleanChat(party, questLeader);
+ const toJSON = await Group.toJSONCleanChat(party, questLeader);
translationCheck(toJSON.chat[0].text);
});
@@ -888,7 +894,7 @@ describe('Group Model', () => {
target: participatingMember.profile.name,
},
}];
- let toJSON = await Group.toJSONCleanChat(party, questLeader);
+ const toJSON = await Group.toJSONCleanChat(party, questLeader);
translationCheck(toJSON.chat[0].text);
});
@@ -901,7 +907,7 @@ describe('Group Model', () => {
quest: 'basilist',
},
}];
- let toJSON = await Group.toJSONCleanChat(party, questLeader);
+ const toJSON = await Group.toJSONCleanChat(party, questLeader);
translationCheck(toJSON.chat[0].text);
});
@@ -914,7 +920,7 @@ describe('Group Model', () => {
quest: 'basilist',
},
}];
- let toJSON = await Group.toJSONCleanChat(party, questLeader);
+ const toJSON = await Group.toJSONCleanChat(party, questLeader);
translationCheck(toJSON.chat[0].text);
});
@@ -926,7 +932,7 @@ describe('Group Model', () => {
quest: 'stressbeast',
},
}];
- let toJSON = await Group.toJSONCleanChat(party, questLeader);
+ const toJSON = await Group.toJSONCleanChat(party, questLeader);
translationCheck(toJSON.chat[0].text);
});
@@ -938,7 +944,7 @@ describe('Group Model', () => {
quest: 'stressbeast',
},
}];
- let toJSON = await Group.toJSONCleanChat(party, questLeader);
+ const toJSON = await Group.toJSONCleanChat(party, questLeader);
translationCheck(toJSON.chat[0].text);
});
@@ -951,7 +957,7 @@ describe('Group Model', () => {
scene: 'market',
},
}];
- let toJSON = await Group.toJSONCleanChat(party, questLeader);
+ const toJSON = await Group.toJSONCleanChat(party, questLeader);
translationCheck(toJSON.chat[0].text);
});
@@ -963,7 +969,7 @@ describe('Group Model', () => {
quest: 'stressbeast',
},
}];
- let toJSON = await Group.toJSONCleanChat(party, questLeader);
+ const toJSON = await Group.toJSONCleanChat(party, questLeader);
translationCheck(toJSON.chat[0].text);
});
@@ -976,7 +982,7 @@ describe('Group Model', () => {
task: 'Feed the pet',
},
}];
- let toJSON = await Group.toJSONCleanChat(party, questLeader);
+ const toJSON = await Group.toJSONCleanChat(party, questLeader);
translationCheck(toJSON.chat[0].text);
});
});
@@ -990,7 +996,7 @@ describe('Group Model', () => {
quest: 'basilist',
},
}];
- let toJSON = await Group.toJSONCleanChat(party, questLeader);
+ const toJSON = await Group.toJSONCleanChat(party, questLeader);
expect(toJSON.chat.length).to.equal(1);
});
@@ -1002,8 +1008,8 @@ describe('Group Model', () => {
quest: 'basilist',
},
}];
- const admin = new User({'contributor.admin': true});
- let toJSON = await Group.toJSONCleanChat(party, admin);
+ const admin = new User({ 'contributor.admin': true });
+ const toJSON = await Group.toJSONCleanChat(party, admin);
expect(toJSON.chat.length).to.equal(1);
});
@@ -1015,7 +1021,7 @@ describe('Group Model', () => {
quest: 'basilist',
},
}];
- let toJSON = await Group.toJSONCleanChat(party, questLeader);
+ const toJSON = await Group.toJSONCleanChat(party, questLeader);
expect(toJSON.chat.length).to.equal(0);
});
});
@@ -1041,8 +1047,9 @@ describe('Group Model', () => {
});
describe('#checkChatSpam', () => {
- let testUser, testTime, tavern;
- let testUserID = '1';
+ let testUser; let testTime; let
+ tavern;
+ const testUserID = '1';
beforeEach(async () => {
testTime = Date.now();
@@ -1059,32 +1066,33 @@ describe('Group Model', () => {
});
function generateTestMessage (overrides = {}) {
- return Object.assign({}, {
+ return {
text: 'test message',
uuid: testUserID,
timestamp: testTime,
- }, overrides);
+ ...overrides,
+ };
}
it('group that is not the tavern returns false, while tavern returns true', async () => {
- for (let i = 0; i < SPAM_MESSAGE_LIMIT; i++) {
+ for (let i = 0; i < SPAM_MESSAGE_LIMIT; i += 1) {
party.chat.push(generateTestMessage());
}
expect(party.checkChatSpam(testUser)).to.eql(false);
- for (let i = 0; i < SPAM_MESSAGE_LIMIT; i++) {
+ for (let i = 0; i < SPAM_MESSAGE_LIMIT; i += 1) {
tavern.chat.push(generateTestMessage());
}
expect(tavern.checkChatSpam(testUser)).to.eql(true);
});
it('high enough contributor returns false', async () => {
- let highContributor = testUser;
+ const highContributor = testUser;
highContributor.contributor = {
level: SPAM_MIN_EXEMPT_CONTRIB_LEVEL,
};
- for (let i = 0; i < SPAM_MESSAGE_LIMIT; i++) {
+ for (let i = 0; i < SPAM_MESSAGE_LIMIT; i += 1) {
tavern.chat.push(generateTestMessage());
}
@@ -1097,17 +1105,17 @@ describe('Group Model', () => {
});
it('user has not reached limit but another one has returns false', async () => {
- let otherUserID = '2';
+ const otherUserID = '2';
- for (let i = 0; i < SPAM_MESSAGE_LIMIT; i++) {
- tavern.chat.push(generateTestMessage({uuid: otherUserID}));
+ for (let i = 0; i < SPAM_MESSAGE_LIMIT; i += 1) {
+ tavern.chat.push(generateTestMessage({ uuid: otherUserID }));
}
expect(tavern.checkChatSpam(testUser)).to.eql(false);
});
it('user messages is less than the limit returns false', async () => {
- for (let i = 0; i < SPAM_MESSAGE_LIMIT - 1; i++) {
+ for (let i = 0; i < SPAM_MESSAGE_LIMIT - 1; i += 1) {
tavern.chat.push(generateTestMessage());
}
@@ -1115,17 +1123,17 @@ describe('Group Model', () => {
});
it('user has reached the message limit outside of window returns false', async () => {
- for (let i = 0; i < SPAM_MESSAGE_LIMIT - 1; i++) {
+ for (let i = 0; i < SPAM_MESSAGE_LIMIT - 1; i += 1) {
tavern.chat.push(generateTestMessage());
}
- let earlierTimestamp = testTime - SPAM_WINDOW_LENGTH - 1;
- tavern.chat.push(generateTestMessage({timestamp: earlierTimestamp}));
+ const earlierTimestamp = testTime - SPAM_WINDOW_LENGTH - 1;
+ tavern.chat.push(generateTestMessage({ timestamp: earlierTimestamp }));
expect(tavern.checkChatSpam(testUser)).to.eql(false);
});
it('user has posted too many messages in limit returns true', async () => {
- for (let i = 0; i < SPAM_MESSAGE_LIMIT; i++) {
+ for (let i = 0; i < SPAM_MESSAGE_LIMIT; i += 1) {
tavern.chat.push(generateTestMessage());
}
@@ -1147,7 +1155,7 @@ describe('Group Model', () => {
await party.leave(participatingMember);
- party = await Group.findOne({_id: party._id});
+ party = await Group.findOne({ _id: party._id });
expect(party.quest.members).to.eql({
[questLeader._id]: true,
[sleepingParticipatingMember._id]: true,
@@ -1163,7 +1171,7 @@ describe('Group Model', () => {
await party.leave(nonParticipatingMember);
await party.leave(undecidedMember);
- party = await Group.findOne({_id: party._id});
+ party = await Group.findOne({ _id: party._id });
expect(party).to.not.exist;
});
@@ -1178,7 +1186,7 @@ describe('Group Model', () => {
message: shared.i18n.t('cannotDeleteActiveGroup'),
});
- party = await Group.findOne({_id: party._id});
+ party = await Group.findOne({ _id: party._id });
expect(party).to.exist;
expect(party.memberCount).to.eql(1);
});
@@ -1194,19 +1202,19 @@ describe('Group Model', () => {
message: shared.i18n.t('leaderCannotLeaveGroupWithActiveGroup'),
});
- party = await Group.findOne({_id: party._id});
+ party = await Group.findOne({ _id: party._id });
expect(party).to.exist;
expect(party.memberCount).to.eql(1);
});
it('deletes a private group when the last member leaves and a subscription is cancelled', async () => {
- let guild = new Group({
+ const guild = new Group({
name: 'test guild',
type: 'guild',
memberCount: 1,
});
- let leader = new User({
+ const leader = new User({
guilds: [guild._id],
});
@@ -1222,7 +1230,7 @@ describe('Group Model', () => {
await guild.leave(leader);
- party = await Group.findOne({_id: guild._id});
+ party = await Group.findOne({ _id: guild._id });
expect(party).to.not.exist;
});
@@ -1235,7 +1243,7 @@ describe('Group Model', () => {
await party.leave(nonParticipatingMember);
await party.leave(undecidedMember);
- party = await Group.findOne({_id: party._id});
+ party = await Group.findOne({ _id: party._id });
expect(party).to.exist;
});
@@ -1244,7 +1252,7 @@ describe('Group Model', () => {
await party.leave(participatingMember);
- party = await Group.findOne({_id: party._id});
+ party = await Group.findOne({ _id: party._id });
expect(party).to.exist;
});
@@ -1255,7 +1263,7 @@ describe('Group Model', () => {
memberCount: 1,
});
- let leader = new User({
+ const leader = new User({
guilds: [guild._id],
});
@@ -1268,7 +1276,7 @@ describe('Group Model', () => {
await guild.leave(leader);
- guild = await Group.findOne({_id: guild._id});
+ guild = await Group.findOne({ _id: guild._id });
expect(guild).to.not.exist;
});
@@ -1279,11 +1287,11 @@ describe('Group Model', () => {
memberCount: 1,
});
- let leader = new User({
+ const leader = new User({
guilds: [guild._id],
});
- let member = new User({
+ const member = new User({
guilds: [guild._id],
});
@@ -1297,7 +1305,7 @@ describe('Group Model', () => {
await guild.leave(member);
- guild = await Group.findOne({_id: guild._id});
+ guild = await Group.findOne({ _id: guild._id });
expect(guild).to.exist;
});
});
@@ -1309,7 +1317,8 @@ describe('Group Model', () => {
it('formats message', () => {
const chatMessage = party.sendChat({
- message: 'a new message', user: {
+ message: 'a new message',
+ user: {
_id: 'user-id',
profile: { name: 'user name' },
contributor: {
@@ -1322,8 +1331,8 @@ describe('Group Model', () => {
return 'backer object';
},
},
- }}
- );
+ },
+ });
const chat = chatMessage;
@@ -1340,7 +1349,7 @@ describe('Group Model', () => {
});
it('formats message as system if no user is passed in', () => {
- const chat = party.sendChat({message: 'a system message'});
+ const chat = party.sendChat({ message: 'a system message' });
expect(chat.text).to.eql('a system message');
expect(validator.isUUID(chat.id)).to.eql(true);
@@ -1355,7 +1364,7 @@ describe('Group Model', () => {
});
it('updates users about new messages in party', () => {
- party.sendChat({message: 'message'});
+ party.sendChat({ message: 'message' });
expect(User.update).to.be.calledOnce;
expect(User.update).to.be.calledWithMatch({
@@ -1365,11 +1374,11 @@ describe('Group Model', () => {
});
it('updates users about new messages in group', () => {
- let group = new Group({
+ const group = new Group({
type: 'guild',
});
- group.sendChat({message: 'message'});
+ group.sendChat({ message: 'message' });
expect(User.update).to.be.calledOnce;
expect(User.update).to.be.calledWithMatch({
@@ -1379,7 +1388,7 @@ describe('Group Model', () => {
});
it('does not send update to user that sent the message', () => {
- party.sendChat({message: 'message', user: {_id: 'user-id', profile: { name: 'user' }}});
+ party.sendChat({ message: 'message', user: { _id: 'user-id', profile: { name: 'user' } } });
expect(User.update).to.be.calledOnce;
expect(User.update).to.be.calledWithMatch({
@@ -1391,7 +1400,7 @@ describe('Group Model', () => {
it('skips sending new message notification for guilds with > 5000 members', () => {
party.memberCount = 5001;
- party.sendChat({message: 'message'});
+ party.sendChat({ message: 'message' });
expect(User.update).to.not.be.called;
});
@@ -1399,7 +1408,7 @@ describe('Group Model', () => {
it('skips sending messages to the tavern', () => {
party._id = TAVERN_ID;
- party.sendChat({message: 'message'});
+ party.sendChat({ message: 'message' });
expect(User.update).to.not.be.called;
});
@@ -1408,7 +1417,7 @@ describe('Group Model', () => {
describe('#startQuest', () => {
context('Failure Conditions', () => {
it('throws an error if group is not a party', async () => {
- let guild = new Group({
+ const guild = new Group({
type: 'guild',
});
@@ -1448,7 +1457,7 @@ describe('Group Model', () => {
});
it('sets up boss quest', () => {
- let bossQuest = questScrolls.whale;
+ const bossQuest = questScrolls.whale;
party.quest.key = bossQuest.key;
party.startQuest(participatingMember);
@@ -1457,7 +1466,7 @@ describe('Group Model', () => {
});
it('sets up rage meter for rage boss quest', () => {
- let rageBossQuest = questScrolls.trex_undead;
+ const rageBossQuest = questScrolls.trex_undead;
party.quest.key = rageBossQuest.key;
party.startQuest(participatingMember);
@@ -1466,7 +1475,7 @@ describe('Group Model', () => {
});
it('sets up collection quest', () => {
- let collectionQuest = questScrolls.vice2;
+ const collectionQuest = questScrolls.vice2;
party.quest.key = collectionQuest.key;
party.startQuest(participatingMember);
@@ -1476,7 +1485,7 @@ describe('Group Model', () => {
});
it('sets up collection quest with multiple items', () => {
- let collectionQuest = questScrolls.evilsanta2;
+ const collectionQuest = questScrolls.evilsanta2;
party.quest.key = collectionQuest.key;
party.startQuest(participatingMember);
@@ -1489,7 +1498,7 @@ describe('Group Model', () => {
it('prunes non-participating members from quest members object', () => {
party.startQuest(participatingMember);
- let expectedQuestMembers = {};
+ const expectedQuestMembers = {};
expectedQuestMembers[questLeader._id] = true;
expectedQuestMembers[participatingMember._id] = true;
expectedQuestMembers[sleepingParticipatingMember._id] = true;
@@ -1536,7 +1545,7 @@ describe('Group Model', () => {
it('does not apply updates to nonparticipating members', async () => {
await party.startQuest(participatingMember);
- nonParticipatingMember = await User.findById(nonParticipatingMember ._id);
+ nonParticipatingMember = await User.findById(nonParticipatingMember._id);
undecidedMember = await User.findById(undecidedMember._id);
expect(nonParticipatingMember.party.quest.key).to.not.eql('whale');
@@ -1562,8 +1571,8 @@ describe('Group Model', () => {
expect(email.sendTxn).to.be.calledOnce;
- let memberIds = _.map(email.sendTxn.args[0][0], '_id');
- let typeOfEmail = email.sendTxn.args[0][1];
+ const memberIds = _.map(email.sendTxn.args[0][0], '_id');
+ const typeOfEmail = email.sendTxn.args[0][1];
expect(memberIds).to.have.a.lengthOf(3);
expect(memberIds).to.include(participatingMember._id);
@@ -1596,7 +1605,11 @@ describe('Group Model', () => {
},
}];
- await Promise.all([participatingMember.save(), sleepingParticipatingMember.save(), questLeader.save()]);
+ await Promise.all([
+ participatingMember.save(),
+ sleepingParticipatingMember.save(),
+ questLeader.save(),
+ ]);
await party.startQuest(nonParticipatingMember);
@@ -1604,10 +1617,10 @@ describe('Group Model', () => {
expect(questActivityWebhook.send).to.be.calledThrice; // for 3 participating members
- let args = questActivityWebhook.send.args[0];
- let webhooks = args[0].webhooks;
- let webhookOwner = args[0]._id;
- let options = args[1];
+ const args = questActivityWebhook.send.args[0];
+ const { webhooks } = args[0];
+ const webhookOwner = args[0]._id;
+ const options = args[1];
expect(webhooks).to.have.a.lengthOf(1);
if (webhookOwner === questLeader._id) {
@@ -1638,7 +1651,7 @@ describe('Group Model', () => {
expect(email.sendTxn).to.be.calledOnce;
- let memberIds = _.map(email.sendTxn.args[0][0], '_id');
+ const memberIds = _.map(email.sendTxn.args[0][0], '_id');
expect(memberIds).to.have.a.lengthOf(1);
expect(memberIds).to.not.include(participatingMember._id);
@@ -1662,7 +1675,7 @@ describe('Group Model', () => {
expect(email.sendTxn).to.be.calledOnce;
- let memberIds = _.map(email.sendTxn.args[0][0], '_id');
+ const memberIds = _.map(email.sendTxn.args[0][0], '_id');
expect(memberIds).to.have.a.lengthOf(2);
expect(memberIds).to.not.include(participatingMember._id);
@@ -1675,7 +1688,9 @@ describe('Group Model', () => {
await party.startQuest(nonParticipatingMember);
- let members = [questLeader._id, participatingMember._id, sleepingParticipatingMember._id];
+ const members = [
+ questLeader._id, participatingMember._id, sleepingParticipatingMember._id,
+ ];
expect(User.update).to.be.calledWith(
{ _id: { $in: members } },
@@ -1685,7 +1700,7 @@ describe('Group Model', () => {
'party.quest.progress.down': 0,
'party.quest.completed': null,
},
- }
+ },
);
});
@@ -1700,14 +1715,14 @@ describe('Group Model', () => {
$inc: {
'items.quests.whale': -1,
},
- }
+ },
);
});
it('modifies the participating initiating user directly', async () => {
await party.startQuest(participatingMember);
- let userQuest = participatingMember.party.quest;
+ const userQuest = participatingMember.party.quest;
expect(userQuest.key).to.eql('whale');
expect(userQuest.progress.up).to.eql(10);
@@ -1748,15 +1763,11 @@ describe('Group Model', () => {
});
describe('user update retry failures', () => {
- let successfulMock = {
- exec: () => {
- return Promise.resolve({raw: 'sucess'});
- },
+ const successfulMock = {
+ exec: () => Promise.resolve({ raw: 'sucess' }),
};
- let failedMock = {
- exec: () => {
- return Promise.reject(new Error('error'));
- },
+ const failedMock = {
+ exec: () => Promise.reject(new Error('error')),
};
it('doesn\'t retry successful operations', async () => {
@@ -1768,7 +1779,7 @@ describe('Group Model', () => {
});
it('stops retrying when a successful update has occurred', async () => {
- let updateStub = sandbox.stub(User, 'update');
+ const updateStub = sandbox.stub(User, 'update');
updateStub.onCall(0).returns(failedMock);
updateStub.returns(successfulMock);
@@ -1789,7 +1800,7 @@ describe('Group Model', () => {
it('gives out achievements', async () => {
await party.finishQuest(quest);
- let [
+ const [
updatedLeader,
updatedParticipatingMember,
updatedSleepingParticipatingMember,
@@ -1828,7 +1839,7 @@ describe('Group Model', () => {
await questLeader.save();
await party.finishQuest(quest);
- let [
+ const [
updatedLeader,
updatedParticipatingMember,
updatedSleepingParticipatingMember,
@@ -1867,7 +1878,7 @@ describe('Group Model', () => {
await questLeader.save();
await party.finishQuest(quest);
- let [
+ const [
updatedLeader,
updatedParticipatingMember,
updatedSleepingParticipatingMember,
@@ -1897,7 +1908,7 @@ describe('Group Model', () => {
await questLeader.save();
await party.finishQuest(quest);
- let [
+ const [
updatedLeader,
updatedParticipatingMember,
updatedSleepingParticipatingMember,
@@ -1915,7 +1926,7 @@ describe('Group Model', () => {
it('gives xp and gold', async () => {
await party.finishQuest(quest);
- let [
+ const [
updatedLeader,
updatedParticipatingMember,
updatedSleepingParticipatingMember,
@@ -1935,91 +1946,91 @@ describe('Group Model', () => {
context('drops', () => {
it('awards gear', async () => {
- let gearQuest = questScrolls.vice3;
+ const gearQuest = questScrolls.vice3;
await party.finishQuest(gearQuest);
- let updatedParticipatingMember = await User.findById(participatingMember._id);
+ const updatedParticipatingMember = await User.findById(participatingMember._id);
expect(updatedParticipatingMember.items.gear.owned.weapon_special_2).to.eql(true);
});
it('awards eggs', async () => {
- let eggQuest = questScrolls.vice3;
+ const eggQuest = questScrolls.vice3;
await party.finishQuest(eggQuest);
- let updatedParticipatingMember = await User.findById(participatingMember._id);
+ const updatedParticipatingMember = await User.findById(participatingMember._id);
expect(updatedParticipatingMember.items.eggs.Dragon).to.eql(2);
});
it('awards food', async () => {
- let foodQuest = questScrolls.moonstone3;
+ const foodQuest = questScrolls.moonstone3;
await party.finishQuest(foodQuest);
- let updatedParticipatingMember = await User.findById(participatingMember._id);
+ const updatedParticipatingMember = await User.findById(participatingMember._id);
expect(updatedParticipatingMember.items.food.RottenMeat).to.eql(5);
});
it('awards hatching potions', async () => {
- let hatchingPotionQuest = questScrolls.vice3;
+ const hatchingPotionQuest = questScrolls.vice3;
await party.finishQuest(hatchingPotionQuest);
- let updatedParticipatingMember = await User.findById(participatingMember._id);
+ const updatedParticipatingMember = await User.findById(participatingMember._id);
expect(updatedParticipatingMember.items.hatchingPotions.Shade).to.eql(2);
});
it('awards quest scrolls to owner', async () => {
- let questAwardQuest = questScrolls.vice2;
+ const questAwardQuest = questScrolls.vice2;
await party.finishQuest(questAwardQuest);
- let updatedLeader = await User.findById(questLeader._id);
+ const updatedLeader = await User.findById(questLeader._id);
expect(updatedLeader.items.quests.vice3).to.eql(1);
});
it('awards non quest leader rewards to quest leader', async () => {
- let gearQuest = questScrolls.vice3;
+ const gearQuest = questScrolls.vice3;
await party.finishQuest(gearQuest);
- let updatedLeader = await User.findById(questLeader._id);
+ const updatedLeader = await User.findById(questLeader._id);
expect(updatedLeader.items.gear.owned.weapon_special_2).to.eql(true);
});
it('doesn\'t award quest owner rewards to all participants', async () => {
- let questAwardQuest = questScrolls.vice2;
+ const questAwardQuest = questScrolls.vice2;
await party.finishQuest(questAwardQuest);
- let updatedParticipatingMember = await User.findById(participatingMember._id);
+ const updatedParticipatingMember = await User.findById(participatingMember._id);
expect(updatedParticipatingMember.items.quests.vice3).to.not.exist;
});
it('awards pets', async () => {
- let petQuest = questScrolls.evilsanta2;
+ const petQuest = questScrolls.evilsanta2;
await party.finishQuest(petQuest);
- let updatedParticipatingMember = await User.findById(participatingMember._id);
+ const updatedParticipatingMember = await User.findById(participatingMember._id);
expect(updatedParticipatingMember.items.pets['BearCub-Polar']).to.eql(5);
});
it('awards mounts', async () => {
- let mountQuest = questScrolls.evilsanta;
+ const mountQuest = questScrolls.evilsanta;
await party.finishQuest(mountQuest);
- let updatedParticipatingMember = await User.findById(participatingMember._id);
+ const updatedParticipatingMember = await User.findById(participatingMember._id);
expect(updatedParticipatingMember.items.mounts['BearCub-Polar']).to.eql(true);
});
@@ -2079,7 +2090,11 @@ describe('Group Model', () => {
},
}];
- await Promise.all([participatingMember.save(), sleepingParticipatingMember.save(), questLeader.save()]);
+ await Promise.all([
+ participatingMember.save(),
+ sleepingParticipatingMember.save(),
+ questLeader.save(),
+ ]);
await party.finishQuest(quest);
@@ -2087,9 +2102,9 @@ describe('Group Model', () => {
expect(questActivityWebhook.send).to.be.calledOnce;
- let args = questActivityWebhook.send.args[0];
- let webhooks = args[0].webhooks;
- let options = args[1];
+ const args = questActivityWebhook.send.args[0];
+ const { webhooks } = args[0];
+ const options = args[1];
expect(webhooks).to.have.a.lengthOf(1);
expect(webhooks[0].id).to.eql(participatingMember.webhooks[0].id);
@@ -2118,7 +2133,7 @@ describe('Group Model', () => {
it('sets quest completed to the world quest key', async () => {
await party.finishQuest(tavernQuest);
- let updatedLeader = await User.findById(questLeader._id);
+ const updatedLeader = await User.findById(questLeader._id);
expect(updatedLeader.party.quest.completed).to.eql(tavernQuest.key);
});
@@ -2133,7 +2148,7 @@ describe('Group Model', () => {
it('looks for users in specified guild with webhooks', () => {
sandbox.spy(User, 'find');
- let guild = new Group({
+ const guild = new Group({
type: 'guild',
});
@@ -2167,13 +2182,13 @@ describe('Group Model', () => {
});
it('sends webhooks for users with webhooks', async () => {
- let guild = new Group({
+ const guild = new Group({
name: 'some guild',
type: 'guild',
});
- let chat = {message: 'text'};
- let memberWithWebhook = new User({
+ const chat = { message: 'text' };
+ const memberWithWebhook = new User({
guilds: [guild._id],
webhooks: [{
type: 'groupChatReceived',
@@ -2183,10 +2198,10 @@ describe('Group Model', () => {
},
}],
});
- let memberWithoutWebhook = new User({
+ const memberWithoutWebhook = new User({
guilds: [guild._id],
});
- let nonMemberWithWebhooks = new User({
+ const nonMemberWithWebhooks = new User({
webhooks: [{
type: 'groupChatReceived',
url: 'http://a-different-url.com',
@@ -2212,9 +2227,9 @@ describe('Group Model', () => {
expect(groupChatReceivedWebhook.send).to.be.calledOnce;
- let args = groupChatReceivedWebhook.send.args[0];
- let webhooks = args[0].webhooks;
- let options = args[1];
+ const args = groupChatReceivedWebhook.send.args[0];
+ const { webhooks } = args[0];
+ const options = args[1];
expect(webhooks).to.have.a.lengthOf(1);
expect(webhooks[0].id).to.eql(memberWithWebhook.webhooks[0].id);
@@ -2223,12 +2238,12 @@ describe('Group Model', () => {
});
it('sends webhooks for users with webhooks triggered by system messages', async () => {
- let guild = new Group({
+ const guild = new Group({
name: 'some guild',
type: 'guild',
});
- let memberWithWebhook = new User({
+ const memberWithWebhook = new User({
guilds: [guild._id],
webhooks: [{
type: 'groupChatReceived',
@@ -2238,10 +2253,10 @@ describe('Group Model', () => {
},
}],
});
- let memberWithoutWebhook = new User({
+ const memberWithoutWebhook = new User({
guilds: [guild._id],
});
- let nonMemberWithWebhooks = new User({
+ const nonMemberWithWebhooks = new User({
webhooks: [{
type: 'groupChatReceived',
url: 'http://a-different-url.com',
@@ -2261,16 +2276,16 @@ describe('Group Model', () => {
await guild.save();
- const groupMessage = guild.sendChat({message: 'Test message.'});
+ const groupMessage = guild.sendChat({ message: 'Test message.' });
await groupMessage.save();
await sleep();
expect(groupChatReceivedWebhook.send).to.be.calledOnce;
- let args = groupChatReceivedWebhook.send.args[0];
- let webhooks = args[0].webhooks;
- let options = args[1];
+ const args = groupChatReceivedWebhook.send.args[0];
+ const { webhooks } = args[0];
+ const options = args[1];
expect(webhooks).to.have.a.lengthOf(1);
expect(webhooks[0].id).to.eql(memberWithWebhook.webhooks[0].id);
@@ -2279,13 +2294,13 @@ describe('Group Model', () => {
});
it('sends webhooks for each user with webhooks in group', async () => {
- let guild = new Group({
+ const guild = new Group({
name: 'some guild',
type: 'guild',
});
- let chat = {message: 'text'};
- let memberWithWebhook = new User({
+ const chat = { message: 'text' };
+ const memberWithWebhook = new User({
guilds: [guild._id],
webhooks: [{
type: 'groupChatReceived',
@@ -2295,7 +2310,7 @@ describe('Group Model', () => {
},
}],
});
- let memberWithWebhook2 = new User({
+ const memberWithWebhook2 = new User({
guilds: [guild._id],
webhooks: [{
type: 'groupChatReceived',
@@ -2305,7 +2320,7 @@ describe('Group Model', () => {
},
}],
});
- let memberWithWebhook3 = new User({
+ const memberWithWebhook3 = new User({
guilds: [guild._id],
webhooks: [{
type: 'groupChatReceived',
@@ -2332,10 +2347,16 @@ describe('Group Model', () => {
expect(groupChatReceivedWebhook.send).to.be.calledThrice;
- let args = groupChatReceivedWebhook.send.args;
- expect(args.find(arg => arg[0].webhooks[0].id === memberWithWebhook.webhooks[0].id)).to.be.exist;
- expect(args.find(arg => arg[0].webhooks[0].id === memberWithWebhook2.webhooks[0].id)).to.be.exist;
- expect(args.find(arg => arg[0].webhooks[0].id === memberWithWebhook3.webhooks[0].id)).to.be.exist;
+ const { args } = groupChatReceivedWebhook.send;
+ expect(args.find(
+ arg => arg[0].webhooks[0].id === memberWithWebhook.webhooks[0].id,
+ )).to.be.exist;
+ expect(args.find(
+ arg => arg[0].webhooks[0].id === memberWithWebhook2.webhooks[0].id,
+ )).to.be.exist;
+ expect(args.find(
+ arg => arg[0].webhooks[0].id === memberWithWebhook3.webhooks[0].id,
+ )).to.be.exist;
});
});
diff --git a/test/api/unit/models/group_tasks.test.js b/test/api/unit/models/group_tasks.test.js
index 21cfd9ef2b..848b4b0792 100644
--- a/test/api/unit/models/group_tasks.test.js
+++ b/test/api/unit/models/group_tasks.test.js
@@ -1,12 +1,13 @@
+import { each, find, findIndex } from 'lodash';
import { model as Challenge } from '../../../../website/server/models/challenge';
import { model as Group } from '../../../../website/server/models/group';
import { model as User } from '../../../../website/server/models/user';
import * as Tasks from '../../../../website/server/models/task';
-import { each, find, findIndex } from 'lodash';
describe('Group Task Methods', () => {
- let guild, leader, challenge, task;
- let tasksToTest = {
+ let guild; let leader; let challenge; let
+ task;
+ const tasksToTest = {
habit: {
text: 'test habit',
type: 'habit',
@@ -79,9 +80,9 @@ describe('Group Task Methods', () => {
it('syncs an assigned task to a user', async () => {
await guild.syncTask(task, leader);
- let updatedLeader = await User.findOne({_id: leader._id});
- let tagIndex = findIndex(updatedLeader.tags, {id: guild._id});
- let newTag = updatedLeader.tags[tagIndex];
+ const updatedLeader = await User.findOne({ _id: leader._id });
+ const tagIndex = findIndex(updatedLeader.tags, { id: guild._id });
+ const newTag = updatedLeader.tags[tagIndex];
expect(newTag.id).to.equal(guild._id);
expect(newTag.name).to.equal(guild.name);
@@ -91,9 +92,9 @@ describe('Group Task Methods', () => {
it('create tags for a user when task is synced', async () => {
await guild.syncTask(task, leader);
- let updatedLeader = await User.findOne({_id: leader._id});
- let updatedLeadersTasks = await Tasks.Task.find({_id: { $in: updatedLeader.tasksOrder[`${taskType}s`]}});
- let syncedTask = find(updatedLeadersTasks, findLinkedTask);
+ const updatedLeader = await User.findOne({ _id: leader._id });
+ const updatedLeadersTasks = await Tasks.Task.find({ _id: { $in: updatedLeader.tasksOrder[`${taskType}s`] } });
+ const syncedTask = find(updatedLeadersTasks, findLinkedTask);
expect(task.group.assignedUsers).to.contain(leader._id);
expect(syncedTask).to.exist;
@@ -101,13 +102,13 @@ describe('Group Task Methods', () => {
it('syncs updated info for assigned task to a user', async () => {
await guild.syncTask(task, leader);
- let updatedTaskName = 'Update Task name';
+ const updatedTaskName = 'Update Task name';
task.text = updatedTaskName;
await guild.syncTask(task, leader);
- let updatedLeader = await User.findOne({_id: leader._id});
- let updatedLeadersTasks = await Tasks.Task.find({_id: { $in: updatedLeader.tasksOrder[`${taskType}s`]}});
- let syncedTask = find(updatedLeadersTasks, findLinkedTask);
+ const updatedLeader = await User.findOne({ _id: leader._id });
+ const updatedLeadersTasks = await Tasks.Task.find({ _id: { $in: updatedLeader.tasksOrder[`${taskType}s`] } });
+ const syncedTask = find(updatedLeadersTasks, findLinkedTask);
expect(task.group.assignedUsers).to.contain(leader._id);
expect(syncedTask).to.exist;
@@ -117,9 +118,9 @@ describe('Group Task Methods', () => {
it('syncs checklist items to an assigned user', async () => {
await guild.syncTask(task, leader);
- let updatedLeader = await User.findOne({_id: leader._id});
- let updatedLeadersTasks = await Tasks.Task.find({_id: { $in: updatedLeader.tasksOrder[`${taskType}s`]}});
- let syncedTask = find(updatedLeadersTasks, findLinkedTask);
+ const updatedLeader = await User.findOne({ _id: leader._id });
+ const updatedLeadersTasks = await Tasks.Task.find({ _id: { $in: updatedLeader.tasksOrder[`${taskType}s`] } });
+ const syncedTask = find(updatedLeadersTasks, findLinkedTask);
if (task.type !== 'daily' && task.type !== 'todo') return;
@@ -141,19 +142,19 @@ describe('Group Task Methods', () => {
});
it('syncs updated info for assigned task to all users', async () => {
- let updatedTaskName = 'Update Task name';
+ const updatedTaskName = 'Update Task name';
task.text = updatedTaskName;
task.group.approval.required = true;
await guild.updateTask(task);
- let updatedLeader = await User.findOne({_id: leader._id});
- let updatedLeadersTasks = await Tasks.Task.find({_id: { $in: updatedLeader.tasksOrder[`${taskType}s`]}});
- let syncedTask = find(updatedLeadersTasks, findLinkedTask);
+ const updatedLeader = await User.findOne({ _id: leader._id });
+ const updatedLeadersTasks = await Tasks.Task.find({ _id: { $in: updatedLeader.tasksOrder[`${taskType}s`] } });
+ const syncedTask = find(updatedLeadersTasks, findLinkedTask);
- let updatedMember = await User.findOne({_id: newMember._id});
- let updatedMemberTasks = await Tasks.Task.find({_id: { $in: updatedMember.tasksOrder[`${taskType}s`]}});
- let syncedMemberTask = find(updatedMemberTasks, findLinkedTask);
+ const updatedMember = await User.findOne({ _id: newMember._id });
+ const updatedMemberTasks = await Tasks.Task.find({ _id: { $in: updatedMember.tasksOrder[`${taskType}s`] } });
+ const syncedMemberTask = find(updatedMemberTasks, findLinkedTask);
expect(task.group.assignedUsers).to.contain(leader._id);
expect(syncedTask).to.exist;
@@ -169,22 +170,22 @@ describe('Group Task Methods', () => {
it('syncs a new checklist item to all assigned users', async () => {
if (task.type !== 'daily' && task.type !== 'todo') return;
- let newCheckListItem = {
+ const newCheckListItem = {
text: 'Checklist Item 1',
completed: false,
};
task.checklist.push(newCheckListItem);
- await guild.updateTask(task, {newCheckListItem});
+ await guild.updateTask(task, { newCheckListItem });
- let updatedLeader = await User.findOne({_id: leader._id});
- let updatedLeadersTasks = await Tasks.Task.find({_id: { $in: updatedLeader.tasksOrder[`${taskType}s`]}});
- let syncedTask = find(updatedLeadersTasks, findLinkedTask);
+ const updatedLeader = await User.findOne({ _id: leader._id });
+ const updatedLeadersTasks = await Tasks.Task.find({ _id: { $in: updatedLeader.tasksOrder[`${taskType}s`] } });
+ const syncedTask = find(updatedLeadersTasks, findLinkedTask);
- let updatedMember = await User.findOne({_id: newMember._id});
- let updatedMemberTasks = await Tasks.Task.find({_id: { $in: updatedMember.tasksOrder[`${taskType}s`]}});
- let syncedMemberTask = find(updatedMemberTasks, findLinkedTask);
+ const updatedMember = await User.findOne({ _id: newMember._id });
+ const updatedMemberTasks = await Tasks.Task.find({ _id: { $in: updatedMember.tasksOrder[`${taskType}s`] } });
+ const syncedMemberTask = find(updatedMemberTasks, findLinkedTask);
expect(syncedTask.checklist.length).to.equal(task.checklist.length);
expect(syncedTask.checklist[1].text).to.equal(task.checklist[1].text);
@@ -195,20 +196,20 @@ describe('Group Task Methods', () => {
it('syncs updated info for checklist in assigned task to all users when flag is passed', async () => {
if (task.type !== 'daily' && task.type !== 'todo') return;
- let updateCheckListText = 'Updated checklist item';
+ const updateCheckListText = 'Updated checklist item';
if (task.checklist) {
task.checklist[0].text = updateCheckListText;
}
- await guild.updateTask(task, {updateCheckListItems: [task.checklist[0]]});
+ await guild.updateTask(task, { updateCheckListItems: [task.checklist[0]] });
- let updatedLeader = await User.findOne({_id: leader._id});
- let updatedLeadersTasks = await Tasks.Task.find({_id: { $in: updatedLeader.tasksOrder[`${taskType}s`]}});
- let syncedTask = find(updatedLeadersTasks, findLinkedTask);
+ const updatedLeader = await User.findOne({ _id: leader._id });
+ const updatedLeadersTasks = await Tasks.Task.find({ _id: { $in: updatedLeader.tasksOrder[`${taskType}s`] } });
+ const syncedTask = find(updatedLeadersTasks, findLinkedTask);
- let updatedMember = await User.findOne({_id: newMember._id});
- let updatedMemberTasks = await Tasks.Task.find({_id: { $in: updatedMember.tasksOrder[`${taskType}s`]}});
- let syncedMemberTask = find(updatedMemberTasks, findLinkedTask);
+ const updatedMember = await User.findOne({ _id: newMember._id });
+ const updatedMemberTasks = await Tasks.Task.find({ _id: { $in: updatedMember.tasksOrder[`${taskType}s`] } });
+ const syncedMemberTask = find(updatedMemberTasks, findLinkedTask);
expect(syncedTask.checklist.length).to.equal(task.checklist.length);
expect(syncedTask.checklist[0].text).to.equal(updateCheckListText);
@@ -219,15 +220,15 @@ describe('Group Task Methods', () => {
it('removes a checklist item in assigned task to all users when flag is passed with checklist id', async () => {
if (task.type !== 'daily' && task.type !== 'todo') return;
- await guild.updateTask(task, {removedCheckListItemId: task.checklist[0].id});
+ await guild.updateTask(task, { removedCheckListItemId: task.checklist[0].id });
- let updatedLeader = await User.findOne({_id: leader._id});
- let updatedLeadersTasks = await Tasks.Task.find({_id: { $in: updatedLeader.tasksOrder[`${taskType}s`]}});
- let syncedTask = find(updatedLeadersTasks, findLinkedTask);
+ const updatedLeader = await User.findOne({ _id: leader._id });
+ const updatedLeadersTasks = await Tasks.Task.find({ _id: { $in: updatedLeader.tasksOrder[`${taskType}s`] } });
+ const syncedTask = find(updatedLeadersTasks, findLinkedTask);
- let updatedMember = await User.findOne({_id: newMember._id});
- let updatedMemberTasks = await Tasks.Task.find({_id: { $in: updatedMember.tasksOrder[`${taskType}s`]}});
- let syncedMemberTask = find(updatedMemberTasks, findLinkedTask);
+ const updatedMember = await User.findOne({ _id: newMember._id });
+ const updatedMemberTasks = await Tasks.Task.find({ _id: { $in: updatedMember.tasksOrder[`${taskType}s`] } });
+ const syncedMemberTask = find(updatedMemberTasks, findLinkedTask);
expect(syncedTask.checklist.length).to.equal(0);
expect(syncedMemberTask.checklist.length).to.equal(0);
@@ -238,9 +239,9 @@ describe('Group Task Methods', () => {
await guild.syncTask(task, leader);
await guild.removeTask(task);
- let updatedLeader = await User.findOne({_id: leader._id});
- let updatedLeadersTasks = await Tasks.Task.find({_id: { $in: updatedLeader.tasksOrder[`${taskType}s`]}});
- let syncedTask = find(updatedLeadersTasks, findLinkedTask);
+ const updatedLeader = await User.findOne({ _id: leader._id });
+ const updatedLeadersTasks = await Tasks.Task.find({ _id: { $in: updatedLeader.tasksOrder[`${taskType}s`] } });
+ const syncedTask = find(updatedLeadersTasks, findLinkedTask);
expect(syncedTask.group.broken).to.equal('TASK_DELETED');
});
@@ -249,9 +250,9 @@ describe('Group Task Methods', () => {
await guild.syncTask(task, leader);
await guild.unlinkTask(task, leader, 'remove-all');
- let updatedLeader = await User.findOne({_id: leader._id});
- let updatedLeadersTasks = await Tasks.Task.find({_id: { $in: updatedLeader.tasksOrder[`${taskType}s`]}});
- let syncedTask = find(updatedLeadersTasks, findLinkedTask);
+ const updatedLeader = await User.findOne({ _id: leader._id });
+ const updatedLeadersTasks = await Tasks.Task.find({ _id: { $in: updatedLeader.tasksOrder[`${taskType}s`] } });
+ const syncedTask = find(updatedLeadersTasks, findLinkedTask);
expect(task.group.assignedUsers).to.not.contain(leader._id);
expect(syncedTask).to.not.exist;
@@ -260,17 +261,18 @@ describe('Group Task Methods', () => {
it('unlinks and keeps group tasks for a user when keep-all is specified', async () => {
await guild.syncTask(task, leader);
- let updatedLeader = await User.findOne({_id: leader._id});
- let updatedLeadersTasks = await Tasks.Task.find({_id: { $in: updatedLeader.tasksOrder[`${taskType}s`]}});
- let syncedTask = find(updatedLeadersTasks, findLinkedTask);
+ let updatedLeader = await User.findOne({ _id: leader._id });
+ let updatedLeadersTasks = await Tasks.Task.find({ _id: { $in: updatedLeader.tasksOrder[`${taskType}s`] } });
+ const syncedTask = find(updatedLeadersTasks, findLinkedTask);
await guild.unlinkTask(task, leader, 'keep-all');
- updatedLeader = await User.findOne({_id: leader._id});
- updatedLeadersTasks = await Tasks.Task.find({_id: { $in: updatedLeader.tasksOrder[`${taskType}s`]}});
- let updatedSyncedTask = find(updatedLeadersTasks, function findUpdatedLinkedTask (updatedLeadersTask) {
- return updatedLeadersTask._id === syncedTask._id;
- });
+ updatedLeader = await User.findOne({ _id: leader._id });
+ updatedLeadersTasks = await Tasks.Task.find({ _id: { $in: updatedLeader.tasksOrder[`${taskType}s`] } });
+ const updatedSyncedTask = find(
+ updatedLeadersTasks,
+ updatedLeadersTask => updatedLeadersTask._id === syncedTask._id,
+ );
expect(task.group.assignedUsers).to.not.contain(leader._id);
expect(updatedSyncedTask).to.exist;
diff --git a/test/api/unit/models/task.test.js b/test/api/unit/models/task.test.js
index d925073945..006efd0a07 100644
--- a/test/api/unit/models/task.test.js
+++ b/test/api/unit/models/task.test.js
@@ -1,14 +1,15 @@
+import { each } from 'lodash';
import { model as Challenge } from '../../../../website/server/models/challenge';
import { model as Group } from '../../../../website/server/models/group';
import { model as User } from '../../../../website/server/models/user';
import * as Tasks from '../../../../website/server/models/task';
import { InternalServerError } from '../../../../website/server/libs/errors';
-import { each } from 'lodash';
-import { generateHistory } from '../../../helpers/api-unit.helper.js';
+import { generateHistory } from '../../../helpers/api-unit.helper';
describe('Task Model', () => {
- let guild, leader, challenge, task;
- let tasksToTest = {
+ let guild; let leader; let challenge; let
+ task;
+ const tasksToTest = {
habit: {
text: 'test habit',
type: 'habit',
@@ -62,11 +63,11 @@ describe('Task Model', () => {
});
it('preens challenge tasks history when scored', async () => {
- let historyLengthBeforePreen = task.history.length;
+ const historyLengthBeforePreen = task.history.length;
await task.scoreChallengeTask(1.2);
- let updatedTask = await Tasks.Task.findOne({_id: task._id});
+ const updatedTask = await Tasks.Task.findOne({ _id: task._id });
expect(historyLengthBeforePreen).to.be.greaterThan(updatedTask.history.length);
});
@@ -75,7 +76,8 @@ describe('Task Model', () => {
describe('Static Methods', () => {
describe('findByIdOrAlias', () => {
- let taskWithAlias, user;
+ let taskWithAlias; let
+ user;
beforeEach(async () => {
user = new User();
@@ -112,13 +114,13 @@ describe('Task Model', () => {
});
it('returns task by id', async () => {
- let foundTodo = await Tasks.Task.findByIdOrAlias(taskWithAlias._id, user._id);
+ const foundTodo = await Tasks.Task.findByIdOrAlias(taskWithAlias._id, user._id);
expect(foundTodo.text).to.eql(taskWithAlias.text);
});
it('returns task by alias', async () => {
- let foundTodo = await Tasks.Task.findByIdOrAlias(taskWithAlias.alias, user._id);
+ const foundTodo = await Tasks.Task.findByIdOrAlias(taskWithAlias.alias, user._id);
expect(foundTodo.text).to.eql(taskWithAlias.text);
});
@@ -134,7 +136,7 @@ describe('Task Model', () => {
});
it('returns null if task cannot be found', async () => {
- let foundTask = await Tasks.Task.findByIdOrAlias('not-found', user._id);
+ const foundTask = await Tasks.Task.findByIdOrAlias('not-found', user._id);
expect(foundTask).to.eql(null);
});
diff --git a/test/api/unit/models/user.test.js b/test/api/unit/models/user.test.js
index 24652fa7b6..1e01c52b16 100644
--- a/test/api/unit/models/user.test.js
+++ b/test/api/unit/models/user.test.js
@@ -5,7 +5,7 @@ import common from '../../../../website/common';
describe('User Model', () => {
it('keeps user._tmp when calling .toJSON', () => {
- let user = new User({
+ const user = new User({
auth: {
local: {
username: 'username',
@@ -17,26 +17,26 @@ describe('User Model', () => {
},
});
- user._tmp = {ok: true};
- user._nonTmp = {ok: true};
+ user._tmp = { ok: true };
+ user._nonTmp = { ok: true };
- expect(user._tmp).to.eql({ok: true});
- expect(user._nonTmp).to.eql({ok: true});
+ expect(user._tmp).to.eql({ ok: true });
+ expect(user._nonTmp).to.eql({ ok: true });
- let toObject = user.toObject();
- let toJSON = user.toJSON();
+ const toObject = user.toObject();
+ const toJSON = user.toJSON();
expect(toObject).to.not.have.keys('_tmp');
expect(toObject).to.not.have.keys('_nonTmp');
expect(toJSON).to.have.any.key('_tmp');
- expect(toJSON._tmp).to.eql({ok: true});
+ expect(toJSON._tmp).to.eql({ ok: true });
expect(toJSON).to.not.have.keys('_nonTmp');
});
it('can add computed stats to a JSONified user object', () => {
- let user = new User();
- let userToJSON = user.toJSON();
+ const user = new User();
+ const userToJSON = user.toJSON();
expect(userToJSON.stats.maxMP).to.not.exist;
expect(userToJSON.stats.maxHealth).to.not.exist;
@@ -50,9 +50,9 @@ describe('User Model', () => {
});
it('can transform user object without mongoose helpers', async () => {
- let user = new User();
+ const user = new User();
await user.save();
- let userToJSON = await User.findById(user._id).lean().exec();
+ const userToJSON = await User.findById(user._id).lean().exec();
expect(userToJSON.stats.maxMP).to.not.exist;
expect(userToJSON.stats.maxHealth).to.not.exist;
@@ -68,9 +68,9 @@ describe('User Model', () => {
});
it('can transform user object without mongoose helpers (including computed stats)', async () => {
- let user = new User();
+ const user = new User();
await user.save();
- let userToJSON = await User.findById(user._id).lean().exec();
+ const userToJSON = await User.findById(user._id).lean().exec();
expect(userToJSON.stats.maxMP).to.not.exist;
expect(userToJSON.stats.maxHealth).to.not.exist;
@@ -86,11 +86,11 @@ describe('User Model', () => {
context('notifications', () => {
it('can add notifications without data', () => {
- let user = new User();
+ const user = new User();
user.addNotification('CRON');
- let userToJSON = user.toJSON();
+ const userToJSON = user.toJSON();
expect(user.notifications.length).to.equal(1);
expect(userToJSON.notifications[0]).to.have.all.keys(['data', 'id', 'type', 'seen']);
expect(userToJSON.notifications[0].type).to.equal('CRON');
@@ -99,14 +99,15 @@ describe('User Model', () => {
});
it('removes invalid notifications when calling toJSON', () => {
- let user = new User();
+ const user = new User();
user.notifications = [
null, // invalid, not an object
- {seen: true}, // invalid, no type or id
- {id: 123}, // invalid, no type
- // {type: 'ABC'}, // invalid, no id, not included here because the id would be added automatically
- {type: 'ABC', id: '123'}, // valid
+ { seen: true }, // invalid, no type or id
+ { id: 123 }, // invalid, no type
+ // invalid, no id, not included here because the id would be added automatically
+ // {type: 'ABC'},
+ { type: 'ABC', id: '123' }, // valid
];
const userToJSON = user.toJSON();
@@ -118,15 +119,15 @@ describe('User Model', () => {
});
it('can add notifications with data and already marked as seen', () => {
- let user = new User();
+ const user = new User();
- user.addNotification('CRON', {field: 1}, true);
+ user.addNotification('CRON', { field: 1 }, true);
- let userToJSON = user.toJSON();
+ const userToJSON = user.toJSON();
expect(user.notifications.length).to.equal(1);
expect(userToJSON.notifications[0]).to.have.all.keys(['data', 'id', 'type', 'seen']);
expect(userToJSON.notifications[0].type).to.equal('CRON');
- expect(userToJSON.notifications[0].data).to.eql({field: 1});
+ expect(userToJSON.notifications[0].data).to.eql({ field: 1 });
expect(userToJSON.notifications[0].seen).to.eql(true);
});
@@ -135,11 +136,11 @@ describe('User Model', () => {
let user = new User();
await user.save();
- await User.pushNotification({_id: user._id}, 'CRON');
+ await User.pushNotification({ _id: user._id }, 'CRON');
- user = await User.findOne({_id: user._id}).exec();
+ user = await User.findOne({ _id: user._id }).exec();
- let userToJSON = user.toJSON();
+ const userToJSON = user.toJSON();
expect(user.notifications.length).to.equal(1);
expect(userToJSON.notifications[0]).to.have.all.keys(['data', 'id', 'type', 'seen']);
expect(userToJSON.notifications[0].type).to.equal('CRON');
@@ -147,21 +148,21 @@ describe('User Model', () => {
});
it('validates notifications via static method', async () => {
- let user = new User();
+ const user = new User();
await user.save();
- expect(User.pushNotification({_id: user._id}, 'BAD_TYPE')).to.eventually.be.rejected;
- expect(User.pushNotification({_id: user._id}, 'CRON', null, 'INVALID_SEEN')).to.eventually.be.rejected;
+ expect(User.pushNotification({ _id: user._id }, 'BAD_TYPE')).to.eventually.be.rejected;
+ expect(User.pushNotification({ _id: user._id }, 'CRON', null, 'INVALID_SEEN')).to.eventually.be.rejected;
});
it('adds notifications without data for all given users via static method', async () => {
let user = new User();
- let otherUser = new User();
+ const otherUser = new User();
await Promise.all([user.save(), otherUser.save()]);
- await User.pushNotification({_id: {$in: [user._id, otherUser._id]}}, 'CRON');
+ await User.pushNotification({ _id: { $in: [user._id, otherUser._id] } }, 'CRON');
- user = await User.findOne({_id: user._id}).exec();
+ user = await User.findOne({ _id: user._id }).exec();
let userToJSON = user.toJSON();
expect(user.notifications.length).to.equal(1);
@@ -170,7 +171,7 @@ describe('User Model', () => {
expect(userToJSON.notifications[0].data).to.eql({});
expect(userToJSON.notifications[0].seen).to.eql(false);
- user = await User.findOne({_id: otherUser._id}).exec();
+ user = await User.findOne({ _id: otherUser._id }).exec();
userToJSON = user.toJSON();
expect(user.notifications.length).to.equal(1);
@@ -182,27 +183,27 @@ describe('User Model', () => {
it('adds notifications with data and seen status for all given users via static method', async () => {
let user = new User();
- let otherUser = new User();
+ const otherUser = new User();
await Promise.all([user.save(), otherUser.save()]);
- await User.pushNotification({_id: {$in: [user._id, otherUser._id]}}, 'CRON', {field: 1}, true);
+ await User.pushNotification({ _id: { $in: [user._id, otherUser._id] } }, 'CRON', { field: 1 }, true);
- user = await User.findOne({_id: user._id}).exec();
+ user = await User.findOne({ _id: user._id }).exec();
let userToJSON = user.toJSON();
expect(user.notifications.length).to.equal(1);
expect(userToJSON.notifications[0]).to.have.all.keys(['data', 'id', 'type', 'seen']);
expect(userToJSON.notifications[0].type).to.equal('CRON');
- expect(userToJSON.notifications[0].data).to.eql({field: 1});
+ expect(userToJSON.notifications[0].data).to.eql({ field: 1 });
expect(userToJSON.notifications[0].seen).to.eql(true);
- user = await User.findOne({_id: otherUser._id}).exec();
+ user = await User.findOne({ _id: otherUser._id }).exec();
userToJSON = user.toJSON();
expect(user.notifications.length).to.equal(1);
expect(userToJSON.notifications[0]).to.have.all.keys(['data', 'id', 'type', 'seen']);
expect(userToJSON.notifications[0].type).to.equal('CRON');
- expect(userToJSON.notifications[0].data).to.eql({field: 1});
+ expect(userToJSON.notifications[0].data).to.eql({ field: 1 });
expect(userToJSON.notifications[0].seen).to.eql(true);
});
});
@@ -245,7 +246,7 @@ describe('User Model', () => {
let group;
beforeEach(() => {
user = new User();
- let leader = new User();
+ const leader = new User();
group = new Group({
name: 'test',
type: 'guild',
@@ -379,11 +380,13 @@ describe('User Model', () => {
// Create conditions for the Beast Master achievement to be awarded
user.achievements.beastMasterCount = 3;
- expect(user.achievements.beastMaster).to.not.equal(true); // verify that it was not awarded initially
+ // verify that it was not awarded initially
+ expect(user.achievements.beastMaster).to.not.equal(true);
user = await user.save();
// verify that it's been awarded
expect(user.achievements.beastMaster).to.equal(true);
+ expect(user.notifications.find(notification => notification.type === 'ACHIEVEMENT_BEAST_MASTER')).to.exist;
// reset the user
user.achievements.beastMasterCount = 0;
@@ -397,7 +400,8 @@ describe('User Model', () => {
user = await User.findById(user._id).select('-items').exec();
expect(user.isSelected('items')).to.equal(false);
- // create the conditions for the beast master achievement but this time it should not be awarded
+ // create the conditions for the beast master achievement
+ // but this time it should not be awarded
user.achievements.beastMasterCount = 3;
user = await user.save();
expect(user.achievements.beastMaster).to.equal(false);
@@ -414,6 +418,28 @@ describe('User Model', () => {
expect(user.achievements.beastMaster).to.not.equal(true);
});
+ it('adds achievements to notification list', async () => {
+ let user = new User();
+ user = await user.save(); // necessary for user.isSelected to work correctly
+
+ // Create conditions for achievements to be awarded
+ user.achievements.beastMasterCount = 3;
+ user.achievements.mountMasterCount = 3;
+ user.achievements.triadBingoCount = 3;
+ // verify that it was not awarded initially
+ expect(user.achievements.beastMaster).to.not.equal(true);
+ // verify that it was not awarded initially
+ expect(user.achievements.mountMaster).to.not.equal(true);
+ // verify that it was not awarded initially
+ expect(user.achievements.triadBingo).to.not.equal(true);
+
+ user = await user.save();
+ // verify that it's been awarded
+ expect(user.notifications.find(notification => notification.type === 'ACHIEVEMENT_BEAST_MASTER')).to.exist;
+ expect(user.notifications.find(notification => notification.type === 'ACHIEVEMENT_MOUNT_MASTER')).to.exist;
+ expect(user.notifications.find(notification => notification.type === 'ACHIEVEMENT_TRIAD_BINGO')).to.exist;
+ });
+
context('manage unallocated stats points notifications', () => {
it('doesn\'t add a notification if there are no points to allocate', async () => {
let user = new User();
@@ -536,11 +562,9 @@ describe('User Model', () => {
const today = moment('2017-12-06T00:00:00.000-06:00'); // 11 pm on 4 Texas
const req = {};
- req.header = () => {
- return timezoneOffset + 60;
- };
+ req.header = () => timezoneOffset + 60;
- const {daysMissed} = user.daysUserHasMissed(today, req);
+ const { daysMissed } = user.daysUserHasMissed(today, req);
expect(daysMissed).to.eql(0);
});
@@ -554,11 +578,9 @@ describe('User Model', () => {
const today = moment('2017-12-06T02:00:00.000-08:00');
const req = {};
- req.header = () => {
- return timezoneOffset + 60;
- };
+ req.header = () => timezoneOffset + 60;
- const {daysMissed} = user.daysUserHasMissed(today, req);
+ const { daysMissed } = user.daysUserHasMissed(today, req);
expect(daysMissed).to.eql(0);
});
diff --git a/test/api/unit/models/userNotification.test.js b/test/api/unit/models/userNotification.test.js
index 81140a9c26..c52a44bd21 100644
--- a/test/api/unit/models/userNotification.test.js
+++ b/test/api/unit/models/userNotification.test.js
@@ -5,10 +5,10 @@ describe('UserNotification Model', () => {
it('converts an array of notifications to a safe version', () => {
const notifications = [
null, // invalid, not an object
- {seen: true}, // invalid, no type or id
- {id: 123}, // invalid, no type
- {type: 'ABC'}, // invalid, no id
- new UserNotification({type: 'ABC', id: 123}), // valid
+ { seen: true }, // invalid, no type or id
+ { id: 123 }, // invalid, no type
+ { type: 'ABC' }, // invalid, no id
+ new UserNotification({ type: 'ABC', id: 123 }), // valid
];
const notificationsToJSON = UserNotification.convertNotificationsToSafeJson(notifications);
diff --git a/test/api/unit/models/webhook.test.js b/test/api/unit/models/webhook.test.js
index 06d69a256d..4a49b6213f 100644
--- a/test/api/unit/models/webhook.test.js
+++ b/test/api/unit/models/webhook.test.js
@@ -1,6 +1,6 @@
+import { v4 as generateUUID } from 'uuid';
import { model as Webhook } from '../../../../website/server/models/webhook';
import { BadRequest } from '../../../../website/server/libs/errors';
-import { v4 as generateUUID } from 'uuid';
import apiError from '../../../../website/server/libs/apiError';
describe('Webhook Model', () => {
@@ -33,7 +33,7 @@ describe('Webhook Model', () => {
it('it provides default values for options', () => {
delete config.options;
- let wh = new Webhook(config);
+ const wh = new Webhook(config);
wh.formatOptions(res);
@@ -49,7 +49,7 @@ describe('Webhook Model', () => {
it('provides missing task options', () => {
delete config.options.created;
- let wh = new Webhook(config);
+ const wh = new Webhook(config);
wh.formatOptions(res);
@@ -65,7 +65,7 @@ describe('Webhook Model', () => {
it('discards additional options', () => {
config.options.foo = 'another option';
- let wh = new Webhook(config);
+ const wh = new Webhook(config);
wh.formatOptions(res);
@@ -79,12 +79,12 @@ describe('Webhook Model', () => {
});
});
- ['created', 'updated', 'deleted', 'scored', 'checklistScored'].forEach((option) => {
- it(`validates that ${option} is a boolean`, (done) => {
+ ['created', 'updated', 'deleted', 'scored', 'checklistScored'].forEach(option => {
+ it(`validates that ${option} is a boolean`, done => {
config.options[option] = 'not a boolean';
try {
- let wh = new Webhook(config);
+ const wh = new Webhook(config);
wh.formatOptions(res);
} catch (err) {
@@ -115,7 +115,7 @@ describe('Webhook Model', () => {
it('it provides default values for options', () => {
delete config.options;
- let wh = new Webhook(config);
+ const wh = new Webhook(config);
wh.formatOptions(res);
@@ -129,7 +129,7 @@ describe('Webhook Model', () => {
it('provides missing user options', () => {
delete config.options.petHatched;
- let wh = new Webhook(config);
+ const wh = new Webhook(config);
wh.formatOptions(res);
@@ -143,7 +143,7 @@ describe('Webhook Model', () => {
it('discards additional options', () => {
config.options.foo = 'another option';
- let wh = new Webhook(config);
+ const wh = new Webhook(config);
wh.formatOptions(res);
@@ -155,12 +155,12 @@ describe('Webhook Model', () => {
});
});
- ['petHatched', 'petHatched', 'leveledUp'].forEach((option) => {
- it(`validates that ${option} is a boolean`, (done) => {
+ ['petHatched', 'petHatched', 'leveledUp'].forEach(option => {
+ it(`validates that ${option} is a boolean`, done => {
config.options[option] = 'not a boolean';
try {
- let wh = new Webhook(config);
+ const wh = new Webhook(config);
wh.formatOptions(res);
} catch (err) {
@@ -190,7 +190,7 @@ describe('Webhook Model', () => {
it('it provides default values for options', () => {
delete config.options;
- let wh = new Webhook(config);
+ const wh = new Webhook(config);
wh.formatOptions(res);
@@ -203,7 +203,7 @@ describe('Webhook Model', () => {
it('provides missing user options', () => {
delete config.options.questStarted;
- let wh = new Webhook(config);
+ const wh = new Webhook(config);
wh.formatOptions(res);
@@ -216,7 +216,7 @@ describe('Webhook Model', () => {
it('discards additional options', () => {
config.options.foo = 'another option';
- let wh = new Webhook(config);
+ const wh = new Webhook(config);
wh.formatOptions(res);
@@ -227,12 +227,12 @@ describe('Webhook Model', () => {
});
});
- ['questStarted', 'questFinished'].forEach((option) => {
- it(`validates that ${option} is a boolean`, (done) => {
+ ['questStarted', 'questFinished'].forEach(option => {
+ it(`validates that ${option} is a boolean`, done => {
config.options[option] = 'not a boolean';
try {
- let wh = new Webhook(config);
+ const wh = new Webhook(config);
wh.formatOptions(res);
} catch (err) {
@@ -259,7 +259,7 @@ describe('Webhook Model', () => {
});
it('creates options', () => {
- let wh = new Webhook(config);
+ const wh = new Webhook(config);
wh.formatOptions(res);
@@ -269,7 +269,7 @@ describe('Webhook Model', () => {
it('discards additional objects', () => {
config.options.foo = 'another thing';
- let wh = new Webhook(config);
+ const wh = new Webhook(config);
wh.formatOptions(res);
@@ -279,11 +279,11 @@ describe('Webhook Model', () => {
});
});
- it('requires groupId option to be a uuid', (done) => {
+ it('requires groupId option to be a uuid', done => {
config.options.groupId = 'not a uuid';
try {
- let wh = new Webhook(config);
+ const wh = new Webhook(config);
wh.formatOptions(res);
} catch (err) {
@@ -310,7 +310,7 @@ describe('Webhook Model', () => {
it('discards additional objects', () => {
config.options.foo = 'another thing';
- let wh = new Webhook(config);
+ const wh = new Webhook(config);
wh.formatOptions(res);
diff --git a/test/api/v3/integration/challenges/DELETE-challenges_challengeId.test.js b/test/api/v3/integration/challenges/DELETE-challenges_challengeId.test.js
index 15d8751e5a..5e1f9ce9e0 100644
--- a/test/api/v3/integration/challenges/DELETE-challenges_challengeId.test.js
+++ b/test/api/v3/integration/challenges/DELETE-challenges_challengeId.test.js
@@ -1,3 +1,4 @@
+import { v4 as generateUUID } from 'uuid';
import {
generateUser,
generateChallenge,
@@ -6,11 +7,10 @@ import {
checkExistence,
translate as t,
} from '../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
describe('DELETE /challenges/:challengeId', () => {
it('returns error when challengeId is not a valid UUID', async () => {
- let user = await generateUser();
+ const user = await generateUser();
await expect(user.del('/challenges/test')).to.eventually.be.rejected.and.eql({
code: 400,
error: 'BadRequest',
@@ -19,7 +19,7 @@ describe('DELETE /challenges/:challengeId', () => {
});
it('returns error when challengeId is not for a valid challenge', async () => {
- let user = await generateUser();
+ const user = await generateUser();
await expect(user.del(`/challenges/${generateUUID()}`)).to.eventually.be.rejected.and.eql({
code: 404,
@@ -32,10 +32,10 @@ describe('DELETE /challenges/:challengeId', () => {
let groupLeader;
let group;
let challenge;
- let taskText = 'A challenge task text';
+ const taskText = 'A challenge task text';
beforeEach(async () => {
- let populatedGroup = await createAndPopulateGroup();
+ const populatedGroup = await createAndPopulateGroup();
groupLeader = populatedGroup.groupLeader;
group = populatedGroup.group;
@@ -44,14 +44,14 @@ describe('DELETE /challenges/:challengeId', () => {
await groupLeader.post(`/challenges/${challenge._id}/join`);
await groupLeader.post(`/tasks/challenge/${challenge._id}`, [
- {type: 'habit', text: taskText},
+ { type: 'habit', text: taskText },
]);
await challenge.sync();
});
it('returns an error when user doesn\'t have permissions to delete the challenge', async () => {
- let user = await generateUser();
+ const user = await generateUser();
await expect(user.del(`/challenges/${challenge._id}`)).to.eventually.be.rejected.and.eql({
code: 401,
@@ -69,7 +69,7 @@ describe('DELETE /challenges/:challengeId', () => {
});
it('refunds gems to group leader', async () => {
- let oldBalance = (await groupLeader.sync()).balance;
+ const oldBalance = (await groupLeader.sync()).balance;
await groupLeader.del(`/challenges/${challenge._id}`);
@@ -83,10 +83,8 @@ describe('DELETE /challenges/:challengeId', () => {
await sleep(0.5);
- let tasks = await groupLeader.get('/tasks/user');
- let testTask = _.find(tasks, (task) => {
- return task.text === taskText;
- });
+ const tasks = await groupLeader.get('/tasks/user');
+ const testTask = _.find(tasks, task => task.text === taskText);
expect(testTask.challenge.broken).to.eql('CHALLENGE_DELETED');
expect(testTask.challenge.winner).to.be.null;
diff --git a/test/api/v3/integration/challenges/GET-challenges_challengeId.test.js b/test/api/v3/integration/challenges/GET-challenges_challengeId.test.js
index 2f3e219592..7f70513da8 100644
--- a/test/api/v3/integration/challenges/GET-challenges_challengeId.test.js
+++ b/test/api/v3/integration/challenges/GET-challenges_challengeId.test.js
@@ -1,14 +1,14 @@
+import { v4 as generateUUID } from 'uuid';
import {
generateUser,
createAndPopulateGroup,
generateChallenge,
translate as t,
} from '../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
describe('GET /challenges/:challengeId', () => {
it('fails if challenge doesn\'t exists', async () => {
- let user = await generateUser();
+ const user = await generateUser();
await expect(user.get(`/challenges/${generateUUID()}`)).to.eventually.be.rejected.and.eql({
code: 404,
error: 'NotFound',
@@ -25,8 +25,8 @@ describe('GET /challenges/:challengeId', () => {
beforeEach(async () => {
user = await generateUser();
- let populatedGroup = await createAndPopulateGroup({
- groupDetails: {type: 'guild', privacy: 'public'},
+ const populatedGroup = await createAndPopulateGroup({
+ groupDetails: { type: 'guild', privacy: 'public' },
});
groupLeader = populatedGroup.groupLeader;
@@ -38,7 +38,7 @@ describe('GET /challenges/:challengeId', () => {
it('should return challenge data', async () => {
await challenge.sync();
- let chal = await user.get(`/challenges/${challenge._id}`);
+ const chal = await user.get(`/challenges/${challenge._id}`);
expect(chal.memberCount).to.equal(challenge.memberCount);
expect(chal.name).to.equal(challenge.name);
expect(chal._id).to.equal(challenge._id);
@@ -46,7 +46,7 @@ describe('GET /challenges/:challengeId', () => {
expect(chal.leader).to.eql({
_id: groupLeader._id,
id: groupLeader._id,
- profile: {name: groupLeader.profile.name},
+ profile: { name: groupLeader.profile.name },
auth: {
local: {
username: groupLeader.auth.local.username,
@@ -81,8 +81,8 @@ describe('GET /challenges/:challengeId', () => {
beforeEach(async () => {
nonMember = await generateUser();
- let populatedGroup = await createAndPopulateGroup({
- groupDetails: {type: 'guild', privacy: 'private'},
+ const populatedGroup = await createAndPopulateGroup({
+ groupDetails: { type: 'guild', privacy: 'private' },
members: 2,
});
@@ -90,8 +90,8 @@ describe('GET /challenges/:challengeId', () => {
group = populatedGroup.group;
members = populatedGroup.members;
- challengeLeader = members[0];
- otherMember = members[1];
+ challengeLeader = members[0]; // eslint-disable-line prefer-destructuring
+ otherMember = members[1]; // eslint-disable-line prefer-destructuring
challenge = await generateChallenge(challengeLeader, group);
});
@@ -105,14 +105,14 @@ describe('GET /challenges/:challengeId', () => {
});
it('returns challenge data for any user in the guild', async () => {
- let chal = await otherMember.get(`/challenges/${challenge._id}`);
+ const chal = await otherMember.get(`/challenges/${challenge._id}`);
expect(chal.name).to.equal(challenge.name);
expect(chal._id).to.equal(challenge._id);
expect(chal.leader).to.eql({
_id: challengeLeader._id,
id: challengeLeader._id,
- profile: {name: challengeLeader.profile.name},
+ profile: { name: challengeLeader.profile.name },
auth: {
local: {
username: challengeLeader.auth.local.username,
@@ -139,14 +139,14 @@ describe('GET /challenges/:challengeId', () => {
await challengeLeader.sync();
expect(challengeLeader.guilds).to.be.empty; // check that leaving worked
- let chal = await challengeLeader.get(`/challenges/${challenge._id}`);
+ const chal = await challengeLeader.get(`/challenges/${challenge._id}`);
expect(chal.name).to.equal(challenge.name);
expect(chal._id).to.equal(challenge._id);
expect(chal.leader).to.eql({
_id: challengeLeader._id,
id: challengeLeader._id,
- profile: {name: challengeLeader.profile.name},
+ profile: { name: challengeLeader.profile.name },
auth: {
local: {
username: challengeLeader.auth.local.username,
@@ -171,8 +171,8 @@ describe('GET /challenges/:challengeId', () => {
beforeEach(async () => {
nonMember = await generateUser();
- let populatedGroup = await createAndPopulateGroup({
- groupDetails: {type: 'party', privacy: 'private'},
+ const populatedGroup = await createAndPopulateGroup({
+ groupDetails: { type: 'party', privacy: 'private' },
members: 2,
});
@@ -180,8 +180,8 @@ describe('GET /challenges/:challengeId', () => {
group = populatedGroup.group;
members = populatedGroup.members;
- challengeLeader = members[0];
- otherMember = members[1];
+ challengeLeader = members[0]; // eslint-disable-line prefer-destructuring
+ otherMember = members[1]; // eslint-disable-line prefer-destructuring
challenge = await generateChallenge(challengeLeader, group);
});
@@ -195,14 +195,14 @@ describe('GET /challenges/:challengeId', () => {
});
it('returns challenge data for any user in the party', async () => {
- let chal = await otherMember.get(`/challenges/${challenge._id}`);
+ const chal = await otherMember.get(`/challenges/${challenge._id}`);
expect(chal.name).to.equal(challenge.name);
expect(chal._id).to.equal(challenge._id);
expect(chal.leader).to.eql({
_id: challengeLeader._id,
id: challengeLeader._id,
- profile: {name: challengeLeader.profile.name},
+ profile: { name: challengeLeader.profile.name },
auth: {
local: {
username: challengeLeader.auth.local.username,
@@ -229,14 +229,14 @@ describe('GET /challenges/:challengeId', () => {
await challengeLeader.sync();
expect(challengeLeader.party._id).to.be.undefined; // check that leaving worked
- let chal = await challengeLeader.get(`/challenges/${challenge._id}`);
+ const chal = await challengeLeader.get(`/challenges/${challenge._id}`);
expect(chal.name).to.equal(challenge.name);
expect(chal._id).to.equal(challenge._id);
expect(chal.leader).to.eql({
_id: challengeLeader._id,
id: challengeLeader._id,
- profile: {name: challengeLeader.profile.name},
+ profile: { name: challengeLeader.profile.name },
auth: {
local: {
username: challengeLeader.auth.local.username,
diff --git a/test/api/v3/integration/challenges/GET-challenges_challengeId_export_csv.test.js b/test/api/v3/integration/challenges/GET-challenges_challengeId_export_csv.test.js
index 03702d5063..9fca02088e 100644
--- a/test/api/v3/integration/challenges/GET-challenges_challengeId_export_csv.test.js
+++ b/test/api/v3/integration/challenges/GET-challenges_challengeId_export_csv.test.js
@@ -1,3 +1,4 @@
+import { v4 as generateUUID } from 'uuid';
import {
generateUser,
createAndPopulateGroup,
@@ -5,7 +6,6 @@ import {
translate as t,
sleep,
} from '../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
describe('GET /challenges/:challengeId/export/csv', () => {
let groupLeader;
@@ -15,7 +15,7 @@ describe('GET /challenges/:challengeId/export/csv', () => {
let user;
beforeEach(async () => {
- let populatedGroup = await createAndPopulateGroup({
+ const populatedGroup = await createAndPopulateGroup({
members: 3,
});
@@ -30,8 +30,8 @@ describe('GET /challenges/:challengeId/export/csv', () => {
await members[2].post(`/challenges/${challenge._id}/join`);
await groupLeader.post(`/tasks/challenge/${challenge._id}`, [
- {type: 'habit', text: 'Task 1'},
- {type: 'todo', text: 'Task 2'},
+ { type: 'habit', text: 'Task 1' },
+ { type: 'todo', text: 'Task 2' },
]);
await sleep(0.5); // Make sure tasks are synced to the users
await members[0].sync();
@@ -74,7 +74,7 @@ describe('GET /challenges/:challengeId/export/csv', () => {
});
it('should successfully return when it contains erroneous residue user data', async () => {
- await members[0].update({challenges: []});
+ await members[0].update({ challenges: [] });
const res = await members[1].get(`/challenges/${challenge._id}/export/csv`);
const sortedMembers = _.sortBy([members[1], members[2], groupLeader], '_id');
const splitRes = res.split('\n');
diff --git a/test/api/v3/integration/challenges/GET-challenges_challengeId_members.test.js b/test/api/v3/integration/challenges/GET-challenges_challengeId_members.test.js
index 97ed8236fc..776f0db1b0 100644
--- a/test/api/v3/integration/challenges/GET-challenges_challengeId_members.test.js
+++ b/test/api/v3/integration/challenges/GET-challenges_challengeId_members.test.js
@@ -1,3 +1,4 @@
+import { v4 as generateUUID } from 'uuid';
import {
generateUser,
generateGroup,
@@ -5,7 +6,6 @@ import {
generateChallenge,
translate as t,
} from '../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
describe('GET /challenges/:challengeId/members', () => {
let user;
@@ -31,9 +31,9 @@ describe('GET /challenges/:challengeId/members', () => {
});
it('fails if user isn\'t in the private group and isn\'t challenge leader', async () => {
- let group = await generateGroup(user, {type: 'party', privacy: 'private'});
- let challenge = await generateChallenge(user, group);
- let anotherUser = await generateUser();
+ const group = await generateGroup(user, { type: 'party', privacy: 'private' });
+ const challenge = await generateChallenge(user, group);
+ const anotherUser = await generateUser();
await expect(anotherUser.get(`/challenges/${challenge._id}/members`)).to.eventually.be.rejected.and.eql({
code: 404,
@@ -43,23 +43,23 @@ describe('GET /challenges/:challengeId/members', () => {
});
it('works if user isn\'t in the private group but is challenge leader', async () => {
- let populatedGroup = await createAndPopulateGroup({
- groupDetails: {type: 'party', privacy: 'private'},
+ const populatedGroup = await createAndPopulateGroup({
+ groupDetails: { type: 'party', privacy: 'private' },
members: 1,
});
- let groupLeader = populatedGroup.groupLeader;
- let challengeLeader = populatedGroup.members[0];
- let challenge = await generateChallenge(challengeLeader, populatedGroup.group);
+ const { groupLeader } = populatedGroup;
+ const challengeLeader = populatedGroup.members[0];
+ const challenge = await generateChallenge(challengeLeader, populatedGroup.group);
await groupLeader.post(`/challenges/${challenge._id}/join`);
await challengeLeader.post('/groups/party/leave');
await challengeLeader.sync();
expect(challengeLeader.party._id).to.be.undefined; // check that leaving worked
- let res = await challengeLeader.get(`/challenges/${challenge._id}/members`);
+ const res = await challengeLeader.get(`/challenges/${challenge._id}/members`);
expect(res[0]).to.eql({
_id: groupLeader._id,
id: groupLeader._id,
- profile: {name: groupLeader.profile.name},
+ profile: { name: groupLeader.profile.name },
auth: {
local: {
username: groupLeader.auth.local.username,
@@ -72,15 +72,15 @@ describe('GET /challenges/:challengeId/members', () => {
});
it('works with challenges belonging to public guild', async () => {
- let leader = await generateUser({balance: 4});
- let group = await generateGroup(leader, {type: 'guild', privacy: 'public', name: generateUUID()});
- let challenge = await generateChallenge(leader, group);
+ const leader = await generateUser({ balance: 4 });
+ const group = await generateGroup(leader, { type: 'guild', privacy: 'public', name: generateUUID() });
+ const challenge = await generateChallenge(leader, group);
await leader.post(`/challenges/${challenge._id}/join`);
- let res = await user.get(`/challenges/${challenge._id}/members`);
+ const res = await user.get(`/challenges/${challenge._id}/members`);
expect(res[0]).to.eql({
_id: leader._id,
id: leader._id,
- profile: {name: leader.profile.name},
+ profile: { name: leader.profile.name },
auth: {
local: {
username: leader.auth.local.username,
@@ -95,15 +95,15 @@ describe('GET /challenges/:challengeId/members', () => {
});
it('populates only some fields', async () => {
- let anotherUser = await generateUser({balance: 3});
- let group = await generateGroup(anotherUser, {type: 'guild', privacy: 'public', name: generateUUID()});
- let challenge = await generateChallenge(anotherUser, group);
+ const anotherUser = await generateUser({ balance: 3 });
+ const group = await generateGroup(anotherUser, { type: 'guild', privacy: 'public', name: generateUUID() });
+ const challenge = await generateChallenge(anotherUser, group);
await anotherUser.post(`/challenges/${challenge._id}/join`);
- let res = await user.get(`/challenges/${challenge._id}/members`);
+ const res = await user.get(`/challenges/${challenge._id}/members`);
expect(res[0]).to.eql({
_id: anotherUser._id,
id: anotherUser._id,
- profile: {name: anotherUser.profile.name},
+ profile: { name: anotherUser.profile.name },
auth: {
local: {
username: anotherUser.auth.local.username,
@@ -118,17 +118,17 @@ describe('GET /challenges/:challengeId/members', () => {
});
it('returns only first 30 members if req.query.includeAllMembers is not true', async () => {
- let group = await generateGroup(user, {type: 'party', name: generateUUID()});
- let challenge = await generateChallenge(user, group);
+ const group = await generateGroup(user, { type: 'party', name: generateUUID() });
+ const challenge = await generateChallenge(user, group);
await user.post(`/challenges/${challenge._id}/join`);
- let usersToGenerate = [];
- for (let i = 0; i < 31; i++) {
- usersToGenerate.push(generateUser({challenges: [challenge._id]}));
+ const usersToGenerate = [];
+ for (let i = 0; i < 31; i += 1) {
+ usersToGenerate.push(generateUser({ challenges: [challenge._id] }));
}
await Promise.all(usersToGenerate);
- let res = await user.get(`/challenges/${challenge._id}/members?includeAllMembers=not-true`);
+ const res = await user.get(`/challenges/${challenge._id}/members?includeAllMembers=not-true`);
expect(res.length).to.equal(30);
res.forEach(member => {
expect(member).to.have.all.keys(['_id', 'auth', 'flags', 'id', 'profile']);
@@ -137,17 +137,17 @@ describe('GET /challenges/:challengeId/members', () => {
});
it('returns only first 30 members if req.query.includeAllMembers is not defined', async () => {
- let group = await generateGroup(user, {type: 'party', name: generateUUID()});
- let challenge = await generateChallenge(user, group);
+ const group = await generateGroup(user, { type: 'party', name: generateUUID() });
+ const challenge = await generateChallenge(user, group);
await user.post(`/challenges/${challenge._id}/join`);
- let usersToGenerate = [];
- for (let i = 0; i < 31; i++) {
- usersToGenerate.push(generateUser({challenges: [challenge._id]}));
+ const usersToGenerate = [];
+ for (let i = 0; i < 31; i += 1) {
+ usersToGenerate.push(generateUser({ challenges: [challenge._id] }));
}
await Promise.all(usersToGenerate);
- let res = await user.get(`/challenges/${challenge._id}/members`);
+ const res = await user.get(`/challenges/${challenge._id}/members`);
expect(res.length).to.equal(30);
res.forEach(member => {
expect(member).to.have.all.keys(['_id', 'auth', 'flags', 'id', 'profile']);
@@ -156,17 +156,17 @@ describe('GET /challenges/:challengeId/members', () => {
});
it('returns all members if req.query.includeAllMembers is true', async () => {
- let group = await generateGroup(user, {type: 'party', name: generateUUID()});
- let challenge = await generateChallenge(user, group);
+ const group = await generateGroup(user, { type: 'party', name: generateUUID() });
+ const challenge = await generateChallenge(user, group);
await user.post(`/challenges/${challenge._id}/join`);
- let usersToGenerate = [];
- for (let i = 0; i < 31; i++) {
- usersToGenerate.push(generateUser({challenges: [challenge._id]}));
+ const usersToGenerate = [];
+ for (let i = 0; i < 31; i += 1) {
+ usersToGenerate.push(generateUser({ challenges: [challenge._id] }));
}
await Promise.all(usersToGenerate);
- let res = await user.get(`/challenges/${challenge._id}/members?includeAllMembers=true`);
+ const res = await user.get(`/challenges/${challenge._id}/members?includeAllMembers=true`);
expect(res.length).to.equal(32);
res.forEach(member => {
expect(member).to.have.all.keys(['_id', 'auth', 'flags', 'id', 'profile']);
@@ -174,47 +174,48 @@ describe('GET /challenges/:challengeId/members', () => {
});
});
- it('supports using req.query.lastId to get more members', async function () {
+ it('supports using req.query.lastId to get more members', async function test () {
this.timeout(30000); // @TODO: times out after 8 seconds
- let group = await generateGroup(user, {type: 'party', name: generateUUID()});
- let challenge = await generateChallenge(user, group);
+ const group = await generateGroup(user, { type: 'party', name: generateUUID() });
+ const challenge = await generateChallenge(user, group);
await user.post(`/challenges/${challenge._id}/join`);
- let usersToGenerate = [];
- for (let i = 0; i < 57; i++) {
- usersToGenerate.push(generateUser({challenges: [challenge._id]}));
+ const usersToGenerate = [];
+ for (let i = 0; i < 57; i += 1) {
+ usersToGenerate.push(generateUser({ challenges: [challenge._id] }));
}
- let generatedUsers = await Promise.all(usersToGenerate); // Group has 59 members (1 is the leader)
- let expectedIds = [user._id].concat(generatedUsers.map(generatedUser => generatedUser._id));
+ // Group has 59 members (1 is the leader)
+ const generatedUsers = await Promise.all(usersToGenerate);
+ const expectedIds = [user._id].concat(generatedUsers.map(generatedUser => generatedUser._id));
- let res = await user.get(`/challenges/${challenge._id}/members`);
+ const res = await user.get(`/challenges/${challenge._id}/members`);
expect(res.length).to.equal(30);
- let res2 = await user.get(`/challenges/${challenge._id}/members?lastId=${res[res.length - 1]._id}`);
+ const res2 = await user.get(`/challenges/${challenge._id}/members?lastId=${res[res.length - 1]._id}`);
expect(res2.length).to.equal(28);
- let resIds = res.concat(res2).map(member => member._id);
+ const resIds = res.concat(res2).map(member => member._id);
expect(resIds).to.eql(expectedIds.sort());
});
it('supports using req.query.search to get search members', async () => {
- let group = await generateGroup(user, {type: 'party', name: generateUUID()});
- let challenge = await generateChallenge(user, group);
+ const group = await generateGroup(user, { type: 'party', name: generateUUID() });
+ const challenge = await generateChallenge(user, group);
await user.post(`/challenges/${challenge._id}/join`);
- let usersToGenerate = [];
- for (let i = 0; i < 3; i++) {
+ const usersToGenerate = [];
+ for (let i = 0; i < 3; i += 1) {
usersToGenerate.push(generateUser({
challenges: [challenge._id],
'profile.name': `${i}profilename`,
}));
}
- let generatedUsers = await Promise.all(usersToGenerate);
- let profileNames = generatedUsers.map(generatedUser => generatedUser.profile.name);
+ const generatedUsers = await Promise.all(usersToGenerate);
+ const profileNames = generatedUsers.map(generatedUser => generatedUser.profile.name);
- let firstProfileName = profileNames[0];
- let nameToSearch = firstProfileName.substring(0, 4);
+ const firstProfileName = profileNames[0];
+ const nameToSearch = firstProfileName.substring(0, 4);
- let response = await user.get(`/challenges/${challenge._id}/members?search=${nameToSearch}`);
+ const response = await user.get(`/challenges/${challenge._id}/members?search=${nameToSearch}`);
expect(response[0].profile.name).to.eql(firstProfileName);
});
});
diff --git a/test/api/v3/integration/challenges/GET-challenges_challengeId_members_memberId.test.js b/test/api/v3/integration/challenges/GET-challenges_challengeId_members_memberId.test.js
index eef16de7e1..98455f66d3 100644
--- a/test/api/v3/integration/challenges/GET-challenges_challengeId_members_memberId.test.js
+++ b/test/api/v3/integration/challenges/GET-challenges_challengeId_members_memberId.test.js
@@ -1,10 +1,10 @@
+import { v4 as generateUUID } from 'uuid';
import {
generateUser,
generateChallenge,
generateGroup,
translate as t,
} from '../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
describe('GET /challenges/:challengeId/members/:memberId', () => {
let user;
@@ -30,16 +30,16 @@ describe('GET /challenges/:challengeId/members/:memberId', () => {
});
it('fails if member doesn\'t exists', async () => {
- let userId = generateUUID();
+ const userId = generateUUID();
await expect(user.get(`/challenges/${generateUUID()}/members/${userId}`)).to.eventually.be.rejected.and.eql({
code: 404,
error: 'NotFound',
- message: t('userWithIDNotFound', {userId}),
+ message: t('userWithIDNotFound', { userId }),
});
});
it('fails if challenge doesn\'t exists', async () => {
- let member = await generateUser();
+ const member = await generateUser();
await expect(user.get(`/challenges/${generateUUID()}/members/${member._id}`)).to.eventually.be.rejected.and.eql({
code: 404,
error: 'NotFound',
@@ -48,11 +48,11 @@ describe('GET /challenges/:challengeId/members/:memberId', () => {
});
it('fails if user doesn\'t have access to the challenge', async () => {
- let group = await generateGroup(user, {type: 'party', name: generateUUID()});
- let challenge = await generateChallenge(user, group);
+ const group = await generateGroup(user, { type: 'party', name: generateUUID() });
+ const challenge = await generateChallenge(user, group);
await user.post(`/challenges/${challenge._id}/join`);
- let anotherUser = await generateUser();
- let member = await generateUser();
+ const anotherUser = await generateUser();
+ const member = await generateUser();
await expect(anotherUser.get(`/challenges/${challenge._id}/members/${member._id}`)).to.eventually.be.rejected.and.eql({
code: 404,
error: 'NotFound',
@@ -61,10 +61,10 @@ describe('GET /challenges/:challengeId/members/:memberId', () => {
});
it('fails if member is not part of the challenge', async () => {
- let group = await generateGroup(user, {type: 'party', name: generateUUID()});
- let challenge = await generateChallenge(user, group);
+ const group = await generateGroup(user, { type: 'party', name: generateUUID() });
+ const challenge = await generateChallenge(user, group);
await user.post(`/challenges/${challenge._id}/join`);
- let member = await generateUser();
+ const member = await generateUser();
await expect(user.get(`/challenges/${challenge._id}/members/${member._id}`)).to.eventually.be.rejected.and.eql({
code: 404,
error: 'NotFound',
@@ -73,37 +73,37 @@ describe('GET /challenges/:challengeId/members/:memberId', () => {
});
it('works with challenges belonging to a public guild', async () => {
- let groupLeader = await generateUser({balance: 4});
- let group = await generateGroup(groupLeader, {type: 'guild', privacy: 'public', name: generateUUID()});
- let challenge = await generateChallenge(groupLeader, group);
+ const groupLeader = await generateUser({ balance: 4 });
+ const group = await generateGroup(groupLeader, { type: 'guild', privacy: 'public', name: generateUUID() });
+ const challenge = await generateChallenge(groupLeader, group);
await groupLeader.post(`/challenges/${challenge._id}/join`);
- let taskText = 'Test Text';
- await groupLeader.post(`/tasks/challenge/${challenge._id}`, [{type: 'habit', text: taskText}]);
+ const taskText = 'Test Text';
+ await groupLeader.post(`/tasks/challenge/${challenge._id}`, [{ type: 'habit', text: taskText }]);
- let memberProgress = await user.get(`/challenges/${challenge._id}/members/${groupLeader._id}`);
+ const memberProgress = await user.get(`/challenges/${challenge._id}/members/${groupLeader._id}`);
expect(memberProgress).to.have.all.keys(['_id', 'auth', 'flags', 'id', 'profile', 'tasks']);
expect(memberProgress.profile).to.have.all.keys(['name']);
expect(memberProgress.tasks.length).to.equal(1);
});
it('returns the member tasks for the challenges', async () => {
- let group = await generateGroup(user, {type: 'party', name: generateUUID()});
- let challenge = await generateChallenge(user, group);
+ const group = await generateGroup(user, { type: 'party', name: generateUUID() });
+ const challenge = await generateChallenge(user, group);
await user.post(`/challenges/${challenge._id}/join`);
- await user.post(`/tasks/challenge/${challenge._id}`, [{type: 'habit', text: 'Test Text'}]);
+ await user.post(`/tasks/challenge/${challenge._id}`, [{ type: 'habit', text: 'Test Text' }]);
- let memberProgress = await user.get(`/challenges/${challenge._id}/members/${user._id}`);
- let chalTasks = await user.get(`/tasks/challenge/${challenge._id}`);
+ const memberProgress = await user.get(`/challenges/${challenge._id}/members/${user._id}`);
+ const chalTasks = await user.get(`/tasks/challenge/${challenge._id}`);
expect(memberProgress.tasks.length).to.equal(chalTasks.length);
expect(memberProgress.tasks[0].challenge.id).to.equal(challenge._id);
expect(memberProgress.tasks[0].challenge.taskId).to.equal(chalTasks[0]._id);
});
it('returns the tasks without the tags and checklist', async () => {
- let group = await generateGroup(user, {type: 'party', name: generateUUID()});
- let challenge = await generateChallenge(user, group);
+ const group = await generateGroup(user, { type: 'party', name: generateUUID() });
+ const challenge = await generateChallenge(user, group);
await user.post(`/challenges/${challenge._id}/join`);
- let taskText = 'Test Text';
+ const taskText = 'Test Text';
await user.post(`/tasks/challenge/${challenge._id}`, [{
type: 'todo',
text: taskText,
@@ -115,7 +115,7 @@ describe('GET /challenges/:challengeId/members/:memberId', () => {
],
}]);
- let memberProgress = await user.get(`/challenges/${challenge._id}/members/${user._id}`);
+ const memberProgress = await user.get(`/challenges/${challenge._id}/members/${user._id}`);
expect(memberProgress.tasks[0]).not.to.have.key('tags');
expect(memberProgress.tasks[0].checklist).to.eql([]);
});
diff --git a/test/api/v3/integration/challenges/GET-challenges_group_groupid.test.js b/test/api/v3/integration/challenges/GET-challenges_group_groupid.test.js
index 9fc903c925..19ee8798c9 100644
--- a/test/api/v3/integration/challenges/GET-challenges_group_groupid.test.js
+++ b/test/api/v3/integration/challenges/GET-challenges_group_groupid.test.js
@@ -8,10 +8,11 @@ import { TAVERN_ID } from '../../../../../website/common/script/constants';
describe('GET challenges/groups/:groupId', () => {
context('Public Guild', () => {
- let publicGuild, user, nonMember, challenge, challenge2;
+ let publicGuild; let user; let nonMember; let challenge; let
+ challenge2;
before(async () => {
- let { group, groupLeader } = await createAndPopulateGroup({
+ const { group, groupLeader } = await createAndPopulateGroup({
groupDetails: {
name: 'TestGuild',
type: 'guild',
@@ -31,14 +32,14 @@ describe('GET challenges/groups/:groupId', () => {
});
it('should return group challenges for non member with populated leader', async () => {
- let challenges = await nonMember.get(`/challenges/groups/${publicGuild._id}`);
+ const challenges = await nonMember.get(`/challenges/groups/${publicGuild._id}`);
- let foundChallenge1 = _.find(challenges, { _id: challenge._id });
+ const foundChallenge1 = _.find(challenges, { _id: challenge._id });
expect(foundChallenge1).to.exist;
expect(foundChallenge1.leader).to.eql({
_id: publicGuild.leader._id,
id: publicGuild.leader._id,
- profile: {name: user.profile.name},
+ profile: { name: user.profile.name },
auth: {
local: {
username: user.auth.local.username,
@@ -48,12 +49,12 @@ describe('GET challenges/groups/:groupId', () => {
verifiedUsername: true,
},
});
- let foundChallenge2 = _.find(challenges, { _id: challenge2._id });
+ const foundChallenge2 = _.find(challenges, { _id: challenge2._id });
expect(foundChallenge2).to.exist;
expect(foundChallenge2.leader).to.eql({
_id: publicGuild.leader._id,
id: publicGuild.leader._id,
- profile: {name: user.profile.name},
+ profile: { name: user.profile.name },
auth: {
local: {
username: user.auth.local.username,
@@ -66,14 +67,14 @@ describe('GET challenges/groups/:groupId', () => {
});
it('should return group challenges for member with populated leader', async () => {
- let challenges = await user.get(`/challenges/groups/${publicGuild._id}`);
+ const challenges = await user.get(`/challenges/groups/${publicGuild._id}`);
- let foundChallenge1 = _.find(challenges, { _id: challenge._id });
+ const foundChallenge1 = _.find(challenges, { _id: challenge._id });
expect(foundChallenge1).to.exist;
expect(foundChallenge1.leader).to.eql({
_id: publicGuild.leader._id,
id: publicGuild.leader._id,
- profile: {name: user.profile.name},
+ profile: { name: user.profile.name },
auth: {
local: {
username: user.auth.local.username,
@@ -83,12 +84,12 @@ describe('GET challenges/groups/:groupId', () => {
verifiedUsername: true,
},
});
- let foundChallenge2 = _.find(challenges, { _id: challenge2._id });
+ const foundChallenge2 = _.find(challenges, { _id: challenge2._id });
expect(foundChallenge2).to.exist;
expect(foundChallenge2.leader).to.eql({
_id: publicGuild.leader._id,
id: publicGuild.leader._id,
- profile: {name: user.profile.name},
+ profile: { name: user.profile.name },
auth: {
local: {
username: user.auth.local.username,
@@ -106,7 +107,7 @@ describe('GET challenges/groups/:groupId', () => {
let foundChallengeIndex = _.findIndex(challenges, { _id: challenge2._id });
expect(foundChallengeIndex).to.eql(0);
- let newChallenge = await generateChallenge(user, publicGuild);
+ const newChallenge = await generateChallenge(user, publicGuild);
await user.post(`/challenges/${newChallenge._id}/join`);
challenges = await user.get(`/challenges/groups/${publicGuild._id}`);
@@ -117,10 +118,11 @@ describe('GET challenges/groups/:groupId', () => {
});
context('Private Guild', () => {
- let privateGuild, user, nonMember, challenge, challenge2;
+ let privateGuild; let user; let nonMember; let challenge; let
+ challenge2;
before(async () => {
- let { group, groupLeader } = await createAndPopulateGroup({
+ const { group, groupLeader } = await createAndPopulateGroup({
groupDetails: {
name: 'TestPrivateGuild',
type: 'guild',
@@ -149,14 +151,14 @@ describe('GET challenges/groups/:groupId', () => {
});
it('should return group challenges for member with populated leader', async () => {
- let challenges = await user.get(`/challenges/groups/${privateGuild._id}`);
+ const challenges = await user.get(`/challenges/groups/${privateGuild._id}`);
- let foundChallenge1 = _.find(challenges, { _id: challenge._id });
+ const foundChallenge1 = _.find(challenges, { _id: challenge._id });
expect(foundChallenge1).to.exist;
expect(foundChallenge1.leader).to.eql({
_id: privateGuild.leader._id,
id: privateGuild.leader._id,
- profile: {name: user.profile.name},
+ profile: { name: user.profile.name },
auth: {
local: {
username: user.auth.local.username,
@@ -166,12 +168,12 @@ describe('GET challenges/groups/:groupId', () => {
verifiedUsername: true,
},
});
- let foundChallenge2 = _.find(challenges, { _id: challenge2._id });
+ const foundChallenge2 = _.find(challenges, { _id: challenge2._id });
expect(foundChallenge2).to.exist;
expect(foundChallenge2.leader).to.eql({
_id: privateGuild.leader._id,
id: privateGuild.leader._id,
- profile: {name: user.profile.name},
+ profile: { name: user.profile.name },
auth: {
local: {
username: user.auth.local.username,
@@ -185,10 +187,11 @@ describe('GET challenges/groups/:groupId', () => {
});
context('official challenge is present', () => {
- let publicGuild, user, officialChallenge, challenge, challenge2;
+ let publicGuild; let user; let officialChallenge; let challenge; let
+ challenge2;
before(async () => {
- let { group, groupLeader } = await createAndPopulateGroup({
+ const { group, groupLeader } = await createAndPopulateGroup({
groupDetails: {
name: 'TestGuild',
type: 'guild',
@@ -218,9 +221,9 @@ describe('GET challenges/groups/:groupId', () => {
});
it('should return official challenges first', async () => {
- let challenges = await user.get(`/challenges/groups/${publicGuild._id}`);
+ const challenges = await user.get(`/challenges/groups/${publicGuild._id}`);
- let foundChallengeIndex = _.findIndex(challenges, { _id: officialChallenge._id });
+ const foundChallengeIndex = _.findIndex(challenges, { _id: officialChallenge._id });
expect(foundChallengeIndex).to.eql(0);
});
@@ -233,7 +236,7 @@ describe('GET challenges/groups/:groupId', () => {
foundChallengeIndex = _.findIndex(challenges, { _id: challenge2._id });
expect(foundChallengeIndex).to.eql(1);
- let newChallenge = await generateChallenge(user, publicGuild);
+ const newChallenge = await generateChallenge(user, publicGuild);
await user.post(`/challenges/${newChallenge._id}/join`);
challenges = await user.get(`/challenges/groups/${publicGuild._id}`);
@@ -244,10 +247,11 @@ describe('GET challenges/groups/:groupId', () => {
});
context('Party', () => {
- let party, user, nonMember, challenge, challenge2;
+ let party; let user; let nonMember; let challenge; let
+ challenge2;
before(async () => {
- let { group, groupLeader } = await createAndPopulateGroup({
+ const { group, groupLeader } = await createAndPopulateGroup({
groupDetails: {
name: 'TestParty',
type: 'party',
@@ -275,14 +279,14 @@ describe('GET challenges/groups/:groupId', () => {
});
it('should return group challenges for member with populated leader', async () => {
- let challenges = await user.get(`/challenges/groups/${party._id}`);
+ const challenges = await user.get(`/challenges/groups/${party._id}`);
- let foundChallenge1 = _.find(challenges, { _id: challenge._id });
+ const foundChallenge1 = _.find(challenges, { _id: challenge._id });
expect(foundChallenge1).to.exist;
expect(foundChallenge1.leader).to.eql({
_id: party.leader._id,
id: party.leader._id,
- profile: {name: user.profile.name},
+ profile: { name: user.profile.name },
auth: {
local: {
username: user.auth.local.username,
@@ -292,12 +296,12 @@ describe('GET challenges/groups/:groupId', () => {
verifiedUsername: true,
},
});
- let foundChallenge2 = _.find(challenges, { _id: challenge2._id });
+ const foundChallenge2 = _.find(challenges, { _id: challenge2._id });
expect(foundChallenge2).to.exist;
expect(foundChallenge2.leader).to.eql({
_id: party.leader._id,
id: party.leader._id,
- profile: {name: user.profile.name},
+ profile: { name: user.profile.name },
auth: {
local: {
username: user.auth.local.username,
@@ -310,14 +314,14 @@ describe('GET challenges/groups/:groupId', () => {
});
it('should return group challenges for member using ID "party"', async () => {
- let challenges = await user.get('/challenges/groups/party');
+ const challenges = await user.get('/challenges/groups/party');
- let foundChallenge1 = _.find(challenges, { _id: challenge._id });
+ const foundChallenge1 = _.find(challenges, { _id: challenge._id });
expect(foundChallenge1).to.exist;
expect(foundChallenge1.leader).to.eql({
_id: party.leader._id,
id: party.leader._id,
- profile: {name: user.profile.name},
+ profile: { name: user.profile.name },
auth: {
local: {
username: user.auth.local.username,
@@ -327,12 +331,12 @@ describe('GET challenges/groups/:groupId', () => {
verifiedUsername: true,
},
});
- let foundChallenge2 = _.find(challenges, { _id: challenge2._id });
+ const foundChallenge2 = _.find(challenges, { _id: challenge2._id });
expect(foundChallenge2).to.exist;
expect(foundChallenge2.leader).to.eql({
_id: party.leader._id,
id: party.leader._id,
- profile: {name: user.profile.name},
+ profile: { name: user.profile.name },
auth: {
local: {
username: user.auth.local.username,
@@ -346,28 +350,29 @@ describe('GET challenges/groups/:groupId', () => {
});
context('Tavern', () => {
- let tavern, user, challenge, challenge2;
+ let tavern; let user; let challenge; let
+ challenge2;
before(async () => {
user = await generateUser();
- await user.update({balance: 0.5});
+ await user.update({ balance: 0.5 });
tavern = await user.get(`/groups/${TAVERN_ID}`);
- challenge = await generateChallenge(user, tavern, {prize: 1});
+ challenge = await generateChallenge(user, tavern, { prize: 1 });
await user.post(`/challenges/${challenge._id}/join`);
- challenge2 = await generateChallenge(user, tavern, {prize: 1});
+ challenge2 = await generateChallenge(user, tavern, { prize: 1 });
await user.post(`/challenges/${challenge2._id}/join`);
});
it('should return tavern challenges with populated leader', async () => {
- let challenges = await user.get(`/challenges/groups/${TAVERN_ID}`);
+ const challenges = await user.get(`/challenges/groups/${TAVERN_ID}`);
- let foundChallenge1 = _.find(challenges, { _id: challenge._id });
+ const foundChallenge1 = _.find(challenges, { _id: challenge._id });
expect(foundChallenge1).to.exist;
expect(foundChallenge1.leader).to.eql({
_id: user._id,
id: user._id,
- profile: {name: user.profile.name},
+ profile: { name: user.profile.name },
auth: {
local: {
username: user.auth.local.username,
@@ -377,12 +382,12 @@ describe('GET challenges/groups/:groupId', () => {
verifiedUsername: true,
},
});
- let foundChallenge2 = _.find(challenges, { _id: challenge2._id });
+ const foundChallenge2 = _.find(challenges, { _id: challenge2._id });
expect(foundChallenge2).to.exist;
expect(foundChallenge2.leader).to.eql({
_id: user._id,
id: user._id,
- profile: {name: user.profile.name},
+ profile: { name: user.profile.name },
auth: {
local: {
username: user.auth.local.username,
@@ -395,14 +400,14 @@ describe('GET challenges/groups/:groupId', () => {
});
it('should return tavern challenges using ID "habitrpg', async () => {
- let challenges = await user.get('/challenges/groups/habitrpg');
+ const challenges = await user.get('/challenges/groups/habitrpg');
- let foundChallenge1 = _.find(challenges, { _id: challenge._id });
+ const foundChallenge1 = _.find(challenges, { _id: challenge._id });
expect(foundChallenge1).to.exist;
expect(foundChallenge1.leader).to.eql({
_id: user._id,
id: user._id,
- profile: {name: user.profile.name},
+ profile: { name: user.profile.name },
auth: {
local: {
username: user.auth.local.username,
@@ -412,12 +417,12 @@ describe('GET challenges/groups/:groupId', () => {
verifiedUsername: true,
},
});
- let foundChallenge2 = _.find(challenges, { _id: challenge2._id });
+ const foundChallenge2 = _.find(challenges, { _id: challenge2._id });
expect(foundChallenge2).to.exist;
expect(foundChallenge2.leader).to.eql({
_id: user._id,
id: user._id,
- profile: {name: user.profile.name},
+ profile: { name: user.profile.name },
auth: {
local: {
username: user.auth.local.username,
diff --git a/test/api/v3/integration/challenges/GET-challenges_user.test.js b/test/api/v3/integration/challenges/GET-challenges_user.test.js
index c42510f640..abb7b32804 100644
--- a/test/api/v3/integration/challenges/GET-challenges_user.test.js
+++ b/test/api/v3/integration/challenges/GET-challenges_user.test.js
@@ -6,10 +6,11 @@ import {
describe('GET challenges/user', () => {
context('no official challenges', () => {
- let user, member, nonMember, challenge, challenge2, publicGuild;
+ let user; let member; let nonMember; let challenge; let challenge2; let
+ publicGuild;
before(async () => {
- let { group, groupLeader, members } = await createAndPopulateGroup({
+ const { group, groupLeader, members } = await createAndPopulateGroup({
groupDetails: {
name: 'TestGuild',
type: 'guild',
@@ -20,7 +21,7 @@ describe('GET challenges/user', () => {
user = groupLeader;
publicGuild = group;
- member = members[0];
+ member = members[0]; // eslint-disable-line prefer-destructuring
nonMember = await generateUser();
challenge = await generateChallenge(user, group);
@@ -32,14 +33,14 @@ describe('GET challenges/user', () => {
it('should return challenges user has joined', async () => {
await nonMember.post(`/challenges/${challenge._id}/join`);
- let challenges = await nonMember.get('/challenges/user');
+ const challenges = await nonMember.get('/challenges/user');
- let foundChallenge = _.find(challenges, { _id: challenge._id });
+ const foundChallenge = _.find(challenges, { _id: challenge._id });
expect(foundChallenge).to.exist;
expect(foundChallenge.leader).to.eql({
_id: publicGuild.leader._id,
id: publicGuild.leader._id,
- profile: {name: user.profile.name},
+ profile: { name: user.profile.name },
auth: {
local: {
username: user.auth.local.username,
@@ -62,14 +63,14 @@ describe('GET challenges/user', () => {
});
it('should return challenges user has created', async () => {
- let challenges = await user.get('/challenges/user');
+ const challenges = await user.get('/challenges/user');
- let foundChallenge1 = _.find(challenges, { _id: challenge._id });
+ const foundChallenge1 = _.find(challenges, { _id: challenge._id });
expect(foundChallenge1).to.exist;
expect(foundChallenge1.leader).to.eql({
_id: publicGuild.leader._id,
id: publicGuild.leader._id,
- profile: {name: user.profile.name},
+ profile: { name: user.profile.name },
auth: {
local: {
username: user.auth.local.username,
@@ -89,12 +90,12 @@ describe('GET challenges/user', () => {
summary: publicGuild.name,
leader: publicGuild.leader._id,
});
- let foundChallenge2 = _.find(challenges, { _id: challenge2._id });
+ const foundChallenge2 = _.find(challenges, { _id: challenge2._id });
expect(foundChallenge2).to.exist;
expect(foundChallenge2.leader).to.eql({
_id: publicGuild.leader._id,
id: publicGuild.leader._id,
- profile: {name: user.profile.name},
+ profile: { name: user.profile.name },
auth: {
local: {
username: user.auth.local.username,
@@ -117,14 +118,14 @@ describe('GET challenges/user', () => {
});
it('should return challenges in user\'s group', async () => {
- let challenges = await member.get('/challenges/user');
+ const challenges = await member.get('/challenges/user');
- let foundChallenge1 = _.find(challenges, { _id: challenge._id });
+ const foundChallenge1 = _.find(challenges, { _id: challenge._id });
expect(foundChallenge1).to.exist;
expect(foundChallenge1.leader).to.eql({
_id: publicGuild.leader._id,
id: publicGuild.leader._id,
- profile: {name: user.profile.name},
+ profile: { name: user.profile.name },
auth: {
local: {
username: user.auth.local.username,
@@ -144,12 +145,12 @@ describe('GET challenges/user', () => {
summary: publicGuild.name,
leader: publicGuild.leader._id,
});
- let foundChallenge2 = _.find(challenges, { _id: challenge2._id });
+ const foundChallenge2 = _.find(challenges, { _id: challenge2._id });
expect(foundChallenge2).to.exist;
expect(foundChallenge2.leader).to.eql({
_id: publicGuild.leader._id,
id: publicGuild.leader._id,
- profile: {name: user.profile.name},
+ profile: { name: user.profile.name },
auth: {
local: {
username: user.auth.local.username,
@@ -172,12 +173,12 @@ describe('GET challenges/user', () => {
});
it('should not return challenges in user groups if we send member true param', async () => {
- let challenges = await member.get(`/challenges/user?member=${true}`);
+ const challenges = await member.get(`/challenges/user?member=${true}`);
- let foundChallenge1 = _.find(challenges, { _id: challenge._id });
+ const foundChallenge1 = _.find(challenges, { _id: challenge._id });
expect(foundChallenge1).to.not.exist;
- let foundChallenge2 = _.find(challenges, { _id: challenge2._id });
+ const foundChallenge2 = _.find(challenges, { _id: challenge2._id });
expect(foundChallenge2).to.not.exist;
});
@@ -187,7 +188,7 @@ describe('GET challenges/user', () => {
let foundChallengeIndex = _.findIndex(challenges, { _id: challenge2._id });
expect(foundChallengeIndex).to.eql(0);
- let newChallenge = await generateChallenge(user, publicGuild);
+ const newChallenge = await generateChallenge(user, publicGuild);
await user.post(`/challenges/${newChallenge._id}/join`);
challenges = await user.get('/challenges/user');
@@ -197,7 +198,7 @@ describe('GET challenges/user', () => {
});
it('should not return challenges user doesn\'t have access to', async () => {
- let { group, groupLeader } = await createAndPopulateGroup({
+ const { group, groupLeader } = await createAndPopulateGroup({
groupDetails: {
name: 'TestPrivateGuild',
summary: 'summary for TestPrivateGuild',
@@ -206,17 +207,17 @@ describe('GET challenges/user', () => {
},
});
- let privateChallenge = await generateChallenge(groupLeader, group);
+ const privateChallenge = await generateChallenge(groupLeader, group);
await groupLeader.post(`/challenges/${privateChallenge._id}/join`);
- let challenges = await nonMember.get('/challenges/user');
+ const challenges = await nonMember.get('/challenges/user');
- let foundChallenge = _.find(challenges, { _id: privateChallenge._id });
+ const foundChallenge = _.find(challenges, { _id: privateChallenge._id });
expect(foundChallenge).to.not.exist;
});
it('should not return challenges user doesn\'t have access to, even with query parameters', async () => {
- let { group, groupLeader } = await createAndPopulateGroup({
+ const { group, groupLeader } = await createAndPopulateGroup({
groupDetails: {
name: 'TestPrivateGuild',
summary: 'summary for TestPrivateGuild',
@@ -225,24 +226,27 @@ describe('GET challenges/user', () => {
},
});
- let privateChallenge = await generateChallenge(groupLeader, group, {categories: [{
- name: 'academics',
- slug: 'academics',
- }]});
+ const privateChallenge = await generateChallenge(groupLeader, group, {
+ categories: [{
+ name: 'academics',
+ slug: 'academics',
+ }],
+ });
await groupLeader.post(`/challenges/${privateChallenge._id}/join`);
- let challenges = await nonMember.get('/challenges/user?categories=academics&owned=not_owned');
+ const challenges = await nonMember.get('/challenges/user?categories=academics&owned=not_owned');
- let foundChallenge = _.find(challenges, { _id: privateChallenge._id });
+ const foundChallenge = _.find(challenges, { _id: privateChallenge._id });
expect(foundChallenge).to.not.exist;
});
});
context('official challenge is present', () => {
- let user, officialChallenge, challenge, challenge2, publicGuild;
+ let user; let officialChallenge; let challenge; let challenge2; let
+ publicGuild;
before(async () => {
- let { group, groupLeader } = await createAndPopulateGroup({
+ const { group, groupLeader } = await createAndPopulateGroup({
groupDetails: {
name: 'TestGuild',
summary: 'summary for TestGuild',
@@ -273,9 +277,9 @@ describe('GET challenges/user', () => {
});
it('should return official challenges first', async () => {
- let challenges = await user.get('/challenges/user');
+ const challenges = await user.get('/challenges/user');
- let foundChallengeIndex = _.findIndex(challenges, { _id: officialChallenge._id });
+ const foundChallengeIndex = _.findIndex(challenges, { _id: officialChallenge._id });
expect(foundChallengeIndex).to.eql(0);
});
@@ -288,7 +292,7 @@ describe('GET challenges/user', () => {
foundChallengeIndex = _.findIndex(challenges, { _id: challenge2._id });
expect(foundChallengeIndex).to.eql(1);
- let newChallenge = await generateChallenge(user, publicGuild);
+ const newChallenge = await generateChallenge(user, publicGuild);
await user.post(`/challenges/${newChallenge._id}/join`);
challenges = await user.get('/challenges/user');
@@ -299,14 +303,15 @@ describe('GET challenges/user', () => {
});
context('filters and paging', () => {
- let user, guild, member;
+ let user; let guild; let
+ member;
const categories = [{
slug: 'newCat',
name: 'New Category',
}];
before(async () => {
- let { group, groupLeader, members } = await createAndPopulateGroup({
+ const { group, groupLeader, members } = await createAndPopulateGroup({
groupDetails: {
name: 'TestGuild',
type: 'guild',
@@ -317,9 +322,9 @@ describe('GET challenges/user', () => {
user = groupLeader;
guild = group;
- member = members[0];
+ member = members[0]; // eslint-disable-line prefer-destructuring
- await user.update({balance: 20});
+ await user.update({ balance: 20 });
for (let i = 0; i < 11; i += 1) {
let challenge = await generateChallenge(user, group); // eslint-disable-line
@@ -328,7 +333,7 @@ describe('GET challenges/user', () => {
});
it('returns public guilds filtered by category', async () => {
- const categoryChallenge = await generateChallenge(user, guild, {categories});
+ const categoryChallenge = await generateChallenge(user, guild, { categories });
await user.post(`/challenges/${categoryChallenge._id}/join`);
const challenges = await user.get(`/challenges/user?categories=${categories[0].slug}`);
diff --git a/test/api/v3/integration/challenges/POST-challenges.test.js b/test/api/v3/integration/challenges/POST-challenges.test.js
index b53c3750b1..23475c1f23 100644
--- a/test/api/v3/integration/challenges/POST-challenges.test.js
+++ b/test/api/v3/integration/challenges/POST-challenges.test.js
@@ -1,13 +1,13 @@
+import { v4 as generateUUID } from 'uuid';
import {
generateUser,
createAndPopulateGroup,
translate as t,
} from '../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
describe('POST /challenges', () => {
it('returns error when group is empty', async () => {
- let user = await generateUser();
+ const user = await generateUser();
await expect(user.post('/challenges')).to.eventually.be.rejected.and.eql({
code: 400,
@@ -17,7 +17,7 @@ describe('POST /challenges', () => {
});
it('returns error when groupId is not for a valid group', async () => {
- let user = await generateUser();
+ const user = await generateUser();
await expect(user.post('/challenges', {
group: generateUUID(),
@@ -29,7 +29,7 @@ describe('POST /challenges', () => {
});
it('returns error when creating a challenge in the tavern with no prize', async () => {
- let user = await generateUser();
+ const user = await generateUser();
await expect(user.post('/challenges', {
group: 'habitrpg',
@@ -42,8 +42,8 @@ describe('POST /challenges', () => {
});
it('returns error when creating a challenge in a public guild and you are not a member of it', async () => {
- let user = await generateUser();
- let { group } = await createAndPopulateGroup({
+ const user = await generateUser();
+ const { group } = await createAndPopulateGroup({
groupDetails: {
type: 'guild',
privacy: 'public',
@@ -66,7 +66,7 @@ describe('POST /challenges', () => {
let groupMember;
beforeEach(async () => {
- let populatedGroup = await createAndPopulateGroup({
+ const populatedGroup = await createAndPopulateGroup({
members: 1,
leaderDetails: {
balance: 3,
@@ -81,7 +81,7 @@ describe('POST /challenges', () => {
groupLeader = await populatedGroup.groupLeader.sync();
group = populatedGroup.group;
- groupMember = populatedGroup.members[0];
+ groupMember = populatedGroup.members[0]; // eslint-disable-line prefer-destructuring
});
it('returns an error when non-leader member creates a challenge in leaderOnly group', async () => {
@@ -95,14 +95,14 @@ describe('POST /challenges', () => {
});
it('allows non-leader member to create a challenge', async () => {
- let populatedGroup = await createAndPopulateGroup({
+ const populatedGroup = await createAndPopulateGroup({
members: 1,
});
group = populatedGroup.group;
- groupMember = populatedGroup.members[0];
+ groupMember = populatedGroup.members[0]; // eslint-disable-line prefer-destructuring
- let chal = await groupMember.post('/challenges', {
+ const chal = await groupMember.post('/challenges', {
group: group._id,
name: 'Test Challenge',
shortName: 'TC Label',
@@ -110,13 +110,13 @@ describe('POST /challenges', () => {
expect(chal.leader).to.eql({
_id: groupMember._id,
- profile: {name: groupMember.profile.name},
+ profile: { name: groupMember.profile.name },
});
});
it('doesn\'t take gems from user or group when challenge has no prize', async () => {
- let oldUserBalance = groupLeader.balance;
- let oldGroupBalance = group.balance;
+ const oldUserBalance = groupLeader.balance;
+ const oldGroupBalance = group.balance;
await groupLeader.post('/challenges', {
group: group._id,
@@ -143,9 +143,9 @@ describe('POST /challenges', () => {
});
it('takes prize out of group if it has sufficient funds', async () => {
- let oldUserBalance = groupLeader.balance;
- let oldGroupBalance = group.balance;
- let prize = 4;
+ const oldUserBalance = groupLeader.balance;
+ const oldGroupBalance = group.balance;
+ const prize = 4;
await groupLeader.post('/challenges', {
group: group._id,
@@ -159,8 +159,8 @@ describe('POST /challenges', () => {
});
it('takes prize out of both group and user if group doesn\'t have enough', async () => {
- let oldUserBalance = groupLeader.balance;
- let prize = 8;
+ const oldUserBalance = groupLeader.balance;
+ const prize = 8;
await groupLeader.post('/challenges', {
group: group._id,
@@ -170,14 +170,14 @@ describe('POST /challenges', () => {
});
await expect(group.sync()).to.eventually.have.property('balance', 0);
- await expect(groupLeader.sync()).to.eventually.have.property('balance', oldUserBalance - (prize / 4 - 1));
+ await expect(groupLeader.sync()).to.eventually.have.property('balance', oldUserBalance - (prize / 4 - 1));
});
it('takes prize out of user if group has no balance', async () => {
- let oldUserBalance = groupLeader.balance;
- let prize = 8;
+ const oldUserBalance = groupLeader.balance;
+ const prize = 8;
- await group.update({ balance: 0});
+ await group.update({ balance: 0 });
await groupLeader.post('/challenges', {
group: group._id,
name: 'Test Challenge',
@@ -190,7 +190,7 @@ describe('POST /challenges', () => {
});
it('increases challenge count of group', async () => {
- let oldChallengeCount = group.challengeCount;
+ const oldChallengeCount = group.challengeCount;
await groupLeader.post('/challenges', {
group: group._id,
@@ -208,7 +208,7 @@ describe('POST /challenges', () => {
},
});
- let challenge = await groupLeader.post('/challenges', {
+ const challenge = await groupLeader.post('/challenges', {
group: group._id,
name: 'Test Challenge',
shortName: 'TC Label',
@@ -219,7 +219,7 @@ describe('POST /challenges', () => {
});
it('doesn\'t set challenge as official if official flag is set by non-admin', async () => {
- let challenge = await groupLeader.post('/challenges', {
+ const challenge = await groupLeader.post('/challenges', {
group: group._id,
name: 'Test Challenge',
shortName: 'TC Label',
@@ -230,9 +230,9 @@ describe('POST /challenges', () => {
});
it('returns an error when challenge validation fails; doesn\'s save user or group', async () => {
- let oldChallengeCount = group.challengeCount;
- let oldUserBalance = groupLeader.balance;
- let oldGroupBalance = group.balance;
+ const oldChallengeCount = group.challengeCount;
+ const oldUserBalance = groupLeader.balance;
+ const oldGroupBalance = group.balance;
await expect(groupLeader.post('/challenges', {
group: group._id,
@@ -252,12 +252,12 @@ describe('POST /challenges', () => {
});
it('sets all properites of the challenge as passed', async () => {
- let name = 'Test Challenge';
- let shortName = 'TC Label';
- let description = 'Test Description';
- let prize = 4;
+ const name = 'Test Challenge';
+ const shortName = 'TC Label';
+ const description = 'Test Description';
+ const prize = 4;
- let challenge = await groupLeader.post('/challenges', {
+ const challenge = await groupLeader.post('/challenges', {
group: group._id,
name,
shortName,
@@ -267,7 +267,7 @@ describe('POST /challenges', () => {
expect(challenge.leader).to.eql({
_id: groupLeader._id,
- profile: {name: groupLeader.profile.name},
+ profile: { name: groupLeader.profile.name },
});
expect(challenge.name).to.eql(name);
expect(challenge.shortName).to.eql(shortName);
diff --git a/test/api/v3/integration/challenges/POST-challenges_challengeId_join.test.js b/test/api/v3/integration/challenges/POST-challenges_challengeId_join.test.js
index 8385d63e36..fad086cd4f 100644
--- a/test/api/v3/integration/challenges/POST-challenges_challengeId_join.test.js
+++ b/test/api/v3/integration/challenges/POST-challenges_challengeId_join.test.js
@@ -1,14 +1,14 @@
+import { v4 as generateUUID } from 'uuid';
import {
generateUser,
generateChallenge,
createAndPopulateGroup,
translate as t,
} from '../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
describe('POST /challenges/:challengeId/join', () => {
it('returns error when challengeId is not a valid UUID', async () => {
- let user = await generateUser({ balance: 1});
+ const user = await generateUser({ balance: 1 });
await expect(user.post('/challenges/test/join')).to.eventually.be.rejected.and.eql({
code: 400,
@@ -18,7 +18,7 @@ describe('POST /challenges/:challengeId/join', () => {
});
it('returns error when challengeId is not for a valid challenge', async () => {
- let user = await generateUser({ balance: 1});
+ const user = await generateUser({ balance: 1 });
await expect(user.post(`/challenges/${generateUUID()}/join`)).to.eventually.be.rejected.and.eql({
code: 404,
@@ -34,20 +34,20 @@ describe('POST /challenges/:challengeId/join', () => {
let authorizedUser;
beforeEach(async () => {
- let populatedGroup = await createAndPopulateGroup({
+ const populatedGroup = await createAndPopulateGroup({
members: 1,
});
groupLeader = populatedGroup.groupLeader;
group = populatedGroup.group;
- authorizedUser = populatedGroup.members[0];
+ authorizedUser = populatedGroup.members[0]; // eslint-disable-line prefer-destructuring
challenge = await generateChallenge(groupLeader, group);
await groupLeader.post(`/challenges/${challenge._id}/join`);
});
it('returns an error when user isn\'t in the private group and isn\'t challenge leader', async () => {
- let unauthorizedUser = await generateUser();
+ const unauthorizedUser = await generateUser();
await expect(unauthorizedUser.post(`/challenges/${challenge._id}/join`)).to.eventually.be.rejected.and.eql({
code: 404,
@@ -62,12 +62,12 @@ describe('POST /challenges/:challengeId/join', () => {
await groupLeader.sync();
expect(groupLeader.guilds).to.be.empty; // check that leaving worked
- let res = await groupLeader.post(`/challenges/${challenge._id}/join`);
+ const res = await groupLeader.post(`/challenges/${challenge._id}/join`);
expect(res.name).to.equal(challenge.name);
});
it('returns challenge data', async () => {
- let res = await authorizedUser.post(`/challenges/${challenge._id}/join`);
+ const res = await authorizedUser.post(`/challenges/${challenge._id}/join`);
expect(res.group).to.eql({
_id: group._id,
@@ -78,7 +78,7 @@ describe('POST /challenges/:challengeId/join', () => {
expect(res.leader).to.eql({
_id: groupLeader._id,
id: groupLeader._id,
- profile: {name: groupLeader.profile.name},
+ profile: { name: groupLeader.profile.name },
auth: {
local: {
username: groupLeader.auth.local.username,
@@ -111,7 +111,7 @@ describe('POST /challenges/:challengeId/join', () => {
it('increases memberCount of challenge', async () => {
await challenge.sync();
- let oldMemberCount = challenge.memberCount;
+ const oldMemberCount = challenge.memberCount;
await authorizedUser.post(`/challenges/${challenge._id}/join`);
@@ -123,15 +123,13 @@ describe('POST /challenges/:challengeId/join', () => {
it('syncs challenge tasks to joining user', async () => {
const taskText = 'A challenge task text';
await groupLeader.post(`/tasks/challenge/${challenge._id}`, [
- {type: 'daily', text: taskText},
+ { type: 'daily', text: taskText },
]);
await authorizedUser.post(`/challenges/${challenge._id}/join`);
const tasks = await authorizedUser.get('/tasks/user');
- const syncedTask = tasks.find((task) => {
- return task.text === taskText;
- });
+ const syncedTask = tasks.find(task => task.text === taskText);
expect(syncedTask.text).to.eql(taskText);
expect(syncedTask.isDue).to.exist;
@@ -139,7 +137,7 @@ describe('POST /challenges/:challengeId/join', () => {
});
it('adds challenge tag to user tags', async () => {
- let userTagsLength = (await authorizedUser.get('/tags')).length;
+ const userTagsLength = (await authorizedUser.get('/tags')).length;
await authorizedUser.post(`/challenges/${challenge._id}/join`);
diff --git a/test/api/v3/integration/challenges/POST-challenges_challengeId_leave.test.js b/test/api/v3/integration/challenges/POST-challenges_challengeId_leave.test.js
index 080f7a92ef..c6304151a1 100644
--- a/test/api/v3/integration/challenges/POST-challenges_challengeId_leave.test.js
+++ b/test/api/v3/integration/challenges/POST-challenges_challengeId_leave.test.js
@@ -1,14 +1,14 @@
+import { v4 as generateUUID } from 'uuid';
import {
generateUser,
generateChallenge,
createAndPopulateGroup,
translate as t,
} from '../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
describe('POST /challenges/:challengeId/leave', () => {
it('returns error when challengeId is not a valid UUID', async () => {
- let user = await generateUser();
+ const user = await generateUser();
await expect(user.post('/challenges/test/leave')).to.eventually.be.rejected.and.eql({
code: 400,
@@ -18,7 +18,7 @@ describe('POST /challenges/:challengeId/leave', () => {
});
it('returns error when challengeId is not for a valid challenge', async () => {
- let user = await generateUser();
+ const user = await generateUser();
await expect(user.post(`/challenges/${generateUUID()}/leave`)).to.eventually.be.rejected.and.eql({
code: 404,
@@ -37,15 +37,15 @@ describe('POST /challenges/:challengeId/leave', () => {
let taskText;
beforeEach(async () => {
- let populatedGroup = await createAndPopulateGroup({
+ const populatedGroup = await createAndPopulateGroup({
members: 3,
});
groupLeader = populatedGroup.groupLeader;
group = populatedGroup.group;
- leavingUser = populatedGroup.members[0];
- notInChallengeUser = populatedGroup.members[1];
- notInGroupLeavingUser = populatedGroup.members[2];
+ leavingUser = populatedGroup.members[0]; // eslint-disable-line prefer-destructuring
+ notInChallengeUser = populatedGroup.members[1]; // eslint-disable-line prefer-destructuring
+ notInGroupLeavingUser = populatedGroup.members[2]; // eslint-disable-line prefer-destructuring
challenge = await generateChallenge(groupLeader, group);
await groupLeader.post(`/challenges/${challenge._id}/join`);
@@ -53,7 +53,7 @@ describe('POST /challenges/:challengeId/leave', () => {
taskText = 'A challenge task text';
await groupLeader.post(`/tasks/challenge/${challenge._id}`, [
- {type: 'habit', text: taskText},
+ { type: 'habit', text: taskText },
]);
await leavingUser.post(`/challenges/${challenge._id}/join`);
@@ -87,7 +87,7 @@ describe('POST /challenges/:challengeId/leave', () => {
});
it('decreases memberCount of challenge', async () => {
- let oldMemberCount = challenge.memberCount;
+ const oldMemberCount = challenge.memberCount;
await leavingUser.post(`/challenges/${challenge._id}/leave`);
@@ -100,10 +100,8 @@ describe('POST /challenges/:challengeId/leave', () => {
await leavingUser.post(`/challenges/${challenge._id}/leave`, {
keep: 'remove-all',
});
- let tasks = await leavingUser.get('/tasks/user');
- let tasksTexts = tasks.map((task) => {
- return task.text;
- });
+ const tasks = await leavingUser.get('/tasks/user');
+ const tasksTexts = tasks.map(task => task.text);
expect(tasksTexts).to.not.include(taskText);
});
@@ -113,10 +111,8 @@ describe('POST /challenges/:challengeId/leave', () => {
keep: 'test',
});
- let tasks = await leavingUser.get('/tasks/user');
- let testTask = _.find(tasks, (task) => {
- return task.text === taskText;
- });
+ const tasks = await leavingUser.get('/tasks/user');
+ const testTask = _.find(tasks, task => task.text === taskText);
expect(testTask).to.not.be.undefined;
});
diff --git a/test/api/v3/integration/challenges/POST-challenges_challengeId_winner_winnerId.test.js b/test/api/v3/integration/challenges/POST-challenges_challengeId_winner_winnerId.test.js
index 41c655b88c..3f3b75e7fe 100644
--- a/test/api/v3/integration/challenges/POST-challenges_challengeId_winner_winnerId.test.js
+++ b/test/api/v3/integration/challenges/POST-challenges_challengeId_winner_winnerId.test.js
@@ -1,3 +1,4 @@
+import { v4 as generateUUID } from 'uuid';
import {
generateUser,
generateChallenge,
@@ -6,11 +7,10 @@ import {
checkExistence,
translate as t,
} from '../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
describe('POST /challenges/:challengeId/winner/:winnerId', () => {
it('returns error when challengeId is not a valid UUID', async () => {
- let user = await generateUser();
+ const user = await generateUser();
await expect(user.post(`/challenges/test/selectWinner/${user._id}`)).to.eventually.be.rejected.and.eql({
code: 400,
@@ -20,7 +20,7 @@ describe('POST /challenges/:challengeId/winner/:winnerId', () => {
});
it('returns error when winnerId is not a valid UUID', async () => {
- let user = await generateUser();
+ const user = await generateUser();
await expect(user.post(`/challenges/${generateUUID()}/selectWinner/test`)).to.eventually.be.rejected.and.eql({
code: 400,
@@ -30,7 +30,7 @@ describe('POST /challenges/:challengeId/winner/:winnerId', () => {
});
it('returns error when challengeId is not for a valid challenge', async () => {
- let user = await generateUser();
+ const user = await generateUser();
await expect(user.post(`/challenges/${generateUUID()}/selectWinner/${user._id}`)).to.eventually.be.rejected.and.eql({
code: 404,
@@ -44,16 +44,16 @@ describe('POST /challenges/:challengeId/winner/:winnerId', () => {
let group;
let challenge;
let winningUser;
- let taskText = 'A challenge task text';
+ const taskText = 'A challenge task text';
beforeEach(async () => {
- let populatedGroup = await createAndPopulateGroup({
+ const populatedGroup = await createAndPopulateGroup({
members: 1,
});
groupLeader = populatedGroup.groupLeader;
group = populatedGroup.group;
- winningUser = populatedGroup.members[0];
+ winningUser = populatedGroup.members[0]; // eslint-disable-line prefer-destructuring
challenge = await generateChallenge(groupLeader, group, {
prize: 1,
@@ -61,7 +61,7 @@ describe('POST /challenges/:challengeId/winner/:winnerId', () => {
await groupLeader.post(`/challenges/${challenge._id}/join`);
await groupLeader.post(`/tasks/challenge/${challenge._id}`, [
- {type: 'habit', text: taskText},
+ { type: 'habit', text: taskText },
]);
await winningUser.post(`/challenges/${challenge._id}/join`);
@@ -78,12 +78,12 @@ describe('POST /challenges/:challengeId/winner/:winnerId', () => {
});
it('returns an error when winning user isn\'t part of the challenge', async () => {
- let notInChallengeUser = await generateUser();
+ const notInChallengeUser = await generateUser();
await expect(groupLeader.post(`/challenges/${challenge._id}/selectWinner/${notInChallengeUser._id}`)).to.eventually.be.rejected.and.eql({
code: 404,
error: 'NotFound',
- message: t('winnerNotFound', {userId: notInChallengeUser._id}),
+ message: t('winnerNotFound', { userId: notInChallengeUser._id }),
});
});
@@ -101,12 +101,13 @@ describe('POST /challenges/:challengeId/winner/:winnerId', () => {
await sleep(0.5);
await expect(winningUser.sync()).to.eventually.have.nested.property('achievements.challenges').to.include(challenge.name);
- expect(winningUser.notifications.length).to.equal(2); // 2 because winningUser just joined the challenge, which now awards an achievement
+ // 2 because winningUser just joined the challenge, which now awards an achievement
+ expect(winningUser.notifications.length).to.equal(2);
expect(winningUser.notifications[1].type).to.equal('WON_CHALLENGE');
});
it('gives winner gems as reward', async () => {
- let oldBalance = winningUser.balance;
+ const oldBalance = winningUser.balance;
await groupLeader.post(`/challenges/${challenge._id}/selectWinner/${winningUser._id}`);
@@ -116,8 +117,8 @@ describe('POST /challenges/:challengeId/winner/:winnerId', () => {
});
it('doesn\'t gives winner gems if group policy prevents it', async () => {
- let oldBalance = winningUser.balance;
- let oldLeaderBalance = (await groupLeader.sync()).balance;
+ const oldBalance = winningUser.balance;
+ const oldLeaderBalance = (await groupLeader.sync()).balance;
await winningUser.update({
'purchased.plan.customerId': 'group-plan',
@@ -136,7 +137,7 @@ describe('POST /challenges/:challengeId/winner/:winnerId', () => {
});
it('doesn\'t refund gems to group leader', async () => {
- let oldBalance = (await groupLeader.sync()).balance;
+ const oldBalance = (await groupLeader.sync()).balance;
await groupLeader.post(`/challenges/${challenge._id}/selectWinner/${winningUser._id}`);
@@ -151,14 +152,10 @@ describe('POST /challenges/:challengeId/winner/:winnerId', () => {
await sleep(0.5);
const tasks = await winningUser.get('/tasks/user');
- const testTask = _.find(tasks, (task) => {
- return task.text === taskText;
- });
+ const testTask = _.find(tasks, task => task.text === taskText);
const updatedUser = await winningUser.sync();
- const challengeTag = updatedUser.tags.find(tags => {
- return tags.id === challenge._id;
- });
+ const challengeTag = updatedUser.tags.find(tags => tags.id === challenge._id);
expect(testTask.challenge.broken).to.eql('CHALLENGE_CLOSED');
expect(testTask.challenge.winner).to.eql(winningUser.profile.name);
diff --git a/test/api/v3/integration/challenges/POST_challenges_id_clone.test.js b/test/api/v3/integration/challenges/POST_challenges_id_clone.test.js
index 3f2abd8a0b..6f9844b415 100644
--- a/test/api/v3/integration/challenges/POST_challenges_id_clone.test.js
+++ b/test/api/v3/integration/challenges/POST_challenges_id_clone.test.js
@@ -5,7 +5,7 @@ import {
describe('POST /challenges/:challengeId/clone', () => {
it('clones a challenge', async () => {
- const user = await generateUser({balance: 10});
+ const user = await generateUser({ balance: 10 });
const group = await generateGroup(user);
const name = 'Test Challenge';
@@ -38,6 +38,7 @@ describe('POST /challenges/:challengeId/clone', () => {
expect(cloneChallengeResponse.clonedTasks[0].text).to.eql(challengeTask.text);
expect(cloneChallengeResponse.clonedTasks[0]._id).to.not.eql(challengeTask._id);
- expect(cloneChallengeResponse.clonedTasks[0].challenge.id).to.eql(cloneChallengeResponse.clonedChallenge._id);
+ expect(cloneChallengeResponse.clonedTasks[0].challenge.id)
+ .to.eql(cloneChallengeResponse.clonedChallenge._id);
});
});
diff --git a/test/api/v3/integration/challenges/PUT-challenges_challengeId.test.js b/test/api/v3/integration/challenges/PUT-challenges_challengeId.test.js
index d5f5d88c15..6b43a220a2 100644
--- a/test/api/v3/integration/challenges/PUT-challenges_challengeId.test.js
+++ b/test/api/v3/integration/challenges/PUT-challenges_challengeId.test.js
@@ -6,10 +6,11 @@ import {
} from '../../../../helpers/api-integration/v3';
describe('PUT /challenges/:challengeId', () => {
- let privateGuild, user, nonMember, challenge, member;
+ let privateGuild; let user; let nonMember; let challenge; let
+ member;
beforeEach(async () => {
- let { group, groupLeader, members } = await createAndPopulateGroup({
+ const { group, groupLeader, members } = await createAndPopulateGroup({
groupDetails: {
name: 'TestPrivateGuild',
type: 'guild',
@@ -22,7 +23,7 @@ describe('PUT /challenges/:challengeId', () => {
user = groupLeader;
nonMember = await generateUser();
- member = members[0];
+ member = members[0]; // eslint-disable-line prefer-destructuring
challenge = await generateChallenge(user, group);
await user.post(`/challenges/${challenge._id}/join`);
@@ -48,7 +49,7 @@ describe('PUT /challenges/:challengeId', () => {
});
it('only updates allowed fields', async () => {
- let res = await user.put(`/challenges/${challenge._id}`, {
+ const res = await user.put(`/challenges/${challenge._id}`, {
// ignored
prize: 33,
group: 'blabla',
@@ -78,7 +79,7 @@ describe('PUT /challenges/:challengeId', () => {
expect(res.leader).to.eql({
_id: user._id,
id: user._id,
- profile: {name: user.profile.name},
+ profile: { name: user.profile.name },
auth: {
local: {
username: user.auth.local.username,
diff --git a/test/api/v3/integration/chat/DELETE-chat_id.test.js b/test/api/v3/integration/chat/DELETE-chat_id.test.js
index 929ec790b6..58203ea94d 100644
--- a/test/api/v3/integration/chat/DELETE-chat_id.test.js
+++ b/test/api/v3/integration/chat/DELETE-chat_id.test.js
@@ -1,15 +1,16 @@
+import { v4 as generateUUID } from 'uuid';
import {
createAndPopulateGroup,
generateUser,
translate as t,
} from '../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
describe('DELETE /groups/:groupId/chat/:chatId', () => {
- let groupWithChat, message, user, userThatDidNotCreateChat, admin;
+ let groupWithChat; let message; let user; let userThatDidNotCreateChat; let
+ admin;
before(async () => {
- let { group, groupLeader } = await createAndPopulateGroup({
+ const { group, groupLeader } = await createAndPopulateGroup({
groupDetails: {
type: 'guild',
privacy: 'public',
@@ -21,12 +22,12 @@ describe('DELETE /groups/:groupId/chat/:chatId', () => {
message = await user.post(`/groups/${groupWithChat._id}/chat`, { message: 'Some message' });
message = message.message;
userThatDidNotCreateChat = await generateUser();
- admin = await generateUser({'contributor.admin': true});
+ admin = await generateUser({ 'contributor.admin': true });
});
context('Chat errors', () => {
it('returns an error is message does not exist', async () => {
- let fakeChatId = generateUUID();
+ const fakeChatId = generateUUID();
await expect(user.del(`/groups/${groupWithChat._id}/chat/${fakeChatId}`)).to.eventually.be.rejected.and.eql({
code: 404,
error: 'NotFound',
@@ -55,9 +56,9 @@ describe('DELETE /groups/:groupId/chat/:chatId', () => {
await user.del(`/groups/${groupWithChat._id}/chat/${nextMessage.id}`);
const returnedMessages = await user.get(`/groups/${groupWithChat._id}/chat/`);
- const messageFromUser = returnedMessages.find(returnedMessage => {
- return returnedMessage.id === nextMessage.id;
- });
+ const messageFromUser = returnedMessages.find(
+ returnedMessage => returnedMessage.id === nextMessage.id,
+ );
expect(returnedMessages).is.an('array');
expect(messageFromUser).to.not.exist;
@@ -67,9 +68,9 @@ describe('DELETE /groups/:groupId/chat/:chatId', () => {
await admin.del(`/groups/${groupWithChat._id}/chat/${nextMessage.id}`);
const returnedMessages = await user.get(`/groups/${groupWithChat._id}/chat/`);
- const messageFromUser = returnedMessages.find(returnedMessage => {
- return returnedMessage.id === nextMessage.id;
- });
+ const messageFromUser = returnedMessages.find(
+ returnedMessage => returnedMessage.id === nextMessage.id,
+ );
expect(returnedMessages).is.an('array');
expect(messageFromUser).to.not.exist;
diff --git a/test/api/v3/integration/chat/GET-chat.test.js b/test/api/v3/integration/chat/GET-chat.test.js
index e3a9d17548..910b094c40 100644
--- a/test/api/v3/integration/chat/GET-chat.test.js
+++ b/test/api/v3/integration/chat/GET-chat.test.js
@@ -15,7 +15,7 @@ describe('GET /groups/:groupId/chat', () => {
let group;
before(async () => {
- let leader = await generateUser({balance: 2});
+ const leader = await generateUser({ balance: 2 });
group = await generateGroup(leader, {
name: 'test group',
@@ -23,8 +23,8 @@ describe('GET /groups/:groupId/chat', () => {
privacy: 'public',
}, {
chat: [
- {text: 'Hello', flags: {}, id: 1},
- {text: 'Welcome to the Guild', flags: {}, id: 2},
+ { text: 'Hello', flags: {}, id: 1 },
+ { text: 'Welcome to the Guild', flags: {}, id: 2 },
],
});
});
@@ -41,7 +41,7 @@ describe('GET /groups/:groupId/chat', () => {
let group;
before(async () => {
- let leader = await generateUser({balance: 2});
+ const leader = await generateUser({ balance: 2 });
group = await generateGroup(leader, {
name: 'test group',
diff --git a/test/api/v3/integration/chat/POST-chat.flag.test.js b/test/api/v3/integration/chat/POST-chat.flag.test.js
index 723715c80b..d3484452f3 100644
--- a/test/api/v3/integration/chat/POST-chat.flag.test.js
+++ b/test/api/v3/integration/chat/POST-chat.flag.test.js
@@ -1,24 +1,25 @@
-import {
- generateUser,
- translate as t,
-} from '../../../../helpers/api-integration/v3';
import { find } from 'lodash';
import moment from 'moment';
import nconf from 'nconf';
import { IncomingWebhook } from '@slack/client';
+import {
+ generateUser,
+ translate as t,
+} from '../../../../helpers/api-integration/v3';
const BASE_URL = nconf.get('BASE_URL');
describe('POST /chat/:chatId/flag', () => {
- let user, admin, anotherUser, newUser, group;
+ let user; let admin; let anotherUser; let newUser; let
+ group;
const TEST_MESSAGE = 'Test Message';
const USER_AGE_FOR_FLAGGING = 3;
beforeEach(async () => {
- user = await generateUser({balance: 1, 'auth.timestamps.created': moment().subtract(USER_AGE_FOR_FLAGGING + 1, 'days').toDate()});
- admin = await generateUser({balance: 1, 'contributor.admin': true});
- anotherUser = await generateUser({'auth.timestamps.created': moment().subtract(USER_AGE_FOR_FLAGGING + 1, 'days').toDate()});
- newUser = await generateUser({'auth.timestamps.created': moment().subtract(1, 'days').toDate()});
+ user = await generateUser({ balance: 1, 'auth.timestamps.created': moment().subtract(USER_AGE_FOR_FLAGGING + 1, 'days').toDate() });
+ admin = await generateUser({ balance: 1, 'contributor.admin': true });
+ anotherUser = await generateUser({ 'auth.timestamps.created': moment().subtract(USER_AGE_FOR_FLAGGING + 1, 'days').toDate() });
+ newUser = await generateUser({ 'auth.timestamps.created': moment().subtract(1, 'days').toDate() });
sandbox.stub(IncomingWebhook.prototype, 'send');
group = await user.post('/groups', {
@@ -42,20 +43,20 @@ describe('POST /chat/:chatId/flag', () => {
});
it('Allows players to flag their own message', async () => {
- let message = await user.post(`/groups/${group._id}/chat`, {message: TEST_MESSAGE});
+ const message = await user.post(`/groups/${group._id}/chat`, { message: TEST_MESSAGE });
await expect(user.post(`/groups/${group._id}/chat/${message.message.id}/flag`)).to.eventually.be.ok;
});
it('Flags a chat and sends normal message to moderator Slack when user is not new', async () => {
- let { message } = await anotherUser.post(`/groups/${group._id}/chat`, {message: TEST_MESSAGE});
+ const { message } = await anotherUser.post(`/groups/${group._id}/chat`, { message: TEST_MESSAGE });
- let flagResult = await user.post(`/groups/${group._id}/chat/${message.id}/flag`);
+ const flagResult = await user.post(`/groups/${group._id}/chat/${message.id}/flag`);
expect(flagResult.flags[user._id]).to.equal(true);
expect(flagResult.flagCount).to.equal(1);
- let groupWithFlags = await admin.get(`/groups/${group._id}`);
+ const groupWithFlags = await admin.get(`/groups/${group._id}`);
- let messageToCheck = find(groupWithFlags.chat, {id: message.id});
+ const messageToCheck = find(groupWithFlags.chat, { id: message.id });
expect(messageToCheck.flags[user._id]).to.equal(true);
// Slack message to mods
@@ -81,16 +82,16 @@ describe('POST /chat/:chatId/flag', () => {
});
it('Does not increment message flag count and sends different message to moderator Slack when user is new', async () => {
- let automatedComment = `The post's flag count has not been increased because the flagger's account is less than ${USER_AGE_FOR_FLAGGING} days old.`;
- let { message } = await newUser.post(`/groups/${group._id}/chat`, {message: TEST_MESSAGE});
+ const automatedComment = `The post's flag count has not been increased because the flagger's account is less than ${USER_AGE_FOR_FLAGGING} days old.`;
+ const { message } = await newUser.post(`/groups/${group._id}/chat`, { message: TEST_MESSAGE });
- let flagResult = await newUser.post(`/groups/${group._id}/chat/${message.id}/flag`);
+ const flagResult = await newUser.post(`/groups/${group._id}/chat/${message.id}/flag`);
expect(flagResult.flags[newUser._id]).to.equal(true);
expect(flagResult.flagCount).to.equal(0);
- let groupWithFlags = await admin.get(`/groups/${group._id}`);
+ const groupWithFlags = await admin.get(`/groups/${group._id}`);
- let messageToCheck = find(groupWithFlags.chat, {id: message.id});
+ const messageToCheck = find(groupWithFlags.chat, { id: message.id });
expect(messageToCheck.flags[newUser._id]).to.equal(true);
// Slack message to mods
@@ -116,38 +117,38 @@ describe('POST /chat/:chatId/flag', () => {
});
it('Flags a chat when the author\'s account was deleted', async () => {
- let deletedUser = await generateUser();
- let { message } = await deletedUser.post(`/groups/${group._id}/chat`, {message: TEST_MESSAGE});
+ const deletedUser = await generateUser();
+ const { message } = await deletedUser.post(`/groups/${group._id}/chat`, { message: TEST_MESSAGE });
await deletedUser.del('/user', {
password: 'password',
});
- let flagResult = await user.post(`/groups/${group._id}/chat/${message.id}/flag`);
+ const flagResult = await user.post(`/groups/${group._id}/chat/${message.id}/flag`);
expect(flagResult.flags[user._id]).to.equal(true);
expect(flagResult.flagCount).to.equal(1);
- let groupWithFlags = await admin.get(`/groups/${group._id}`);
+ const groupWithFlags = await admin.get(`/groups/${group._id}`);
- let messageToCheck = find(groupWithFlags.chat, {id: message.id});
+ const messageToCheck = find(groupWithFlags.chat, { id: message.id });
expect(messageToCheck.flags[user._id]).to.equal(true);
});
it('Flags a chat with a higher flag acount when an admin flags the message', async () => {
- let { message } = await user.post(`/groups/${group._id}/chat`, {message: TEST_MESSAGE});
+ const { message } = await user.post(`/groups/${group._id}/chat`, { message: TEST_MESSAGE });
- let flagResult = await admin.post(`/groups/${group._id}/chat/${message.id}/flag`);
+ const flagResult = await admin.post(`/groups/${group._id}/chat/${message.id}/flag`);
expect(flagResult.flags[admin._id]).to.equal(true);
expect(flagResult.flagCount).to.equal(5);
- let groupWithFlags = await admin.get(`/groups/${group._id}`);
+ const groupWithFlags = await admin.get(`/groups/${group._id}`);
- let messageToCheck = find(groupWithFlags.chat, {id: message.id});
+ const messageToCheck = find(groupWithFlags.chat, { id: message.id });
expect(messageToCheck.flags[admin._id]).to.equal(true);
expect(messageToCheck.flagCount).to.equal(5);
});
it('allows admin to flag a message in a private group', async () => {
- let privateGroup = await user.post('/groups', {
+ const privateGroup = await user.post('/groups', {
name: 'Test party',
type: 'party',
privacy: 'private',
@@ -156,26 +157,26 @@ describe('POST /chat/:chatId/flag', () => {
uuids: [anotherUser._id],
});
await anotherUser.post(`/groups/${privateGroup._id}/join`);
- let { message } = await user.post(`/groups/${privateGroup._id}/chat`, {message: TEST_MESSAGE});
+ const { message } = await user.post(`/groups/${privateGroup._id}/chat`, { message: TEST_MESSAGE });
- let flagResult = await admin.post(`/groups/${privateGroup._id}/chat/${message.id}/flag`);
+ const flagResult = await admin.post(`/groups/${privateGroup._id}/chat/${message.id}/flag`);
expect(flagResult.flags[admin._id]).to.equal(true);
expect(flagResult.flagCount).to.equal(5);
- let groupWithFlags = await anotherUser.get(`/groups/${privateGroup._id}`);
- let messageToCheck = find(groupWithFlags.chat, {id: message.id});
+ const groupWithFlags = await anotherUser.get(`/groups/${privateGroup._id}`);
+ const messageToCheck = find(groupWithFlags.chat, { id: message.id });
expect(messageToCheck).to.not.exist;
});
it('does not allow non member to flag message in private group', async () => {
- let privateGroup = await user.post('/groups', {
+ const privateGroup = await user.post('/groups', {
name: 'Test party',
type: 'party',
privacy: 'private',
});
- let { message } = await user.post(`/groups/${privateGroup._id}/chat`, {message: TEST_MESSAGE});
+ const { message } = await user.post(`/groups/${privateGroup._id}/chat`, { message: TEST_MESSAGE });
await expect(anotherUser.post(`/groups/${privateGroup._id}/chat/${message.id}/flag`))
.to.eventually.be.rejected.and.eql({
@@ -186,7 +187,7 @@ describe('POST /chat/:chatId/flag', () => {
});
it('Returns an error when user tries to flag a message that they already flagged', async () => {
- let { message } = await anotherUser.post(`/groups/${group._id}/chat`, {message: TEST_MESSAGE});
+ const { message } = await anotherUser.post(`/groups/${group._id}/chat`, { message: TEST_MESSAGE });
await user.post(`/groups/${group._id}/chat/${message.id}/flag`);
@@ -199,17 +200,17 @@ describe('POST /chat/:chatId/flag', () => {
});
it('shows a hidden message to the original poster', async () => {
- let { message } = await user.post(`/groups/${group._id}/chat`, {message: TEST_MESSAGE});
+ const { message } = await user.post(`/groups/${group._id}/chat`, { message: TEST_MESSAGE });
await admin.post(`/groups/${group._id}/chat/${message.id}/flag`);
- let groupWithFlags = await user.get(`/groups/${group._id}`);
- let messageToCheck = find(groupWithFlags.chat, {id: message.id});
+ const groupWithFlags = await user.get(`/groups/${group._id}`);
+ const messageToCheck = find(groupWithFlags.chat, { id: message.id });
expect(messageToCheck).to.exist;
- let auGroupWithFlags = await anotherUser.get(`/groups/${group._id}`);
- let auMessageToCheck = find(auGroupWithFlags.chat, {id: message.id});
+ const auGroupWithFlags = await anotherUser.get(`/groups/${group._id}`);
+ const auMessageToCheck = find(auGroupWithFlags.chat, { id: message.id });
expect(auMessageToCheck).to.not.exist;
});
diff --git a/test/api/v3/integration/chat/POST-chat.like.test.js b/test/api/v3/integration/chat/POST-chat.like.test.js
index a6dfb7d795..192f3e3aa7 100644
--- a/test/api/v3/integration/chat/POST-chat.like.test.js
+++ b/test/api/v3/integration/chat/POST-chat.like.test.js
@@ -1,17 +1,17 @@
+import { find } from 'lodash';
import {
createAndPopulateGroup,
translate as t,
} from '../../../../helpers/api-integration/v3';
-import { find } from 'lodash';
describe('POST /chat/:chatId/like', () => {
let user;
let groupWithChat;
- let testMessage = 'Test Message';
+ const testMessage = 'Test Message';
let anotherUser;
before(async () => {
- let { group, groupLeader, members } = await createAndPopulateGroup({
+ const { group, groupLeader, members } = await createAndPopulateGroup({
groupDetails: {
name: 'Test Guild',
type: 'guild',
@@ -22,7 +22,7 @@ describe('POST /chat/:chatId/like', () => {
user = groupLeader;
groupWithChat = group;
- anotherUser = members[0];
+ anotherUser = members[0]; // eslint-disable-line prefer-destructuring
});
it('Returns an error when chat message is not found', async () => {
@@ -35,7 +35,7 @@ describe('POST /chat/:chatId/like', () => {
});
it('Returns an error when user tries to like their own message', async () => {
- let message = await user.post(`/groups/${groupWithChat._id}/chat`, { message: testMessage});
+ const message = await user.post(`/groups/${groupWithChat._id}/chat`, { message: testMessage });
await expect(user.post(`/groups/${groupWithChat._id}/chat/${message.message.id}/like`))
.to.eventually.be.rejected.and.eql({
@@ -46,30 +46,30 @@ describe('POST /chat/:chatId/like', () => {
});
it('Likes a chat', async () => {
- let message = await anotherUser.post(`/groups/${groupWithChat._id}/chat`, { message: testMessage});
+ const message = await anotherUser.post(`/groups/${groupWithChat._id}/chat`, { message: testMessage });
- let likeResult = await user.post(`/groups/${groupWithChat._id}/chat/${message.message.id}/like`);
+ const likeResult = await user.post(`/groups/${groupWithChat._id}/chat/${message.message.id}/like`);
expect(likeResult.likes[user._id]).to.equal(true);
- let groupWithChatLikes = await user.get(`/groups/${groupWithChat._id}`);
+ const groupWithChatLikes = await user.get(`/groups/${groupWithChat._id}`);
- let messageToCheck = find(groupWithChatLikes.chat, {id: message.message.id});
+ const messageToCheck = find(groupWithChatLikes.chat, { id: message.message.id });
expect(messageToCheck.likes[user._id]).to.equal(true);
});
it('Unlikes a chat', async () => {
- let message = await anotherUser.post(`/groups/${groupWithChat._id}/chat`, { message: testMessage});
+ const message = await anotherUser.post(`/groups/${groupWithChat._id}/chat`, { message: testMessage });
- let likeResult = await user.post(`/groups/${groupWithChat._id}/chat/${message.message.id}/like`);
+ const likeResult = await user.post(`/groups/${groupWithChat._id}/chat/${message.message.id}/like`);
expect(likeResult.likes[user._id]).to.equal(true);
- let unlikeResult = await user.post(`/groups/${groupWithChat._id}/chat/${message.message.id}/like`);
+ const unlikeResult = await user.post(`/groups/${groupWithChat._id}/chat/${message.message.id}/like`);
expect(unlikeResult.likes[user._id]).to.equal(false);
- let groupWithoutChatLikes = await user.get(`/groups/${groupWithChat._id}`);
+ const groupWithoutChatLikes = await user.get(`/groups/${groupWithChat._id}`);
- let messageToCheck = find(groupWithoutChatLikes.chat, {id: message.message.id});
+ const messageToCheck = find(groupWithoutChatLikes.chat, { id: message.message.id });
expect(messageToCheck.likes[user._id]).to.equal(false);
});
});
diff --git a/test/api/v3/integration/chat/POST-chat.test.js b/test/api/v3/integration/chat/POST-chat.test.js
index 73ac2d3bf9..bf537ff449 100644
--- a/test/api/v3/integration/chat/POST-chat.test.js
+++ b/test/api/v3/integration/chat/POST-chat.test.js
@@ -1,5 +1,6 @@
import { IncomingWebhook } from '@slack/client';
import nconf from 'nconf';
+import { v4 as generateUUID } from 'uuid';
import {
createAndPopulateGroup,
generateUser,
@@ -13,7 +14,6 @@ import {
TAVERN_ID,
} from '../../../../../website/server/models/group';
import { CHAT_FLAG_FROM_SHADOW_MUTE } from '../../../../../website/common/script/constants';
-import { v4 as generateUUID } from 'uuid';
import { getMatchesByWordArray } from '../../../../../website/server/libs/stringUtils';
import bannedWords from '../../../../../website/server/libs/bannedWords';
import guildsAllowingBannedWords from '../../../../../website/server/libs/guildsAllowingBannedWords';
@@ -22,16 +22,17 @@ import * as email from '../../../../../website/server/libs/email';
const BASE_URL = nconf.get('BASE_URL');
describe('POST /chat', () => {
- let user, groupWithChat, member, additionalMember;
- let testMessage = 'Test Message';
- let testBannedWordMessage = 'TESTPLACEHOLDERSWEARWORDHERE';
- let testBannedWordMessage1 = 'TESTPLACEHOLDERSWEARWORDHERE1';
- let testSlurMessage = 'message with TESTPLACEHOLDERSLURWORDHERE';
- let testSlurMessage1 = 'TESTPLACEHOLDERSLURWORDHERE1';
- let bannedWordErrorMessage = t('bannedWordUsed', {swearWordsUsed: testBannedWordMessage});
+ let user; let groupWithChat; let member; let
+ additionalMember;
+ const testMessage = 'Test Message';
+ const testBannedWordMessage = 'TESTPLACEHOLDERSWEARWORDHERE';
+ const testBannedWordMessage1 = 'TESTPLACEHOLDERSWEARWORDHERE1';
+ const testSlurMessage = 'message with TESTPLACEHOLDERSLURWORDHERE';
+ const testSlurMessage1 = 'TESTPLACEHOLDERSLURWORDHERE1';
+ const bannedWordErrorMessage = t('bannedWordUsed', { swearWordsUsed: testBannedWordMessage });
before(async () => {
- let { group, groupLeader, members } = await createAndPopulateGroup({
+ const { group, groupLeader, members } = await createAndPopulateGroup({
groupDetails: {
name: 'Test Guild',
type: 'guild',
@@ -40,14 +41,14 @@ describe('POST /chat', () => {
members: 2,
});
user = groupLeader;
- await user.update({'contributor.level': SPAM_MIN_EXEMPT_CONTRIB_LEVEL}); // prevent tests accidentally throwing messageGroupChatSpam
+ await user.update({ 'contributor.level': SPAM_MIN_EXEMPT_CONTRIB_LEVEL }); // prevent tests accidentally throwing messageGroupChatSpam
groupWithChat = group;
- member = members[0];
- additionalMember = members[1];
+ member = members[0]; // eslint-disable-line prefer-destructuring
+ additionalMember = members[1]; // eslint-disable-line prefer-destructuring
});
it('Returns an error when no message is provided', async () => {
- await expect(user.post(`/groups/${groupWithChat._id}/chat`, { message: ''}))
+ await expect(user.post(`/groups/${groupWithChat._id}/chat`, { message: '' }))
.to.eventually.be.rejected.and.eql({
code: 400,
error: 'BadRequest',
@@ -56,7 +57,7 @@ describe('POST /chat', () => {
});
it('Returns an error when an empty message is provided', async () => {
- await expect(user.post(`/groups/${groupWithChat._id}/chat`, { message: ' '}))
+ await expect(user.post(`/groups/${groupWithChat._id}/chat`, { message: ' ' }))
.to.eventually.be.rejected.and.eql({
code: 400,
error: 'BadRequest',
@@ -65,7 +66,7 @@ describe('POST /chat', () => {
});
it('Returns an error when an message containing only newlines is provided', async () => {
- await expect(user.post(`/groups/${groupWithChat._id}/chat`, { message: '\n\n'}))
+ await expect(user.post(`/groups/${groupWithChat._id}/chat`, { message: '\n\n' }))
.to.eventually.be.rejected.and.eql({
code: 400,
error: 'BadRequest',
@@ -74,7 +75,7 @@ describe('POST /chat', () => {
});
it('Returns an error when group is not found', async () => {
- await expect(user.post('/groups/invalidID/chat', { message: testMessage})).to.eventually.be.rejected.and.eql({
+ await expect(user.post('/groups/invalidID/chat', { message: testMessage })).to.eventually.be.rejected.and.eql({
code: 404,
error: 'NotFound',
message: t('groupNotFound'),
@@ -83,12 +84,12 @@ describe('POST /chat', () => {
describe('mute user', () => {
afterEach(() => {
- member.update({'flags.chatRevoked': false});
+ member.update({ 'flags.chatRevoked': false });
});
it('returns an error when chat privileges are revoked when sending a message to a public guild', async () => {
- const userWithChatRevoked = await member.update({'flags.chatRevoked': true});
- await expect(userWithChatRevoked.post(`/groups/${groupWithChat._id}/chat`, { message: testMessage})).to.eventually.be.rejected.and.eql({
+ const userWithChatRevoked = await member.update({ 'flags.chatRevoked': true });
+ await expect(userWithChatRevoked.post(`/groups/${groupWithChat._id}/chat`, { message: testMessage })).to.eventually.be.rejected.and.eql({
code: 401,
error: 'NotAuthorized',
message: t('chatPrivilegesRevoked'),
@@ -106,9 +107,9 @@ describe('POST /chat', () => {
});
const privateGuildMemberWithChatsRevoked = members[0];
- await privateGuildMemberWithChatsRevoked.update({'flags.chatRevoked': true});
+ await privateGuildMemberWithChatsRevoked.update({ 'flags.chatRevoked': true });
- const message = await privateGuildMemberWithChatsRevoked.post(`/groups/${group._id}/chat`, { message: testMessage});
+ const message = await privateGuildMemberWithChatsRevoked.post(`/groups/${group._id}/chat`, { message: testMessage });
expect(message.message.id).to.exist;
});
@@ -124,9 +125,9 @@ describe('POST /chat', () => {
});
const privatePartyMemberWithChatsRevoked = members[0];
- await privatePartyMemberWithChatsRevoked.update({'flags.chatRevoked': true});
+ await privatePartyMemberWithChatsRevoked.update({ 'flags.chatRevoked': true });
- const message = await privatePartyMemberWithChatsRevoked.post(`/groups/${group._id}/chat`, { message: testMessage});
+ const message = await privatePartyMemberWithChatsRevoked.post(`/groups/${group._id}/chat`, { message: testMessage });
expect(message.message.id).to.exist;
});
@@ -140,12 +141,12 @@ describe('POST /chat', () => {
afterEach(() => {
sandbox.restore();
- member.update({'flags.chatShadowMuted': false});
+ member.update({ 'flags.chatShadowMuted': false });
});
it('creates a chat with flagCount already set and notifies mods when sending a message to a public guild', async () => {
- const userWithChatShadowMuted = await member.update({'flags.chatShadowMuted': true});
- const message = await userWithChatShadowMuted.post(`/groups/${groupWithChat._id}/chat`, { message: testMessage});
+ const userWithChatShadowMuted = await member.update({ 'flags.chatShadowMuted': true });
+ const message = await userWithChatShadowMuted.post(`/groups/${groupWithChat._id}/chat`, { message: testMessage });
expect(message.message.id).to.exist;
expect(message.message.flagCount).to.eql(CHAT_FLAG_FROM_SHADOW_MUTE);
@@ -185,9 +186,9 @@ describe('POST /chat', () => {
});
const userWithChatShadowMuted = members[0];
- await userWithChatShadowMuted.update({'flags.chatShadowMuted': true});
+ await userWithChatShadowMuted.update({ 'flags.chatShadowMuted': true });
- const message = await userWithChatShadowMuted.post(`/groups/${group._id}/chat`, { message: testMessage});
+ const message = await userWithChatShadowMuted.post(`/groups/${group._id}/chat`, { message: testMessage });
expect(message.message.id).to.exist;
expect(message.message.flagCount).to.eql(0);
@@ -204,16 +205,16 @@ describe('POST /chat', () => {
});
const userWithChatShadowMuted = members[0];
- await userWithChatShadowMuted.update({'flags.chatShadowMuted': true});
+ await userWithChatShadowMuted.update({ 'flags.chatShadowMuted': true });
- const message = await userWithChatShadowMuted.post(`/groups/${group._id}/chat`, { message: testMessage});
+ const message = await userWithChatShadowMuted.post(`/groups/${group._id}/chat`, { message: testMessage });
expect(message.message.id).to.exist;
expect(message.message.flagCount).to.eql(0);
});
it('creates a chat with zero flagCount when non-shadow-muted user sends a message to a public guild', async () => {
- const message = await member.post(`/groups/${groupWithChat._id}/chat`, { message: testMessage});
+ const message = await member.post(`/groups/${groupWithChat._id}/chat`, { message: testMessage });
expect(message.message.id).to.exist;
expect(message.message.flagCount).to.eql(0);
});
@@ -221,7 +222,7 @@ describe('POST /chat', () => {
context('banned word', () => {
it('returns an error when chat message contains a banned word in tavern', async () => {
- await expect(user.post('/groups/habitrpg/chat', { message: testBannedWordMessage}))
+ await expect(user.post('/groups/habitrpg/chat', { message: testBannedWordMessage }))
.to.eventually.be.rejected.and.eql({
code: 400,
error: 'BadRequest',
@@ -230,7 +231,7 @@ describe('POST /chat', () => {
});
it('returns an error when chat message contains a banned word in a public guild', async () => {
- let { group, members } = await createAndPopulateGroup({
+ const { group, members } = await createAndPopulateGroup({
groupDetails: {
name: 'public guild',
type: 'guild',
@@ -239,7 +240,7 @@ describe('POST /chat', () => {
members: 1,
});
- await expect(members[0].post(`/groups/${group._id}/chat`, { message: testBannedWordMessage}))
+ await expect(members[0].post(`/groups/${group._id}/chat`, { message: testBannedWordMessage }))
.to.eventually.be.rejected.and.eql({
code: 400,
error: 'BadRequest',
@@ -248,8 +249,8 @@ describe('POST /chat', () => {
});
it('errors when word is part of a phrase', async () => {
- let wordInPhrase = `phrase ${testBannedWordMessage} end`;
- await expect(user.post('/groups/habitrpg/chat', { message: wordInPhrase}))
+ const wordInPhrase = `phrase ${testBannedWordMessage} end`;
+ await expect(user.post('/groups/habitrpg/chat', { message: wordInPhrase }))
.to.eventually.be.rejected.and.eql({
code: 400,
error: 'BadRequest',
@@ -258,8 +259,8 @@ describe('POST /chat', () => {
});
it('errors when word is surrounded by non alphabet characters', async () => {
- let wordInPhrase = `_!${testBannedWordMessage}@_`;
- await expect(user.post('/groups/habitrpg/chat', { message: wordInPhrase}))
+ const wordInPhrase = `_!${testBannedWordMessage}@_`;
+ await expect(user.post('/groups/habitrpg/chat', { message: wordInPhrase }))
.to.eventually.be.rejected.and.eql({
code: 400,
error: 'BadRequest',
@@ -268,47 +269,51 @@ describe('POST /chat', () => {
});
it('errors when word is typed in mixed case', async () => {
- let substrLength = Math.floor(testBannedWordMessage.length / 2);
- let chatMessage = testBannedWordMessage.substring(0, substrLength).toLowerCase() + testBannedWordMessage.substring(substrLength).toUpperCase();
+ const substrLength = Math.floor(testBannedWordMessage.length / 2);
+ const chatMessage = testBannedWordMessage.substring(0, substrLength).toLowerCase()
+ + testBannedWordMessage.substring(substrLength).toUpperCase();
await expect(user.post('/groups/habitrpg/chat', { message: chatMessage }))
.to.eventually.be.rejected.and.eql({
code: 400,
error: 'BadRequest',
- message: t('bannedWordUsed', {swearWordsUsed: chatMessage}),
+ message: t('bannedWordUsed', { swearWordsUsed: chatMessage }),
});
});
it('checks error message has all the banned words used, regardless of case', async () => {
- let testBannedWords = [testBannedWordMessage.toUpperCase(), testBannedWordMessage1.toLowerCase()];
- let chatMessage = `Mixing ${testBannedWords[0]} and ${testBannedWords[1]} is bad for you.`;
- await expect(user.post('/groups/habitrpg/chat', { message: chatMessage}))
+ const testBannedWords = [
+ testBannedWordMessage.toUpperCase(),
+ testBannedWordMessage1.toLowerCase(),
+ ];
+ const chatMessage = `Mixing ${testBannedWords[0]} and ${testBannedWords[1]} is bad for you.`;
+ await expect(user.post('/groups/habitrpg/chat', { message: chatMessage }))
.to.eventually.be.rejected
.and.have.property('message')
.that.includes(testBannedWords.join(', '));
});
it('check all banned words are matched', async () => {
- let message = bannedWords.join(',').replace(/\\/g, '');
- let matches = getMatchesByWordArray(message, bannedWords);
+ const message = bannedWords.join(',').replace(/\\/g, '');
+ const matches = getMatchesByWordArray(message, bannedWords);
expect(matches.length).to.equal(bannedWords.length);
});
it('does not error when bad word is suffix of a word', async () => {
- let wordAsSuffix = `prefix${testBannedWordMessage}`;
- let message = await user.post('/groups/habitrpg/chat', { message: wordAsSuffix});
+ const wordAsSuffix = `prefix${testBannedWordMessage}`;
+ const message = await user.post('/groups/habitrpg/chat', { message: wordAsSuffix });
expect(message.message.id).to.exist;
});
it('does not error when bad word is prefix of a word', async () => {
- let wordAsPrefix = `${testBannedWordMessage}suffix`;
- let message = await user.post('/groups/habitrpg/chat', { message: wordAsPrefix});
+ const wordAsPrefix = `${testBannedWordMessage}suffix`;
+ const message = await user.post('/groups/habitrpg/chat', { message: wordAsPrefix });
expect(message.message.id).to.exist;
});
it('does not error when sending a chat message containing a banned word to a party', async () => {
- let { group, members } = await createAndPopulateGroup({
+ const { group, members } = await createAndPopulateGroup({
groupDetails: {
name: 'Party',
type: 'party',
@@ -317,13 +322,13 @@ describe('POST /chat', () => {
members: 1,
});
- let message = await members[0].post(`/groups/${group._id}/chat`, { message: testBannedWordMessage});
+ const message = await members[0].post(`/groups/${group._id}/chat`, { message: testBannedWordMessage });
expect(message.message.id).to.exist;
});
it('does not error when sending a chat message containing a banned word to a public guild in which banned words are allowed', async () => {
- let { group, members } = await createAndPopulateGroup({
+ const { group, members } = await createAndPopulateGroup({
groupDetails: {
name: 'public guild',
type: 'guild',
@@ -334,13 +339,13 @@ describe('POST /chat', () => {
guildsAllowingBannedWords[group._id] = true;
- let message = await members[0].post(`/groups/${group._id}/chat`, { message: testBannedWordMessage});
+ const message = await members[0].post(`/groups/${group._id}/chat`, { message: testBannedWordMessage });
expect(message.message.id).to.exist;
});
it('does not error when sending a chat message containing a banned word to a private guild', async () => {
- let { group, members } = await createAndPopulateGroup({
+ const { group, members } = await createAndPopulateGroup({
groupDetails: {
name: 'private guild',
type: 'guild',
@@ -349,7 +354,7 @@ describe('POST /chat', () => {
members: 1,
});
- let message = await members[0].post(`/groups/${group._id}/chat`, { message: testBannedWordMessage});
+ const message = await members[0].post(`/groups/${group._id}/chat`, { message: testBannedWordMessage });
expect(message.message.id).to.exist;
});
@@ -363,11 +368,11 @@ describe('POST /chat', () => {
afterEach(() => {
sandbox.restore();
- user.update({'flags.chatRevoked': false});
+ user.update({ 'flags.chatRevoked': false });
});
it('errors and revokes privileges when chat message contains a banned slur', async () => {
- await expect(user.post(`/groups/${groupWithChat._id}/chat`, { message: testSlurMessage})).to.eventually.be.rejected.and.eql({
+ await expect(user.post(`/groups/${groupWithChat._id}/chat`, { message: testSlurMessage })).to.eventually.be.rejected.and.eql({
code: 400,
error: 'BadRequest',
message: t('bannedSlurUsed'),
@@ -398,7 +403,7 @@ describe('POST /chat', () => {
/* eslint-enable camelcase */
// Chat privileges are revoked
- await expect(user.post(`/groups/${groupWithChat._id}/chat`, { message: testMessage})).to.eventually.be.rejected.and.eql({
+ await expect(user.post(`/groups/${groupWithChat._id}/chat`, { message: testMessage })).to.eventually.be.rejected.and.eql({
code: 401,
error: 'NotAuthorized',
message: t('chatPrivilegesRevoked'),
@@ -406,7 +411,7 @@ describe('POST /chat', () => {
});
it('does not allow slurs in private groups', async () => {
- let { group, members } = await createAndPopulateGroup({
+ const { group, members } = await createAndPopulateGroup({
groupDetails: {
name: 'Party',
type: 'party',
@@ -415,7 +420,7 @@ describe('POST /chat', () => {
members: 1,
});
- await expect(members[0].post(`/groups/${group._id}/chat`, { message: testSlurMessage})).to.eventually.be.rejected.and.eql({
+ await expect(members[0].post(`/groups/${group._id}/chat`, { message: testSlurMessage })).to.eventually.be.rejected.and.eql({
code: 400,
error: 'BadRequest',
message: t('bannedSlurUsed'),
@@ -446,7 +451,7 @@ describe('POST /chat', () => {
/* eslint-enable camelcase */
// Chat privileges are revoked
- await expect(members[0].post(`/groups/${groupWithChat._id}/chat`, { message: testMessage})).to.eventually.be.rejected.and.eql({
+ await expect(members[0].post(`/groups/${groupWithChat._id}/chat`, { message: testMessage })).to.eventually.be.rejected.and.eql({
code: 401,
error: 'NotAuthorized',
message: t('chatPrivilegesRevoked'),
@@ -454,8 +459,9 @@ describe('POST /chat', () => {
});
it('errors when slur is typed in mixed case', async () => {
- let substrLength = Math.floor(testSlurMessage1.length / 2);
- let chatMessage = testSlurMessage1.substring(0, substrLength).toLowerCase() + testSlurMessage1.substring(substrLength).toUpperCase();
+ const substrLength = Math.floor(testSlurMessage1.length / 2);
+ const chatMessage = testSlurMessage1.substring(0, substrLength).toLowerCase()
+ + testSlurMessage1.substring(substrLength).toUpperCase();
await expect(user.post('/groups/habitrpg/chat', { message: chatMessage }))
.to.eventually.be.rejected.and.eql({
code: 400,
@@ -466,7 +472,7 @@ describe('POST /chat', () => {
});
it('creates a chat', async () => {
- const newMessage = await user.post(`/groups/${groupWithChat._id}/chat`, { message: testMessage});
+ const newMessage = await user.post(`/groups/${groupWithChat._id}/chat`, { message: testMessage });
const groupMessages = await user.get(`/groups/${groupWithChat._id}/chat`);
expect(newMessage.message.id).to.exist;
@@ -479,7 +485,7 @@ describe('POST /chat', () => {
THIS PART WON'T BE IN THE MESSAGE (over 3000)
`;
- const newMessage = await user.post(`/groups/${groupWithChat._id}/chat`, { message: veryLongMessage});
+ const newMessage = await user.post(`/groups/${groupWithChat._id}/chat`, { message: veryLongMessage });
const groupMessages = await user.get(`/groups/${groupWithChat._id}/chat`);
expect(newMessage.message.id).to.exist;
@@ -501,7 +507,7 @@ describe('POST /chat', () => {
});
await userWithStyle.sync();
- const message = await userWithStyle.post(`/groups/${groupWithChat._id}/chat`, { message: testMessage});
+ const message = await userWithStyle.post(`/groups/${groupWithChat._id}/chat`, { message: testMessage });
expect(message.message.id).to.exist;
expect(message.message.userStyles.items.currentMount).to.eql(userWithStyle.items.currentMount);
@@ -511,7 +517,8 @@ describe('POST /chat', () => {
expect(message.message.userStyles.preferences.skin).to.eql(userWithStyle.preferences.skin);
expect(message.message.userStyles.preferences.shirt).to.eql(userWithStyle.preferences.shirt);
expect(message.message.userStyles.preferences.chair).to.eql(userWithStyle.preferences.chair);
- expect(message.message.userStyles.preferences.background).to.eql(userWithStyle.preferences.background);
+ expect(message.message.userStyles.preferences.background)
+ .to.eql(userWithStyle.preferences.background);
});
it('adds backer info to chat', async () => {
@@ -524,7 +531,7 @@ describe('POST /chat', () => {
backer: backerInfo,
});
- const message = await backer.post(`/groups/${groupWithChat._id}/chat`, { message: testMessage});
+ const message = await backer.post(`/groups/${groupWithChat._id}/chat`, { message: testMessage });
const messageBackerInfo = message.message.backer;
expect(messageBackerInfo.npc).to.equal(backerInfo.npc);
@@ -533,8 +540,8 @@ describe('POST /chat', () => {
});
it('sends group chat received webhooks', async () => {
- let userUuid = generateUUID();
- let memberUuid = generateUUID();
+ const userUuid = generateUUID();
+ const memberUuid = generateUUID();
await server.start();
await user.post('/user/webhook', {
@@ -554,16 +561,16 @@ describe('POST /chat', () => {
},
});
- let message = await user.post(`/groups/${groupWithChat._id}/chat`, { message: testMessage });
+ const message = await user.post(`/groups/${groupWithChat._id}/chat`, { message: testMessage });
await sleep();
await server.close();
- let userBody = server.getWebhookData(userUuid);
- let memberBody = server.getWebhookData(memberUuid);
+ const userBody = server.getWebhookData(userUuid);
+ const memberBody = server.getWebhookData(memberUuid);
- [userBody, memberBody].forEach((body) => {
+ [userBody, memberBody].forEach(body => {
expect(body.group.id).to.eql(groupWithChat._id);
expect(body.group.name).to.eql(groupWithChat.name);
expect(body.chat).to.eql(message.message);
@@ -572,22 +579,20 @@ describe('POST /chat', () => {
context('chat notifications', () => {
beforeEach(() => {
- member.update({newMessages: {}, notifications: []});
+ member.update({ newMessages: {}, notifications: [] });
});
it('notifies other users of new messages for a guild', async () => {
- let message = await user.post(`/groups/${groupWithChat._id}/chat`, { message: testMessage });
- let memberWithNotification = await member.get('/user');
+ const message = await user.post(`/groups/${groupWithChat._id}/chat`, { message: testMessage });
+ const memberWithNotification = await member.get('/user');
expect(message.message.id).to.exist;
expect(memberWithNotification.newMessages[`${groupWithChat._id}`]).to.exist;
- expect(memberWithNotification.notifications.find(n => {
- return n.type === 'NEW_CHAT_MESSAGE' && n.data.group.id === groupWithChat._id;
- })).to.exist;
+ expect(memberWithNotification.notifications.find(n => n.type === 'NEW_CHAT_MESSAGE' && n.data.group.id === groupWithChat._id)).to.exist;
});
it('notifies other users of new messages for a party', async () => {
- let { group, groupLeader, members } = await createAndPopulateGroup({
+ const { group, groupLeader, members } = await createAndPopulateGroup({
groupDetails: {
name: 'Test Party',
type: 'party',
@@ -596,36 +601,32 @@ describe('POST /chat', () => {
members: 1,
});
- let message = await groupLeader.post(`/groups/${group._id}/chat`, { message: testMessage });
- let memberWithNotification = await members[0].get('/user');
+ const message = await groupLeader.post(`/groups/${group._id}/chat`, { message: testMessage });
+ const memberWithNotification = await members[0].get('/user');
expect(message.message.id).to.exist;
expect(memberWithNotification.newMessages[`${group._id}`]).to.exist;
- expect(memberWithNotification.notifications.find(n => {
- return n.type === 'NEW_CHAT_MESSAGE' && n.data.group.id === group._id;
- })).to.exist;
+ expect(memberWithNotification.notifications.find(n => n.type === 'NEW_CHAT_MESSAGE' && n.data.group.id === group._id)).to.exist;
});
it('does not notify other users of a new message that is already hidden from shadow-muting', async () => {
- await user.update({'flags.chatShadowMuted': true});
- let message = await user.post(`/groups/${groupWithChat._id}/chat`, { message: testMessage });
- let memberWithNotification = await member.get('/user');
+ await user.update({ 'flags.chatShadowMuted': true });
+ const message = await user.post(`/groups/${groupWithChat._id}/chat`, { message: testMessage });
+ const memberWithNotification = await member.get('/user');
- await user.update({'flags.chatShadowMuted': false});
+ await user.update({ 'flags.chatShadowMuted': false });
expect(message.message.id).to.exist;
expect(memberWithNotification.newMessages[`${groupWithChat._id}`]).to.not.exist;
- expect(memberWithNotification.notifications.find(n => {
- return n.type === 'NEW_CHAT_MESSAGE' && n.data.group.id === groupWithChat._id;
- })).to.not.exist;
+ expect(memberWithNotification.notifications.find(n => n.type === 'NEW_CHAT_MESSAGE' && n.data.group.id === groupWithChat._id)).to.not.exist;
});
});
context('Spam prevention', () => {
it('Returns an error when the user has been posting too many messages', async () => {
// Post as many messages are needed to reach the spam limit
- for (let i = 0; i < SPAM_MESSAGE_LIMIT; i++) {
- let result = await additionalMember.post(`/groups/${TAVERN_ID}/chat`, { message: testMessage }); // eslint-disable-line no-await-in-loop
+ for (let i = 0; i < SPAM_MESSAGE_LIMIT; i += 1) {
+ const result = await additionalMember.post(`/groups/${TAVERN_ID}/chat`, { message: testMessage }); // eslint-disable-line no-await-in-loop
expect(result.message.id).to.exist;
}
@@ -637,11 +638,11 @@ describe('POST /chat', () => {
});
it('contributor should not receive spam alert', async () => {
- let userSocialite = await member.update({'contributor.level': SPAM_MIN_EXEMPT_CONTRIB_LEVEL});
+ const userSocialite = await member.update({ 'contributor.level': SPAM_MIN_EXEMPT_CONTRIB_LEVEL });
// Post 1 more message than the spam limit to ensure they do not reach the limit
- for (let i = 0; i < SPAM_MESSAGE_LIMIT + 1; i++) {
- let result = await userSocialite.post(`/groups/${TAVERN_ID}/chat`, { message: testMessage }); // eslint-disable-line no-await-in-loop
+ for (let i = 0; i < SPAM_MESSAGE_LIMIT + 1; i += 1) {
+ const result = await userSocialite.post(`/groups/${TAVERN_ID}/chat`, { message: testMessage }); // eslint-disable-line no-await-in-loop
expect(result.message.id).to.exist;
}
});
diff --git a/test/api/v3/integration/chat/POST-chat_seen.test.js b/test/api/v3/integration/chat/POST-chat_seen.test.js
index 6bd3f87b23..f64df56146 100644
--- a/test/api/v3/integration/chat/POST-chat_seen.test.js
+++ b/test/api/v3/integration/chat/POST-chat_seen.test.js
@@ -5,10 +5,11 @@ import {
describe('POST /groups/:id/chat/seen', () => {
context('Guild', () => {
- let guild, guildLeader, guildMember, guildMessage;
+ let guild; let guildLeader; let guildMember; let
+ guildMessage;
before(async () => {
- let { group, groupLeader, members } = await createAndPopulateGroup({
+ const { group, groupLeader, members } = await createAndPopulateGroup({
groupDetails: {
type: 'guild',
privacy: 'public',
@@ -18,7 +19,7 @@ describe('POST /groups/:id/chat/seen', () => {
guild = group;
guildLeader = groupLeader;
- guildMember = members[0];
+ guildMember = members[0]; // eslint-disable-line prefer-destructuring
guildMessage = await guildLeader.post(`/groups/${guild._id}/chat`, { message: 'Some guild message' });
guildMessage = guildMessage.message;
@@ -32,7 +33,7 @@ describe('POST /groups/:id/chat/seen', () => {
await sleep(1);
- let guildThatHasSeenChat = await guildMember.get('/user');
+ const guildThatHasSeenChat = await guildMember.get('/user');
expect(guildThatHasSeenChat.notifications.length).to.equal(initialNotifications - 1);
expect(guildThatHasSeenChat.newMessages).to.be.empty;
@@ -40,10 +41,11 @@ describe('POST /groups/:id/chat/seen', () => {
});
context('Party', () => {
- let party, partyLeader, partyMember, partyMessage;
+ let party; let partyLeader; let partyMember; let
+ partyMessage;
before(async () => {
- let { group, groupLeader, members } = await createAndPopulateGroup({
+ const { group, groupLeader, members } = await createAndPopulateGroup({
groupDetails: {
type: 'party',
privacy: 'private',
@@ -53,7 +55,7 @@ describe('POST /groups/:id/chat/seen', () => {
party = group;
partyLeader = groupLeader;
- partyMember = members[0];
+ partyMember = members[0]; // eslint-disable-line prefer-destructuring
partyMessage = await partyLeader.post(`/groups/${party._id}/chat`, { message: 'Some party message' });
partyMessage = partyMessage.message;
@@ -67,7 +69,7 @@ describe('POST /groups/:id/chat/seen', () => {
await sleep(1);
- let partyMemberThatHasSeenChat = await partyMember.get('/user');
+ const partyMemberThatHasSeenChat = await partyMember.get('/user');
expect(partyMemberThatHasSeenChat.notifications.length).to.equal(initialNotifications - 1);
expect(partyMemberThatHasSeenChat.newMessages).to.be.empty;
diff --git a/test/api/v3/integration/chat/POST-groups_id_chat_id_clear_flags.test.js b/test/api/v3/integration/chat/POST-groups_id_chat_id_clear_flags.test.js
index 98ce34d35a..9bbc122244 100644
--- a/test/api/v3/integration/chat/POST-groups_id_chat_id_clear_flags.test.js
+++ b/test/api/v3/integration/chat/POST-groups_id_chat_id_clear_flags.test.js
@@ -1,18 +1,19 @@
+import moment from 'moment';
+import { v4 as generateUUID } from 'uuid';
import {
createAndPopulateGroup,
generateUser,
translate as t,
} from '../../../../helpers/api-integration/v3';
import config from '../../../../../config.json';
-import moment from 'moment';
-import { v4 as generateUUID } from 'uuid';
describe('POST /groups/:id/chat/:id/clearflags', () => {
const USER_AGE_FOR_FLAGGING = 3;
- let groupWithChat, message, author, nonAdmin, admin;
+ let groupWithChat; let message; let author; let nonAdmin; let
+ admin;
before(async () => {
- let { group, groupLeader } = await createAndPopulateGroup({
+ const { group, groupLeader } = await createAndPopulateGroup({
groupDetails: {
type: 'guild',
privacy: 'public',
@@ -21,8 +22,8 @@ describe('POST /groups/:id/chat/:id/clearflags', () => {
groupWithChat = group;
author = groupLeader;
- nonAdmin = await generateUser({'auth.timestamps.created': moment().subtract(USER_AGE_FOR_FLAGGING + 1, 'days').toDate()});
- admin = await generateUser({'contributor.admin': true});
+ nonAdmin = await generateUser({ 'auth.timestamps.created': moment().subtract(USER_AGE_FOR_FLAGGING + 1, 'days').toDate() });
+ admin = await generateUser({ 'contributor.admin': true });
message = await author.post(`/groups/${groupWithChat._id}/chat`, { message: 'Some message' });
message = message.message;
@@ -30,17 +31,15 @@ describe('POST /groups/:id/chat/:id/clearflags', () => {
});
context('Single Message', () => {
- it('returns error when non-admin attempts to clear flags', async () => {
- return expect(nonAdmin.post(`/groups/${groupWithChat._id}/chat/${message.id}/clearflags`))
- .to.eventually.be.rejected.and.eql({
- code: 401,
- error: 'NotAuthorized',
- message: t('messageGroupChatAdminClearFlagCount'),
- });
- });
+ it('returns error when non-admin attempts to clear flags', async () => expect(nonAdmin.post(`/groups/${groupWithChat._id}/chat/${message.id}/clearflags`))
+ .to.eventually.be.rejected.and.eql({
+ code: 401,
+ error: 'NotAuthorized',
+ message: t('messageGroupChatAdminClearFlagCount'),
+ }));
it('returns error if message does not exist', async () => {
- let fakeMessageID = generateUUID();
+ const fakeMessageID = generateUUID();
await expect(admin.post(`/groups/${groupWithChat._id}/chat/${fakeMessageID}/clearflags`))
.to.eventually.be.rejected.and.eql({
@@ -52,13 +51,13 @@ describe('POST /groups/:id/chat/:id/clearflags', () => {
it('clears flags and leaves old flags on the flag object', async () => {
await admin.post(`/groups/${groupWithChat._id}/chat/${message.id}/clearflags`);
- let messages = await admin.get(`/groups/${groupWithChat._id}/chat`);
+ const messages = await admin.get(`/groups/${groupWithChat._id}/chat`);
expect(messages[0].flagCount).to.eql(0);
expect(messages[0].flags).to.have.property(admin._id, true);
});
it('clears flags in a private group', async () => {
- let { group, members } = await createAndPopulateGroup({
+ const { group, members } = await createAndPopulateGroup({
groupDetails: {
type: 'party',
privacy: 'private',
@@ -82,7 +81,7 @@ describe('POST /groups/:id/chat/:id/clearflags', () => {
});
it('can\'t flag a system message', async () => {
- let { group, members } = await createAndPopulateGroup({
+ const { group, members } = await createAndPopulateGroup({
groupDetails: {
type: 'party',
privacy: 'private',
@@ -90,7 +89,7 @@ describe('POST /groups/:id/chat/:id/clearflags', () => {
members: 1,
});
- let member = members[0];
+ const member = members[0];
// make member that can use skills
await member.update({
@@ -101,12 +100,12 @@ describe('POST /groups/:id/chat/:id/clearflags', () => {
await member.post('/user/class/cast/mpheal');
- let [skillMsg] = await member.get(`/groups/${group.id}/chat`);
+ const [skillMsg] = await member.get(`/groups/${group.id}/chat`);
await expect(member.post(`/groups/${group._id}/chat/${skillMsg.id}/flag`))
.to.eventually.be.rejected.and.eql({
code: 400,
error: 'BadRequest',
- message: t('messageCannotFlagSystemMessages', {communityManagerEmail: config.EMAILS_COMMUNITY_MANAGER_EMAIL}),
+ message: t('messageCannotFlagSystemMessages', { communityManagerEmail: config.EMAILS_COMMUNITY_MANAGER_EMAIL }),
});
// let messages = await members[0].get(`/groups/${group._id}/chat`);
// expect(messages[0].id).to.eql(skillMsg.id);
@@ -115,7 +114,8 @@ describe('POST /groups/:id/chat/:id/clearflags', () => {
});
context('admin user, group with multiple messages', () => {
- let message2, message3, message4;
+ let message2; let message3; let
+ message4;
before(async () => {
message2 = await author.post(`/groups/${groupWithChat._id}/chat`, { message: 'Some message 2' });
@@ -133,14 +133,14 @@ describe('POST /groups/:id/chat/:id/clearflags', () => {
it('changes only the message that is flagged', async () => {
await admin.post(`/groups/${groupWithChat._id}/chat/${message.id}/clearflags`);
- let messages = await admin.get(`/groups/${groupWithChat._id}/chat`);
+ const messages = await admin.get(`/groups/${groupWithChat._id}/chat`);
expect(messages).to.have.lengthOf(4);
- let messageThatWasUnflagged = messages[3];
- let messageWith1Flag = messages[2];
- let messageWith2Flag = messages[1];
- let messageWithoutFlags = messages[0];
+ const messageThatWasUnflagged = messages[3];
+ const messageWith1Flag = messages[2];
+ const messageWith2Flag = messages[1];
+ const messageWithoutFlags = messages[0];
expect(messageThatWasUnflagged.flagCount).to.eql(0);
expect(messageThatWasUnflagged.flags).to.have.property(admin._id, true);
diff --git a/test/api/v3/integration/content/GET-content.test.js b/test/api/v3/integration/content/GET-content.test.js
index a9f9ce5ee9..a241058be5 100644
--- a/test/api/v3/integration/content/GET-content.test.js
+++ b/test/api/v3/integration/content/GET-content.test.js
@@ -6,19 +6,19 @@ import i18n from '../../../../../website/common/script/i18n';
describe('GET /content', () => {
it('returns content (and does not require authentication)', async () => {
- let res = await requester().get('/content');
+ const res = await requester().get('/content');
expect(res).to.have.nested.property('backgrounds.backgrounds062014.beach');
expect(res.backgrounds.backgrounds062014.beach.text).to.equal(t('backgroundBeachText'));
});
it('returns content not in English', async () => {
- let res = await requester().get('/content?language=de');
+ const res = await requester().get('/content?language=de');
expect(res).to.have.nested.property('backgrounds.backgrounds062014.beach');
expect(res.backgrounds.backgrounds062014.beach.text).to.equal(i18n.t('backgroundBeachText', 'de'));
});
it('falls back to English if the desired language is not found', async () => {
- let res = await requester().get('/content?language=wrong');
+ const res = await requester().get('/content?language=wrong');
expect(res).to.have.nested.property('backgrounds.backgrounds062014.beach');
expect(res.backgrounds.backgrounds062014.beach.text).to.equal(t('backgroundBeachText'));
});
diff --git a/test/api/v3/integration/coupons/GET-coupons.test.js b/test/api/v3/integration/coupons/GET-coupons.test.js
index 9eecfe681c..24cc230e49 100644
--- a/test/api/v3/integration/coupons/GET-coupons.test.js
+++ b/test/api/v3/integration/coupons/GET-coupons.test.js
@@ -28,9 +28,9 @@ describe('GET /coupons/', () => {
'contributor.sudo': true,
});
- let coupons = await user.post('/coupons/generate/wondercon?count=11');
- let res = await user.get('/coupons');
- let splitRes = res.split('\n');
+ const coupons = await user.post('/coupons/generate/wondercon?count=11');
+ const res = await user.get('/coupons');
+ const splitRes = res.split('\n');
expect(splitRes.length).to.equal(13);
expect(splitRes[0]).to.equal('code,event,date,user');
diff --git a/test/api/v3/integration/coupons/POST-coupons_enter_code.test.js b/test/api/v3/integration/coupons/POST-coupons_enter_code.test.js
index be3f982617..d2b0fdec44 100644
--- a/test/api/v3/integration/coupons/POST-coupons_enter_code.test.js
+++ b/test/api/v3/integration/coupons/POST-coupons_enter_code.test.js
@@ -36,7 +36,7 @@ describe('POST /coupons/enter/:code', () => {
});
it('returns an error if coupon has been used', async () => {
- let [coupon] = await sudoUser.post('/coupons/generate/wondercon?count=1');
+ const [coupon] = await sudoUser.post('/coupons/generate/wondercon?count=1');
await user.post(`/coupons/enter/${coupon._id}`); // use coupon
await expect(user.post(`/coupons/enter/${coupon._id}`)).to.eventually.be.rejected.and.eql({
@@ -47,8 +47,8 @@ describe('POST /coupons/enter/:code', () => {
});
it('should apply the coupon to the user', async () => {
- let [coupon] = await sudoUser.post('/coupons/generate/wondercon?count=1');
- let userRes = await user.post(`/coupons/enter/${coupon._id}`);
+ const [coupon] = await sudoUser.post('/coupons/generate/wondercon?count=1');
+ const userRes = await user.post(`/coupons/enter/${coupon._id}`);
expect(userRes._id).to.equal(user._id);
expect(userRes.items.gear.owned.eyewear_special_wondercon_red).to.be.true;
expect(userRes.items.gear.owned.eyewear_special_wondercon_black).to.be.true;
@@ -57,6 +57,6 @@ describe('POST /coupons/enter/:code', () => {
expect(userRes.items.gear.owned.body_special_wondercon_red).to.be.true;
expect(userRes.items.gear.owned.body_special_wondercon_black).to.be.true;
expect(userRes.items.gear.owned.body_special_wondercon_gold).to.be.true;
- expect(userRes.extra).to.eql({signupEvent: 'wondercon'});
+ expect(userRes.extra).to.eql({ signupEvent: 'wondercon' });
});
});
diff --git a/test/api/v3/integration/coupons/POST-coupons_generate_event.test.js b/test/api/v3/integration/coupons/POST-coupons_generate_event.test.js
index 1fe9af0d7a..591cf1a567 100644
--- a/test/api/v3/integration/coupons/POST-coupons_generate_event.test.js
+++ b/test/api/v3/integration/coupons/POST-coupons_generate_event.test.js
@@ -1,9 +1,9 @@
+import couponCode from 'coupon-code';
import {
generateUser,
translate as t,
resetHabiticaDB,
} from '../../../../helpers/api-integration/v3';
-import couponCode from 'coupon-code';
import apiError from '../../../../../website/server/libs/apiError';
describe('POST /coupons/generate/:event', () => {
@@ -51,7 +51,7 @@ describe('POST /coupons/generate/:event', () => {
'contributor.sudo': true,
});
- let coupons = await user.post('/coupons/generate/wondercon?count=2');
+ const coupons = await user.post('/coupons/generate/wondercon?count=2');
expect(coupons.length).to.equal(2);
expect(coupons[0].event).to.equal('wondercon');
expect(couponCode.validate(coupons[1]._id)).to.not.equal(''); // '' means invalid
diff --git a/test/api/v3/integration/coupons/POST-coupons_validate_code.test.js b/test/api/v3/integration/coupons/POST-coupons_validate_code.test.js
index 52d85c6210..5d6bef2b91 100644
--- a/test/api/v3/integration/coupons/POST-coupons_validate_code.test.js
+++ b/test/api/v3/integration/coupons/POST-coupons_validate_code.test.js
@@ -5,7 +5,7 @@ import {
} from '../../../../helpers/api-integration/v3';
describe('POST /coupons/validate/:code', () => {
- let api = requester();
+ const api = requester();
before(async () => {
await resetHabiticaDB();
@@ -20,17 +20,17 @@ describe('POST /coupons/validate/:code', () => {
});
it('returns true if coupon code is valid', async () => {
- let sudoUser = await generateUser({
+ const sudoUser = await generateUser({
'contributor.sudo': true,
});
- let [coupon] = await sudoUser.post('/coupons/generate/wondercon?count=1');
- let res = await api.post(`/coupons/validate/${coupon._id}`);
- expect(res).to.eql({valid: true});
+ const [coupon] = await sudoUser.post('/coupons/generate/wondercon?count=1');
+ const res = await api.post(`/coupons/validate/${coupon._id}`);
+ expect(res).to.eql({ valid: true });
});
it('returns false if coupon code is valid', async () => {
- let res = await api.post('/coupons/validate/notValid');
- expect(res).to.eql({valid: false});
+ const res = await api.post('/coupons/validate/notValid');
+ expect(res).to.eql({ valid: false });
});
});
diff --git a/test/api/v3/integration/dataexport/GET-export_avatar-memberId.html.test.js b/test/api/v3/integration/dataexport/GET-export_avatar-memberId.html.test.js
index 0b24bb02bd..d75d0ead25 100644
--- a/test/api/v3/integration/dataexport/GET-export_avatar-memberId.html.test.js
+++ b/test/api/v3/integration/dataexport/GET-export_avatar-memberId.html.test.js
@@ -1,8 +1,8 @@
+import { v4 as generateUUID } from 'uuid';
import {
generateUser,
translate as t,
} from '../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
xdescribe('GET /export/avatar-:memberId.html', () => {
let user;
@@ -20,16 +20,16 @@ xdescribe('GET /export/avatar-:memberId.html', () => {
});
it('handles non-existing members', async () => {
- let dummyId = generateUUID();
+ const dummyId = generateUUID();
await expect(user.get(`/export/avatar-${dummyId}.html`)).to.eventually.be.rejected.and.eql({
code: 404,
error: 'NotFound',
- message: t('userWithIDNotFound', {userId: dummyId}),
+ message: t('userWithIDNotFound', { userId: dummyId }),
});
});
it('returns an html page', async () => {
- let res = await user.get(`/export/avatar-${user._id}.html`);
+ const res = await user.get(`/export/avatar-${user._id}.html`);
expect(res.substring(0, 100).indexOf('')).to.equal(0);
});
});
diff --git a/test/api/v3/integration/dataexport/GET-export_history.csv.test.js b/test/api/v3/integration/dataexport/GET-export_history.csv.test.js
index 5f49213038..4f6a6c76a2 100644
--- a/test/api/v3/integration/dataexport/GET-export_history.csv.test.js
+++ b/test/api/v3/integration/dataexport/GET-export_history.csv.test.js
@@ -1,26 +1,24 @@
+import moment from 'moment';
import {
generateUser,
} from '../../../../helpers/api-integration/v3';
import {
updateDocument,
} from '../../../../helpers/mongo';
-import moment from 'moment';
describe('GET /export/history.csv', () => {
// TODO disabled because it randomly causes the build to fail
xit('should return a valid CSV file with tasks history data', async () => {
- let user = await generateUser();
+ const user = await generateUser();
let tasks = await user.post('/tasks/user', [
- {type: 'daily', text: 'daily 1'},
- {type: 'habit', text: 'habit 1'},
- {type: 'habit', text: 'habit 2'},
- {type: 'todo', text: 'todo 1'},
+ { type: 'daily', text: 'daily 1' },
+ { type: 'habit', text: 'habit 1' },
+ { type: 'habit', text: 'habit 2' },
+ { type: 'todo', text: 'todo 1' },
]);
// to handle occasional inconsistency in task creation order
- tasks.sort(function (a, b) {
- return a.text.localeCompare(b.text);
- });
+ tasks.sort((a, b) => a.text.localeCompare(b.text));
// score all the tasks twice
await user.post(`/tasks/${tasks[0]._id}/score/up`);
@@ -35,16 +33,14 @@ describe('GET /export/history.csv', () => {
// adding an history entry to daily 1 manually because cron didn't run yet
await updateDocument('tasks', tasks[0], {
- history: [{value: 3.2, date: Number(new Date())}],
+ history: [{ value: 3.2, date: Number(new Date()) }],
});
// get updated tasks
- tasks = await Promise.all(tasks.map(task => {
- return user.get(`/tasks/${task._id}`);
- }));
+ tasks = await Promise.all(tasks.map(task => user.get(`/tasks/${task._id}`)));
- let res = await user.get('/export/history.csv');
- let splitRes = res.split('\n');
+ const res = await user.get('/export/history.csv');
+ const splitRes = res.split('\n');
expect(splitRes[0]).to.equal('Task Name,Task ID,Task Type,Date,Value');
expect(splitRes[1]).to.equal(`daily 1,${tasks[0]._id},daily,${moment(tasks[0].history[0].date).format('YYYY-MM-DD HH:mm:ss')},${tasks[0].history[0].value}`);
diff --git a/test/api/v3/integration/dataexport/GET-export_inbox.html.test.js b/test/api/v3/integration/dataexport/GET-export_inbox.html.test.js
index 61c4e6b933..b9f9b96fff 100644
--- a/test/api/v3/integration/dataexport/GET-export_inbox.html.test.js
+++ b/test/api/v3/integration/dataexport/GET-export_inbox.html.test.js
@@ -6,7 +6,7 @@ describe('GET /export/inbox.html', () => {
let user;
before(async () => {
- let otherUser = await generateUser({
+ const otherUser = await generateUser({
'profile.name': 'Other User',
});
user = await generateUser({
@@ -30,13 +30,13 @@ describe('GET /export/inbox.html', () => {
});
it('returns an html page', async () => {
- let res = await user.get('/export/inbox.html');
+ const res = await user.get('/export/inbox.html');
expect(res.substring(0, 100).indexOf('')).to.equal(0);
});
it('renders the markdown messages as html', async () => {
- let res = await user.get('/export/inbox.html');
+ const res = await user.get('/export/inbox.html');
expect(res).to.include('img class="habitica-emoji"');
expect(res).to.include('
Hello! ');
@@ -44,11 +44,11 @@ describe('GET /export/inbox.html', () => {
});
it('sorts messages from newest to oldest', async () => {
- let res = await user.get('/export/inbox.html');
+ const res = await user.get('/export/inbox.html');
- let emojiPosition = res.indexOf('img class="habitica-emoji"');
- let headingPosition = res.indexOf('Hello! ');
- let listPosition = res.indexOf('list 1 ');
+ const emojiPosition = res.indexOf('img class="habitica-emoji"');
+ const headingPosition = res.indexOf('Hello! ');
+ const listPosition = res.indexOf('list 1 ');
expect(emojiPosition).to.be.greaterThan(headingPosition);
expect(headingPosition).to.be.greaterThan(listPosition);
diff --git a/test/api/v3/integration/dataexport/GET-export_userdata.json.test.js b/test/api/v3/integration/dataexport/GET-export_userdata.json.test.js
index 38fbf6435f..7156c884a4 100644
--- a/test/api/v3/integration/dataexport/GET-export_userdata.json.test.js
+++ b/test/api/v3/integration/dataexport/GET-export_userdata.json.test.js
@@ -4,15 +4,15 @@ import {
describe('GET /export/userdata.json', () => {
it('should return a valid JSON file with user data', async () => {
- let user = await generateUser();
- let tasks = await user.post('/tasks/user', [
- {type: 'habit', text: 'habit 1'},
- {type: 'daily', text: 'daily 1'},
- {type: 'reward', text: 'reward 1'},
- {type: 'todo', text: 'todo 1'},
+ const user = await generateUser();
+ const tasks = await user.post('/tasks/user', [
+ { type: 'habit', text: 'habit 1' },
+ { type: 'daily', text: 'daily 1' },
+ { type: 'reward', text: 'reward 1' },
+ { type: 'todo', text: 'todo 1' },
]);
- let res = await user.get('/export/userdata.json');
+ const res = await user.get('/export/userdata.json');
expect(res._id).to.equal(user._id);
expect(res).to.contain.all.keys(['tasks', 'flags', 'tasksOrder', 'auth']);
expect(res.auth.local).not.to.have.keys(['salt', 'hashed_password']);
diff --git a/test/api/v3/integration/dataexport/GET-export_userdata.xml.test.js b/test/api/v3/integration/dataexport/GET-export_userdata.xml.test.js
index f99b34d869..685f0072f6 100644
--- a/test/api/v3/integration/dataexport/GET-export_userdata.xml.test.js
+++ b/test/api/v3/integration/dataexport/GET-export_userdata.xml.test.js
@@ -1,25 +1,25 @@
+import xml2js from 'xml2js';
+import util from 'util';
import {
generateUser,
} from '../../../../helpers/api-integration/v3';
-import xml2js from 'xml2js';
-import util from 'util';
-let parseStringAsync = util.promisify(xml2js.parseString).bind(xml2js);
+const parseStringAsync = util.promisify(xml2js.parseString).bind(xml2js);
describe('GET /export/userdata.xml', () => {
it('should return a valid XML file with user data', async () => {
- let user = await generateUser();
- let tasks = await user.post('/tasks/user', [
- {type: 'habit', text: 'habit 1'},
- {type: 'daily', text: 'daily 1'},
- {type: 'reward', text: 'reward 1'},
- {type: 'todo', text: 'todo 1'},
+ const user = await generateUser();
+ const tasks = await user.post('/tasks/user', [
+ { type: 'habit', text: 'habit 1' },
+ { type: 'daily', text: 'daily 1' },
+ { type: 'reward', text: 'reward 1' },
+ { type: 'todo', text: 'todo 1' },
// due to how the xml parser works an array is returned only if there's more than one children
// so we create two tasks for each type
- {type: 'habit', text: 'habit 2'},
- {type: 'daily', text: 'daily 2'},
- {type: 'reward', text: 'reward 2'},
- {type: 'todo', text: 'todo 2'},
+ { type: 'habit', text: 'habit 2' },
+ { type: 'daily', text: 'daily 2' },
+ { type: 'reward', text: 'reward 2' },
+ { type: 'todo', text: 'todo 2' },
]);
@@ -27,15 +27,15 @@ describe('GET /export/userdata.xml', () => {
await user.get('/user/toggle-pinned-item/marketGear/gear.flat.shield_rogue_5');
// add a private message
- let receiver = await generateUser();
+ const receiver = await generateUser();
user.post('/members/send-private-message', {
message: 'Your first message, hi!',
toUserId: receiver._id,
});
- let response = await user.get('/export/userdata.xml');
- let {user: res} = await parseStringAsync(response, {explicitArray: false});
+ const response = await user.get('/export/userdata.xml');
+ const { user: res } = await parseStringAsync(response, { explicitArray: false });
expect(res._id).to.equal(user._id);
expect(res).to.contain.all.keys(['tasks', 'flags', 'tasksOrder', 'auth']);
@@ -43,19 +43,19 @@ describe('GET /export/userdata.xml', () => {
expect(res.tasks).to.have.all.keys(['dailys', 'habits', 'todos', 'rewards']);
expect(res.tasks.habits.length).to.equal(2);
- let habitIds = _.map(res.tasks.habits, '_id');
+ const habitIds = _.map(res.tasks.habits, '_id');
expect(habitIds).to.have.deep.members([tasks[0]._id, tasks[4]._id]);
expect(res.tasks.dailys.length).to.equal(2);
- let dailyIds = _.map(res.tasks.dailys, '_id');
+ const dailyIds = _.map(res.tasks.dailys, '_id');
expect(dailyIds).to.have.deep.members([tasks[1]._id, tasks[5]._id]);
expect(res.tasks.rewards.length).to.equal(2);
- let rewardIds = _.map(res.tasks.rewards, '_id');
+ const rewardIds = _.map(res.tasks.rewards, '_id');
expect(rewardIds).to.have.deep.members([tasks[2]._id, tasks[6]._id]);
expect(res.tasks.todos.length).to.equal(3);
- let todoIds = _.map(res.tasks.todos, '_id');
+ const todoIds = _.map(res.tasks.todos, '_id');
expect(todoIds).to.deep.include.members([tasks[3]._id, tasks[7]._id]);
});
});
diff --git a/test/api/v3/integration/debug/POST-debug_addHourglass.test.js b/test/api/v3/integration/debug/POST-debug_addHourglass.test.js
index d528f79a81..b0ad288348 100644
--- a/test/api/v3/integration/debug/POST-debug_addHourglass.test.js
+++ b/test/api/v3/integration/debug/POST-debug_addHourglass.test.js
@@ -17,7 +17,7 @@ describe('POST /debug/add-hourglass', () => {
it('adds Hourglass to the current user', async () => {
await userToGetHourGlass.post('/debug/add-hourglass');
- let userWithHourGlass = await userToGetHourGlass.get('/user');
+ const userWithHourGlass = await userToGetHourGlass.get('/user');
expect(userWithHourGlass.purchased.plan.consecutive.trinkets).to.equal(1);
});
diff --git a/test/api/v3/integration/debug/POST-debug_addTenGems.test.js b/test/api/v3/integration/debug/POST-debug_addTenGems.test.js
index faaa2cbd10..74c39a153f 100644
--- a/test/api/v3/integration/debug/POST-debug_addTenGems.test.js
+++ b/test/api/v3/integration/debug/POST-debug_addTenGems.test.js
@@ -17,7 +17,7 @@ describe('POST /debug/add-ten-gems', () => {
it('adds ten gems to the current user', async () => {
await userToGainTenGems.post('/debug/add-ten-gems');
- let userWithTenGems = await userToGainTenGems.get('/user');
+ const userWithTenGems = await userToGainTenGems.get('/user');
expect(userWithTenGems.balance).to.equal(2.5);
});
diff --git a/test/api/v3/integration/debug/POST-debug_modify-inventory.test.js b/test/api/v3/integration/debug/POST-debug_modify-inventory.test.js
index cadb9e2b18..8b9f6ac10d 100644
--- a/test/api/v3/integration/debug/POST-debug_modify-inventory.test.js
+++ b/test/api/v3/integration/debug/POST-debug_modify-inventory.test.js
@@ -6,7 +6,8 @@ import {
} from '../../../../helpers/api-integration/v3';
describe('POST /debug/modify-inventory', () => {
- let user, originalItems;
+ let user; let
+ originalItems;
before(async () => {
originalItems = {
@@ -43,7 +44,7 @@ describe('POST /debug/modify-inventory', () => {
});
it('sets equipment', async () => {
- let gear = {
+ const gear = {
weapon_healer_2: true,
weapon_wizard_1: true,
weapon_special_critical: true,
@@ -59,7 +60,7 @@ describe('POST /debug/modify-inventory', () => {
});
it('sets special spells', async () => {
- let special = {
+ const special = {
shinySeed: 3,
};
@@ -73,7 +74,7 @@ describe('POST /debug/modify-inventory', () => {
});
it('sets mounts', async () => {
- let mounts = {
+ const mounts = {
'Orca-Base': true,
'Mammoth-Base': true,
};
@@ -88,7 +89,7 @@ describe('POST /debug/modify-inventory', () => {
});
it('sets eggs', async () => {
- let eggs = {
+ const eggs = {
Gryphon: 3,
Hedgehog: 7,
};
@@ -103,7 +104,7 @@ describe('POST /debug/modify-inventory', () => {
});
it('sets hatching potions', async () => {
- let hatchingPotions = {
+ const hatchingPotions = {
White: 7,
Spooky: 2,
};
@@ -118,7 +119,7 @@ describe('POST /debug/modify-inventory', () => {
});
it('sets food', async () => {
- let food = {
+ const food = {
Meat: 5,
Candy_Red: 7,
};
@@ -133,7 +134,7 @@ describe('POST /debug/modify-inventory', () => {
});
it('sets quests', async () => {
- let quests = {
+ const quests = {
whale: 5,
cheetah: 10,
};
diff --git a/test/api/v3/integration/debug/POST-debug_set-cron.test.js b/test/api/v3/integration/debug/POST-debug_set-cron.test.js
index 254bca2d1a..dfcd99c625 100644
--- a/test/api/v3/integration/debug/POST-debug_set-cron.test.js
+++ b/test/api/v3/integration/debug/POST-debug_set-cron.test.js
@@ -15,7 +15,7 @@ describe('POST /debug/set-cron', () => {
});
it('sets last cron', async () => {
- let newCron = new Date(2015, 11, 20);
+ const newCron = new Date(2015, 11, 20);
await user.post('/debug/set-cron', {
lastCron: newCron,
diff --git a/test/api/v3/integration/emails/GET-email-unsubscribe.test.js b/test/api/v3/integration/emails/GET-email-unsubscribe.test.js
index fcd26b7904..e44f809c73 100644
--- a/test/api/v3/integration/emails/GET-email-unsubscribe.test.js
+++ b/test/api/v3/integration/emails/GET-email-unsubscribe.test.js
@@ -1,13 +1,13 @@
+import { v4 as generateUUID } from 'uuid';
import {
generateUser,
translate as t,
} from '../../../../helpers/api-integration/v3';
import { encrypt } from '../../../../../website/server/libs/encryption';
-import { v4 as generateUUID } from 'uuid';
describe('GET /email/unsubscribe', () => {
let user;
- let testEmail = 'test@habitica.com';
+ const testEmail = 'test@habitica.com';
beforeEach(async () => {
user = await generateUser();
@@ -22,7 +22,7 @@ describe('GET /email/unsubscribe', () => {
});
it('return error when user is not found', async () => {
- let code = encrypt(JSON.stringify({
+ const code = encrypt(JSON.stringify({
_id: generateUUID(),
}));
@@ -34,34 +34,34 @@ describe('GET /email/unsubscribe', () => {
});
it('unsubscribes a user from email notifications', async () => {
- let code = encrypt(JSON.stringify({
+ const code = encrypt(JSON.stringify({
_id: user._id,
email: user.email,
}));
await user.get(`/email/unsubscribe?code=${code}`);
- let unsubscribedUser = await user.get('/user');
+ const unsubscribedUser = await user.get('/user');
expect(unsubscribedUser.preferences.emailNotifications.unsubscribeFromAll).to.be.true;
});
it('unsubscribes an email from notifications', async () => {
- let code = encrypt(JSON.stringify({
+ const code = encrypt(JSON.stringify({
email: testEmail,
}));
- let unsubscribedMessage = await user.get(`/email/unsubscribe?code=${code}`);
+ const unsubscribedMessage = await user.get(`/email/unsubscribe?code=${code}`);
expect(unsubscribedMessage).to.equal('Unsubscribed successfully! You won\'t receive any other email from Habitica.');
});
it('returns okay when email is already unsubscribed', async () => {
- let code = encrypt(JSON.stringify({
+ const code = encrypt(JSON.stringify({
email: testEmail,
}));
- let unsubscribedMessage = await user.get(`/email/unsubscribe?code=${code}`);
+ const unsubscribedMessage = await user.get(`/email/unsubscribe?code=${code}`);
expect(unsubscribedMessage).to.equal('Unsubscribed successfully! You won\'t receive any other email from Habitica.');
});
diff --git a/test/api/v3/integration/groups/GET-group-plans.test.js b/test/api/v3/integration/groups/GET-group-plans.test.js
index a56c01087d..42e82d133d 100644
--- a/test/api/v3/integration/groups/GET-group-plans.test.js
+++ b/test/api/v3/integration/groups/GET-group-plans.test.js
@@ -8,7 +8,7 @@ describe('GET /group-plans', () => {
let groupPlan;
before(async () => {
- user = await generateUser({balance: 4});
+ user = await generateUser({ balance: 4 });
groupPlan = await generateGroup(user,
{
name: 'public guild - is member',
@@ -25,7 +25,7 @@ describe('GET /group-plans', () => {
});
it('returns group plans for the user', async () => {
- let groupPlans = await user.get('/group-plans');
+ const groupPlans = await user.get('/group-plans');
expect(groupPlans[0]._id).to.eql(groupPlan._id);
});
diff --git a/test/api/v3/integration/groups/GET-groups.test.js b/test/api/v3/integration/groups/GET-groups.test.js
index 0baf835a02..5359cc4c85 100644
--- a/test/api/v3/integration/groups/GET-groups.test.js
+++ b/test/api/v3/integration/groups/GET-groups.test.js
@@ -16,7 +16,7 @@ describe('GET /groups', () => {
const NUMBER_OF_USERS_PRIVATE_GUILDS = 1;
const NUMBER_OF_GROUPS_USER_CAN_VIEW = 5;
const GUILD_PER_PAGE = 30;
- let categories = [{
+ const categories = [{
slug: 'newCat',
name: 'New Category',
}];
@@ -26,15 +26,15 @@ describe('GET /groups', () => {
before(async () => {
await resetHabiticaDB();
- let leader = await generateUser({ balance: 10 });
- user = await generateUser({balance: 4});
+ const leader = await generateUser({ balance: 10 });
+ user = await generateUser({ balance: 4 });
- let publicGuildUserIsMemberOf = await generateGroup(leader, {
+ const publicGuildUserIsMemberOf = await generateGroup(leader, {
name: 'public guild - is member',
type: 'guild',
privacy: 'public',
});
- await leader.post(`/groups/${publicGuildUserIsMemberOf._id}/invite`, { uuids: [user._id]});
+ await leader.post(`/groups/${publicGuildUserIsMemberOf._id}/invite`, { uuids: [user._id] });
await user.post(`/groups/${publicGuildUserIsMemberOf._id}/join`);
publicGuildNotMember = await generateGroup(leader, {
@@ -50,7 +50,7 @@ describe('GET /groups', () => {
privacy: 'private',
categories,
});
- await leader.post(`/groups/${privateGuildUserIsMemberOf._id}/invite`, { uuids: [user._id]});
+ await leader.post(`/groups/${privateGuildUserIsMemberOf._id}/invite`, { uuids: [user._id] });
await user.post(`/groups/${privateGuildUserIsMemberOf._id}/join`);
await generateGroup(leader, {
@@ -110,13 +110,13 @@ describe('GET /groups', () => {
describe('filters', () => {
it('returns public guilds filtered by category', async () => {
- let guilds = await user.get(`/groups?type=publicGuilds&categories=${categories[0].slug}`);
+ const guilds = await user.get(`/groups?type=publicGuilds&categories=${categories[0].slug}`);
expect(guilds[0]._id).to.equal(publicGuildNotMember._id);
});
it('returns private guilds filtered by category', async () => {
- let guilds = await user.get(`/groups?type=privateGuilds&categories=${categories[0].slug}`);
+ const guilds = await user.get(`/groups?type=privateGuilds&categories=${categories[0].slug}`);
expect(guilds[0]._id).to.equal(privateGuildUserIsMemberOf._id);
});
@@ -131,7 +131,7 @@ describe('GET /groups', () => {
// @TODO: anyway to set higher memberCount in tests right now?
- let guilds = await user.get('/groups?type=publicGuilds&minMemberCount=3');
+ const guilds = await user.get('/groups?type=publicGuilds&minMemberCount=3');
expect(guilds.length).to.equal(0);
});
@@ -146,7 +146,7 @@ describe('GET /groups', () => {
// @TODO: anyway to set higher memberCount in tests right now?
- let guilds = await user.get('/groups?type=privateGuilds&minMemberCount=3');
+ const guilds = await user.get('/groups?type=privateGuilds&minMemberCount=3');
expect(guilds.length).to.equal(0);
});
@@ -181,26 +181,24 @@ describe('GET /groups', () => {
});
it('returns 30 guilds per page ordered by number of members', async () => {
- await user.update({balance: 9000});
- let groups = await Promise.all(_.times(60, (i) => {
- return generateGroup(user, {
- name: `public guild ${i} - is member`,
- type: 'guild',
- privacy: 'public',
- });
- }));
+ await user.update({ balance: 9000 });
+ const groups = await Promise.all(_.times(60, i => generateGroup(user, {
+ name: `public guild ${i} - is member`,
+ type: 'guild',
+ privacy: 'public',
+ })));
// update group number 32 and not the first to make sure sorting works
- await groups[32].update({name: 'guild with most members', memberCount: 199});
- await groups[33].update({name: 'guild with less members', memberCount: -100});
+ await groups[32].update({ name: 'guild with most members', memberCount: 199 });
+ await groups[33].update({ name: 'guild with less members', memberCount: -100 });
- let page0 = await expect(user.get('/groups?type=publicGuilds&paginate=true'))
+ const page0 = await expect(user.get('/groups?type=publicGuilds&paginate=true'))
.to.eventually.have.a.lengthOf(GUILD_PER_PAGE);
expect(page0[0].name).to.equal('guild with most members');
await expect(user.get('/groups?type=publicGuilds&paginate=true&page=1'))
.to.eventually.have.a.lengthOf(GUILD_PER_PAGE);
- let page2 = await expect(user.get('/groups?type=publicGuilds&paginate=true&page=2'))
+ const page2 = await expect(user.get('/groups?type=publicGuilds&paginate=true&page=2'))
.to.eventually.have.a.lengthOf(1 + 4); // 1 created now, 4 by other tests
expect(page2[4].name).to.equal('guild with less members');
}).timeout(10000);
@@ -208,7 +206,8 @@ describe('GET /groups', () => {
it('returns all the user\'s guilds when guilds passed in as query', async () => {
await expect(user.get('/groups?type=guilds'))
- .to.eventually.have.a.lengthOf(NUMBER_OF_PUBLIC_GUILDS_USER_IS_MEMBER + NUMBER_OF_USERS_PRIVATE_GUILDS);
+ .to.eventually.have.a
+ .lengthOf(NUMBER_OF_PUBLIC_GUILDS_USER_IS_MEMBER + NUMBER_OF_USERS_PRIVATE_GUILDS);
});
it('returns all private guilds user is a part of when privateGuilds passed in as query', async () => {
@@ -222,7 +221,7 @@ describe('GET /groups', () => {
});
it('returns a list of groups user has access to', async () => {
- let group = await generateGroup(user, {
+ const group = await generateGroup(user, {
name: 'c++ coders',
type: 'guild',
privacy: 'public',
diff --git a/test/api/v3/integration/groups/GET-groups_groupId_invites.test.js b/test/api/v3/integration/groups/GET-groups_groupId_invites.test.js
index 832efe66e9..aa2a666bf4 100644
--- a/test/api/v3/integration/groups/GET-groups_groupId_invites.test.js
+++ b/test/api/v3/integration/groups/GET-groups_groupId_invites.test.js
@@ -1,9 +1,9 @@
+import { v4 as generateUUID } from 'uuid';
import {
generateUser,
generateGroup,
translate as t,
} from '../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
describe('GET /groups/:groupId/invites', () => {
let user;
@@ -29,8 +29,8 @@ describe('GET /groups/:groupId/invites', () => {
});
it('fails if user doesn\'t have access to the group', async () => {
- let group = await generateGroup(user, {type: 'party', name: generateUUID()});
- let anotherUser = await generateUser();
+ const group = await generateGroup(user, { type: 'party', name: generateUUID() });
+ const anotherUser = await generateUser();
await expect(anotherUser.get(`/groups/${group._id}/invites`)).to.eventually.be.rejected.and.eql({
code: 404,
error: 'NotFound',
@@ -39,17 +39,17 @@ describe('GET /groups/:groupId/invites', () => {
});
it('works when passing party as req.params.groupId', async () => {
- let group = await generateGroup(user, {type: 'party', name: generateUUID()});
- let invited = await generateUser();
- await user.post(`/groups/${group._id}/invite`, {uuids: [invited._id]});
- let res = await user.get('/groups/party/invites');
+ const group = await generateGroup(user, { type: 'party', name: generateUUID() });
+ const invited = await generateUser();
+ await user.post(`/groups/${group._id}/invite`, { uuids: [invited._id] });
+ const res = await user.get('/groups/party/invites');
expect(res).to.be.an('array');
expect(res.length).to.equal(1);
expect(res[0]).to.eql({
_id: invited._id,
id: invited._id,
- profile: {name: invited.profile.name},
+ profile: { name: invited.profile.name },
auth: {
local: {
username: invited.auth.local.username,
@@ -62,26 +62,26 @@ describe('GET /groups/:groupId/invites', () => {
});
it('populates only some fields', async () => {
- let group = await generateGroup(user, {type: 'party', name: generateUUID()});
- let invited = await generateUser();
- await user.post(`/groups/${group._id}/invite`, {uuids: [invited._id]});
- let res = await user.get('/groups/party/invites');
+ const group = await generateGroup(user, { type: 'party', name: generateUUID() });
+ const invited = await generateUser();
+ await user.post(`/groups/${group._id}/invite`, { uuids: [invited._id] });
+ const res = await user.get('/groups/party/invites');
expect(res[0]).to.have.all.keys(['_id', 'auth', 'flags', 'id', 'profile']);
expect(res[0].profile).to.have.all.keys(['name']);
});
it('returns only first 30 invites', async () => {
- let leader = await generateUser({balance: 4});
- let group = await generateGroup(leader, {type: 'guild', privacy: 'public', name: generateUUID()});
+ const leader = await generateUser({ balance: 4 });
+ const group = await generateGroup(leader, { type: 'guild', privacy: 'public', name: generateUUID() });
- let invitesToGenerate = [];
- for (let i = 0; i < 31; i++) {
+ const invitesToGenerate = [];
+ for (let i = 0; i < 31; i += 1) {
invitesToGenerate.push(generateUser());
}
- let generatedInvites = await Promise.all(invitesToGenerate);
- await leader.post(`/groups/${group._id}/invite`, {uuids: generatedInvites.map(invite => invite._id)});
+ const generatedInvites = await Promise.all(invitesToGenerate);
+ await leader.post(`/groups/${group._id}/invite`, { uuids: generatedInvites.map(invite => invite._id) });
- let res = await leader.get(`/groups/${group._id}/invites`);
+ const res = await leader.get(`/groups/${group._id}/invites`);
expect(res.length).to.equal(30);
res.forEach(member => {
expect(member).to.have.all.keys(['_id', 'auth', 'flags', 'id', 'profile']);
@@ -89,25 +89,25 @@ describe('GET /groups/:groupId/invites', () => {
});
}).timeout(10000);
- it('supports using req.query.lastId to get more invites', async function () {
+ it('supports using req.query.lastId to get more invites', async function test () {
this.timeout(30000); // @TODO: times out after 8 seconds
- let leader = await generateUser({balance: 4});
- let group = await generateGroup(leader, {type: 'guild', privacy: 'public', name: generateUUID()});
+ const leader = await generateUser({ balance: 4 });
+ const group = await generateGroup(leader, { type: 'guild', privacy: 'public', name: generateUUID() });
- let invitesToGenerate = [];
- for (let i = 0; i < 32; i++) {
+ const invitesToGenerate = [];
+ for (let i = 0; i < 32; i += 1) {
invitesToGenerate.push(generateUser());
}
- let generatedInvites = await Promise.all(invitesToGenerate); // Group has 32 invites
- let expectedIds = generatedInvites.map(generatedInvite => generatedInvite._id);
- await user.post(`/groups/${group._id}/invite`, {uuids: expectedIds});
+ const generatedInvites = await Promise.all(invitesToGenerate); // Group has 32 invites
+ const expectedIds = generatedInvites.map(generatedInvite => generatedInvite._id);
+ await user.post(`/groups/${group._id}/invite`, { uuids: expectedIds });
- let res = await user.get(`/groups/${group._id}/invites`);
+ const res = await user.get(`/groups/${group._id}/invites`);
expect(res.length).to.equal(30);
- let res2 = await user.get(`/groups/${group._id}/invites?lastId=${res[res.length - 1]._id}`);
+ const res2 = await user.get(`/groups/${group._id}/invites?lastId=${res[res.length - 1]._id}`);
expect(res2.length).to.equal(2);
- let resIds = res.concat(res2).map(invite => invite._id);
+ const resIds = res.concat(res2).map(invite => invite._id);
expect(resIds).to.eql(expectedIds.sort());
});
});
diff --git a/test/api/v3/integration/groups/GET-groups_groupId_members.test.js b/test/api/v3/integration/groups/GET-groups_groupId_members.test.js
index 603b2f64b1..b5e6f70c0f 100644
--- a/test/api/v3/integration/groups/GET-groups_groupId_members.test.js
+++ b/test/api/v3/integration/groups/GET-groups_groupId_members.test.js
@@ -1,9 +1,9 @@
+import { v4 as generateUUID } from 'uuid';
import {
generateUser,
generateGroup,
translate as t,
} from '../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
import common from '../../../../../website/common';
describe('GET /groups/:groupId/members', () => {
@@ -12,8 +12,8 @@ describe('GET /groups/:groupId/members', () => {
beforeEach(async () => {
user = await generateUser({
balance: 10,
- contributor: {level: 1},
- backer: {tier: 3},
+ contributor: { level: 1 },
+ backer: { tier: 3 },
preferences: {
costume: false,
background: 'volcano',
@@ -38,8 +38,8 @@ describe('GET /groups/:groupId/members', () => {
});
it('fails if user doesn\'t have access to the group', async () => {
- let group = await generateGroup(user, {type: 'party', name: generateUUID()});
- let anotherUser = await generateUser();
+ const group = await generateGroup(user, { type: 'party', name: generateUUID() });
+ const anotherUser = await generateUser();
await expect(anotherUser.get(`/groups/${group._id}/members`)).to.eventually.be.rejected.and.eql({
code: 404,
error: 'NotFound',
@@ -48,14 +48,14 @@ describe('GET /groups/:groupId/members', () => {
});
it('works when passing party as req.params.groupId', async () => {
- await generateGroup(user, {type: 'party', name: generateUUID()});
- let res = await user.get('/groups/party/members');
+ await generateGroup(user, { type: 'party', name: generateUUID() });
+ const res = await user.get('/groups/party/members');
expect(res).to.be.an('array');
expect(res.length).to.equal(1);
expect(res[0]).to.eql({
_id: user._id,
id: user._id,
- profile: {name: user.profile.name},
+ profile: { name: user.profile.name },
auth: {
local: {
username: user.auth.local.username,
@@ -68,15 +68,15 @@ describe('GET /groups/:groupId/members', () => {
});
it('populates only some fields', async () => {
- await generateGroup(user, {type: 'party', name: generateUUID()});
- let res = await user.get('/groups/party/members');
+ await generateGroup(user, { type: 'party', name: generateUUID() });
+ const res = await user.get('/groups/party/members');
expect(res[0]).to.have.all.keys(['_id', 'auth', 'flags', 'id', 'profile']);
expect(res[0].profile).to.have.all.keys(['name']);
});
it('req.query.includeAllPublicFields === true works with guilds', async () => {
- let group = await generateGroup(user, {type: 'guild', name: generateUUID()});
- let [memberRes] = await user.get(`/groups/${group._id}/members?includeAllPublicFields=true`);
+ const group = await generateGroup(user, { type: 'guild', name: generateUUID() });
+ const [memberRes] = await user.get(`/groups/${group._id}/members?includeAllPublicFields=true`);
expect(memberRes).to.have.all.keys([ // works as: object has all and only these keys
'_id', 'id', 'preferences', 'profile', 'stats', 'achievements', 'party',
@@ -96,8 +96,8 @@ describe('GET /groups/:groupId/members', () => {
});
it('populates all public fields if req.query.includeAllPublicFields === true and it is a party', async () => {
- await generateGroup(user, {type: 'party', name: generateUUID()});
- let [memberRes] = await user.get('/groups/party/members?includeAllPublicFields=true');
+ await generateGroup(user, { type: 'party', name: generateUUID() });
+ const [memberRes] = await user.get('/groups/party/members?includeAllPublicFields=true');
expect(memberRes).to.have.all.keys([ // works as: object has all and only these keys
'_id', 'id', 'preferences', 'profile', 'stats', 'achievements', 'party',
@@ -117,15 +117,15 @@ describe('GET /groups/:groupId/members', () => {
});
it('returns only first 30 members', async () => {
- let group = await generateGroup(user, {type: 'party', name: generateUUID()});
+ const group = await generateGroup(user, { type: 'party', name: generateUUID() });
- let usersToGenerate = [];
- for (let i = 0; i < 31; i++) {
- usersToGenerate.push(generateUser({party: {_id: group._id}}));
+ const usersToGenerate = [];
+ for (let i = 0; i < 31; i += 1) {
+ usersToGenerate.push(generateUser({ party: { _id: group._id } }));
}
await Promise.all(usersToGenerate);
- let res = await user.get('/groups/party/members');
+ const res = await user.get('/groups/party/members');
expect(res.length).to.equal(30);
res.forEach(member => {
expect(member).to.have.all.keys(['_id', 'auth', 'flags', 'id', 'profile']);
@@ -134,15 +134,15 @@ describe('GET /groups/:groupId/members', () => {
});
it('returns only first 30 members even when ?includeAllMembers=true', async () => {
- let group = await generateGroup(user, {type: 'party', name: generateUUID()});
+ const group = await generateGroup(user, { type: 'party', name: generateUUID() });
- let usersToGenerate = [];
- for (let i = 0; i < 31; i++) {
- usersToGenerate.push(generateUser({party: {_id: group._id}}));
+ const usersToGenerate = [];
+ for (let i = 0; i < 31; i += 1) {
+ usersToGenerate.push(generateUser({ party: { _id: group._id } }));
}
await Promise.all(usersToGenerate);
- let res = await user.get('/groups/party/members?includeAllMembers=true');
+ const res = await user.get('/groups/party/members?includeAllMembers=true');
expect(res.length).to.equal(30);
res.forEach(member => {
expect(member).to.have.all.keys(['_id', 'auth', 'flags', 'id', 'profile']);
@@ -150,38 +150,39 @@ describe('GET /groups/:groupId/members', () => {
});
});
- it('supports using req.query.lastId to get more members', async function () {
+ it('supports using req.query.lastId to get more members', async function test () {
this.timeout(30000); // @TODO: times out after 8 seconds
- let leader = await generateUser({balance: 4});
- let group = await generateGroup(leader, {type: 'guild', privacy: 'public', name: generateUUID()});
+ const leader = await generateUser({ balance: 4 });
+ const group = await generateGroup(leader, { type: 'guild', privacy: 'public', name: generateUUID() });
- let usersToGenerate = [];
- for (let i = 0; i < 57; i++) {
- usersToGenerate.push(generateUser({guilds: [group._id]}));
+ const usersToGenerate = [];
+ for (let i = 0; i < 57; i += 1) {
+ usersToGenerate.push(generateUser({ guilds: [group._id] }));
}
- let generatedUsers = await Promise.all(usersToGenerate); // Group has 59 members (1 is the leader)
- let expectedIds = [leader._id].concat(generatedUsers.map(generatedUser => generatedUser._id));
+ // Group has 59 members (1 is the leader)
+ const generatedUsers = await Promise.all(usersToGenerate);
+ const expectedIds = [leader._id].concat(generatedUsers.map(generatedUser => generatedUser._id));
- let res = await user.get(`/groups/${group._id}/members`);
+ const res = await user.get(`/groups/${group._id}/members`);
expect(res.length).to.equal(30);
- let res2 = await user.get(`/groups/${group._id}/members?lastId=${res[res.length - 1]._id}`);
+ const res2 = await user.get(`/groups/${group._id}/members?lastId=${res[res.length - 1]._id}`);
expect(res2.length).to.equal(28);
- let resIds = res.concat(res2).map(member => member._id);
+ const resIds = res.concat(res2).map(member => member._id);
expect(resIds).to.eql(expectedIds.sort());
});
it('searches members', async () => {
- let group = await generateGroup(user, {type: 'party', name: generateUUID()});
+ const group = await generateGroup(user, { type: 'party', name: generateUUID() });
- let usersToGenerate = [];
- for (let i = 0; i < 2; i++) {
- usersToGenerate.push(generateUser({party: {_id: group._id}}));
+ const usersToGenerate = [];
+ for (let i = 0; i < 2; i += 1) {
+ usersToGenerate.push(generateUser({ party: { _id: group._id } }));
}
const usersCreated = await Promise.all(usersToGenerate);
const userToSearch = usersCreated[0].profile.name;
- let res = await user.get(`/groups/party/members?search=${userToSearch}`);
+ const res = await user.get(`/groups/party/members?search=${userToSearch}`);
expect(res.length).to.equal(1);
expect(res[0].profile.name).to.equal(userToSearch);
});
diff --git a/test/api/v3/integration/groups/GET-groups_id.test.js b/test/api/v3/integration/groups/GET-groups_id.test.js
index 9b9aba0e6f..3e2f3b8742 100644
--- a/test/api/v3/integration/groups/GET-groups_id.test.js
+++ b/test/api/v3/integration/groups/GET-groups_id.test.js
@@ -1,37 +1,38 @@
-import {
- generateUser,
- createAndPopulateGroup,
- translate as t,
-} from '../../../../helpers/api-integration/v3';
import { v4 as generateUUID } from 'uuid';
import {
each,
} from 'lodash';
+import {
+ generateUser,
+ createAndPopulateGroup,
+ translate as t,
+} from '../../../../helpers/api-integration/v3';
describe('GET /groups/:id', () => {
- let typesOfGroups = {};
+ const typesOfGroups = {};
typesOfGroups['public guild'] = { type: 'guild', privacy: 'public' };
typesOfGroups['private guild'] = { type: 'guild', privacy: 'private' };
typesOfGroups.party = { type: 'party', privacy: 'private' };
each(typesOfGroups, (groupDetails, groupType) => {
context(`Member of a ${groupType}`, () => {
- let leader, member, createdGroup;
+ let leader; let member; let
+ createdGroup;
before(async () => {
- let groupData = await createAndPopulateGroup({
+ const groupData = await createAndPopulateGroup({
members: 30,
groupDetails,
});
leader = groupData.groupLeader;
- member = groupData.members[0];
+ member = groupData.members[0]; // eslint-disable-line prefer-destructuring
createdGroup = groupData.group;
});
it('returns the group object', async () => {
- let group = await member.get(`/groups/${createdGroup._id}`);
+ const group = await member.get(`/groups/${createdGroup._id}`);
expect(group._id).to.eql(createdGroup._id);
expect(group.name).to.eql(createdGroup.name);
@@ -40,7 +41,7 @@ describe('GET /groups/:id', () => {
});
it('transforms leader id to leader object', async () => {
- let group = await member.get(`/groups/${createdGroup._id}`);
+ const group = await member.get(`/groups/${createdGroup._id}`);
expect(group.leader._id).to.eql(leader._id);
expect(group.leader.profile.name).to.eql(leader.profile.name);
@@ -49,10 +50,11 @@ describe('GET /groups/:id', () => {
});
context('Non-member of a public guild', () => {
- let nonMember, createdGroup;
+ let nonMember; let
+ createdGroup;
before(async () => {
- let groupData = await createAndPopulateGroup({
+ const groupData = await createAndPopulateGroup({
members: 1,
groupDetails: {
name: 'test guild',
@@ -62,11 +64,11 @@ describe('GET /groups/:id', () => {
});
createdGroup = groupData.group;
- nonMember = await generateUser();
+ nonMember = await generateUser();
});
it('returns the group object for a non-member', async () => {
- let group = await nonMember.get(`/groups/${createdGroup._id}`);
+ const group = await nonMember.get(`/groups/${createdGroup._id}`);
expect(group._id).to.eql(createdGroup._id);
expect(group.name).to.eql(createdGroup.name);
@@ -76,10 +78,11 @@ describe('GET /groups/:id', () => {
});
context('Non-member of a private guild', () => {
- let nonMember, createdGroup;
+ let nonMember; let
+ createdGroup;
before(async () => {
- let groupData = await createAndPopulateGroup({
+ const groupData = await createAndPopulateGroup({
members: 1,
groupDetails: {
name: 'test guild',
@@ -103,10 +106,11 @@ describe('GET /groups/:id', () => {
});
context('Non-member of a party', () => {
- let nonMember, createdGroup;
+ let nonMember; let
+ createdGroup;
before(async () => {
- let groupData = await createAndPopulateGroup({
+ const groupData = await createAndPopulateGroup({
members: 1,
groupDetails: {
name: 'test party',
@@ -130,10 +134,11 @@ describe('GET /groups/:id', () => {
});
context('Member of a party', () => {
- let member, createdGroup;
+ let member; let
+ createdGroup;
before(async () => {
- let groupData = await createAndPopulateGroup({
+ const groupData = await createAndPopulateGroup({
members: 1,
groupDetails: {
name: 'test party',
@@ -143,11 +148,11 @@ describe('GET /groups/:id', () => {
});
createdGroup = groupData.group;
- member = groupData.members[0];
+ member = groupData.members[0]; // eslint-disable-line prefer-destructuring
});
it('returns the user\'s party if an id of "party" is passed in', async () => {
- let group = await member.get('/groups/party');
+ const group = await member.get('/groups/party');
expect(group._id).to.eql(createdGroup._id);
expect(group.name).to.eql(createdGroup.name);
@@ -173,7 +178,7 @@ describe('GET /groups/:id', () => {
});
it('removes non-existant guild from user\'s guild list', async () => {
- let guildId = generateUUID();
+ const guildId = generateUUID();
await user.update({
guilds: [guildId, generateUUID()],
@@ -193,7 +198,7 @@ describe('GET /groups/:id', () => {
});
it('removes non-existant party from user\'s party object', async () => {
- let partyId = generateUUID();
+ const partyId = generateUUID();
await user.update({
party: { _id: partyId },
@@ -215,20 +220,20 @@ describe('GET /groups/:id', () => {
context('Flagged messages', () => {
let group;
- let chat1 = {
+ const chat1 = {
id: 'chat1',
text: 'chat 1',
flags: {},
};
- let chat2 = {
+ const chat2 = {
id: 'chat2',
text: 'chat 2',
flags: {},
flagCount: 0,
};
- let chat3 = {
+ const chat3 = {
id: 'chat3',
text: 'chat 3',
flags: {
@@ -237,7 +242,7 @@ describe('GET /groups/:id', () => {
flagCount: 1,
};
- let chat4 = {
+ const chat4 = {
id: 'chat4',
text: 'chat 4',
flags: {
@@ -247,7 +252,7 @@ describe('GET /groups/:id', () => {
flagCount: 2,
};
- let chat5 = {
+ const chat5 = {
id: 'chat5',
text: 'chat 5',
flags: {
@@ -259,7 +264,7 @@ describe('GET /groups/:id', () => {
};
beforeEach(async () => {
- let groupData = await createAndPopulateGroup({
+ const groupData = await createAndPopulateGroup({
groupDetails: {
name: 'test guild',
type: 'guild',
@@ -287,7 +292,7 @@ describe('GET /groups/:id', () => {
});
it('does not include messages with a flag count of 2 or greater', async () => {
- let fetchedGroup = await nonAdmin.get(`/groups/${group._id}`);
+ const fetchedGroup = await nonAdmin.get(`/groups/${group._id}`);
expect(fetchedGroup.chat).to.have.lengthOf(3);
expect(fetchedGroup.chat[0].id).to.eql(chat1.id);
@@ -296,8 +301,8 @@ describe('GET /groups/:id', () => {
});
it('does not include user ids in flags object', async () => {
- let fetchedGroup = await nonAdmin.get(`/groups/${group._id}`);
- let chatWithOneFlag = fetchedGroup.chat[2];
+ const fetchedGroup = await nonAdmin.get(`/groups/${group._id}`);
+ const chatWithOneFlag = fetchedGroup.chat[2];
expect(chatWithOneFlag.id).to.eql(chat3.id);
expect(chat3.flags).to.eql({ 'user-id': true });
@@ -315,7 +320,7 @@ describe('GET /groups/:id', () => {
});
it('includes all messages', async () => {
- let fetchedGroup = await admin.get(`/groups/${group._id}`);
+ const fetchedGroup = await admin.get(`/groups/${group._id}`);
expect(fetchedGroup.chat).to.have.lengthOf(5);
expect(fetchedGroup.chat[0].id).to.eql(chat1.id);
@@ -326,8 +331,8 @@ describe('GET /groups/:id', () => {
});
it('includes user ids in flags object', async () => {
- let fetchedGroup = await admin.get(`/groups/${group._id}`);
- let chatWithOneFlag = fetchedGroup.chat[2];
+ const fetchedGroup = await admin.get(`/groups/${group._id}`);
+ const chatWithOneFlag = fetchedGroup.chat[2];
expect(chatWithOneFlag.id).to.eql(chat3.id);
expect(chat3.flags).to.eql({ 'user-id': true });
diff --git a/test/api/v3/integration/groups/POST-group_remove_manager.test.js b/test/api/v3/integration/groups/POST-group_remove_manager.test.js
index c07e868009..e8cae4ab29 100644
--- a/test/api/v3/integration/groups/POST-group_remove_manager.test.js
+++ b/test/api/v3/integration/groups/POST-group_remove_manager.test.js
@@ -1,13 +1,14 @@
+import { find } from 'lodash';
import {
createAndPopulateGroup,
translate as t,
} from '../../../../helpers/api-integration/v3';
-import { find } from 'lodash';
describe('POST /group/:groupId/remove-manager', () => {
- let leader, nonLeader, groupToUpdate;
- let groupName = 'Test Public Guild';
- let groupType = 'guild';
+ let leader; let nonLeader; let
+ groupToUpdate;
+ const groupName = 'Test Public Guild';
+ const groupType = 'guild';
let nonManager;
function findAssignedTask (memberTask) {
@@ -15,7 +16,7 @@ describe('POST /group/:groupId/remove-manager', () => {
}
beforeEach(async () => {
- let { group, groupLeader, members } = await createAndPopulateGroup({
+ const { group, groupLeader, members } = await createAndPopulateGroup({
groupDetails: {
name: groupName,
type: groupType,
@@ -26,8 +27,8 @@ describe('POST /group/:groupId/remove-manager', () => {
groupToUpdate = group;
leader = groupLeader;
- nonLeader = members[0];
- nonManager = members[1];
+ nonLeader = members[0]; // eslint-disable-line prefer-destructuring
+ nonManager = members[1]; // eslint-disable-line prefer-destructuring
});
it('returns an error when a non group leader tries to add member', async () => {
@@ -55,7 +56,7 @@ describe('POST /group/:groupId/remove-manager', () => {
managerId: nonLeader._id,
});
- let updatedGroup = await leader.post(`/groups/${groupToUpdate._id}/remove-manager`, {
+ const updatedGroup = await leader.post(`/groups/${groupToUpdate._id}/remove-manager`, {
managerId: nonLeader._id,
});
@@ -66,14 +67,14 @@ describe('POST /group/:groupId/remove-manager', () => {
await leader.post(`/groups/${groupToUpdate._id}/add-manager`, {
managerId: nonLeader._id,
});
- let task = await leader.post(`/tasks/group/${groupToUpdate._id}`, {
+ const task = await leader.post(`/tasks/group/${groupToUpdate._id}`, {
text: 'test todo',
type: 'todo',
requiresApproval: true,
});
await nonLeader.post(`/tasks/${task._id}/assign/${nonManager._id}`);
- let memberTasks = await nonManager.get('/tasks/user');
- let syncedTask = find(memberTasks, findAssignedTask);
+ const memberTasks = await nonManager.get('/tasks/user');
+ const syncedTask = find(memberTasks, findAssignedTask);
await expect(nonManager.post(`/tasks/${syncedTask._id}/score/up`))
.to.eventually.be.rejected.and.to.eql({
code: 401,
@@ -81,7 +82,7 @@ describe('POST /group/:groupId/remove-manager', () => {
message: t('taskApprovalHasBeenRequested'),
});
- let updatedGroup = await leader.post(`/groups/${groupToUpdate._id}/remove-manager`, {
+ const updatedGroup = await leader.post(`/groups/${groupToUpdate._id}/remove-manager`, {
managerId: nonLeader._id,
});
diff --git a/test/api/v3/integration/groups/POST-groups.test.js b/test/api/v3/integration/groups/POST-groups.test.js
index 5fd322a564..934281209f 100644
--- a/test/api/v3/integration/groups/POST-groups.test.js
+++ b/test/api/v3/integration/groups/POST-groups.test.js
@@ -13,7 +13,7 @@ describe('POST /group', () => {
context('All Groups', () => {
it('it returns validation error when type is not provided', async () => {
await expect(
- user.post('/groups', { name: 'Test Group Without Type' })
+ user.post('/groups', { name: 'Test Group Without Type' }),
).to.eventually.be.rejected.and.eql({
code: 400,
error: 'BadRequest',
@@ -23,7 +23,7 @@ describe('POST /group', () => {
it('it returns validation error when type is not supported', async () => {
await expect(
- user.post('/groups', { name: 'Group with unsupported type', type: 'foo' })
+ user.post('/groups', { name: 'Group with unsupported type', type: 'foo' }),
).to.eventually.be.rejected.and.eql({
code: 400,
error: 'BadRequest',
@@ -32,7 +32,7 @@ describe('POST /group', () => {
});
it('sets the group leader to the user who created the group', async () => {
- let group = await user.post('/groups', {
+ const group = await user.post('/groups', {
name: 'Test Public Guild',
type: 'guild',
});
@@ -80,7 +80,7 @@ describe('POST /group', () => {
user.post('/groups', {
name: 'Test Public Guild',
type: 'guild',
- })
+ }),
).to.eventually.be.rejected.and.eql({
code: 401,
error: 'NotAuthorized',
@@ -89,13 +89,13 @@ describe('POST /group', () => {
});
it('adds guild to user\'s list of guilds', async () => {
- let guild = await user.post('/groups', {
+ const guild = await user.post('/groups', {
name: 'some guild',
type: 'guild',
privacy: 'public',
});
- let updatedUser = await user.get('/user');
+ const updatedUser = await user.get('/user');
expect(updatedUser.guilds).to.include(guild._id);
});
@@ -107,18 +107,18 @@ describe('POST /group', () => {
privacy: 'public',
});
- let updatedUser = await user.get('/user');
+ const updatedUser = await user.get('/user');
expect(updatedUser.achievements.joinedGuild).to.eql(true);
});
context('public guild', () => {
it('creates a group', async () => {
- let groupName = 'Test Public Guild';
- let groupType = 'guild';
- let groupPrivacy = 'public';
+ const groupName = 'Test Public Guild';
+ const groupType = 'guild';
+ const groupPrivacy = 'public';
- let publicGuild = await user.post('/groups', {
+ const publicGuild = await user.post('/groups', {
name: groupName,
type: groupType,
privacy: groupPrivacy,
@@ -145,7 +145,7 @@ describe('POST /group', () => {
name: 'Test Public Guild',
type: 'guild',
privacy: 'public',
- })
+ }),
).to.eventually.be.rejected.and.eql({
code: 401,
error: 'NotAuthorized',
@@ -155,12 +155,12 @@ describe('POST /group', () => {
});
context('private guild', () => {
- let groupName = 'Test Private Guild';
- let groupType = 'guild';
- let groupPrivacy = 'private';
+ const groupName = 'Test Private Guild';
+ const groupType = 'guild';
+ const groupPrivacy = 'private';
it('creates a group', async () => {
- let privateGuild = await user.post('/groups', {
+ const privateGuild = await user.post('/groups', {
name: groupName,
type: groupType,
privacy: groupPrivacy,
@@ -181,7 +181,7 @@ describe('POST /group', () => {
it('creates a private guild when the user has no chat privileges', async () => {
await user.update({ 'flags.chatRevoked': true });
- let privateGuild = await user.post('/groups', {
+ const privateGuild = await user.post('/groups', {
name: groupName,
type: groupType,
privacy: groupPrivacy,
@@ -191,7 +191,7 @@ describe('POST /group', () => {
});
it('deducts gems from user and adds them to guild bank', async () => {
- let privateGuild = await user.post('/groups', {
+ const privateGuild = await user.post('/groups', {
name: groupName,
type: groupType,
privacy: groupPrivacy,
@@ -199,7 +199,7 @@ describe('POST /group', () => {
expect(privateGuild.balance).to.eql(1);
- let updatedUser = await user.get('/user');
+ const updatedUser = await user.get('/user');
expect(updatedUser.balance).to.eql(user.balance - 1);
});
@@ -207,11 +207,11 @@ describe('POST /group', () => {
});
context('Parties', () => {
- let partyName = 'Test Party';
- let partyType = 'party';
+ const partyName = 'Test Party';
+ const partyType = 'party';
it('creates a party', async () => {
- let party = await user.post('/groups', {
+ const party = await user.post('/groups', {
name: partyName,
type: partyType,
});
@@ -230,7 +230,7 @@ describe('POST /group', () => {
it('creates a party when the user has no chat privileges', async () => {
await user.update({ 'flags.chatRevoked': true });
- let party = await user.post('/groups', {
+ const party = await user.post('/groups', {
name: partyName,
type: partyType,
});
@@ -241,25 +241,25 @@ describe('POST /group', () => {
it('does not require gems to create a party', async () => {
await user.update({ balance: 0 });
- let party = await user.post('/groups', {
+ const party = await user.post('/groups', {
name: partyName,
type: partyType,
});
expect(party._id).to.exist;
- let updatedUser = await user.get('/user');
+ const updatedUser = await user.get('/user');
expect(updatedUser.balance).to.eql(user.balance);
});
it('sets party id on user object', async () => {
- let party = await user.post('/groups', {
+ const party = await user.post('/groups', {
name: partyName,
type: partyType,
});
- let updatedUser = await user.get('/user');
+ const updatedUser = await user.get('/user');
expect(updatedUser.party._id).to.eql(party._id);
});
@@ -270,7 +270,7 @@ describe('POST /group', () => {
type: partyType,
});
- let updatedUser = await user.get('/user');
+ const updatedUser = await user.get('/user');
expect(updatedUser.achievements.partyUp).to.not.eql(true);
});
diff --git a/test/api/v3/integration/groups/POST-groups_groupId_join.test.js b/test/api/v3/integration/groups/POST-groups_groupId_join.test.js
index a3d88d82a4..dbb2e00f15 100644
--- a/test/api/v3/integration/groups/POST-groups_groupId_join.test.js
+++ b/test/api/v3/integration/groups/POST-groups_groupId_join.test.js
@@ -1,16 +1,16 @@
+import { v4 as generateUUID } from 'uuid';
import {
generateUser,
createAndPopulateGroup,
checkExistence,
translate as t,
} from '../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
describe('POST /group/:groupId/join', () => {
const PET_QUEST = 'whale';
it('returns error when groupId is not for a valid group', async () => {
- let joiningUser = await generateUser();
+ const joiningUser = await generateUser();
await expect(joiningUser.post(`/groups/${generateUUID()}/join`)).to.eventually.be.rejected.and.eql({
code: 404,
@@ -20,10 +20,11 @@ describe('POST /group/:groupId/join', () => {
});
context('Joining a public guild', () => {
- let user, joiningUser, publicGuild;
+ let user; let joiningUser; let
+ publicGuild;
beforeEach(async () => {
- let {group, groupLeader} = await createAndPopulateGroup({
+ const { group, groupLeader } = await createAndPopulateGroup({
groupDetails: {
name: 'Test Guild',
type: 'guild',
@@ -37,7 +38,7 @@ describe('POST /group/:groupId/join', () => {
});
it('allows non-invited users to join public guilds', async () => {
- let res = await joiningUser.post(`/groups/${publicGuild._id}/join`);
+ const res = await joiningUser.post(`/groups/${publicGuild._id}/join`);
await expect(joiningUser.get('/user')).to.eventually.have.property('guilds').to.include(publicGuild._id);
expect(res.leader._id).to.eql(user._id);
@@ -62,7 +63,7 @@ describe('POST /group/:groupId/join', () => {
});
it('increments memberCount when joining guilds', async () => {
- let oldMemberCount = publicGuild.memberCount;
+ const oldMemberCount = publicGuild.memberCount;
await joiningUser.post(`/groups/${publicGuild._id}/join`);
@@ -77,10 +78,11 @@ describe('POST /group/:groupId/join', () => {
});
context('Joining a private guild', () => {
- let user, invitedUser, guild;
+ let user; let invitedUser; let
+ guild;
beforeEach(async () => {
- let { group, groupLeader, invitees } = await createAndPopulateGroup({
+ const { group, groupLeader, invitees } = await createAndPopulateGroup({
groupDetails: {
name: 'Test Guild',
type: 'guild',
@@ -91,11 +93,11 @@ describe('POST /group/:groupId/join', () => {
guild = group;
user = groupLeader;
- invitedUser = invitees[0];
+ invitedUser = invitees[0]; // eslint-disable-line prefer-destructuring
});
it('returns error when user is not invited to private guild', async () => {
- let userWithoutInvite = await generateUser();
+ const userWithoutInvite = await generateUser();
await expect(userWithoutInvite.post(`/groups/${guild._id}/join`)).to.eventually.be.rejected.and.eql({
code: 401,
@@ -116,11 +118,11 @@ describe('POST /group/:groupId/join', () => {
await expect(invitedUser.get('/user'))
.to.eventually.have.nested.property('invitations.guilds')
- .to.not.include({id: guild._id});
+ .to.not.include({ id: guild._id });
});
it('increments memberCount when joining guilds', async () => {
- let oldMemberCount = guild.memberCount;
+ const oldMemberCount = guild.memberCount;
await invitedUser.post(`/groups/${guild._id}/join`);
@@ -144,8 +146,8 @@ describe('POST /group/:groupId/join', () => {
it('notifies inviting user that their invitation was accepted', async () => {
await invitedUser.post(`/groups/${guild._id}/join`);
- let inviter = await user.get('/user');
- let expectedData = {
+ const inviter = await user.get('/user');
+ const expectedData = {
headerText: t('invitationAcceptedHeader'),
bodyText: t('invitationAcceptedBody', {
username: invitedUser.auth.local.username,
@@ -166,10 +168,11 @@ describe('POST /group/:groupId/join', () => {
});
context('Joining a party', () => {
- let user, invitedUser, party;
+ let user; let invitedUser; let
+ party;
beforeEach(async () => {
- let { group, groupLeader, invitees } = await createAndPopulateGroup({
+ const { group, groupLeader, invitees } = await createAndPopulateGroup({
groupDetails: {
name: 'Test Party',
type: 'party',
@@ -180,11 +183,11 @@ describe('POST /group/:groupId/join', () => {
party = group;
user = groupLeader;
- invitedUser = invitees[0];
+ invitedUser = invitees[0]; // eslint-disable-line prefer-destructuring
});
it('returns error when user is not invited to party', async () => {
- let userWithoutInvite = await generateUser();
+ const userWithoutInvite = await generateUser();
await expect(userWithoutInvite.post(`/groups/${party._id}/join`)).to.eventually.be.rejected.and.eql({
code: 401,
@@ -203,9 +206,9 @@ describe('POST /group/:groupId/join', () => {
it('notifies inviting user that their invitation was accepted', async () => {
await invitedUser.post(`/groups/${party._id}/join`);
- let inviter = await user.get('/user');
+ const inviter = await user.get('/user');
- let expectedData = {
+ const expectedData = {
headerText: t('invitationAcceptedHeader'),
bodyText: t('invitationAcceptedBody', {
username: invitedUser.auth.local.username,
@@ -224,7 +227,7 @@ describe('POST /group/:groupId/join', () => {
});
it('increments memberCount when joining party', async () => {
- let oldMemberCount = party.memberCount;
+ const oldMemberCount = party.memberCount;
await invitedUser.post(`/groups/${party._id}/join`);
@@ -238,7 +241,7 @@ describe('POST /group/:groupId/join', () => {
});
it('increments basilist quest item count to inviter when joining a party', async () => {
- await user.update({'items.quests.basilist': 1 });
+ await user.update({ 'items.quests.basilist': 1 });
await invitedUser.post(`/groups/${party._id}/join`);
@@ -246,8 +249,8 @@ describe('POST /group/:groupId/join', () => {
});
it('deletes previous party where the user was the only member', async () => {
- let userToInvite = await generateUser();
- let oldParty = await userToInvite.post('/groups', { // add user to a party
+ const userToInvite = await generateUser();
+ const oldParty = await userToInvite.post('/groups', { // add user to a party
name: 'Another Test Party',
type: 'party',
});
@@ -263,8 +266,8 @@ describe('POST /group/:groupId/join', () => {
});
it('does not allow user to leave a party if a quest was active and they were the only member', async () => {
- let userToInvite = await generateUser();
- let oldParty = await userToInvite.post('/groups', { // add user to a party
+ const userToInvite = await generateUser();
+ const oldParty = await userToInvite.post('/groups', { // add user to a party
name: 'Another Test Party',
type: 'party',
});
@@ -305,7 +308,8 @@ describe('POST /group/:groupId/join', () => {
});
context('Party incentive achievements', () => {
- let leader, member, party;
+ let leader; let member; let
+ party;
beforeEach(async () => {
leader = await generateUser();
@@ -314,6 +318,7 @@ describe('POST /group/:groupId/join', () => {
name: 'Testing Party',
type: 'party',
});
+
await leader.post(`/groups/${party._id}/invite`, {
uuids: [member._id],
});
@@ -325,7 +330,9 @@ describe('POST /group/:groupId/join', () => {
await leader.sync();
expect(member).to.have.nested.property('achievements.partyUp', true);
+ expect(member.notifications.find(notification => notification.type === 'ACHIEVEMENT_PARTY_UP')).to.exist;
expect(leader).to.have.nested.property('achievements.partyUp', true);
+ expect(leader.notifications.find(notification => notification.type === 'ACHIEVEMENT_PARTY_UP')).to.exist;
});
it('does not award Party On achievement to party of size 2', async () => {
@@ -337,8 +344,8 @@ describe('POST /group/:groupId/join', () => {
});
it('awards Party On achievement to party of size 4', async () => {
- let addlMemberOne = await generateUser();
- let addlMemberTwo = await generateUser();
+ const addlMemberOne = await generateUser();
+ const addlMemberTwo = await generateUser();
await leader.post(`/groups/${party._id}/invite`, {
uuids: [addlMemberOne._id, addlMemberTwo._id],
});
@@ -349,7 +356,9 @@ describe('POST /group/:groupId/join', () => {
await leader.sync();
expect(member).to.have.nested.property('achievements.partyOn', true);
+ expect(member.notifications.find(notification => notification.type === 'ACHIEVEMENT_PARTY_ON')).to.exist;
expect(leader).to.have.nested.property('achievements.partyOn', true);
+ expect(leader.notifications.find(notification => notification.type === 'ACHIEVEMENT_PARTY_ON')).to.exist;
});
});
});
diff --git a/test/api/v3/integration/groups/POST-groups_groupId_leave.js b/test/api/v3/integration/groups/POST-groups_groupId_leave.js
index 65d76f4714..70d60cc3d0 100644
--- a/test/api/v3/integration/groups/POST-groups_groupId_leave.js
+++ b/test/api/v3/integration/groups/POST-groups_groupId_leave.js
@@ -1,3 +1,7 @@
+import { v4 as generateUUID } from 'uuid';
+import {
+ each,
+} from 'lodash';
import {
generateChallenge,
checkExistence,
@@ -6,15 +10,11 @@ import {
generateUser,
translate as t,
} from '../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
-import {
- each,
-} from 'lodash';
import { model as User } from '../../../../../website/server/models/user';
-import * as payments from '../../../../../website/server/libs/payments/payments';
+import payments from '../../../../../website/server/libs/payments/payments';
describe('POST /groups/:groupId/leave', () => {
- let typesOfGroups = {
+ const typesOfGroups = {
'public guild': { type: 'guild', privacy: 'public' },
'private guild': { type: 'guild', privacy: 'private' },
party: { type: 'party', privacy: 'private' },
@@ -28,19 +28,19 @@ describe('POST /groups/:groupId/leave', () => {
let memberCount;
beforeEach(async () => {
- let { group, groupLeader, members } = await createAndPopulateGroup({
+ const { group, groupLeader, members } = await createAndPopulateGroup({
groupDetails,
members: 1,
});
groupToLeave = group;
leader = groupLeader;
- member = members[0];
+ member = members[0]; // eslint-disable-line prefer-destructuring
memberCount = group.memberCount;
});
it('prevents non members from leaving', async () => {
- let user = await generateUser();
+ const user = await generateUser();
await expect(user.post(`/groups/${groupToLeave._id}/leave`)).to.eventually.be.rejected.and.eql({
code: 404,
error: 'NotFound',
@@ -51,7 +51,7 @@ describe('POST /groups/:groupId/leave', () => {
it(`lets user leave a ${groupType}`, async () => {
await member.post(`/groups/${groupToLeave._id}/leave`);
- let userThatLeftGroup = await member.get('/user');
+ const userThatLeftGroup = await member.get('/user');
expect(userThatLeftGroup.guilds).to.be.empty;
expect(userThatLeftGroup.party._id).to.not.exist;
@@ -74,17 +74,13 @@ describe('POST /groups/:groupId/leave', () => {
await leader.sync();
- expect(leader.notifications.find(n => {
- return n.type === 'NEW_CHAT_MESSAGE' && n.data.group.id === groupToLeave._id;
- })).to.exist;
+ expect(leader.notifications.find(n => n.type === 'NEW_CHAT_MESSAGE' && n.data.group.id === groupToLeave._id)).to.exist;
expect(leader.newMessages[groupToLeave._id]).to.not.be.empty;
await leader.post(`/groups/${groupToLeave._id}/leave`);
await leader.sync();
- expect(leader.notifications.find(n => {
- return n.type === 'NEW_CHAT_MESSAGE' && n.data.group.id === groupToLeave._id;
- })).to.not.exist;
+ expect(leader.notifications.find(n => n.type === 'NEW_CHAT_MESSAGE' && n.data.group.id === groupToLeave._id)).to.not.exist;
expect(leader.newMessages[groupToLeave._id]).to.be.undefined;
});
@@ -106,7 +102,7 @@ describe('POST /groups/:groupId/leave', () => {
it('removes all challenge tasks when keep parameter is set to remove', async () => {
await leader.post(`/groups/${groupToLeave._id}/leave?keep=remove-all`);
- let userWithoutChallengeTasks = await leader.get('/user');
+ const userWithoutChallengeTasks = await leader.get('/user');
expect(userWithoutChallengeTasks.challenges).to.not.include(challenge._id);
expect(userWithoutChallengeTasks.tasksOrder.habits).to.be.empty;
@@ -115,16 +111,16 @@ describe('POST /groups/:groupId/leave', () => {
it('keeps all challenge tasks when keep parameter is not set', async () => {
await leader.post(`/groups/${groupToLeave._id}/leave`);
- let userWithChallengeTasks = await leader.get('/user');
+ const userWithChallengeTasks = await leader.get('/user');
// @TODO find elegant way to assert against the task existing
expect(userWithChallengeTasks.tasksOrder.habits).to.not.be.empty;
});
it('keeps the user in the challenge when the keepChallenges parameter is set to remain-in-challenges', async () => {
- await leader.post(`/groups/${groupToLeave._id}/leave`, {keepChallenges: 'remain-in-challenges'});
+ await leader.post(`/groups/${groupToLeave._id}/leave`, { keepChallenges: 'remain-in-challenges' });
- let userWithChallengeTasks = await leader.get('/user');
+ const userWithChallengeTasks = await leader.get('/user');
expect(userWithChallengeTasks.challenges).to.include(challenge._id);
});
@@ -132,7 +128,7 @@ describe('POST /groups/:groupId/leave', () => {
it('drops the user in the challenge when the keepChallenges parameter isn\'t set', async () => {
await leader.post(`/groups/${groupToLeave._id}/leave`);
- let userWithChallengeTasks = await leader.get('/user');
+ const userWithChallengeTasks = await leader.get('/user');
expect(userWithChallengeTasks.challenges).to.not.include(challenge._id);
});
@@ -150,7 +146,7 @@ describe('POST /groups/:groupId/leave', () => {
let invitedUser;
beforeEach(async () => {
- let { group, groupLeader, invitees } = await createAndPopulateGroup({
+ const { group, groupLeader, invitees } = await createAndPopulateGroup({
groupDetails: {
name: 'Test Private Guild',
type: 'guild',
@@ -160,7 +156,7 @@ describe('POST /groups/:groupId/leave', () => {
privateGuild = group;
leader = groupLeader;
- invitedUser = invitees[0];
+ invitedUser = invitees[0]; // eslint-disable-line prefer-destructuring
await leader.post(`/groups/${group._id}/chat`, { message: 'Some message' });
});
@@ -174,7 +170,7 @@ describe('POST /groups/:groupId/leave', () => {
it('removes invitations when the last member leaves', async () => {
await leader.post(`/groups/${privateGuild._id}/leave`);
- let userWithoutInvitation = await invitedUser.get('/user');
+ const userWithoutInvitation = await invitedUser.get('/user');
expect(userWithoutInvitation.invitations.guilds).to.be.empty;
});
@@ -186,7 +182,7 @@ describe('POST /groups/:groupId/leave', () => {
let invitedUser;
beforeEach(async () => {
- let { group, groupLeader, invitees } = await createAndPopulateGroup({
+ const { group, groupLeader, invitees } = await createAndPopulateGroup({
groupDetails: {
name: 'Test Public Guild',
type: 'guild',
@@ -197,7 +193,7 @@ describe('POST /groups/:groupId/leave', () => {
publicGuild = group;
leader = groupLeader;
- invitedUser = invitees[0];
+ invitedUser = invitees[0]; // eslint-disable-line prefer-destructuring
});
it('keeps the group when the last member leaves', async () => {
@@ -209,14 +205,14 @@ describe('POST /groups/:groupId/leave', () => {
it('keeps the invitations when the last member leaves a public guild', async () => {
await leader.post(`/groups/${publicGuild._id}/leave`);
- let userWithoutInvitation = await invitedUser.get('/user');
+ const userWithoutInvitation = await invitedUser.get('/user');
expect(userWithoutInvitation.invitations.guilds).to.not.be.empty;
});
it('deletes non existant guild from user when user tries to leave', async () => {
- let nonExistentGuildId = generateUUID();
- let userWithNonExistentGuild = await generateUser({guilds: [nonExistentGuildId]});
+ const nonExistentGuildId = generateUUID();
+ const userWithNonExistentGuild = await generateUser({ guilds: [nonExistentGuildId] });
expect(userWithNonExistentGuild.guilds).to.contain(nonExistentGuildId);
await expect(userWithNonExistentGuild.post(`/groups/${nonExistentGuildId}/leave`))
@@ -234,7 +230,7 @@ describe('POST /groups/:groupId/leave', () => {
let invitedUser;
beforeEach(async () => {
- let { group, groupLeader, invitees } = await createAndPopulateGroup({
+ const { group, groupLeader, invitees } = await createAndPopulateGroup({
groupDetails: {
name: 'Test Party',
type: 'party',
@@ -244,7 +240,7 @@ describe('POST /groups/:groupId/leave', () => {
party = group;
leader = groupLeader;
- invitedUser = invitees[0];
+ invitedUser = invitees[0]; // eslint-disable-line prefer-destructuring
});
it('removes a group when the last member leaves a party', async () => {
@@ -256,15 +252,15 @@ describe('POST /groups/:groupId/leave', () => {
it('removes invitations when the last member leaves a party', async () => {
await leader.post(`/groups/${party._id}/leave`);
- let userWithoutInvitation = await invitedUser.get('/user');
+ const userWithoutInvitation = await invitedUser.get('/user');
expect(userWithoutInvitation.invitations.parties[0]).to.be.undefined;
});
});
it('deletes non existant party from user when user tries to leave', async () => {
- let nonExistentPartyId = generateUUID();
- let userWithNonExistentParty = await generateUser({'party._id': nonExistentPartyId});
+ const nonExistentPartyId = generateUUID();
+ const userWithNonExistentParty = await generateUser({ 'party._id': nonExistentPartyId });
expect(userWithNonExistentParty.party._id).to.eql(nonExistentPartyId);
await expect(userWithNonExistentParty.post(`/groups/${nonExistentPartyId}/leave`))
@@ -283,17 +279,17 @@ describe('POST /groups/:groupId/leave', () => {
let member;
beforeEach(async () => {
- let { group, groupLeader, members } = await createAndPopulateGroup({
+ const { group, groupLeader, members } = await createAndPopulateGroup({
groupDetails,
members: 1,
});
leader = groupLeader;
- member = members[0];
+ member = members[0]; // eslint-disable-line prefer-destructuring
groupWithPlan = group;
- let userWithFreePlan = await User.findById(leader._id).exec();
+ const userWithFreePlan = await User.findById(leader._id).exec();
// Create subscription
- let paymentData = {
+ const paymentData = {
user: userWithFreePlan,
groupId: groupWithPlan._id,
sub: {
@@ -322,7 +318,7 @@ describe('POST /groups/:groupId/leave', () => {
it('preserves the free subscription when leaving a any other group without a plan', async () => {
// Joining a guild without a group plan
- let { group: groupWithNoPlan } = await createAndPopulateGroup({
+ const { group: groupWithNoPlan } = await createAndPopulateGroup({
groupDetails: {
name: 'Group Without Plan',
type: 'guild',
diff --git a/test/api/v3/integration/groups/POST-groups_groupId_reject.test.js b/test/api/v3/integration/groups/POST-groups_groupId_reject.test.js
index 59d8645d01..68fba0e772 100644
--- a/test/api/v3/integration/groups/POST-groups_groupId_reject.test.js
+++ b/test/api/v3/integration/groups/POST-groups_groupId_reject.test.js
@@ -6,10 +6,11 @@ import {
describe('POST /group/:groupId/reject-invite', () => {
context('Rejecting a public guild invite', () => {
- let publicGuild, invitedUser;
+ let publicGuild; let
+ invitedUser;
beforeEach(async () => {
- let {group, invitees} = await createAndPopulateGroup({
+ const { group, invitees } = await createAndPopulateGroup({
groupDetails: {
name: 'Test Guild',
type: 'guild',
@@ -19,11 +20,11 @@ describe('POST /group/:groupId/reject-invite', () => {
});
publicGuild = group;
- invitedUser = invitees[0];
+ invitedUser = invitees[0]; // eslint-disable-line prefer-destructuring
});
it('returns error when user is not invited', async () => {
- let userWithoutInvite = await generateUser();
+ const userWithoutInvite = await generateUser();
await expect(userWithoutInvite.post(`/groups/${publicGuild._id}/reject-invite`)).to.eventually.be.rejected.and.eql({
code: 401,
@@ -37,15 +38,16 @@ describe('POST /group/:groupId/reject-invite', () => {
await expect(invitedUser.get('/user'))
.to.eventually.have.nested.property('invitations.guilds')
- .to.not.include({id: publicGuild._id});
+ .to.not.include({ id: publicGuild._id });
});
});
context('Rejecting a private guild invite', () => {
- let invitedUser, guild;
+ let invitedUser; let
+ guild;
beforeEach(async () => {
- let { group, invitees } = await createAndPopulateGroup({
+ const { group, invitees } = await createAndPopulateGroup({
groupDetails: {
name: 'Test Guild',
type: 'guild',
@@ -55,11 +57,11 @@ describe('POST /group/:groupId/reject-invite', () => {
});
guild = group;
- invitedUser = invitees[0];
+ invitedUser = invitees[0]; // eslint-disable-line prefer-destructuring
});
it('returns error when user is not invited', async () => {
- let userWithoutInvite = await generateUser();
+ const userWithoutInvite = await generateUser();
await expect(userWithoutInvite.post(`/groups/${guild._id}/reject-invite`)).to.eventually.be.rejected.and.eql({
code: 401,
@@ -73,15 +75,16 @@ describe('POST /group/:groupId/reject-invite', () => {
await expect(invitedUser.get('/user'))
.to.eventually.have.nested.property('invitations.guilds')
- .to.not.include({id: guild._id});
+ .to.not.include({ id: guild._id });
});
});
context('Rejecting a party invite', () => {
- let invitedUser, party;
+ let invitedUser; let
+ party;
beforeEach(async () => {
- let { group, invitees } = await createAndPopulateGroup({
+ const { group, invitees } = await createAndPopulateGroup({
groupDetails: {
name: 'Test Party',
type: 'party',
@@ -91,11 +94,11 @@ describe('POST /group/:groupId/reject-invite', () => {
});
party = group;
- invitedUser = invitees[0];
+ invitedUser = invitees[0]; // eslint-disable-line prefer-destructuring
});
it('returns error when user is not invited', async () => {
- let userWithoutInvite = await generateUser();
+ const userWithoutInvite = await generateUser();
await expect(userWithoutInvite.post(`/groups/${party._id}/reject-invite`)).to.eventually.be.rejected.and.eql({
code: 401,
diff --git a/test/api/v3/integration/groups/POST-groups_id_removeMember.test.js b/test/api/v3/integration/groups/POST-groups_id_removeMember.test.js
index b29902bc20..43de0a59ce 100644
--- a/test/api/v3/integration/groups/POST-groups_id_removeMember.test.js
+++ b/test/api/v3/integration/groups/POST-groups_id_removeMember.test.js
@@ -15,7 +15,9 @@ describe('POST /groups/:groupId/removeMember/:memberId', () => {
let adminUser;
beforeEach(async () => {
- let { group, groupLeader, invitees, members } = await createAndPopulateGroup({
+ const {
+ group, groupLeader, invitees, members,
+ } = await createAndPopulateGroup({
groupDetails: {
name: 'Test Guild',
type: 'guild',
@@ -27,15 +29,15 @@ describe('POST /groups/:groupId/removeMember/:memberId', () => {
guild = group;
leader = groupLeader;
- invitedUser = invitees[0];
- member = members[0];
- member2 = members[1];
+ invitedUser = invitees[0]; // eslint-disable-line prefer-destructuring
+ member = members[0]; // eslint-disable-line prefer-destructuring
+ member2 = members[1]; // eslint-disable-line prefer-destructuring
adminUser = await generateUser({ 'contributor.admin': true });
});
context('All Groups', () => {
it('returns an error when user is not member of the group', async () => {
- let nonMember = await generateUser();
+ const nonMember = await generateUser();
expect(nonMember.post(`/groups/${guild._id}/removeMember/${member._id}`))
.to.eventually.be.rejected.and.eql({
@@ -74,13 +76,13 @@ describe('POST /groups/:groupId/removeMember/:memberId', () => {
it('can remove other members', async () => {
await leader.post(`/groups/${guild._id}/removeMember/${member._id}`);
- let memberRemoved = await member.get('/user');
+ const memberRemoved = await member.get('/user');
expect(memberRemoved.guilds.indexOf(guild._id)).eql(-1);
});
it('updates memberCount', async () => {
- let oldMemberCount = guild.memberCount;
+ const oldMemberCount = guild.memberCount;
await leader.post(`/groups/${guild._id}/removeMember/${member._id}`);
await expect(leader.get(`/groups/${guild._id}`)).to.eventually.have.property('memberCount', oldMemberCount - 1);
});
@@ -88,14 +90,14 @@ describe('POST /groups/:groupId/removeMember/:memberId', () => {
it('can remove other invites', async () => {
await leader.post(`/groups/${guild._id}/removeMember/${invitedUser._id}`);
- let invitedUserWithoutInvite = await invitedUser.get('/user');
+ const invitedUserWithoutInvite = await invitedUser.get('/user');
expect(_.findIndex(invitedUserWithoutInvite.invitations.guilds, { id: guild._id })).eql(-1);
});
it('allows an admin to remove other members', async () => {
await adminUser.post(`/groups/${guild._id}/removeMember/${member._id}`);
- let memberRemoved = await member.get('/user');
+ const memberRemoved = await member.get('/user');
expect(memberRemoved.guilds.indexOf(guild._id)).eql(-1);
});
@@ -103,7 +105,7 @@ describe('POST /groups/:groupId/removeMember/:memberId', () => {
it('allows an admin to remove other invites', async () => {
await adminUser.post(`/groups/${guild._id}/removeMember/${invitedUser._id}`);
- let invitedUserWithoutInvite = await invitedUser.get('/user');
+ const invitedUserWithoutInvite = await invitedUser.get('/user');
expect(_.findIndex(invitedUserWithoutInvite.invitations.guilds, { id: guild._id })).eql(-1);
});
@@ -141,7 +143,9 @@ describe('POST /groups/:groupId/removeMember/:memberId', () => {
let removedMember;
beforeEach(async () => {
- let { group, groupLeader, invitees, members } = await createAndPopulateGroup({
+ const {
+ group, groupLeader, invitees, members,
+ } = await createAndPopulateGroup({
groupDetails: {
name: 'Test Party',
type: 'party',
@@ -153,9 +157,9 @@ describe('POST /groups/:groupId/removeMember/:memberId', () => {
party = group;
partyLeader = groupLeader;
- partyInvitedUser = invitees[0];
- partyMember = members[0];
- removedMember = members[1];
+ partyInvitedUser = invitees[0]; // eslint-disable-line prefer-destructuring
+ partyMember = members[0]; // eslint-disable-line prefer-destructuring
+ removedMember = members[1]; // eslint-disable-line prefer-destructuring
sandbox.spy(email, 'sendTxn');
});
@@ -166,13 +170,13 @@ describe('POST /groups/:groupId/removeMember/:memberId', () => {
it('can remove other members', async () => {
await partyLeader.post(`/groups/${party._id}/removeMember/${partyMember._id}`);
- let memberRemoved = await partyMember.get('/user');
+ const memberRemoved = await partyMember.get('/user');
expect(memberRemoved.party._id).eql(undefined);
});
it('updates memberCount', async () => {
- let oldMemberCount = party.memberCount;
+ const oldMemberCount = party.memberCount;
await partyLeader.post(`/groups/${party._id}/removeMember/${partyMember._id}`);
await expect(partyLeader.get(`/groups/${party._id}`)).to.eventually.have.property('memberCount', oldMemberCount - 1);
});
@@ -182,7 +186,7 @@ describe('POST /groups/:groupId/removeMember/:memberId', () => {
await partyLeader.post(`/groups/${party._id}/removeMember/${partyInvitedUser._id}`);
- let invitedUserWithoutInvite = await partyInvitedUser.get('/user');
+ const invitedUserWithoutInvite = await partyInvitedUser.get('/user');
expect(invitedUserWithoutInvite.invitations.parties[0]).to.be.undefined;
});
@@ -192,22 +196,18 @@ describe('POST /groups/:groupId/removeMember/:memberId', () => {
await sleep(0.5);
await removedMember.sync();
- expect(removedMember.notifications.find(n => {
- return n.type === 'NEW_CHAT_MESSAGE' && n.data.group.id === party._id;
- })).to.exist;
+ expect(removedMember.notifications.find(n => n.type === 'NEW_CHAT_MESSAGE' && n.data.group.id === party._id)).to.exist;
expect(removedMember.newMessages[party._id]).to.not.be.empty;
await partyLeader.post(`/groups/${party._id}/removeMember/${removedMember._id}`);
await removedMember.sync();
- expect(removedMember.notifications.find(n => {
- return n.type === 'NEW_CHAT_MESSAGE' && n.data.group.id === party._id;
- })).to.not.exist;
+ expect(removedMember.notifications.find(n => n.type === 'NEW_CHAT_MESSAGE' && n.data.group.id === party._id)).to.not.exist;
expect(removedMember.newMessages[party._id]).to.be.undefined;
});
it('removes user from quest when removing user from party after quest starts', async () => {
- let petQuest = 'whale';
+ const petQuest = 'whale';
await partyLeader.update({
[`items.quests.${petQuest}`]: 1,
});
@@ -229,7 +229,7 @@ describe('POST /groups/:groupId/removeMember/:memberId', () => {
});
it('removes user from quest when removing user from party before quest starts', async () => {
- let petQuest = 'whale';
+ const petQuest = 'whale';
await partyLeader.update({
[`items.quests.${petQuest}`]: 1,
});
diff --git a/test/api/v3/integration/groups/POST-groups_invite.test.js b/test/api/v3/integration/groups/POST-groups_invite.test.js
index 2a648e2bb3..f677f038fe 100644
--- a/test/api/v3/integration/groups/POST-groups_invite.test.js
+++ b/test/api/v3/integration/groups/POST-groups_invite.test.js
@@ -1,10 +1,10 @@
+import { v4 as generateUUID } from 'uuid';
+import nconf from 'nconf';
import {
generateUser,
generateGroup,
translate as t,
} from '../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
-import nconf from 'nconf';
const INVITES_LIMIT = 100;
const PARTY_LIMIT_MEMBERS = 30;
@@ -13,10 +13,10 @@ const MAX_EMAIL_INVITES_BY_USER = 200;
describe('Post /groups/:groupId/invite', () => {
let inviter;
let group;
- let groupName = 'Test Public Guild';
+ const groupName = 'Test Public Guild';
beforeEach(async () => {
- inviter = await generateUser({balance: 4});
+ inviter = await generateUser({ balance: 4 });
group = await inviter.post('/groups', {
name: groupName,
type: 'guild',
@@ -33,7 +33,7 @@ describe('Post /groups/:groupId/invite', () => {
.to.eventually.be.rejected.and.eql({
code: 404,
error: 'NotFound',
- message: t('userWithUsernameNotFound', {username: fakeID}),
+ message: t('userWithUsernameNotFound', { username: fakeID }),
});
});
@@ -69,7 +69,10 @@ describe('Post /groups/:groupId/invite', () => {
const userToInvite2 = await generateUser();
await expect(inviter.post(`/groups/${group._id}/invite`, {
- usernames: [userToInvite.auth.local.lowerCaseUsername, userToInvite2.auth.local.lowerCaseUsername],
+ usernames: [
+ userToInvite.auth.local.lowerCaseUsername,
+ userToInvite2.auth.local.lowerCaseUsername,
+ ],
})).to.eventually.deep.equal([
{
id: group._id,
@@ -92,8 +95,8 @@ describe('Post /groups/:groupId/invite', () => {
describe('user id invites', () => {
it('returns an error when inviter has no chat privileges', async () => {
- let inviterMuted = await inviter.update({'flags.chatRevoked': true});
- let userToInvite = await generateUser();
+ const inviterMuted = await inviter.update({ 'flags.chatRevoked': true });
+ const userToInvite = await generateUser();
await expect(inviterMuted.post(`/groups/${group._id}/invite`, {
uuids: [userToInvite._id],
}))
@@ -105,7 +108,7 @@ describe('Post /groups/:groupId/invite', () => {
});
it('returns an error when invited user is not found', async () => {
- let fakeID = generateUUID();
+ const fakeID = generateUUID();
await expect(inviter.post(`/groups/${group._id}/invite`, {
uuids: [fakeID],
@@ -113,7 +116,7 @@ describe('Post /groups/:groupId/invite', () => {
.to.eventually.be.rejected.and.eql({
code: 404,
error: 'NotFound',
- message: t('userWithIDNotFound', {userId: fakeID}),
+ message: t('userWithIDNotFound', { userId: fakeID }),
});
});
@@ -129,10 +132,10 @@ describe('Post /groups/:groupId/invite', () => {
});
it('returns an error when uuids is not an array', async () => {
- let fakeID = generateUUID();
+ const fakeID = generateUUID();
await expect(inviter.post(`/groups/${group._id}/invite`, {
- uuids: {fakeID},
+ uuids: { fakeID },
}))
.to.eventually.be.rejected.and.eql({
code: 400,
@@ -165,7 +168,7 @@ describe('Post /groups/:groupId/invite', () => {
});
it('returns an error when there are more than INVITES_LIMIT uuids', async () => {
- let uuids = [];
+ const uuids = [];
for (let i = 0; i < 101; i += 1) {
uuids.push(generateUUID());
@@ -177,13 +180,13 @@ describe('Post /groups/:groupId/invite', () => {
.to.eventually.be.rejected.and.eql({
code: 400,
error: 'BadRequest',
- message: t('canOnlyInviteMaxInvites', {maxInvites: INVITES_LIMIT}),
+ message: t('canOnlyInviteMaxInvites', { maxInvites: INVITES_LIMIT }),
});
});
it('returns error when recipient has blocked the senders', async () => {
- const inviterNoBlocks = await inviter.update({'inbox.blocks': []});
- let userWithBlockedInviter = await generateUser({'inbox.blocks': [inviter._id]});
+ const inviterNoBlocks = await inviter.update({ 'inbox.blocks': [] });
+ const userWithBlockedInviter = await generateUser({ 'inbox.blocks': [inviter._id] });
await expect(inviterNoBlocks.post(`/groups/${group._id}/invite`, {
uuids: [userWithBlockedInviter._id],
}))
@@ -195,7 +198,7 @@ describe('Post /groups/:groupId/invite', () => {
});
it('invites a user to a group by uuid', async () => {
- let userToInvite = await generateUser();
+ const userToInvite = await generateUser();
await expect(inviter.post(`/groups/${group._id}/invite`, {
uuids: [userToInvite._id],
@@ -211,8 +214,8 @@ describe('Post /groups/:groupId/invite', () => {
});
it('invites multiple users to a group by uuid', async () => {
- let userToInvite = await generateUser();
- let userToInvite2 = await generateUser();
+ const userToInvite = await generateUser();
+ const userToInvite2 = await generateUser();
await expect(inviter.post(`/groups/${group._id}/invite`, {
uuids: [userToInvite._id, userToInvite2._id],
@@ -236,8 +239,8 @@ describe('Post /groups/:groupId/invite', () => {
});
it('returns an error when inviting multiple users and a user is not found', async () => {
- let userToInvite = await generateUser();
- let fakeID = generateUUID();
+ const userToInvite = await generateUser();
+ const fakeID = generateUUID();
await expect(inviter.post(`/groups/${group._id}/invite`, {
uuids: [userToInvite._id, fakeID],
@@ -245,16 +248,16 @@ describe('Post /groups/:groupId/invite', () => {
.to.eventually.be.rejected.and.eql({
code: 404,
error: 'NotFound',
- message: t('userWithIDNotFound', {userId: fakeID}),
+ message: t('userWithIDNotFound', { userId: fakeID }),
});
});
});
describe('email invites', () => {
- let testInvite = {name: 'test', email: 'test@habitica.com'};
+ const testInvite = { name: 'test', email: 'test@habitica.com' };
it('returns an error when inviter has no chat privileges', async () => {
- let inviterMuted = await inviter.update({'flags.chatRevoked': true});
+ const inviterMuted = await inviter.update({ 'flags.chatRevoked': true });
await expect(inviterMuted.post(`/groups/${group._id}/invite`, {
emails: [testInvite],
inviter: 'inviter name',
@@ -268,7 +271,7 @@ describe('Post /groups/:groupId/invite', () => {
it('returns an error when invite is missing an email', async () => {
await expect(inviter.post(`/groups/${group._id}/invite`, {
- emails: [{name: 'test'}],
+ emails: [{ name: 'test' }],
}))
.to.eventually.be.rejected.and.eql({
code: 400,
@@ -279,7 +282,7 @@ describe('Post /groups/:groupId/invite', () => {
it('returns an error when emails is not an array', async () => {
await expect(inviter.post(`/groups/${group._id}/invite`, {
- emails: {testInvite},
+ emails: { testInvite },
}))
.to.eventually.be.rejected.and.eql({
code: 400,
@@ -300,7 +303,7 @@ describe('Post /groups/:groupId/invite', () => {
});
it('returns an error when there are more than INVITES_LIMIT emails', async () => {
- let emails = [];
+ const emails = [];
for (let i = 0; i < 101; i += 1) {
emails.push(`${generateUUID()}@habitica.com`);
@@ -312,16 +315,16 @@ describe('Post /groups/:groupId/invite', () => {
.to.eventually.be.rejected.and.eql({
code: 400,
error: 'BadRequest',
- message: t('canOnlyInviteMaxInvites', {maxInvites: INVITES_LIMIT}),
+ message: t('canOnlyInviteMaxInvites', { maxInvites: INVITES_LIMIT }),
});
});
it('returns an error when a user has sent the max number of email invites', async () => {
- let inviterWithMax = await generateUser({
+ const inviterWithMax = await generateUser({
invitesSent: MAX_EMAIL_INVITES_BY_USER,
balance: 4,
});
- let tmpGroup = await inviterWithMax.post('/groups', {
+ const tmpGroup = await inviterWithMax.post('/groups', {
name: groupName,
type: 'guild',
});
@@ -333,28 +336,28 @@ describe('Post /groups/:groupId/invite', () => {
.to.eventually.be.rejected.and.eql({
code: 401,
error: 'NotAuthorized',
- message: t('inviteLimitReached', {techAssistanceEmail: nconf.get('EMAILS_TECH_ASSISTANCE_EMAIL')}),
+ message: t('inviteLimitReached', { techAssistanceEmail: nconf.get('EMAILS_TECH_ASSISTANCE_EMAIL') }),
});
});
it('invites a user to a group by email', async () => {
- let res = await inviter.post(`/groups/${group._id}/invite`, {
+ const res = await inviter.post(`/groups/${group._id}/invite`, {
emails: [testInvite],
inviter: 'inviter name',
});
- let updatedUser = await inviter.sync();
+ const updatedUser = await inviter.sync();
expect(res).to.exist;
expect(updatedUser.invitesSent).to.eql(1);
});
it('invites multiple users to a group by email', async () => {
- let res = await inviter.post(`/groups/${group._id}/invite`, {
- emails: [testInvite, {name: 'test2', email: 'test2@habitica.com'}],
+ const res = await inviter.post(`/groups/${group._id}/invite`, {
+ emails: [testInvite, { name: 'test2', email: 'test2@habitica.com' }],
});
- let updatedUser = await inviter.sync();
+ const updatedUser = await inviter.sync();
expect(res).to.exist;
expect(updatedUser.invitesSent).to.eql(2);
@@ -372,8 +375,8 @@ describe('Post /groups/:groupId/invite', () => {
});
it('returns an error when there are more than INVITES_LIMIT uuids and emails', async () => {
- let emails = [];
- let uuids = [];
+ const emails = [];
+ const uuids = [];
for (let i = 0; i < 50; i += 1) {
emails.push(`${generateUUID()}@habitica.com`);
@@ -390,35 +393,35 @@ describe('Post /groups/:groupId/invite', () => {
.to.eventually.be.rejected.and.eql({
code: 400,
error: 'BadRequest',
- message: t('canOnlyInviteMaxInvites', {maxInvites: INVITES_LIMIT}),
+ message: t('canOnlyInviteMaxInvites', { maxInvites: INVITES_LIMIT }),
});
});
it('invites users to a group by uuid and email', async () => {
- let newUser = await generateUser();
- let invite = await inviter.post(`/groups/${group._id}/invite`, {
+ const newUser = await generateUser();
+ const invite = await inviter.post(`/groups/${group._id}/invite`, {
uuids: [newUser._id],
- emails: [{name: 'test', email: 'test@habitica.com'}],
+ emails: [{ name: 'test', email: 'test@habitica.com' }],
});
- let invitedUser = await newUser.get('/user');
+ const invitedUser = await newUser.get('/user');
expect(invitedUser.invitations.guilds[0].id).to.equal(group._id);
expect(invite).to.exist;
});
it('invites marks invite with cancelled plan', async () => {
- let cancelledPlanGroup = await generateGroup(inviter, {
+ const cancelledPlanGroup = await generateGroup(inviter, {
type: 'guild',
name: generateUUID(),
});
await cancelledPlanGroup.createCancelledSubscription();
- let newUser = await generateUser();
- let invite = await inviter.post(`/groups/${cancelledPlanGroup._id}/invite`, {
+ const newUser = await generateUser();
+ const invite = await inviter.post(`/groups/${cancelledPlanGroup._id}/invite`, {
uuids: [newUser._id],
- emails: [{name: 'test', email: 'test@habitica.com'}],
+ emails: [{ name: 'test', email: 'test@habitica.com' }],
});
- let invitedUser = await newUser.get('/user');
+ const invitedUser = await newUser.get('/user');
expect(invitedUser.invitations.guilds[0].id).to.equal(cancelledPlanGroup._id);
expect(invitedUser.invitations.guilds[0].cancelledPlan).to.be.true;
@@ -428,8 +431,8 @@ describe('Post /groups/:groupId/invite', () => {
describe('guild invites', () => {
it('returns an error when inviter has no chat privileges', async () => {
- let inviterMuted = await inviter.update({'flags.chatRevoked': true});
- let userToInvite = await generateUser();
+ const inviterMuted = await inviter.update({ 'flags.chatRevoked': true });
+ const userToInvite = await generateUser();
await expect(inviterMuted.post(`/groups/${group._id}/invite`, {
uuids: [userToInvite._id],
}))
@@ -441,7 +444,7 @@ describe('Post /groups/:groupId/invite', () => {
});
it('returns an error when invited user is already invited to the group', async () => {
- let userToInvite = await generateUser();
+ const userToInvite = await generateUser();
await inviter.post(`/groups/${group._id}/invite`, {
uuids: [userToInvite._id],
});
@@ -452,12 +455,12 @@ describe('Post /groups/:groupId/invite', () => {
.to.eventually.be.rejected.and.eql({
code: 401,
error: 'NotAuthorized',
- message: t('userAlreadyInvitedToGroup', { userId: userToInvite._id, username: userToInvite.profile.name}),
+ message: t('userAlreadyInvitedToGroup', { userId: userToInvite._id, username: userToInvite.profile.name }),
});
});
it('returns an error when invited user is already in the group', async () => {
- let userToInvite = await generateUser();
+ const userToInvite = await generateUser();
await inviter.post(`/groups/${group._id}/invite`, {
uuids: [userToInvite._id],
});
@@ -469,17 +472,17 @@ describe('Post /groups/:groupId/invite', () => {
.to.eventually.be.rejected.and.eql({
code: 401,
error: 'NotAuthorized',
- message: t('userAlreadyInGroup', { userId: userToInvite._id, username: userToInvite.profile.name}),
+ message: t('userAlreadyInGroup', { userId: userToInvite._id, username: userToInvite.profile.name }),
});
});
it('allows 30+ members in a guild', async () => {
- let invitesToGenerate = [];
+ const invitesToGenerate = [];
// Generate 30 users to invite (30 + leader = 31 members)
- for (let i = 0; i < PARTY_LIMIT_MEMBERS; i++) {
+ for (let i = 0; i < PARTY_LIMIT_MEMBERS; i += 1) {
invitesToGenerate.push(generateUser());
}
- let generatedInvites = await Promise.all(invitesToGenerate);
+ const generatedInvites = await Promise.all(invitesToGenerate);
// Invite users
expect(await inviter.post(`/groups/${group._id}/invite`, {
uuids: generatedInvites.map(invite => invite._id),
@@ -488,9 +491,9 @@ describe('Post /groups/:groupId/invite', () => {
// @TODO: Add this after we are able to mock the group plan route
xit('returns an error when a non-leader invites to a group plan', async () => {
- let userToInvite = await generateUser();
+ const userToInvite = await generateUser();
- let nonGroupLeader = await generateUser();
+ const nonGroupLeader = await generateUser();
await inviter.post(`/groups/${group._id}/invite`, {
uuids: [nonGroupLeader._id],
});
@@ -518,8 +521,8 @@ describe('Post /groups/:groupId/invite', () => {
});
it('returns an error when inviter has no chat privileges', async () => {
- let inviterMuted = await inviter.update({'flags.chatRevoked': true});
- let userToInvite = await generateUser();
+ const inviterMuted = await inviter.update({ 'flags.chatRevoked': true });
+ const userToInvite = await generateUser();
await expect(inviterMuted.post(`/groups/${party._id}/invite`, {
uuids: [userToInvite._id],
}))
@@ -531,7 +534,7 @@ describe('Post /groups/:groupId/invite', () => {
});
it('returns an error when invited user has a pending invitation to the party', async () => {
- let userToInvite = await generateUser();
+ const userToInvite = await generateUser();
await inviter.post(`/groups/${party._id}/invite`, {
uuids: [userToInvite._id],
});
@@ -542,13 +545,13 @@ describe('Post /groups/:groupId/invite', () => {
.to.eventually.be.rejected.and.eql({
code: 401,
error: 'NotAuthorized',
- message: t('userAlreadyPendingInvitation', { userId: userToInvite._id, username: userToInvite.profile.name}),
+ message: t('userAlreadyPendingInvitation', { userId: userToInvite._id, username: userToInvite.profile.name }),
});
});
it('returns an error when invited user is already in a party of more than 1 member', async () => {
- let userToInvite = await generateUser();
- let userToInvite2 = await generateUser();
+ const userToInvite = await generateUser();
+ const userToInvite2 = await generateUser();
await inviter.post(`/groups/${party._id}/invite`, {
uuids: [userToInvite._id, userToInvite2._id],
});
@@ -561,12 +564,12 @@ describe('Post /groups/:groupId/invite', () => {
.to.eventually.be.rejected.and.eql({
code: 401,
error: 'NotAuthorized',
- message: t('userAlreadyInAParty', { userId: userToInvite._id, username: userToInvite.profile.name}),
+ message: t('userAlreadyInAParty', { userId: userToInvite._id, username: userToInvite.profile.name }),
});
});
it('allow inviting a user to a party if they are partying solo', async () => {
- let userToInvite = await generateUser();
+ const userToInvite = await generateUser();
await userToInvite.post('/groups', { // add user to a party
name: 'Another Test Party',
type: 'party',
@@ -580,13 +583,13 @@ describe('Post /groups/:groupId/invite', () => {
it('allow inviting a user to 2 different parties', async () => {
// Create another inviter
- let inviter2 = await generateUser();
+ const inviter2 = await generateUser();
// Create user to invite
- let userToInvite = await generateUser();
+ const userToInvite = await generateUser();
// Create second group
- let party2 = await inviter2.post('/groups', {
+ const party2 = await inviter2.post('/groups', {
name: 'Test Party 2',
type: 'party',
});
@@ -602,7 +605,7 @@ describe('Post /groups/:groupId/invite', () => {
});
// Get updated user
- let invitedUser = await userToInvite.get('/user');
+ const invitedUser = await userToInvite.get('/user');
expect(invitedUser.invitations.parties.length).to.equal(2);
expect(invitedUser.invitations.parties[0].id).to.equal(party._id);
@@ -610,7 +613,7 @@ describe('Post /groups/:groupId/invite', () => {
});
it('allow inviting a user if party id is not associated with a real party', async () => {
- let userToInvite = await generateUser({
+ const userToInvite = await generateUser({
party: { _id: generateUUID() },
});
@@ -621,12 +624,12 @@ describe('Post /groups/:groupId/invite', () => {
});
it('allows 30 members in a party', async () => {
- let invitesToGenerate = [];
+ const invitesToGenerate = [];
// Generate 29 users to invite (29 + leader = 30 members)
- for (let i = 0; i < PARTY_LIMIT_MEMBERS - 1; i++) {
+ for (let i = 0; i < PARTY_LIMIT_MEMBERS - 1; i += 1) {
invitesToGenerate.push(generateUser());
}
- let generatedInvites = await Promise.all(invitesToGenerate);
+ const generatedInvites = await Promise.all(invitesToGenerate);
// Invite users
expect(await inviter.post(`/groups/${party._id}/invite`, {
uuids: generatedInvites.map(invite => invite._id),
@@ -634,12 +637,12 @@ describe('Post /groups/:groupId/invite', () => {
}).timeout(10000);
it('does not allow 30+ members in a party', async () => {
- let invitesToGenerate = [];
+ const invitesToGenerate = [];
// Generate 30 users to invite (30 + leader = 31 members)
- for (let i = 0; i < PARTY_LIMIT_MEMBERS; i++) {
+ for (let i = 0; i < PARTY_LIMIT_MEMBERS; i += 1) {
invitesToGenerate.push(generateUser());
}
- let generatedInvites = await Promise.all(invitesToGenerate);
+ const generatedInvites = await Promise.all(invitesToGenerate);
// Invite users
await expect(inviter.post(`/groups/${party._id}/invite`, {
uuids: generatedInvites.map(invite => invite._id),
@@ -647,7 +650,7 @@ describe('Post /groups/:groupId/invite', () => {
.to.eventually.be.rejected.and.eql({
code: 400,
error: 'BadRequest',
- message: t('partyExceedsMembersLimit', {maxMembersParty: PARTY_LIMIT_MEMBERS}),
+ message: t('partyExceedsMembersLimit', { maxMembersParty: PARTY_LIMIT_MEMBERS }),
});
}).timeout(10000);
});
diff --git a/test/api/v3/integration/groups/POST-groups_manager.test.js b/test/api/v3/integration/groups/POST-groups_manager.test.js
index 8730ea8c95..e7b6cad9de 100644
--- a/test/api/v3/integration/groups/POST-groups_manager.test.js
+++ b/test/api/v3/integration/groups/POST-groups_manager.test.js
@@ -5,14 +5,15 @@ import {
} from '../../../../helpers/api-integration/v3';
describe('POST /group/:groupId/add-manager', () => {
- let leader, nonLeader, groupToUpdate;
- let groupName = 'Test Public Guild';
- let groupType = 'guild';
+ let leader; let nonLeader; let
+ groupToUpdate;
+ const groupName = 'Test Public Guild';
+ const groupType = 'guild';
let nonMember;
context('Guilds', () => {
beforeEach(async () => {
- let { group, groupLeader, members } = await createAndPopulateGroup({
+ const { group, groupLeader, members } = await createAndPopulateGroup({
groupDetails: {
name: groupName,
type: groupType,
@@ -23,7 +24,7 @@ describe('POST /group/:groupId/add-manager', () => {
groupToUpdate = group;
leader = groupLeader;
- nonLeader = members[0];
+ nonLeader = members[0]; // eslint-disable-line prefer-destructuring
nonMember = await generateUser();
});
@@ -48,7 +49,7 @@ describe('POST /group/:groupId/add-manager', () => {
});
it('allows a leader to add managers', async () => {
- let updatedGroup = await leader.post(`/groups/${groupToUpdate._id}/add-manager`, {
+ const updatedGroup = await leader.post(`/groups/${groupToUpdate._id}/add-manager`, {
managerId: nonLeader._id,
});
@@ -57,10 +58,11 @@ describe('POST /group/:groupId/add-manager', () => {
});
context('Party', () => {
- let party, partyLeader, partyNonLeader;
+ let party; let partyLeader; let
+ partyNonLeader;
beforeEach(async () => {
- let { group, groupLeader, members } = await createAndPopulateGroup({
+ const { group, groupLeader, members } = await createAndPopulateGroup({
groupDetails: {
name: groupName,
type: 'party',
@@ -71,11 +73,11 @@ describe('POST /group/:groupId/add-manager', () => {
party = group;
partyLeader = groupLeader;
- partyNonLeader = members[0];
+ partyNonLeader = members[0]; // eslint-disable-line prefer-destructuring
});
it('allows leader of party to add managers', async () => {
- let updatedGroup = await partyLeader.post(`/groups/${party._id}/add-manager`, {
+ const updatedGroup = await partyLeader.post(`/groups/${party._id}/add-manager`, {
managerId: partyNonLeader._id,
});
diff --git a/test/api/v3/integration/groups/PUT-groups.test.js b/test/api/v3/integration/groups/PUT-groups.test.js
index 9dc00cb891..a471bafd1c 100644
--- a/test/api/v3/integration/groups/PUT-groups.test.js
+++ b/test/api/v3/integration/groups/PUT-groups.test.js
@@ -5,13 +5,14 @@ import {
} from '../../../../helpers/api-integration/v3';
describe('PUT /group', () => {
- let leader, nonLeader, groupToUpdate, adminUser;
- let groupName = 'Test Public Guild';
- let groupType = 'guild';
- let groupUpdatedName = 'Test Public Guild Updated';
+ let leader; let nonLeader; let groupToUpdate; let
+ adminUser;
+ const groupName = 'Test Public Guild';
+ const groupType = 'guild';
+ const groupUpdatedName = 'Test Public Guild Updated';
beforeEach(async () => {
- let { group, groupLeader, members } = await createAndPopulateGroup({
+ const { group, groupLeader, members } = await createAndPopulateGroup({
groupDetails: {
name: groupName,
type: groupType,
@@ -22,7 +23,7 @@ describe('PUT /group', () => {
adminUser = await generateUser({ 'contributor.admin': true });
groupToUpdate = group;
leader = groupLeader;
- nonLeader = members[0];
+ nonLeader = members[0]; // eslint-disable-line prefer-destructuring
});
it('returns an error when a user that is not an admin or group leader tries to update', async () => {
@@ -36,7 +37,7 @@ describe('PUT /group', () => {
});
it('updates a group', async () => {
- let updatedGroup = await leader.put(`/groups/${groupToUpdate._id}`, {
+ const updatedGroup = await leader.put(`/groups/${groupToUpdate._id}`, {
name: groupUpdatedName,
});
@@ -46,12 +47,12 @@ describe('PUT /group', () => {
});
it('updates a group categories', async () => {
- let categories = [{
+ const categories = [{
slug: 'newCat',
name: 'New Category',
}];
- let updatedGroup = await leader.put(`/groups/${groupToUpdate._id}`, {
+ const updatedGroup = await leader.put(`/groups/${groupToUpdate._id}`, {
categories,
});
@@ -60,7 +61,7 @@ describe('PUT /group', () => {
});
it('allows an admin to update a guild', async () => {
- let updatedGroup = await adminUser.put(`/groups/${groupToUpdate._id}`, {
+ const updatedGroup = await adminUser.put(`/groups/${groupToUpdate._id}`, {
name: groupUpdatedName,
});
expect(updatedGroup.leader._id).to.eql(leader._id);
@@ -69,7 +70,7 @@ describe('PUT /group', () => {
});
it('allows a leader to change leaders', async () => {
- let updatedGroup = await leader.put(`/groups/${groupToUpdate._id}`, {
+ const updatedGroup = await leader.put(`/groups/${groupToUpdate._id}`, {
name: groupUpdatedName,
leader: nonLeader._id,
});
diff --git a/test/api/v3/integration/hall/GET-hall_heroes.test.js b/test/api/v3/integration/hall/GET-hall_heroes.test.js
index f0fa59ad6b..a8fb9f70ec 100644
--- a/test/api/v3/integration/hall/GET-hall_heroes.test.js
+++ b/test/api/v3/integration/hall/GET-hall_heroes.test.js
@@ -7,15 +7,15 @@ describe('GET /hall/heroes', () => {
it('returns all heroes sorted by -contributor.level and with correct fields', async () => {
await resetHabiticaDB();
- let nonHero = await generateUser();
- let hero1 = await generateUser({
- contributor: {level: 1},
+ const nonHero = await generateUser();
+ const hero1 = await generateUser({
+ contributor: { level: 1 },
});
- let hero2 = await generateUser({
- contributor: {level: 3},
+ const hero2 = await generateUser({
+ contributor: { level: 3 },
});
- let heroes = await nonHero.get('/hall/heroes');
+ const heroes = await nonHero.get('/hall/heroes');
expect(heroes.length).to.equal(2);
expect(heroes[0]._id).to.equal(hero2._id);
expect(heroes[1]._id).to.equal(hero1._id);
diff --git a/test/api/v3/integration/hall/GET-hall_heroes_heroId.test.js b/test/api/v3/integration/hall/GET-hall_heroes_heroId.test.js
index 4b5bab8f0b..c3e78a8f79 100644
--- a/test/api/v3/integration/hall/GET-hall_heroes_heroId.test.js
+++ b/test/api/v3/integration/hall/GET-hall_heroes_heroId.test.js
@@ -1,20 +1,20 @@
+import { v4 as generateUUID } from 'uuid';
import {
generateUser,
translate as t,
} from '../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
describe('GET /heroes/:heroId', () => {
let user;
before(async () => {
user = await generateUser({
- contributor: {admin: true},
+ contributor: { admin: true },
});
});
it('requires the caller to be an admin', async () => {
- let nonAdmin = await generateUser();
+ const nonAdmin = await generateUser();
await expect(nonAdmin.get(`/hall/heroes/${user._id}`)).to.eventually.be.rejected.and.eql({
code: 401,
@@ -27,24 +27,24 @@ describe('GET /heroes/:heroId', () => {
await expect(user.get('/hall/heroes/invalidUUID')).to.eventually.be.rejected.and.eql({
code: 404,
error: 'NotFound',
- message: t('userWithIDNotFound', {userId: 'invalidUUID'}),
+ message: t('userWithIDNotFound', { userId: 'invalidUUID' }),
});
});
it('handles non-existing heroes', async () => {
- let dummyId = generateUUID();
+ const dummyId = generateUUID();
await expect(user.get(`/hall/heroes/${dummyId}`)).to.eventually.be.rejected.and.eql({
code: 404,
error: 'NotFound',
- message: t('userWithIDNotFound', {userId: dummyId}),
+ message: t('userWithIDNotFound', { userId: dummyId }),
});
});
it('returns only necessary hero data given user id', async () => {
- let hero = await generateUser({
- contributor: {tier: 23},
+ const hero = await generateUser({
+ contributor: { tier: 23 },
});
- let heroRes = await user.get(`/hall/heroes/${hero._id}`);
+ const heroRes = await user.get(`/hall/heroes/${hero._id}`);
expect(heroRes).to.have.all.keys([ // works as: object has all and only these keys
'_id', 'id', 'balance', 'profile', 'purchased',
@@ -55,10 +55,10 @@ describe('GET /heroes/:heroId', () => {
});
it('returns only necessary hero data given username', async () => {
- let hero = await generateUser({
- contributor: {tier: 23},
+ const hero = await generateUser({
+ contributor: { tier: 23 },
});
- let heroRes = await user.get(`/hall/heroes/${hero.auth.local.username}`);
+ const heroRes = await user.get(`/hall/heroes/${hero.auth.local.username}`);
expect(heroRes).to.have.all.keys([ // works as: object has all and only these keys
'_id', 'id', 'balance', 'profile', 'purchased',
@@ -70,7 +70,7 @@ describe('GET /heroes/:heroId', () => {
it('returns correct hero using search with difference case', async () => {
await generateUser({}, { username: 'TestUpperCaseName123' });
- let heroRes = await user.get('/hall/heroes/TestuPPerCasEName123');
+ const heroRes = await user.get('/hall/heroes/TestuPPerCasEName123');
expect(heroRes.auth.local.username).to.equal('TestUpperCaseName123');
});
});
diff --git a/test/api/v3/integration/hall/GET-hall_patrons.test.js b/test/api/v3/integration/hall/GET-hall_patrons.test.js
index 1e9064ad43..ea58db24c4 100644
--- a/test/api/v3/integration/hall/GET-hall_patrons.test.js
+++ b/test/api/v3/integration/hall/GET-hall_patrons.test.js
@@ -1,9 +1,9 @@
+import { times } from 'lodash';
import {
generateUser,
translate as t,
resetHabiticaDB,
} from '../../../../helpers/api-integration/v3';
-import { times } from 'lodash';
describe('GET /hall/patrons', () => {
let user;
@@ -22,14 +22,14 @@ describe('GET /hall/patrons', () => {
});
it('returns all patrons sorted by -backer.tier and with correct fields', async () => {
- let patron1 = await generateUser({
- backer: {tier: 1},
+ const patron1 = await generateUser({
+ backer: { tier: 1 },
});
- let patron2 = await generateUser({
- backer: {tier: 3},
+ const patron2 = await generateUser({
+ backer: { tier: 3 },
});
- let patrons = await user.get('/hall/patrons');
+ const patrons = await user.get('/hall/patrons');
expect(patrons.length).to.equal(2);
expect(patrons[0]._id).to.equal(patron2._id);
expect(patrons[1]._id).to.equal(patron1._id);
@@ -45,14 +45,12 @@ describe('GET /hall/patrons', () => {
});
it('returns only first 50 patrons per request, more if req.query.page is passed', async () => {
- await Promise.all(times(53, n => {
- return generateUser({backer: {tier: n}});
- }));
+ await Promise.all(times(53, n => generateUser({ backer: { tier: n } })));
- let patrons = await user.get('/hall/patrons');
+ const patrons = await user.get('/hall/patrons');
expect(patrons.length).to.equal(50);
- let morePatrons = await user.get('/hall/patrons?page=1');
+ const morePatrons = await user.get('/hall/patrons?page=1');
expect(morePatrons.length).to.equal(2);
expect(morePatrons[0].backer.tier).to.equal(2);
expect(morePatrons[1].backer.tier).to.equal(1);
diff --git a/test/api/v3/integration/hall/PUT-hall_heores_heroId.test.js b/test/api/v3/integration/hall/PUT-hall_heores_heroId.test.js
index 36e8e27842..db6eaf82ae 100644
--- a/test/api/v3/integration/hall/PUT-hall_heores_heroId.test.js
+++ b/test/api/v3/integration/hall/PUT-hall_heores_heroId.test.js
@@ -1,20 +1,20 @@
+import { v4 as generateUUID } from 'uuid';
import {
generateUser,
translate as t,
} from '../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
describe('PUT /heroes/:heroId', () => {
let user;
before(async () => {
user = await generateUser({
- contributor: {admin: true},
+ contributor: { admin: true },
});
});
it('requires the caller to be an admin', async () => {
- let nonAdmin = await generateUser();
+ const nonAdmin = await generateUser();
await expect(nonAdmin.put(`/hall/heroes/${user._id}`)).to.eventually.be.rejected.and.eql({
code: 401,
@@ -32,22 +32,22 @@ describe('PUT /heroes/:heroId', () => {
});
it('handles non-existing heroes', async () => {
- let dummyId = generateUUID();
+ const dummyId = generateUUID();
await expect(user.put(`/hall/heroes/${dummyId}`)).to.eventually.be.rejected.and.eql({
code: 404,
error: 'NotFound',
- message: t('userWithIDNotFound', {userId: dummyId}),
+ message: t('userWithIDNotFound', { userId: dummyId }),
});
});
it('change contributor level, balance, ads', async () => {
- let hero = await generateUser();
- let prevBlockState = hero.auth.blocked;
- let prevSleepState = hero.preferences.sleep;
- let heroRes = await user.put(`/hall/heroes/${hero._id}`, {
+ const hero = await generateUser();
+ const prevBlockState = hero.auth.blocked;
+ const prevSleepState = hero.preferences.sleep;
+ const heroRes = await user.put(`/hall/heroes/${hero._id}`, {
balance: 3,
- contributor: {level: 1},
- purchased: {ads: true},
+ contributor: { level: 1 },
+ purchased: { ads: true },
});
// test response
@@ -74,10 +74,10 @@ describe('PUT /heroes/:heroId', () => {
});
it('block a user', async () => {
- let hero = await generateUser();
- let heroRes = await user.put(`/hall/heroes/${hero._id}`, {
- auth: {blocked: true},
- preferences: {sleep: true},
+ const hero = await generateUser();
+ const heroRes = await user.put(`/hall/heroes/${hero._id}`, {
+ auth: { blocked: true },
+ preferences: { sleep: true },
});
// test response values
@@ -89,10 +89,10 @@ describe('PUT /heroes/:heroId', () => {
});
it('unblock a user', async () => {
- let hero = await generateUser();
- let prevSleepState = hero.preferences.sleep;
- let heroRes = await user.put(`/hall/heroes/${hero._id}`, {
- auth: {blocked: false},
+ const hero = await generateUser();
+ const prevSleepState = hero.preferences.sleep;
+ const heroRes = await user.put(`/hall/heroes/${hero._id}`, {
+ auth: { blocked: false },
});
// test response values
@@ -104,29 +104,29 @@ describe('PUT /heroes/:heroId', () => {
});
it('updates chatRevoked flag', async () => {
- let hero = await generateUser();
+ const hero = await generateUser();
await user.put(`/hall/heroes/${hero._id}`, {
- flags: {chatRevoked: true},
+ flags: { chatRevoked: true },
});
await hero.sync();
expect(hero.flags.chatRevoked).to.eql(true);
});
it('updates chatShadowMuted flag', async () => {
- let hero = await generateUser();
+ const hero = await generateUser();
await user.put(`/hall/heroes/${hero._id}`, {
- flags: {chatShadowMuted: true},
+ flags: { chatShadowMuted: true },
});
await hero.sync();
expect(hero.flags.chatShadowMuted).to.eql(true);
});
it('updates contributor level', async () => {
- let hero = await generateUser({
- contributor: {level: 5},
+ const hero = await generateUser({
+ contributor: { level: 5 },
});
- let heroRes = await user.put(`/hall/heroes/${hero._id}`, {
- contributor: {level: 6},
+ const heroRes = await user.put(`/hall/heroes/${hero._id}`, {
+ contributor: { level: 6 },
});
// test response
@@ -149,11 +149,11 @@ describe('PUT /heroes/:heroId', () => {
});
it('updates contributor data', async () => {
- let hero = await generateUser({
- contributor: {level: 5},
+ const hero = await generateUser({
+ contributor: { level: 5 },
});
- let heroRes = await user.put(`/hall/heroes/${hero._id}`, {
- contributor: {text: 'Astronaut'},
+ const heroRes = await user.put(`/hall/heroes/${hero._id}`, {
+ contributor: { text: 'Astronaut' },
});
// test response
@@ -174,8 +174,8 @@ describe('PUT /heroes/:heroId', () => {
});
it('updates items', async () => {
- let hero = await generateUser();
- let heroRes = await user.put(`/hall/heroes/${hero._id}`, {
+ const hero = await generateUser();
+ const heroRes = await user.put(`/hall/heroes/${hero._id}`, {
itemPath: 'items.special.snowball',
itemVal: 5,
});
diff --git a/test/api/v3/integration/inbox/GET-inbox_messages.test.js b/test/api/v3/integration/inbox/GET-inbox_messages.test.js
index 491b444cab..e3436a3cc4 100644
--- a/test/api/v3/integration/inbox/GET-inbox_messages.test.js
+++ b/test/api/v3/integration/inbox/GET-inbox_messages.test.js
@@ -47,7 +47,7 @@ describe('GET /inbox/messages', () => {
it('returns four messages when using page-query ', async () => {
const promises = [];
- for (let i = 0; i < 10; i++) {
+ for (let i = 0; i < 10; i += 1) {
promises.push(user.post('/members/send-private-message', {
toUserId: user.id,
message: 'fourth',
diff --git a/test/api/v3/integration/members/GET-achievements.test.js b/test/api/v3/integration/members/GET-achievements.test.js
index 9f46780b3e..f3d2f73c99 100644
--- a/test/api/v3/integration/members/GET-achievements.test.js
+++ b/test/api/v3/integration/members/GET-achievements.test.js
@@ -1,8 +1,8 @@
+import { v4 as generateUUID } from 'uuid';
import {
generateUser,
translate as t,
} from '../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
describe('GET /members/:memberId/achievements', () => {
let user;
@@ -20,11 +20,11 @@ describe('GET /members/:memberId/achievements', () => {
});
it('returns achievements based on given user', async () => {
- let member = await generateUser({
- contributor: {level: 1},
- backer: {tier: 3},
+ const member = await generateUser({
+ contributor: { level: 1 },
+ backer: { tier: 3 },
});
- let achievementsRes = await user.get(`/members/${member._id}/achievements`);
+ const achievementsRes = await user.get(`/members/${member._id}/achievements`);
expect(achievementsRes.special.achievements.contributor.earned).to.equal(true);
expect(achievementsRes.special.achievements.contributor.value).to.equal(1);
@@ -34,11 +34,11 @@ describe('GET /members/:memberId/achievements', () => {
});
it('handles non-existing members', async () => {
- let dummyId = generateUUID();
+ const dummyId = generateUUID();
await expect(user.get(`/members/${dummyId}/achievements`)).to.eventually.be.rejected.and.eql({
code: 404,
error: 'NotFound',
- message: t('userWithIDNotFound', {userId: dummyId}),
+ message: t('userWithIDNotFound', { userId: dummyId }),
});
});
});
diff --git a/test/api/v3/integration/members/GET-members_id.test.js b/test/api/v3/integration/members/GET-members_id.test.js
index f93ea28498..9b58dd61c1 100644
--- a/test/api/v3/integration/members/GET-members_id.test.js
+++ b/test/api/v3/integration/members/GET-members_id.test.js
@@ -1,8 +1,8 @@
+import { v4 as generateUUID } from 'uuid';
import {
generateUser,
translate as t,
} from '../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
import common from '../../../../../website/common';
describe('GET /members/:memberId', () => {
@@ -21,15 +21,16 @@ describe('GET /members/:memberId', () => {
});
it('returns a member public data only', async () => {
- let member = await generateUser({ // make sure user has all the fields that can be returned by the getMember call
- contributor: {level: 1},
- backer: {tier: 3},
+ // make sure user has all the fields that can be returned by the getMember call
+ const member = await generateUser({
+ contributor: { level: 1 },
+ backer: { tier: 3 },
preferences: {
costume: false,
background: 'volcano',
},
});
- let memberRes = await user.get(`/members/${member._id}`);
+ const memberRes = await user.get(`/members/${member._id}`);
expect(memberRes).to.have.all.keys([ // works as: object has all and only these keys
'_id', 'id', 'preferences', 'profile', 'stats', 'achievements', 'party',
'backer', 'contributor', 'auth', 'items', 'inbox', 'loginIncentives', 'flags',
@@ -48,11 +49,11 @@ describe('GET /members/:memberId', () => {
});
it('handles non-existing members', async () => {
- let dummyId = generateUUID();
+ const dummyId = generateUUID();
await expect(user.get(`/members/${dummyId}`)).to.eventually.be.rejected.and.eql({
code: 404,
error: 'NotFound',
- message: t('userWithIDNotFound', {userId: dummyId}),
+ message: t('userWithIDNotFound', { userId: dummyId }),
});
});
});
diff --git a/test/api/v3/integration/members/GET-objections_interaction.test.js b/test/api/v3/integration/members/GET-objections_interaction.test.js
index 5c7a8c0677..c117e2f950 100644
--- a/test/api/v3/integration/members/GET-objections_interaction.test.js
+++ b/test/api/v3/integration/members/GET-objections_interaction.test.js
@@ -1,8 +1,8 @@
+import { v4 as generateUUID } from 'uuid';
import {
generateUser,
translate as t,
} from '../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
describe('GET /members/:toUserId/objections/:interaction', () => {
let user;
@@ -13,7 +13,7 @@ describe('GET /members/:toUserId/objections/:interaction', () => {
it('validates req.params.memberId', async () => {
await expect(
- user.get('/members/invalidUUID/objections/send-private-message')
+ user.get('/members/invalidUUID/objections/send-private-message'),
).to.eventually.be.rejected.and.eql({
code: 400,
error: 'BadRequest',
@@ -22,21 +22,21 @@ describe('GET /members/:toUserId/objections/:interaction', () => {
});
it('handles non-existing members', async () => {
- let dummyId = generateUUID();
+ const dummyId = generateUUID();
await expect(
- user.get(`/members/${dummyId}/objections/send-private-message`)
+ user.get(`/members/${dummyId}/objections/send-private-message`),
).to.eventually.be.rejected.and.eql({
code: 404,
error: 'NotFound',
- message: t('userWithIDNotFound', {userId: dummyId}),
+ message: t('userWithIDNotFound', { userId: dummyId }),
});
});
it('handles non-existing interactions', async () => {
- let receiver = await generateUser();
+ const receiver = await generateUser();
await expect(
- user.get(`/members/${receiver._id}/objections/hug-a-whole-forest-of-trees`)
+ user.get(`/members/${receiver._id}/objections/hug-a-whole-forest-of-trees`),
).to.eventually.be.rejected.and.eql({
code: 400,
error: 'BadRequest',
@@ -45,18 +45,18 @@ describe('GET /members/:toUserId/objections/:interaction', () => {
});
it('returns an empty array if there are no objections', async () => {
- let receiver = await generateUser();
+ const receiver = await generateUser();
await expect(
- user.get(`/members/${receiver._id}/objections/send-private-message`)
+ user.get(`/members/${receiver._id}/objections/send-private-message`),
).to.eventually.be.fulfilled.and.eql([]);
});
it('returns an array of objections if any exist', async () => {
- let receiver = await generateUser({'inbox.blocks': [user._id]});
+ const receiver = await generateUser({ 'inbox.blocks': [user._id] });
await expect(
- user.get(`/members/${receiver._id}/objections/send-private-message`)
+ user.get(`/members/${receiver._id}/objections/send-private-message`),
).to.eventually.be.fulfilled.and.eql([
t('notAuthorizedToSendMessageToThisUser'),
]);
diff --git a/test/api/v3/integration/members/POST-send_private_message.test.js b/test/api/v3/integration/members/POST-send_private_message.test.js
index 0012e6ce37..78b5d6467c 100644
--- a/test/api/v3/integration/members/POST-send_private_message.test.js
+++ b/test/api/v3/integration/members/POST-send_private_message.test.js
@@ -1,12 +1,12 @@
+import { v4 as generateUUID } from 'uuid';
import {
generateUser,
translate as t,
} from '../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
describe('POST /members/send-private-message', () => {
let userToSendMessage;
- let messageToSend = 'Test Private Message';
+ const messageToSend = 'Test Private Message';
beforeEach(async () => {
userToSendMessage = await generateUser();
@@ -43,7 +43,7 @@ describe('POST /members/send-private-message', () => {
});
it('returns error when to user has blocked the sender', async () => {
- let receiver = await generateUser({'inbox.blocks': [userToSendMessage._id]});
+ const receiver = await generateUser({ 'inbox.blocks': [userToSendMessage._id] });
await expect(userToSendMessage.post('/members/send-private-message', {
message: messageToSend,
@@ -56,8 +56,8 @@ describe('POST /members/send-private-message', () => {
});
it('returns error when sender has blocked to user', async () => {
- let receiver = await generateUser();
- let sender = await generateUser({'inbox.blocks': [receiver._id]});
+ const receiver = await generateUser();
+ const sender = await generateUser({ 'inbox.blocks': [receiver._id] });
await expect(sender.post('/members/send-private-message', {
message: messageToSend,
@@ -70,7 +70,7 @@ describe('POST /members/send-private-message', () => {
});
it('returns error when to user has opted out of messaging', async () => {
- let receiver = await generateUser({'inbox.optOut': true});
+ const receiver = await generateUser({ 'inbox.optOut': true });
await expect(userToSendMessage.post('/members/send-private-message', {
message: messageToSend,
@@ -83,8 +83,8 @@ describe('POST /members/send-private-message', () => {
});
it('returns an error when chat privileges are revoked', async () => {
- let userWithChatRevoked = await generateUser({'flags.chatRevoked': true});
- let receiver = await generateUser();
+ const userWithChatRevoked = await generateUser({ 'flags.chatRevoked': true });
+ const receiver = await generateUser();
await expect(userWithChatRevoked.post('/members/send-private-message', {
message: messageToSend,
@@ -97,7 +97,7 @@ describe('POST /members/send-private-message', () => {
});
it('sends a private message to a user', async () => {
- let receiver = await generateUser();
+ const receiver = await generateUser();
// const initialNotifications = receiver.notifications.length;
const response = await userToSendMessage.post('/members/send-private-message', {
@@ -105,16 +105,18 @@ describe('POST /members/send-private-message', () => {
toUserId: receiver._id,
});
- let updatedReceiver = await receiver.get('/user');
- let updatedSender = await userToSendMessage.get('/user');
+ const updatedReceiver = await receiver.get('/user');
+ const updatedSender = await userToSendMessage.get('/user');
- let sendersMessageInReceiversInbox = _.find(updatedReceiver.inbox.messages, (message) => {
- return message.uuid === userToSendMessage._id && message.text === messageToSend;
- });
+ const sendersMessageInReceiversInbox = _.find(
+ updatedReceiver.inbox.messages,
+ message => message.uuid === userToSendMessage._id && message.text === messageToSend,
+ );
- let sendersMessageInSendersInbox = _.find(updatedSender.inbox.messages, (message) => {
- return message.uuid === receiver._id && message.text === messageToSend;
- });
+ const sendersMessageInSendersInbox = _.find(
+ updatedSender.inbox.messages,
+ message => message.uuid === receiver._id && message.text === messageToSend,
+ );
expect(response.message.text).to.deep.equal(sendersMessageInSendersInbox.text);
expect(response.message.uuid).to.deep.equal(sendersMessageInSendersInbox.uuid);
@@ -135,20 +137,21 @@ describe('POST /members/send-private-message', () => {
// @TODO waiting for mobile support
xit('creates a notification with an excerpt if the message is too long', async () => {
- let receiver = await generateUser();
- let longerMessageToSend = 'A very long message, that for sure exceeds the limit of 100 chars for the excerpt that we set to 100 chars';
- let messageExcerpt = `${longerMessageToSend.substring(0, 100)}...`;
+ const receiver = await generateUser();
+ const longerMessageToSend = 'A very long message, that for sure exceeds the limit of 100 chars for the excerpt that we set to 100 chars';
+ const messageExcerpt = `${longerMessageToSend.substring(0, 100)}...`;
await userToSendMessage.post('/members/send-private-message', {
message: longerMessageToSend,
toUserId: receiver._id,
});
- let updatedReceiver = await receiver.get('/user');
+ const updatedReceiver = await receiver.get('/user');
- let sendersMessageInReceiversInbox = _.find(updatedReceiver.inbox.messages, (message) => {
- return message.uuid === userToSendMessage._id && message.text === longerMessageToSend;
- });
+ const sendersMessageInReceiversInbox = _.find(
+ updatedReceiver.inbox.messages,
+ message => message.uuid === userToSendMessage._id && message.text === longerMessageToSend,
+ );
const notification = updatedReceiver.notifications[updatedReceiver.notifications.length - 1];
@@ -161,7 +164,7 @@ describe('POST /members/send-private-message', () => {
userToSendMessage = await generateUser({
'contributor.admin': 1,
});
- const receiver = await generateUser({'inbox.blocks': [userToSendMessage._id]});
+ const receiver = await generateUser({ 'inbox.blocks': [userToSendMessage._id] });
await userToSendMessage.post('/members/send-private-message', {
message: messageToSend,
@@ -171,13 +174,15 @@ describe('POST /members/send-private-message', () => {
const updatedReceiver = await receiver.get('/user');
const updatedSender = await userToSendMessage.get('/user');
- const sendersMessageInReceiversInbox = _.find(updatedReceiver.inbox.messages, (message) => {
- return message.uuid === userToSendMessage._id && message.text === messageToSend;
- });
+ const sendersMessageInReceiversInbox = _.find(
+ updatedReceiver.inbox.messages,
+ message => message.uuid === userToSendMessage._id && message.text === messageToSend,
+ );
- const sendersMessageInSendersInbox = _.find(updatedSender.inbox.messages, (message) => {
- return message.uuid === receiver._id && message.text === messageToSend;
- });
+ const sendersMessageInSendersInbox = _.find(
+ updatedSender.inbox.messages,
+ message => message.uuid === receiver._id && message.text === messageToSend,
+ );
expect(sendersMessageInReceiversInbox).to.exist;
expect(sendersMessageInSendersInbox).to.exist;
@@ -187,7 +192,7 @@ describe('POST /members/send-private-message', () => {
userToSendMessage = await generateUser({
'contributor.admin': 1,
});
- const receiver = await generateUser({'inbox.optOut': true});
+ const receiver = await generateUser({ 'inbox.optOut': true });
await userToSendMessage.post('/members/send-private-message', {
message: messageToSend,
@@ -197,13 +202,15 @@ describe('POST /members/send-private-message', () => {
const updatedReceiver = await receiver.get('/user');
const updatedSender = await userToSendMessage.get('/user');
- const sendersMessageInReceiversInbox = _.find(updatedReceiver.inbox.messages, (message) => {
- return message.uuid === userToSendMessage._id && message.text === messageToSend;
- });
+ const sendersMessageInReceiversInbox = _.find(
+ updatedReceiver.inbox.messages,
+ message => message.uuid === userToSendMessage._id && message.text === messageToSend,
+ );
- const sendersMessageInSendersInbox = _.find(updatedSender.inbox.messages, (message) => {
- return message.uuid === receiver._id && message.text === messageToSend;
- });
+ const sendersMessageInSendersInbox = _.find(
+ updatedSender.inbox.messages,
+ message => message.uuid === receiver._id && message.text === messageToSend,
+ );
expect(sendersMessageInReceiversInbox).to.exist;
expect(sendersMessageInSendersInbox).to.exist;
diff --git a/test/api/v3/integration/members/POST-transfer_gems.test.js b/test/api/v3/integration/members/POST-transfer_gems.test.js
index 0b5b0cfa93..88c6446097 100644
--- a/test/api/v3/integration/members/POST-transfer_gems.test.js
+++ b/test/api/v3/integration/members/POST-transfer_gems.test.js
@@ -1,13 +1,11 @@
+import { v4 as generateUUID } from 'uuid';
import {
generateUser,
translate as t,
} from '../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
function findMessage (messages, receiverId) {
- let message = _.find(messages, (inboxMessage) => {
- return inboxMessage.uuid === receiverId;
- });
+ const message = _.find(messages, inboxMessage => inboxMessage.uuid === receiverId);
return message;
}
@@ -15,11 +13,11 @@ function findMessage (messages, receiverId) {
describe('POST /members/transfer-gems', () => {
let userToSendMessage;
let receiver;
- let message = 'Test Private Message';
- let gemAmount = 20;
+ const message = 'Test Private Message';
+ const gemAmount = 20;
beforeEach(async () => {
- userToSendMessage = await generateUser({balance: 5});
+ userToSendMessage = await generateUser({ balance: 5 });
receiver = await generateUser();
});
@@ -68,7 +66,7 @@ describe('POST /members/transfer-gems', () => {
});
it('returns error when recipient has blocked the sender', async () => {
- let receiverWhoBlocksUser = await generateUser({'inbox.blocks': [userToSendMessage._id]});
+ const receiverWhoBlocksUser = await generateUser({ 'inbox.blocks': [userToSendMessage._id] });
await expect(userToSendMessage.post('/members/transfer-gems', {
message,
@@ -82,7 +80,7 @@ describe('POST /members/transfer-gems', () => {
});
it('returns error when sender has blocked recipient', async () => {
- let sender = await generateUser({'inbox.blocks': [receiver._id]});
+ const sender = await generateUser({ 'inbox.blocks': [receiver._id] });
await expect(sender.post('/members/transfer-gems', {
message,
@@ -96,7 +94,7 @@ describe('POST /members/transfer-gems', () => {
});
it('returns an error when chat privileges are revoked', async () => {
- let userWithChatRevoked = await generateUser({'flags.chatRevoked': true});
+ const userWithChatRevoked = await generateUser({ 'flags.chatRevoked': true });
await expect(userWithChatRevoked.post('/members/transfer-gems', {
message,
@@ -110,7 +108,7 @@ describe('POST /members/transfer-gems', () => {
});
it('works when only the recipient\'s chat privileges are revoked', async () => {
- let receiverWithChatRevoked = await generateUser({'flags.chatRevoked': true});
+ const receiverWithChatRevoked = await generateUser({ 'flags.chatRevoked': true });
await expect(userToSendMessage.post('/members/transfer-gems', {
message,
@@ -118,8 +116,8 @@ describe('POST /members/transfer-gems', () => {
toUserId: receiverWithChatRevoked._id,
})).to.eventually.be.fulfilled;
- let updatedReceiver = await receiverWithChatRevoked.get('/user');
- let updatedSender = await userToSendMessage.get('/user');
+ const updatedReceiver = await receiverWithChatRevoked.get('/user');
+ const updatedSender = await userToSendMessage.get('/user');
expect(updatedReceiver.balance).to.equal(gemAmount / 4);
expect(updatedSender.balance).to.equal(0);
@@ -179,18 +177,20 @@ describe('POST /members/transfer-gems', () => {
toUserId: receiver._id,
});
- let updatedReceiver = await receiver.get('/user');
- let updatedSender = await userToSendMessage.get('/user');
+ const updatedReceiver = await receiver.get('/user');
+ const updatedSender = await userToSendMessage.get('/user');
- let sendersMessageInReceiversInbox = findMessage(updatedReceiver.inbox.messages, userToSendMessage._id);
- let sendersMessageInSendersInbox = findMessage(updatedSender.inbox.messages, receiver._id);
+ const sendersMessageInReceiversInbox = findMessage(
+ updatedReceiver.inbox.messages, userToSendMessage._id,
+ );
+ const sendersMessageInSendersInbox = findMessage(updatedSender.inbox.messages, receiver._id);
let messageSentContent = t('privateMessageGiftGemsMessage', {
receiverName: receiver.profile.name,
senderName: userToSendMessage.profile.name,
gemAmount,
});
- messageSentContent = `\`${messageSentContent}\` `;
+ messageSentContent = `\`${messageSentContent}\` `;
messageSentContent += message;
expect(sendersMessageInReceiversInbox).to.exist;
@@ -208,18 +208,20 @@ describe('POST /members/transfer-gems', () => {
toUserId: receiver._id,
});
- let updatedReceiver = await receiver.get('/user');
- let updatedSender = await userToSendMessage.get('/user');
+ const updatedReceiver = await receiver.get('/user');
+ const updatedSender = await userToSendMessage.get('/user');
- let sendersMessageInReceiversInbox = findMessage(updatedReceiver.inbox.messages, userToSendMessage._id);
- let sendersMessageInSendersInbox = findMessage(updatedSender.inbox.messages, receiver._id);
+ const sendersMessageInReceiversInbox = findMessage(
+ updatedReceiver.inbox.messages, userToSendMessage._id,
+ );
+ const sendersMessageInSendersInbox = findMessage(updatedSender.inbox.messages, receiver._id);
let messageSentContent = t('privateMessageGiftGemsMessage', {
receiverName: receiver.profile.name,
senderName: userToSendMessage.profile.name,
gemAmount,
});
- messageSentContent = `\`${messageSentContent}\` `;
+ messageSentContent = `\`${messageSentContent}\` `;
expect(sendersMessageInReceiversInbox).to.exist;
expect(sendersMessageInReceiversInbox.text).to.equal(messageSentContent);
@@ -242,14 +244,16 @@ describe('POST /members/transfer-gems', () => {
toUserId: receiver._id,
});
- let updatedReceiver = await receiver.get('/user');
- let updatedSender = await userToSendMessage.get('/user');
+ const updatedReceiver = await receiver.get('/user');
+ const updatedSender = await userToSendMessage.get('/user');
- let sendersMessageInReceiversInbox = findMessage(updatedReceiver.inbox.messages, userToSendMessage._id);
- let sendersMessageInSendersInbox = findMessage(updatedSender.inbox.messages, receiver._id);
+ const sendersMessageInReceiversInbox = findMessage(
+ updatedReceiver.inbox.messages, userToSendMessage._id,
+ );
+ const sendersMessageInSendersInbox = findMessage(updatedSender.inbox.messages, receiver._id);
- let [receieversMessageContent, sendersMessageContent] = ['es', 'cs'].map((lang) => {
- let messageContent = t('privateMessageGiftGemsMessage', {
+ const [receieversMessageContent, sendersMessageContent] = ['es', 'cs'].map(lang => {
+ const messageContent = t('privateMessageGiftGemsMessage', {
receiverName: receiver.profile.name,
senderName: userToSendMessage.profile.name,
gemAmount,
diff --git a/test/api/v3/integration/models/GET-model_paths.test.js b/test/api/v3/integration/models/GET-model_paths.test.js
index 9e4b4fb4fa..15ef35faed 100644
--- a/test/api/v3/integration/models/GET-model_paths.test.js
+++ b/test/api/v3/integration/models/GET-model_paths.test.js
@@ -18,10 +18,10 @@ describe('GET /models/:model/paths', () => {
});
});
- let models = ['habit', 'daily', 'todo', 'reward', 'user', 'tag', 'challenge', 'group'];
+ const models = ['habit', 'daily', 'todo', 'reward', 'user', 'tag', 'challenge', 'group'];
models.forEach(model => {
it(`returns the model paths for ${model}`, async () => {
- let res = await user.get(`/models/${model}/paths`);
+ const res = await user.get(`/models/${model}/paths`);
if (model !== 'tag') expect(res._id).to.equal('String');
if (model === 'tag') expect(res.id).to.equal('String');
diff --git a/test/api/v3/integration/notFound.test.js b/test/api/v3/integration/notFound.test.js
index 747b370af9..721b4f391c 100644
--- a/test/api/v3/integration/notFound.test.js
+++ b/test/api/v3/integration/notFound.test.js
@@ -2,7 +2,7 @@ import { requester } from '../../../helpers/api-integration/v3';
describe('notFound Middleware', () => {
it('returns a 404 error when the resource is not found', async () => {
- let request = requester().get('/api/v3/dummy-url');
+ const request = requester().get('/api/v3/dummy-url');
await expect(request).to.eventually.be.rejected.and.eql({
code: 404,
diff --git a/test/api/v3/integration/notifications/POST-notifications_notificationId_read.test.js b/test/api/v3/integration/notifications/POST-notifications_notificationId_read.test.js
index a5678d3c80..29011cb3fa 100644
--- a/test/api/v3/integration/notifications/POST-notifications_notificationId_read.test.js
+++ b/test/api/v3/integration/notifications/POST-notifications_notificationId_read.test.js
@@ -1,8 +1,8 @@
+import { v4 as generateUUID } from 'uuid';
import {
generateUser,
translate as t,
} from '../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
describe('POST /notifications/:notificationId/read', () => {
let user;
@@ -12,7 +12,7 @@ describe('POST /notifications/:notificationId/read', () => {
});
it('errors when notification is not found', async () => {
- let dummyId = generateUUID();
+ const dummyId = generateUUID();
await expect(user.post(`/notifications/${dummyId}/read`)).to.eventually.be.rejected.and.eql({
code: 404,
diff --git a/test/api/v3/integration/notifications/POST-notifications_notificationId_see.test.js b/test/api/v3/integration/notifications/POST-notifications_notificationId_see.test.js
index a31b60d18c..f1104563ee 100644
--- a/test/api/v3/integration/notifications/POST-notifications_notificationId_see.test.js
+++ b/test/api/v3/integration/notifications/POST-notifications_notificationId_see.test.js
@@ -1,8 +1,8 @@
+import { v4 as generateUUID } from 'uuid';
import {
generateUser,
translate as t,
} from '../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
describe('POST /notifications/:notificationId/see', () => {
let user;
@@ -12,7 +12,7 @@ describe('POST /notifications/:notificationId/see', () => {
});
it('errors when notification is not found', async () => {
- let dummyId = generateUUID();
+ const dummyId = generateUUID();
await expect(user.post(`/notifications/${dummyId}/see`)).to.eventually.be.rejected.and.eql({
code: 404,
diff --git a/test/api/v3/integration/notifications/POST-notifications_read.test.js b/test/api/v3/integration/notifications/POST-notifications_read.test.js
index 47844bcd18..1839e38630 100644
--- a/test/api/v3/integration/notifications/POST-notifications_read.test.js
+++ b/test/api/v3/integration/notifications/POST-notifications_read.test.js
@@ -1,8 +1,8 @@
+import { v4 as generateUUID } from 'uuid';
import {
generateUser,
translate as t,
} from '../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
describe('POST /notifications/read', () => {
let user;
@@ -12,7 +12,7 @@ describe('POST /notifications/read', () => {
});
it('errors when notification is not found', async () => {
- let dummyId = generateUUID();
+ const dummyId = generateUUID();
await expect(user.post('/notifications/read', {
notificationIds: [dummyId],
diff --git a/test/api/v3/integration/notifications/POST_notifications_see.test.js b/test/api/v3/integration/notifications/POST_notifications_see.test.js
index bb8f6b7fbf..eb1cb599db 100644
--- a/test/api/v3/integration/notifications/POST_notifications_see.test.js
+++ b/test/api/v3/integration/notifications/POST_notifications_see.test.js
@@ -1,8 +1,8 @@
+import { v4 as generateUUID } from 'uuid';
import {
generateUser,
translate as t,
} from '../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
describe('POST /notifications/see', () => {
let user;
@@ -12,7 +12,7 @@ describe('POST /notifications/see', () => {
});
it('errors when notification is not found', async () => {
- let dummyId = generateUUID();
+ const dummyId = generateUUID();
await expect(user.post('/notifications/see', {
notificationIds: [dummyId],
diff --git a/test/api/v3/integration/notifications/prevent-multiple-notification.js b/test/api/v3/integration/notifications/prevent-multiple-notification.js
index 6fcf655d55..cc4fd20a3d 100644
--- a/test/api/v3/integration/notifications/prevent-multiple-notification.js
+++ b/test/api/v3/integration/notifications/prevent-multiple-notification.js
@@ -3,10 +3,11 @@ import {
} from '../../../../helpers/api-integration/v3';
describe('Prevent multiple notifications', () => {
- let partyLeader, partyMembers, party;
+ let partyLeader; let partyMembers; let
+ party;
before(async () => {
- let { group, groupLeader, members } = await createAndPopulateGroup({
+ const { group, groupLeader, members } = await createAndPopulateGroup({
groupDetails: {
type: 'party',
privacy: 'private',
@@ -22,10 +23,10 @@ describe('Prevent multiple notifications', () => {
it('does not add the same notification twice', async () => {
const multipleChatMessages = [];
- for (let i = 0; i < 4; i++) {
- for (let memberIndex = 0; memberIndex < partyMembers.length; memberIndex++) {
+ for (let i = 0; i < 4; i += 1) {
+ for (let memberIndex = 0; memberIndex < partyMembers.length; memberIndex += 1) {
multipleChatMessages.push(
- partyMembers[memberIndex].post(`/groups/${party._id}/chat`, { message: `Message ${i}_${memberIndex}`}),
+ partyMembers[memberIndex].post(`/groups/${party._id}/chat`, { message: `Message ${i}_${memberIndex}` }),
);
}
}
diff --git a/test/api/v3/integration/payments/amazon/GET-payments_amazon_subscribe_cancel.test.js b/test/api/v3/integration/payments/amazon/GET-payments_amazon_subscribe_cancel.test.js
index c6de3b1709..67313693be 100644
--- a/test/api/v3/integration/payments/amazon/GET-payments_amazon_subscribe_cancel.test.js
+++ b/test/api/v3/integration/payments/amazon/GET-payments_amazon_subscribe_cancel.test.js
@@ -6,8 +6,9 @@ import {
import amzLib from '../../../../../../website/server/libs/payments/amazon';
describe('payments : amazon #subscribeCancel', () => {
- let endpoint = '/amazon/subscribe/cancel?noRedirect=true';
- let user, group, amazonSubscribeCancelStub;
+ const endpoint = '/amazon/subscribe/cancel?noRedirect=true';
+ let user; let group; let
+ amazonSubscribeCancelStub;
beforeEach(async () => {
user = await generateUser();
diff --git a/test/api/v3/integration/payments/amazon/POST-payments_amazon_checkout.test.js b/test/api/v3/integration/payments/amazon/POST-payments_amazon_checkout.test.js
index 948c948f13..93d08dc44b 100644
--- a/test/api/v3/integration/payments/amazon/POST-payments_amazon_checkout.test.js
+++ b/test/api/v3/integration/payments/amazon/POST-payments_amazon_checkout.test.js
@@ -4,8 +4,9 @@ import {
import amzLib from '../../../../../../website/server/libs/payments/amazon';
describe('payments - amazon - #checkout', () => {
- let endpoint = '/amazon/checkout';
- let user, amazonCheckoutStub;
+ const endpoint = '/amazon/checkout';
+ let user; let
+ amazonCheckoutStub;
beforeEach(async () => {
user = await generateUser();
@@ -37,7 +38,7 @@ describe('payments - amazon - #checkout', () => {
balance: 2,
});
- let gift = {
+ const gift = {
type: 'gems',
gems: {
amount: 16,
@@ -45,7 +46,7 @@ describe('payments - amazon - #checkout', () => {
},
};
- let orderReferenceId = 'orderReferenceId-example';
+ const orderReferenceId = 'orderReferenceId-example';
await user.post(endpoint, {
gift,
diff --git a/test/api/v3/integration/payments/amazon/POST-payments_amazon_createOrderReferenceId.test.js b/test/api/v3/integration/payments/amazon/POST-payments_amazon_createOrderReferenceId.test.js
index ce9a361353..d965253426 100644
--- a/test/api/v3/integration/payments/amazon/POST-payments_amazon_createOrderReferenceId.test.js
+++ b/test/api/v3/integration/payments/amazon/POST-payments_amazon_createOrderReferenceId.test.js
@@ -3,7 +3,7 @@ import {
} from '../../../../../helpers/api-integration/v3';
describe('payments - amazon - #createOrderReferenceId', () => {
- let endpoint = '/amazon/createOrderReferenceId';
+ const endpoint = '/amazon/createOrderReferenceId';
let user;
beforeEach(async () => {
diff --git a/test/api/v3/integration/payments/amazon/POST-payments_amazon_subscribe.test.js b/test/api/v3/integration/payments/amazon/POST-payments_amazon_subscribe.test.js
index c925579979..b6c09848a3 100644
--- a/test/api/v3/integration/payments/amazon/POST-payments_amazon_subscribe.test.js
+++ b/test/api/v3/integration/payments/amazon/POST-payments_amazon_subscribe.test.js
@@ -6,8 +6,9 @@ import {
import amzLib from '../../../../../../website/server/libs/payments/amazon';
describe('payments - amazon - #subscribe', () => {
- let endpoint = '/amazon/subscribe';
- let user, group, subscribeWithAmazonStub;
+ const endpoint = '/amazon/subscribe';
+ let user; let group; let
+ subscribeWithAmazonStub;
beforeEach(async () => {
user = await generateUser();
@@ -22,8 +23,8 @@ describe('payments - amazon - #subscribe', () => {
});
describe('success', () => {
- let billingAgreementId = 'billingAgreementId-example';
- let subscription = 'basic_3mo';
+ const billingAgreementId = 'billingAgreementId-example';
+ const subscription = 'basic_3mo';
let coupon;
beforeEach(() => {
diff --git a/test/api/v3/integration/payments/amazon/POST-payments_amazon_verifyAccessToken.test.js b/test/api/v3/integration/payments/amazon/POST-payments_amazon_verifyAccessToken.test.js
index e086091d05..e7e0b81d65 100644
--- a/test/api/v3/integration/payments/amazon/POST-payments_amazon_verifyAccessToken.test.js
+++ b/test/api/v3/integration/payments/amazon/POST-payments_amazon_verifyAccessToken.test.js
@@ -3,7 +3,7 @@ import {
} from '../../../../../helpers/api-integration/v3';
describe('payments : amazon', () => {
- let endpoint = '/amazon/verifyAccessToken';
+ const endpoint = '/amazon/verifyAccessToken';
let user;
beforeEach(async () => {
diff --git a/test/api/v3/integration/payments/apple/GET-payments_apple_cancelSubscribe.js b/test/api/v3/integration/payments/apple/GET-payments_apple_cancelSubscribe.js
index 797d2126bb..778626b5b9 100644
--- a/test/api/v3/integration/payments/apple/GET-payments_apple_cancelSubscribe.js
+++ b/test/api/v3/integration/payments/apple/GET-payments_apple_cancelSubscribe.js
@@ -1,8 +1,8 @@
-import {generateUser} from '../../../../../helpers/api-integration/v3';
+import { generateUser } from '../../../../../helpers/api-integration/v3';
import applePayments from '../../../../../../website/server/libs/payments/apple';
describe('payments : apple #cancelSubscribe', () => {
- let endpoint = '/iap/ios/subscribe/cancel?noRedirect=true';
+ const endpoint = '/iap/ios/subscribe/cancel?noRedirect=true';
let user;
beforeEach(async () => {
diff --git a/test/api/v3/integration/payments/apple/POST-payments_apple_norenewsubscribe.test.js b/test/api/v3/integration/payments/apple/POST-payments_apple_norenewsubscribe.test.js
index bd4223d247..78b7bc3a38 100644
--- a/test/api/v3/integration/payments/apple/POST-payments_apple_norenewsubscribe.test.js
+++ b/test/api/v3/integration/payments/apple/POST-payments_apple_norenewsubscribe.test.js
@@ -1,9 +1,9 @@
-import {generateUser, translate as t} from '../../../../../helpers/api-integration/v3';
+import { generateUser, translate as t } from '../../../../../helpers/api-integration/v3';
import applePayments from '../../../../../../website/server/libs/payments/apple';
describe('payments : apple #norenewsubscribe', () => {
- let endpoint = '/iap/ios/norenew-subscribe';
- let sku = 'com.habitrpg.ios.habitica.subscription.3month';
+ const endpoint = '/iap/ios/norenew-subscribe';
+ const sku = 'com.habitrpg.ios.habitica.subscription.3month';
let user;
beforeEach(async () => {
@@ -50,7 +50,7 @@ describe('payments : apple #norenewsubscribe', () => {
await user.post(endpoint, {
sku,
- transaction: {receipt: 'receipt'},
+ transaction: { receipt: 'receipt' },
gift: {
uuid: '1',
},
diff --git a/test/api/v3/integration/payments/apple/POST-payments_apple_subscribe.test.js b/test/api/v3/integration/payments/apple/POST-payments_apple_subscribe.test.js
index 63d76fcea0..faf5f0e6ea 100644
--- a/test/api/v3/integration/payments/apple/POST-payments_apple_subscribe.test.js
+++ b/test/api/v3/integration/payments/apple/POST-payments_apple_subscribe.test.js
@@ -1,8 +1,8 @@
-import {generateUser, translate as t} from '../../../../../helpers/api-integration/v3';
+import { generateUser, translate as t } from '../../../../../helpers/api-integration/v3';
import applePayments from '../../../../../../website/server/libs/payments/apple';
describe('payments : apple #subscribe', () => {
- let endpoint = '/iap/ios/subscribe';
+ const endpoint = '/iap/ios/subscribe';
let user;
beforeEach(async () => {
@@ -37,7 +37,7 @@ describe('payments : apple #subscribe', () => {
balance: 2,
});
- let sku = 'com.habitrpg.ios.habitica.subscription.3month';
+ const sku = 'com.habitrpg.ios.habitica.subscription.3month';
await user.post(endpoint, {
sku,
diff --git a/test/api/v3/integration/payments/apple/POST-payments_apple_verifyiap.js b/test/api/v3/integration/payments/apple/POST-payments_apple_verifyiap.js
index b0b52ffdd8..d142fe2a24 100644
--- a/test/api/v3/integration/payments/apple/POST-payments_apple_verifyiap.js
+++ b/test/api/v3/integration/payments/apple/POST-payments_apple_verifyiap.js
@@ -1,8 +1,8 @@
-import {generateUser, translate as t} from '../../../../../helpers/api-integration/v3';
+import { generateUser, translate as t } from '../../../../../helpers/api-integration/v3';
import applePayments from '../../../../../../website/server/libs/payments/apple';
describe('payments : apple #verify', () => {
- let endpoint = '/iap/ios/verify';
+ const endpoint = '/iap/ios/verify';
let user;
beforeEach(async () => {
@@ -36,7 +36,8 @@ describe('payments : apple #verify', () => {
await user.post(endpoint, {
transaction: {
receipt: 'receipt',
- }});
+ },
+ });
expect(verifyStub).to.be.calledOnce;
expect(verifyStub.args[0][0].user._id).to.eql(user._id);
@@ -56,7 +57,8 @@ describe('payments : apple #verify', () => {
},
gift: {
uuid: '1',
- }});
+ },
+ });
expect(verifyStub).to.be.calledOnce;
expect(verifyStub.args[0][0].user._id).to.eql(user._id);
diff --git a/test/api/v3/integration/payments/google/GET-payments_google_cancelSubscribe.js b/test/api/v3/integration/payments/google/GET-payments_google_cancelSubscribe.js
index ad375b89c5..9bc3a443c8 100644
--- a/test/api/v3/integration/payments/google/GET-payments_google_cancelSubscribe.js
+++ b/test/api/v3/integration/payments/google/GET-payments_google_cancelSubscribe.js
@@ -1,8 +1,8 @@
-import {generateUser} from '../../../../../helpers/api-integration/v3';
+import { generateUser } from '../../../../../helpers/api-integration/v3';
import googlePayments from '../../../../../../website/server/libs/payments/google';
describe('payments : google #cancelSubscribe', () => {
- let endpoint = '/iap/android/subscribe/cancel?noRedirect=true';
+ const endpoint = '/iap/android/subscribe/cancel?noRedirect=true';
let user;
beforeEach(async () => {
diff --git a/test/api/v3/integration/payments/google/POST-payments_google_norenewsubscribe.test.js b/test/api/v3/integration/payments/google/POST-payments_google_norenewsubscribe.test.js
index 9d15135537..888ffe3bbb 100644
--- a/test/api/v3/integration/payments/google/POST-payments_google_norenewsubscribe.test.js
+++ b/test/api/v3/integration/payments/google/POST-payments_google_norenewsubscribe.test.js
@@ -1,9 +1,9 @@
-import {generateUser, translate as t} from '../../../../../helpers/api-integration/v3';
+import { generateUser, translate as t } from '../../../../../helpers/api-integration/v3';
import googlePayments from '../../../../../../website/server/libs/payments/google';
describe('payments : google #norenewsubscribe', () => {
- let endpoint = '/iap/android/norenew-subscribe';
- let sku = 'com.habitrpg.android.habitica.subscription.3month';
+ const endpoint = '/iap/android/norenew-subscribe';
+ const sku = 'com.habitrpg.android.habitica.subscription.3month';
let user;
beforeEach(async () => {
diff --git a/test/api/v3/integration/payments/google/POST-payments_google_subscribe.test.js b/test/api/v3/integration/payments/google/POST-payments_google_subscribe.test.js
index 1ee940efef..48e4b68281 100644
--- a/test/api/v3/integration/payments/google/POST-payments_google_subscribe.test.js
+++ b/test/api/v3/integration/payments/google/POST-payments_google_subscribe.test.js
@@ -1,8 +1,8 @@
-import {generateUser, translate as t} from '../../../../../helpers/api-integration/v3';
+import { generateUser, translate as t } from '../../../../../helpers/api-integration/v3';
import googlePayments from '../../../../../../website/server/libs/payments/google';
describe('payments : google #subscribe', () => {
- let endpoint = '/iap/android/subscribe';
+ const endpoint = '/iap/android/subscribe';
let user;
beforeEach(async () => {
@@ -37,11 +37,11 @@ describe('payments : google #subscribe', () => {
balance: 2,
});
- let sku = 'com.habitrpg.android.habitica.subscription.3month';
+ const sku = 'com.habitrpg.android.habitica.subscription.3month';
await user.post(endpoint, {
sku,
- transaction: {receipt: 'receipt', signature: 'signature'},
+ transaction: { receipt: 'receipt', signature: 'signature' },
});
expect(subscribeStub).to.be.calledOnce;
diff --git a/test/api/v3/integration/payments/google/POST-payments_google_verifyiap.js b/test/api/v3/integration/payments/google/POST-payments_google_verifyiap.js
index 0149a44fc3..ecdf17dfc0 100644
--- a/test/api/v3/integration/payments/google/POST-payments_google_verifyiap.js
+++ b/test/api/v3/integration/payments/google/POST-payments_google_verifyiap.js
@@ -1,8 +1,8 @@
-import {generateUser, translate as t} from '../../../../../helpers/api-integration/v3';
+import { generateUser, translate as t } from '../../../../../helpers/api-integration/v3';
import googlePayments from '../../../../../../website/server/libs/payments/google';
describe('payments : google #verify', () => {
- let endpoint = '/iap/android/verify';
+ const endpoint = '/iap/android/verify';
let user;
beforeEach(async () => {
@@ -34,7 +34,7 @@ describe('payments : google #verify', () => {
});
await user.post(endpoint, {
- transaction: {receipt: 'receipt', signature: 'signature'},
+ transaction: { receipt: 'receipt', signature: 'signature' },
});
expect(verifyStub).to.be.calledOnce;
@@ -51,8 +51,8 @@ describe('payments : google #verify', () => {
});
await user.post(endpoint, {
- transaction: {receipt: 'receipt', signature: 'signature'},
- gift: {uuid: '1'},
+ transaction: { receipt: 'receipt', signature: 'signature' },
+ gift: { uuid: '1' },
});
expect(verifyStub).to.be.calledOnce;
diff --git a/test/api/v3/integration/payments/paypal/GET-payments_paypal_checkout.test.js b/test/api/v3/integration/payments/paypal/GET-payments_paypal_checkout.test.js
index ffaf8fbc8d..da1d342b7f 100644
--- a/test/api/v3/integration/payments/paypal/GET-payments_paypal_checkout.test.js
+++ b/test/api/v3/integration/payments/paypal/GET-payments_paypal_checkout.test.js
@@ -4,7 +4,7 @@ import {
import paypalPayments from '../../../../../../website/server/libs/payments/paypal';
describe('payments : paypal #checkout', () => {
- let endpoint = '/paypal/checkout';
+ const endpoint = '/paypal/checkout';
let user;
beforeEach(async () => {
diff --git a/test/api/v3/integration/payments/paypal/GET-payments_paypal_checkout_success.test.js b/test/api/v3/integration/payments/paypal/GET-payments_paypal_checkout_success.test.js
index 9c2947c95e..24544903fd 100644
--- a/test/api/v3/integration/payments/paypal/GET-payments_paypal_checkout_success.test.js
+++ b/test/api/v3/integration/payments/paypal/GET-payments_paypal_checkout_success.test.js
@@ -5,7 +5,7 @@ import paypalPayments from '../../../../../../website/server/libs/payments/paypa
import apiError from '../../../../../../website/server/libs/apiError';
describe('payments : paypal #checkoutSuccess', () => {
- let endpoint = '/paypal/checkout/success';
+ const endpoint = '/paypal/checkout/success';
let user;
beforeEach(async () => {
@@ -42,8 +42,8 @@ describe('payments : paypal #checkoutSuccess', () => {
});
it('makes a purchase', async () => {
- let paymentId = 'test-paymentid';
- let customerId = 'test-customerId';
+ const paymentId = 'test-paymentid';
+ const customerId = 'test-customerId';
user = await generateUser({
'profile.name': 'sender',
diff --git a/test/api/v3/integration/payments/paypal/GET-payments_paypal_subscribe.test.js b/test/api/v3/integration/payments/paypal/GET-payments_paypal_subscribe.test.js
index 156df85340..735750786c 100644
--- a/test/api/v3/integration/payments/paypal/GET-payments_paypal_subscribe.test.js
+++ b/test/api/v3/integration/payments/paypal/GET-payments_paypal_subscribe.test.js
@@ -6,7 +6,7 @@ import shared from '../../../../../../website/common';
import apiError from '../../../../../../website/server/libs/apiError';
describe('payments : paypal #subscribe', () => {
- let endpoint = '/paypal/subscribe';
+ const endpoint = '/paypal/subscribe';
let user;
beforeEach(async () => {
@@ -33,8 +33,8 @@ describe('payments : paypal #subscribe', () => {
});
it('makes a purchase', async () => {
- let subKey = 'basic_3mo';
- let sub = shared.content.subscriptionBlocks[subKey];
+ const subKey = 'basic_3mo';
+ const sub = shared.content.subscriptionBlocks[subKey];
user = await generateUser({
'profile.name': 'sender',
diff --git a/test/api/v3/integration/payments/paypal/GET-payments_paypal_subscribe_cancel.test.js b/test/api/v3/integration/payments/paypal/GET-payments_paypal_subscribe_cancel.test.js
index 4a3f416dd8..ff50da8a0e 100644
--- a/test/api/v3/integration/payments/paypal/GET-payments_paypal_subscribe_cancel.test.js
+++ b/test/api/v3/integration/payments/paypal/GET-payments_paypal_subscribe_cancel.test.js
@@ -5,7 +5,7 @@ import {
import paypalPayments from '../../../../../../website/server/libs/payments/paypal';
describe('payments : paypal #subscribeCancel', () => {
- let endpoint = '/paypal/subscribe/cancel';
+ const endpoint = '/paypal/subscribe/cancel';
let user;
beforeEach(async () => {
diff --git a/test/api/v3/integration/payments/paypal/GET-payments_paypal_subscribe_success.test.js b/test/api/v3/integration/payments/paypal/GET-payments_paypal_subscribe_success.test.js
index db0d53838f..bd402c5600 100644
--- a/test/api/v3/integration/payments/paypal/GET-payments_paypal_subscribe_success.test.js
+++ b/test/api/v3/integration/payments/paypal/GET-payments_paypal_subscribe_success.test.js
@@ -5,7 +5,7 @@ import apiError from '../../../../../../website/server/libs/apiError';
import paypalPayments from '../../../../../../website/server/libs/payments/paypal';
describe('payments : paypal #subscribeSuccess', () => {
- let endpoint = '/paypal/subscribe/success';
+ const endpoint = '/paypal/subscribe/success';
let user;
beforeEach(async () => {
@@ -32,7 +32,7 @@ describe('payments : paypal #subscribeSuccess', () => {
});
it('creates a subscription', async () => {
- let token = 'test-token';
+ const token = 'test-token';
user = await generateUser({
'profile.name': 'sender',
diff --git a/test/api/v3/integration/payments/paypal/POST-payments_paypal_ipn.test.js b/test/api/v3/integration/payments/paypal/POST-payments_paypal_ipn.test.js
index 3e233ce9c5..7632a79e9c 100644
--- a/test/api/v3/integration/payments/paypal/POST-payments_paypal_ipn.test.js
+++ b/test/api/v3/integration/payments/paypal/POST-payments_paypal_ipn.test.js
@@ -4,7 +4,7 @@ import {
import paypalPayments from '../../../../../../website/server/libs/payments/paypal';
describe('payments - paypal - #ipn', () => {
- let endpoint = '/paypal/ipn';
+ const endpoint = '/paypal/ipn';
let user;
beforeEach(async () => {
@@ -12,7 +12,7 @@ describe('payments - paypal - #ipn', () => {
});
it('verifies credentials', async () => {
- let result = await user.post(endpoint);
+ const result = await user.post(endpoint);
expect(result).to.eql('OK');
});
diff --git a/test/api/v3/integration/payments/stripe/GET-payments_stripe_subscribe_cancel.test.js b/test/api/v3/integration/payments/stripe/GET-payments_stripe_subscribe_cancel.test.js
index 6f074ac077..d6ec1e0312 100644
--- a/test/api/v3/integration/payments/stripe/GET-payments_stripe_subscribe_cancel.test.js
+++ b/test/api/v3/integration/payments/stripe/GET-payments_stripe_subscribe_cancel.test.js
@@ -6,8 +6,9 @@ import {
import stripePayments from '../../../../../../website/server/libs/payments/stripe';
describe('payments - stripe - #subscribeCancel', () => {
- let endpoint = '/stripe/subscribe/cancel?noRedirect=true';
- let user, group, stripeCancelSubscriptionStub;
+ const endpoint = '/stripe/subscribe/cancel?noRedirect=true';
+ let user; let group; let
+ stripeCancelSubscriptionStub;
beforeEach(async () => {
user = await generateUser();
diff --git a/test/api/v3/integration/payments/stripe/POST-payments_stripe_checkout.test.js b/test/api/v3/integration/payments/stripe/POST-payments_stripe_checkout.test.js
index c7ad5015b9..a576e4aed8 100644
--- a/test/api/v3/integration/payments/stripe/POST-payments_stripe_checkout.test.js
+++ b/test/api/v3/integration/payments/stripe/POST-payments_stripe_checkout.test.js
@@ -5,15 +5,16 @@ import {
import stripePayments from '../../../../../../website/server/libs/payments/stripe';
describe('payments - stripe - #checkout', () => {
- let endpoint = '/stripe/checkout';
- let user, group;
+ const endpoint = '/stripe/checkout';
+ let user; let
+ group;
beforeEach(async () => {
user = await generateUser();
});
it('verifies credentials', async () => {
- await expect(user.post(endpoint, {id: 123})).to.eventually.be.rejected.and.include({
+ await expect(user.post(endpoint, { id: 123 })).to.eventually.be.rejected.and.include({
code: 401,
error: 'Error',
message: 'Invalid API Key provided: aaaabbbb********************1111',
diff --git a/test/api/v3/integration/payments/stripe/POST-payments_stripe_subscribe_edit.test.js b/test/api/v3/integration/payments/stripe/POST-payments_stripe_subscribe_edit.test.js
index a071580ae6..640182f168 100644
--- a/test/api/v3/integration/payments/stripe/POST-payments_stripe_subscribe_edit.test.js
+++ b/test/api/v3/integration/payments/stripe/POST-payments_stripe_subscribe_edit.test.js
@@ -6,8 +6,9 @@ import {
import stripePayments from '../../../../../../website/server/libs/payments/stripe';
describe('payments - stripe - #subscribeEdit', () => {
- let endpoint = '/stripe/subscribe/edit';
- let user, group;
+ const endpoint = '/stripe/subscribe/edit';
+ let user; let
+ group;
beforeEach(async () => {
user = await generateUser();
diff --git a/test/api/v3/integration/qrcodes/GET-qrcodes_user.test.js b/test/api/v3/integration/qrcodes/GET-qrcodes_user.test.js
index df5df6604b..796494cecd 100644
--- a/test/api/v3/integration/qrcodes/GET-qrcodes_user.test.js
+++ b/test/api/v3/integration/qrcodes/GET-qrcodes_user.test.js
@@ -1,9 +1,9 @@
+import superagent from 'superagent';
+import nconf from 'nconf';
import {
generateUser,
translate as t,
} from '../../../../helpers/api-integration/v3';
-import superagent from 'superagent';
-import nconf from 'nconf';
const API_TEST_SERVER_PORT = nconf.get('PORT');
xdescribe('GET /qr-code/user/:memberId', () => {
@@ -22,8 +22,8 @@ xdescribe('GET /qr-code/user/:memberId', () => {
});
it('redirects to profile page', async () => {
- let url = `http://localhost:${API_TEST_SERVER_PORT}/qr-code/user/${user._id}`;
- let response = await superagent.get(url).end(function (err, res) {
+ const url = `http://localhost:${API_TEST_SERVER_PORT}/qr-code/user/${user._id}`;
+ const response = await superagent.get(url).end((err, res) => {
expect(err).to.be(undefined);
return res;
});
diff --git a/test/api/v3/integration/quests/POST-groups_groupId_quests_accept.test.js b/test/api/v3/integration/quests/POST-groups_groupId_quests_accept.test.js
index bd2579c351..940d660232 100644
--- a/test/api/v3/integration/quests/POST-groups_groupId_quests_accept.test.js
+++ b/test/api/v3/integration/quests/POST-groups_groupId_quests_accept.test.js
@@ -17,7 +17,7 @@ describe('POST /groups/:groupId/quests/accept', () => {
beforeEach(async () => {
user = await generateUser();
- let { group, groupLeader, members } = await createAndPopulateGroup({
+ const { group, groupLeader, members } = await createAndPopulateGroup({
groupDetails: { type: 'party', privacy: 'private' },
members: 2,
});
@@ -51,7 +51,7 @@ describe('POST /groups/:groupId/quests/accept', () => {
});
it('does not accept quest for a guild', async () => {
- let { group: guild, groupLeader: guildLeader } = await createAndPopulateGroup({
+ const { group: guild, groupLeader: guildLeader } = await createAndPopulateGroup({
groupDetails: { type: 'guild', privacy: 'private' },
});
@@ -134,7 +134,7 @@ describe('POST /groups/:groupId/quests/accept', () => {
});
it('cleans up user quest data for non-quest members when last member accepts', async () => {
- let rejectingMember = partyMembers[0];
+ const rejectingMember = partyMembers[0];
await leader.post(`/groups/${questingGroup._id}/quests/invite/${PET_QUEST}`);
await rejectingMember.post(`/groups/${questingGroup._id}/quests/reject`);
@@ -162,7 +162,7 @@ describe('POST /groups/:groupId/quests/accept', () => {
expect(groupChat[0]._meta).to.exist;
expect(groupChat[0]._meta).to.have.all.keys(['participatingMembers']);
- let returnedGroup = await leader.get(`/groups/${questingGroup._id}`);
+ const returnedGroup = await leader.get(`/groups/${questingGroup._id}`);
expect(returnedGroup.chat[0]._meta).to.be.undefined;
});
});
diff --git a/test/api/v3/integration/quests/POST-groups_groupId_quests_force-start.test.js b/test/api/v3/integration/quests/POST-groups_groupId_quests_force-start.test.js
index 025643cd93..0eb4745f1c 100644
--- a/test/api/v3/integration/quests/POST-groups_groupId_quests_force-start.test.js
+++ b/test/api/v3/integration/quests/POST-groups_groupId_quests_force-start.test.js
@@ -14,7 +14,7 @@ describe('POST /groups/:groupId/quests/force-start', () => {
let partyMembers;
beforeEach(async () => {
- let { group, groupLeader, members } = await createAndPopulateGroup({
+ const { group, groupLeader, members } = await createAndPopulateGroup({
groupDetails: { type: 'party', privacy: 'private' },
members: 3,
});
@@ -30,7 +30,7 @@ describe('POST /groups/:groupId/quests/force-start', () => {
context('failure conditions', () => {
it('does not force start a quest for a group in which user is not a member', async () => {
- let nonMember = await generateUser();
+ const nonMember = await generateUser();
await expect(nonMember.post(`/groups/${questingGroup._id}/quests/force-start`))
.to.eventually.be.rejected.and.eql({
@@ -41,7 +41,7 @@ describe('POST /groups/:groupId/quests/force-start', () => {
});
it('does not force start quest for a guild', async () => {
- let { group: guild, groupLeader: guildLeader } = await createAndPopulateGroup({
+ const { group: guild, groupLeader: guildLeader } = await createAndPopulateGroup({
groupDetails: { type: 'guild', privacy: 'private' },
});
@@ -91,8 +91,8 @@ describe('POST /groups/:groupId/quests/force-start', () => {
context('successfully force starting a quest', () => {
it('allows quest leader to force start quest', async () => {
- let questLeader = partyMembers[0];
- await questLeader.update({[`items.quests.${PET_QUEST}`]: 1});
+ const questLeader = partyMembers[0];
+ await questLeader.update({ [`items.quests.${PET_QUEST}`]: 1 });
await questLeader.post(`/groups/${questingGroup._id}/quests/invite/${PET_QUEST}`);
await questLeader.post(`/groups/${questingGroup._id}/quests/force-start`);
@@ -103,8 +103,8 @@ describe('POST /groups/:groupId/quests/force-start', () => {
});
it('allows group leader to force start quest', async () => {
- let questLeader = partyMembers[0];
- await questLeader.update({[`items.quests.${PET_QUEST}`]: 1});
+ const questLeader = partyMembers[0];
+ await questLeader.update({ [`items.quests.${PET_QUEST}`]: 1 });
await questLeader.post(`/groups/${questingGroup._id}/quests/invite/${PET_QUEST}`);
await leader.post(`/groups/${questingGroup._id}/quests/force-start`);
@@ -117,7 +117,7 @@ describe('POST /groups/:groupId/quests/force-start', () => {
it('sends back the quest object', async () => {
await leader.post(`/groups/${questingGroup._id}/quests/invite/${PET_QUEST}`);
- let quest = await leader.post(`/groups/${questingGroup._id}/quests/force-start`);
+ const quest = await leader.post(`/groups/${questingGroup._id}/quests/force-start`);
expect(quest.active).to.eql(true);
expect(quest.key).to.eql(PET_QUEST);
@@ -127,8 +127,8 @@ describe('POST /groups/:groupId/quests/force-start', () => {
});
it('cleans up user quest data for non-quest members', async () => {
- let partyMemberThatRejects = partyMembers[1];
- let partyMemberThatIgnores = partyMembers[2];
+ const partyMemberThatRejects = partyMembers[1];
+ const partyMemberThatIgnores = partyMembers[2];
await leader.post(`/groups/${questingGroup._id}/quests/invite/${PET_QUEST}`);
await partyMembers[0].post(`/groups/${questingGroup._id}/quests/accept`);
@@ -152,9 +152,9 @@ describe('POST /groups/:groupId/quests/force-start', () => {
});
it('removes users who have not accepted the quest from quest.members', async () => {
- let partyMemberThatRejects = partyMembers[1];
- let partyMemberThatIgnores = partyMembers[2];
- let partyMemberThatAccepts = partyMembers[0];
+ const partyMemberThatRejects = partyMembers[1];
+ const partyMemberThatIgnores = partyMembers[2];
+ const partyMemberThatAccepts = partyMembers[0];
await leader.post(`/groups/${questingGroup._id}/quests/invite/${PET_QUEST}`);
await partyMemberThatAccepts.post(`/groups/${questingGroup._id}/quests/accept`);
@@ -174,7 +174,7 @@ describe('POST /groups/:groupId/quests/force-start', () => {
it('removes users who are not in the party from quest.members', async () => {
await leader.post(`/groups/${questingGroup._id}/quests/invite/${PET_QUEST}`);
- let notInPartyUser = await generateUser();
+ const notInPartyUser = await generateUser();
await questingGroup.update({
[`quest.members.${notInPartyUser._id}`]: true,
@@ -210,8 +210,8 @@ describe('POST /groups/:groupId/quests/force-start', () => {
});
it('removes users who don\'t have true value in quest.members from quest.members', async () => {
- let partyMemberThatRejects = partyMembers[1];
- let partyMemberThatIgnores = partyMembers[2];
+ const partyMemberThatRejects = partyMembers[1];
+ const partyMemberThatIgnores = partyMembers[2];
await leader.post(`/groups/${questingGroup._id}/quests/invite/${PET_QUEST}`);
await partyMembers[0].post(`/groups/${questingGroup._id}/quests/accept`);
@@ -234,8 +234,8 @@ describe('POST /groups/:groupId/quests/force-start', () => {
});
it('allows group leader to force start quest and verifies chat', async () => {
- let questLeader = partyMembers[0];
- await questLeader.update({[`items.quests.${PET_QUEST}`]: 1});
+ const questLeader = partyMembers[0];
+ await questLeader.update({ [`items.quests.${PET_QUEST}`]: 1 });
await questLeader.post(`/groups/${questingGroup._id}/quests/invite/${PET_QUEST}`);
await leader.post(`/groups/${questingGroup._id}/quests/force-start`);
diff --git a/test/api/v3/integration/quests/POST-groups_groupId_quests_invite.test.js b/test/api/v3/integration/quests/POST-groups_groupId_quests_invite.test.js
index bd4b910c12..3581663c6e 100644
--- a/test/api/v3/integration/quests/POST-groups_groupId_quests_invite.test.js
+++ b/test/api/v3/integration/quests/POST-groups_groupId_quests_invite.test.js
@@ -1,10 +1,10 @@
+import { v4 as generateUUID } from 'uuid';
import {
createAndPopulateGroup,
translate as t,
sleep,
} from '../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
-import { quests as questScrolls } from '../../../../../website/common/script/content';
+import { quests as questScrolls } from '../../../../../website/common/script/content/quests';
import { chatModel as Chat } from '../../../../../website/server/models/message';
import apiError from '../../../../../website/server/libs/apiError';
@@ -15,14 +15,14 @@ describe('POST /groups/:groupId/quests/invite/:questKey', () => {
const PET_QUEST = 'whale';
beforeEach(async () => {
- let { group, groupLeader, members } = await createAndPopulateGroup({
+ const { group, groupLeader, members } = await createAndPopulateGroup({
groupDetails: { type: 'party', privacy: 'private' },
members: 1,
});
questingGroup = group;
leader = groupLeader;
- member = members[0];
+ member = members[0]; // eslint-disable-line prefer-destructuring
});
context('failure conditions', () => {
@@ -35,12 +35,12 @@ describe('POST /groups/:groupId/quests/invite/:questKey', () => {
});
it('does not issue invites for a group in which user is not a member', async () => {
- let { group } = await createAndPopulateGroup({
+ const { group } = await createAndPopulateGroup({
groupDetails: { type: 'party', privacy: 'private' },
members: 1,
});
- let alternateGroup = group;
+ const alternateGroup = group;
await expect(leader.post(`/groups/${alternateGroup._id}/quests/invite/${PET_QUEST}`)).to.eventually.be.rejected.and.eql({
code: 404,
@@ -50,12 +50,12 @@ describe('POST /groups/:groupId/quests/invite/:questKey', () => {
});
it('does not issue invites for Guilds', async () => {
- let { group } = await createAndPopulateGroup({
+ const { group } = await createAndPopulateGroup({
groupDetails: { type: 'guild', privacy: 'public' },
members: 1,
});
- let alternateGroup = group;
+ const alternateGroup = group;
await expect(leader.post(`/groups/${alternateGroup._id}/quests/invite/${PET_QUEST}`)).to.eventually.be.rejected.and.eql({
code: 401,
@@ -70,7 +70,7 @@ describe('POST /groups/:groupId/quests/invite/:questKey', () => {
await expect(leader.post(`/groups/${questingGroup._id}/quests/invite/${FAKE_QUEST}`)).to.eventually.be.rejected.and.eql({
code: 404,
error: 'NotFound',
- message: apiError('questNotFound', {key: FAKE_QUEST}),
+ message: apiError('questNotFound', { key: FAKE_QUEST }),
});
});
@@ -94,7 +94,7 @@ describe('POST /groups/:groupId/quests/invite/:questKey', () => {
await expect(leader.post(`/groups/${questingGroup._id}/quests/invite/${LEVELED_QUEST}`)).to.eventually.be.rejected.and.eql({
code: 401,
error: 'NotAuthorized',
- message: t('questLevelTooHigh', {level: LEVELED_QUEST_REQ}),
+ message: t('questLevelTooHigh', { level: LEVELED_QUEST_REQ }),
});
});
@@ -130,7 +130,7 @@ describe('POST /groups/:groupId/quests/invite/:questKey', () => {
await questingGroup.sync();
- let quest = questingGroup.quest;
+ const { quest } = questingGroup;
expect(quest.key).to.eql(PET_QUEST);
expect(quest.active).to.eql(false);
@@ -157,7 +157,7 @@ describe('POST /groups/:groupId/quests/invite/:questKey', () => {
});
it('sends back the quest object', async () => {
- let inviteResponse = await leader.post(`/groups/${questingGroup._id}/quests/invite/${PET_QUEST}`);
+ const inviteResponse = await leader.post(`/groups/${questingGroup._id}/quests/invite/${PET_QUEST}`);
expect(inviteResponse.key).to.eql(PET_QUEST);
expect(inviteResponse.active).to.eql(false);
@@ -168,7 +168,7 @@ describe('POST /groups/:groupId/quests/invite/:questKey', () => {
});
it('allows non-party-leader party members to send invites', async () => {
- let inviteResponse = await member.post(`/groups/${questingGroup._id}/quests/invite/${PET_QUEST}`);
+ const inviteResponse = await member.post(`/groups/${questingGroup._id}/quests/invite/${PET_QUEST}`);
await questingGroup.sync();
@@ -177,9 +177,9 @@ describe('POST /groups/:groupId/quests/invite/:questKey', () => {
});
it('starts quest automatically if user is in a solo party', async () => {
- let leaderDetails = { balance: 10 };
+ const leaderDetails = { balance: 10 };
leaderDetails[`items.quests.${PET_QUEST}`] = 1;
- let { group, groupLeader } = await createAndPopulateGroup({
+ const { group, groupLeader } = await createAndPopulateGroup({
groupDetails: { type: 'party', privacy: 'private' },
leaderDetails,
});
@@ -192,9 +192,9 @@ describe('POST /groups/:groupId/quests/invite/:questKey', () => {
});
it('starts quest automatically if user is in a solo party and verifies chat', async () => {
- let leaderDetails = { balance: 10 };
+ const leaderDetails = { balance: 10 };
leaderDetails[`items.quests.${PET_QUEST}`] = 1;
- let { group, groupLeader } = await createAndPopulateGroup({
+ const { group, groupLeader } = await createAndPopulateGroup({
groupDetails: { type: 'party', privacy: 'private' },
leaderDetails,
});
@@ -207,7 +207,7 @@ describe('POST /groups/:groupId/quests/invite/:questKey', () => {
expect(groupChat[0]._meta).to.exist;
expect(groupChat[0]._meta).to.have.all.keys(['participatingMembers']);
- let returnedGroup = await groupLeader.get(`/groups/${group._id}`);
+ const returnedGroup = await groupLeader.get(`/groups/${group._id}`);
expect(returnedGroup.chat[0]._meta).to.be.undefined;
});
});
diff --git a/test/api/v3/integration/quests/POST-groups_groupid_quests_abort.test.js b/test/api/v3/integration/quests/POST-groups_groupid_quests_abort.test.js
index bbfb871a63..7a42166a2c 100644
--- a/test/api/v3/integration/quests/POST-groups_groupid_quests_abort.test.js
+++ b/test/api/v3/integration/quests/POST-groups_groupid_quests_abort.test.js
@@ -1,9 +1,9 @@
+import { v4 as generateUUID } from 'uuid';
import {
createAndPopulateGroup,
translate as t,
generateUser,
} from '../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
import { model as Group } from '../../../../../website/server/models/group';
describe('POST /groups/:groupId/quests/abort', () => {
@@ -15,7 +15,7 @@ describe('POST /groups/:groupId/quests/abort', () => {
const PET_QUEST = 'whale';
beforeEach(async () => {
- let { group, groupLeader, members } = await createAndPopulateGroup({
+ const { group, groupLeader, members } = await createAndPopulateGroup({
groupDetails: { type: 'party', privacy: 'private' },
members: 2,
});
@@ -50,7 +50,7 @@ describe('POST /groups/:groupId/quests/abort', () => {
});
it('returns an error when group is a guild', async () => {
- let { group: guild, groupLeader: guildLeader } = await createAndPopulateGroup({
+ const { group: guild, groupLeader: guildLeader } = await createAndPopulateGroup({
groupDetails: { type: 'guild', privacy: 'private' },
});
@@ -90,9 +90,9 @@ describe('POST /groups/:groupId/quests/abort', () => {
await partyMembers[0].post(`/groups/${questingGroup._id}/quests/accept`);
await partyMembers[1].post(`/groups/${questingGroup._id}/quests/accept`);
- let stub = sandbox.spy(Group.prototype, 'sendChat');
+ const stub = sandbox.spy(Group.prototype, 'sendChat');
- let res = await leader.post(`/groups/${questingGroup._id}/quests/abort`);
+ const res = await leader.post(`/groups/${questingGroup._id}/quests/abort`);
await Promise.all([
leader.sync(),
questingGroup.sync(),
@@ -100,7 +100,7 @@ describe('POST /groups/:groupId/quests/abort', () => {
partyMembers[1].sync(),
]);
- let cleanUserQuestObj = {
+ const cleanUserQuestObj = {
key: null,
progress: {
up: 0,
diff --git a/test/api/v3/integration/quests/POST-groups_groupid_quests_cancel.test.js b/test/api/v3/integration/quests/POST-groups_groupid_quests_cancel.test.js
index 4032c36306..7df6dbd0f4 100644
--- a/test/api/v3/integration/quests/POST-groups_groupid_quests_cancel.test.js
+++ b/test/api/v3/integration/quests/POST-groups_groupid_quests_cancel.test.js
@@ -1,9 +1,9 @@
+import { v4 as generateUUID } from 'uuid';
import {
createAndPopulateGroup,
translate as t,
generateUser,
} from '../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
import { model as Group } from '../../../../../website/server/models/group';
describe('POST /groups/:groupId/quests/cancel', () => {
@@ -15,7 +15,7 @@ describe('POST /groups/:groupId/quests/cancel', () => {
const PET_QUEST = 'whale';
beforeEach(async () => {
- let { group, groupLeader, members } = await createAndPopulateGroup({
+ const { group, groupLeader, members } = await createAndPopulateGroup({
groupDetails: { type: 'party', privacy: 'private' },
members: 2,
});
@@ -50,7 +50,7 @@ describe('POST /groups/:groupId/quests/cancel', () => {
});
it('returns an error when group is a guild', async () => {
- let { group: guild, groupLeader: guildLeader } = await createAndPopulateGroup({
+ const { group: guild, groupLeader: guildLeader } = await createAndPopulateGroup({
groupDetails: { type: 'guild', privacy: 'private' },
});
@@ -103,9 +103,9 @@ describe('POST /groups/:groupId/quests/cancel', () => {
// partyMembers[1] hasn't accepted the invitation, because if he accepts, invitation phase ends.
// The cancel command can be done only in the invitation phase.
- let stub = sandbox.spy(Group.prototype, 'sendChat');
+ const stub = sandbox.spy(Group.prototype, 'sendChat');
- let res = await leader.post(`/groups/${questingGroup._id}/quests/cancel`);
+ const res = await leader.post(`/groups/${questingGroup._id}/quests/cancel`);
await Promise.all([
leader.sync(),
@@ -114,7 +114,7 @@ describe('POST /groups/:groupId/quests/cancel', () => {
questingGroup.sync(),
]);
- let clean = {
+ const clean = {
key: null,
progress: {
up: 0,
diff --git a/test/api/v3/integration/quests/POST-groups_groupid_quests_leave.test.js b/test/api/v3/integration/quests/POST-groups_groupid_quests_leave.test.js
index 9475af23c5..d8e6e9c70b 100644
--- a/test/api/v3/integration/quests/POST-groups_groupid_quests_leave.test.js
+++ b/test/api/v3/integration/quests/POST-groups_groupid_quests_leave.test.js
@@ -1,9 +1,9 @@
+import { v4 as generateUUID } from 'uuid';
import {
createAndPopulateGroup,
translate as t,
generateUser,
} from '../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
describe('POST /groups/:groupId/quests/leave', () => {
let questingGroup;
@@ -14,7 +14,7 @@ describe('POST /groups/:groupId/quests/leave', () => {
const PET_QUEST = 'whale';
beforeEach(async () => {
- let { group, groupLeader, members } = await createAndPopulateGroup({
+ const { group, groupLeader, members } = await createAndPopulateGroup({
groupDetails: { type: 'party', privacy: 'private' },
members: 2,
});
@@ -49,7 +49,7 @@ describe('POST /groups/:groupId/quests/leave', () => {
});
it('returns an error when group is a guild', async () => {
- let { group: guild, groupLeader: guildLeader } = await createAndPopulateGroup({
+ const { group: guild, groupLeader: guildLeader } = await createAndPopulateGroup({
groupDetails: { type: 'guild', privacy: 'private' },
});
@@ -102,7 +102,7 @@ describe('POST /groups/:groupId/quests/leave', () => {
await partyMembers[0].post(`/groups/${questingGroup._id}/quests/accept`);
await partyMembers[1].post(`/groups/${questingGroup._id}/quests/accept`);
- let leaveResult = await partyMembers[0].post(`/groups/${questingGroup._id}/quests/leave`);
+ const leaveResult = await partyMembers[0].post(`/groups/${questingGroup._id}/quests/leave`);
await Promise.all([
partyMembers[0].sync(),
questingGroup.sync(),
diff --git a/test/api/v3/integration/quests/POST-groups_groupid_quests_reject.test.js b/test/api/v3/integration/quests/POST-groups_groupid_quests_reject.test.js
index 8f6f4e6442..c36df1e6dc 100644
--- a/test/api/v3/integration/quests/POST-groups_groupid_quests_reject.test.js
+++ b/test/api/v3/integration/quests/POST-groups_groupid_quests_reject.test.js
@@ -1,10 +1,10 @@
+import { v4 as generateUUID } from 'uuid';
import {
createAndPopulateGroup,
translate as t,
generateUser,
sleep,
} from '../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
import { chatModel as Chat } from '../../../../../website/server/models/message';
describe('POST /groups/:groupId/quests/reject', () => {
@@ -16,7 +16,7 @@ describe('POST /groups/:groupId/quests/reject', () => {
const PET_QUEST = 'whale';
beforeEach(async () => {
- let { group, groupLeader, members } = await createAndPopulateGroup({
+ const { group, groupLeader, members } = await createAndPopulateGroup({
groupDetails: { type: 'party', privacy: 'private' },
members: 2,
});
@@ -51,7 +51,7 @@ describe('POST /groups/:groupId/quests/reject', () => {
});
it('returns an error when group is a guild', async () => {
- let { group: guild, groupLeader: guildLeader } = await createAndPopulateGroup({
+ const { group: guild, groupLeader: guildLeader } = await createAndPopulateGroup({
groupDetails: { type: 'guild', privacy: 'private' },
});
@@ -127,7 +127,7 @@ describe('POST /groups/:groupId/quests/reject', () => {
});
context('successfully quest rejection', () => {
- let cleanUserQuestObj = {
+ const cleanUserQuestObj = {
key: null,
progress: {
up: 0,
@@ -142,7 +142,7 @@ describe('POST /groups/:groupId/quests/reject', () => {
it('rejects a quest invitation', async () => {
await leader.post(`/groups/${questingGroup._id}/quests/invite/${PET_QUEST}`);
- let res = await partyMembers[0].post(`/groups/${questingGroup._id}/quests/reject`);
+ const res = await partyMembers[0].post(`/groups/${questingGroup._id}/quests/reject`);
await partyMembers[0].sync();
await questingGroup.sync();
@@ -162,7 +162,7 @@ describe('POST /groups/:groupId/quests/reject', () => {
});
it('cleans up user quest data for non-quest members when last member rejects', async () => {
- let rejectingMember = partyMembers[1];
+ const rejectingMember = partyMembers[1];
await leader.post(`/groups/${questingGroup._id}/quests/invite/${PET_QUEST}`);
await partyMembers[0].post(`/groups/${questingGroup._id}/quests/accept`);
@@ -193,7 +193,7 @@ describe('POST /groups/:groupId/quests/reject', () => {
expect(groupChat[0]._meta).to.exist;
expect(groupChat[0]._meta).to.have.all.keys(['participatingMembers']);
- let returnedGroup = await leader.get(`/groups/${questingGroup._id}`);
+ const returnedGroup = await leader.get(`/groups/${questingGroup._id}`);
expect(returnedGroup.chat[0]._meta).to.be.undefined;
});
});
diff --git a/test/api/v3/integration/shops/GET-shops_backgrounds.test.js b/test/api/v3/integration/shops/GET-shops_backgrounds.test.js
index 738b92dde3..ed9d65a429 100644
--- a/test/api/v3/integration/shops/GET-shops_backgrounds.test.js
+++ b/test/api/v3/integration/shops/GET-shops_backgrounds.test.js
@@ -11,15 +11,15 @@ describe('GET /shops/backgrounds', () => {
});
it('returns a valid shop object', async () => {
- let shop = await user.get('/shops/backgrounds');
+ const shop = await user.get('/shops/backgrounds');
expect(shop.identifier).to.equal('backgroundShop');
expect(shop.text).to.eql(t('backgroundShop'));
expect(shop.notes).to.eql(t('backgroundShopText'));
expect(shop.imageName).to.equal('background_shop');
expect(shop.sets).to.be.an('array');
- let sets = shop.sets.map(set => set.identifier);
+ const sets = shop.sets.map(set => set.identifier);
expect(sets).to.include('incentiveBackgrounds');
expect(sets).to.include('backgrounds062014');
});
-});
\ No newline at end of file
+});
diff --git a/test/api/v3/integration/shops/GET-shops_market.test.js b/test/api/v3/integration/shops/GET-shops_market.test.js
index 8c9c941fcc..8feadaa89e 100644
--- a/test/api/v3/integration/shops/GET-shops_market.test.js
+++ b/test/api/v3/integration/shops/GET-shops_market.test.js
@@ -11,7 +11,7 @@ describe('GET /shops/market', () => {
});
it('returns a valid shop object', async () => {
- let shop = await user.get('/shops/market');
+ const shop = await user.get('/shops/market');
expect(shop.identifier).to.equal('market');
expect(shop.text).to.eql(t('market'));
@@ -19,7 +19,7 @@ describe('GET /shops/market', () => {
expect(shop.imageName).to.be.a('string');
expect(shop.categories).to.be.an('array');
- let categories = shop.categories.map(cat => cat.identifier);
+ const categories = shop.categories.map(cat => cat.identifier);
expect(categories).to.include('eggs');
expect(categories).to.include('hatchingPotions');
@@ -32,22 +32,22 @@ describe('GET /shops/market', () => {
'stats.gp': 99999999,
});
- let shop = await user.get('/shops/market');
- let items = shop.categories.reduce((array, category) => {
- category.items.forEach((item) => {
+ const shop = await user.get('/shops/market');
+ const items = shop.categories.reduce((array, category) => {
+ category.items.forEach(item => {
array.push(item);
});
return array;
}, []);
- let results = await Promise.all(items.map((item) => {
- let { purchaseType, key } = item;
+ const results = await Promise.all(items.map(item => {
+ const { purchaseType, key } = item;
return user.post(`/user/purchase/${purchaseType}/${key}`);
}));
expect(results.length).to.be.greaterThan(0);
- items.forEach((item) => {
+ items.forEach(item => {
expect(item).to.include.keys('key', 'text', 'notes', 'class', 'value', 'currency');
});
});
diff --git a/test/api/v3/integration/shops/GET-shops_quests.test.js b/test/api/v3/integration/shops/GET-shops_quests.test.js
index e4546fb4b5..5412328c24 100644
--- a/test/api/v3/integration/shops/GET-shops_quests.test.js
+++ b/test/api/v3/integration/shops/GET-shops_quests.test.js
@@ -11,7 +11,7 @@ describe('GET /shops/quests', () => {
});
it('returns a valid shop object', async () => {
- let shop = await user.get('/shops/quests');
+ const shop = await user.get('/shops/quests');
expect(shop.identifier).to.equal('questShop');
expect(shop.text).to.eql(t('quests'));
@@ -19,7 +19,7 @@ describe('GET /shops/quests', () => {
expect(shop.imageName).to.be.a('string');
expect(shop.categories).to.be.an('array');
- let categories = shop.categories.map(cat => cat.identifier);
+ const categories = shop.categories.map(cat => cat.identifier);
expect(categories).to.include('unlockable');
expect(categories).to.include('gold');
diff --git a/test/api/v3/integration/shops/GET-shops_seasonal.test.js b/test/api/v3/integration/shops/GET-shops_seasonal.test.js
index 9b4ffc2be9..6f88812064 100644
--- a/test/api/v3/integration/shops/GET-shops_seasonal.test.js
+++ b/test/api/v3/integration/shops/GET-shops_seasonal.test.js
@@ -11,7 +11,7 @@ describe('GET /shops/seasonal', () => {
});
it('returns a valid shop object', async () => {
- let shop = await user.get('/shops/seasonal');
+ const shop = await user.get('/shops/seasonal');
expect(shop.identifier).to.equal('seasonalShop');
expect(shop.text).to.eql(t('seasonalShop'));
diff --git a/test/api/v3/integration/shops/GET-shops_time_travelers.test.js b/test/api/v3/integration/shops/GET-shops_time_travelers.test.js
index 5ae901f657..81e3c3c23e 100644
--- a/test/api/v3/integration/shops/GET-shops_time_travelers.test.js
+++ b/test/api/v3/integration/shops/GET-shops_time_travelers.test.js
@@ -11,7 +11,7 @@ describe('GET /shops/time-travelers', () => {
});
it('returns a valid shop object', async () => {
- let shop = await user.get('/shops/time-travelers');
+ const shop = await user.get('/shops/time-travelers');
expect(shop.identifier).to.equal('timeTravelersShop');
expect(shop.text).to.eql(t('timeTravelers'));
@@ -19,17 +19,17 @@ describe('GET /shops/time-travelers', () => {
expect(shop.imageName).to.be.a('string');
expect(shop.categories).to.be.an('array');
- let categories = shop.categories.map(cat => cat.identifier);
+ const categories = shop.categories.map(cat => cat.identifier);
expect(categories).to.include('pets');
expect(categories).to.include('mounts');
expect(categories).to.include('201606');
- let mammothPet = shop.categories
+ const mammothPet = shop.categories
.find(cat => cat.identifier === 'pets')
.items
.find(pet => pet.key === 'Mammoth-Base');
- let mantisShrimp = shop.categories
+ const mantisShrimp = shop.categories
.find(cat => cat.identifier === 'mounts')
.items
.find(pet => pet.key === 'MantisShrimp-Base');
@@ -43,14 +43,14 @@ describe('GET /shops/time-travelers', () => {
'purchased.plan.consecutive.trinkets': 1,
});
- let shop = await user.get('/shops/time-travelers');
+ const shop = await user.get('/shops/time-travelers');
expect(shop.notes).to.eql(t('timeTravelersPopover'));
expect(shop.imageName).to.eql('npc_timetravelers_active');
});
it('returns inactive shop notes and imageName if user has trinkets', async () => {
- let shop = await user.get('/shops/time-travelers');
+ const shop = await user.get('/shops/time-travelers');
expect(shop.notes).to.eql(t('timeTravelersPopoverNoSubMobile'));
expect(shop.imageName).to.eql('npc_timetravelers');
@@ -64,9 +64,9 @@ describe('GET /shops/time-travelers', () => {
},
});
- let shop = await user.get('/shops/time-travelers');
+ const shop = await user.get('/shops/time-travelers');
- let categories = shop.categories.map(cat => cat.identifier);
+ const categories = shop.categories.map(cat => cat.identifier);
expect(categories).to.not.include('201606');
});
@@ -81,13 +81,13 @@ describe('GET /shops/time-travelers', () => {
},
});
- let shop = await user.get('/shops/time-travelers');
+ const shop = await user.get('/shops/time-travelers');
- let mammothPet = shop.categories
+ const mammothPet = shop.categories
.find(cat => cat.identifier === 'pets')
.items
.find(pet => pet.key === 'Mammoth-Base');
- let mantisShrimp = shop.categories
+ const mantisShrimp = shop.categories
.find(cat => cat.identifier === 'mounts')
.items
.find(pet => pet.key === 'MantisShrimp-Base');
diff --git a/test/api/v3/integration/status/GET-status.test.js b/test/api/v3/integration/status/GET-status.test.js
index 38fbcb69dd..03c3eac4b5 100644
--- a/test/api/v3/integration/status/GET-status.test.js
+++ b/test/api/v3/integration/status/GET-status.test.js
@@ -4,7 +4,7 @@ import {
describe('GET /status', () => {
it('returns status: up', async () => {
- let res = await requester().get('/status');
+ const res = await requester().get('/status');
expect(res).to.eql({
status: 'up',
});
diff --git a/test/api/v3/integration/tags/DELETE-tags_id.test.js b/test/api/v3/integration/tags/DELETE-tags_id.test.js
index c03e8bb9e0..dc0f1be8ba 100644
--- a/test/api/v3/integration/tags/DELETE-tags_id.test.js
+++ b/test/api/v3/integration/tags/DELETE-tags_id.test.js
@@ -10,16 +10,14 @@ describe('DELETE /tags/:tagId', () => {
});
it('deletes a tag given it\'s id', async () => {
- let tagName = 'Tag 1';
- let tag = await user.post('/tags', {name: tagName});
- let numberOfTags = (await user.get('/tags')).length;
+ const tagName = 'Tag 1';
+ const tag = await user.post('/tags', { name: tagName });
+ const numberOfTags = (await user.get('/tags')).length;
await user.del(`/tags/${tag.id}`);
- let tags = await user.get('/tags');
- let tagNames = tags.map((t) => {
- return t.name;
- });
+ const tags = await user.get('/tags');
+ const tagNames = tags.map(t => t.name);
expect(tags.length).to.equal(numberOfTags - 1);
expect(tagNames).to.not.include(tagName);
diff --git a/test/api/v3/integration/tags/GET-tags.test.js b/test/api/v3/integration/tags/GET-tags.test.js
index ef080a2ee7..30d5ce5fec 100644
--- a/test/api/v3/integration/tags/GET-tags.test.js
+++ b/test/api/v3/integration/tags/GET-tags.test.js
@@ -12,10 +12,10 @@ describe('GET /tags', () => {
});
it('returns all user\'s tags', async () => {
- let tag1 = await user.post('/tags', {name: 'Tag 1'});
- let tag2 = await user.post('/tags', {name: 'Tag 2'});
+ const tag1 = await user.post('/tags', { name: 'Tag 1' });
+ const tag2 = await user.post('/tags', { name: 'Tag 2' });
- let tags = await user.get('/tags');
+ const tags = await user.get('/tags');
expect(tags.length).to.equal(2);
expect(tags[0].name).to.equal(tag1.name);
diff --git a/test/api/v3/integration/tags/GET-tags_id.test.js b/test/api/v3/integration/tags/GET-tags_id.test.js
index 4ab818593d..1b6e126e0a 100644
--- a/test/api/v3/integration/tags/GET-tags_id.test.js
+++ b/test/api/v3/integration/tags/GET-tags_id.test.js
@@ -10,8 +10,8 @@ describe('GET /tags/:tagId', () => {
});
it('returns a tag given it\'s id', async () => {
- let createdTag = await user.post('/tags', {name: 'Tag 1'});
- let tag = await user.get(`/tags/${createdTag.id}`);
+ const createdTag = await user.post('/tags', { name: 'Tag 1' });
+ const tag = await user.get(`/tags/${createdTag.id}`);
expect(tag).to.deep.equal(createdTag);
});
diff --git a/test/api/v3/integration/tags/POST-tag-reorder.test.js b/test/api/v3/integration/tags/POST-tag-reorder.test.js
index 5d12eb974f..bd5bb0daf7 100644
--- a/test/api/v3/integration/tags/POST-tag-reorder.test.js
+++ b/test/api/v3/integration/tags/POST-tag-reorder.test.js
@@ -22,7 +22,7 @@ describe('POST /reorder-tags', () => {
});
it('returns error when tag is not found', async () => {
- await expect(user.post('/reorder-tags', {tagId: 'fake-id', to: 3}))
+ await expect(user.post('/reorder-tags', { tagId: 'fake-id', to: 3 }))
.to.eventually.be.rejected.and.eql({
code: 404,
error: 'NotFound',
@@ -31,13 +31,13 @@ describe('POST /reorder-tags', () => {
});
it('updates tags', async () => {
- let tag1Name = 'Tag 1';
- let tag2Name = 'Tag 2';
- await user.post('/tags', {name: tag1Name});
- await user.post('/tags', {name: tag2Name});
+ const tag1Name = 'Tag 1';
+ const tag2Name = 'Tag 2';
+ await user.post('/tags', { name: tag1Name });
+ await user.post('/tags', { name: tag2Name });
await user.sync();
- await user.post('/reorder-tags', {tagId: user.tags[0].id, to: 1});
+ await user.post('/reorder-tags', { tagId: user.tags[0].id, to: 1 });
await user.sync();
expect(user.tags[0].name).to.equal(tag2Name);
diff --git a/test/api/v3/integration/tags/POST-tags.test.js b/test/api/v3/integration/tags/POST-tags.test.js
index 93f2dfdb60..5c9296fc7d 100644
--- a/test/api/v3/integration/tags/POST-tags.test.js
+++ b/test/api/v3/integration/tags/POST-tags.test.js
@@ -10,13 +10,13 @@ describe('POST /tags', () => {
});
it('creates a tag correctly', async () => {
- let tagName = 'Tag 1';
- let createdTag = await user.post('/tags', {
+ const tagName = 'Tag 1';
+ const createdTag = await user.post('/tags', {
name: tagName,
ignored: false,
});
- let tag = await user.get(`/tags/${createdTag.id}`);
+ const tag = await user.get(`/tags/${createdTag.id}`);
expect(tag.name).to.equal(tagName);
expect(tag.ignored).to.not.exist;
diff --git a/test/api/v3/integration/tags/PUT-tags_id.test.js b/test/api/v3/integration/tags/PUT-tags_id.test.js
index 4c16453ac3..409ae23318 100644
--- a/test/api/v3/integration/tags/PUT-tags_id.test.js
+++ b/test/api/v3/integration/tags/PUT-tags_id.test.js
@@ -10,9 +10,9 @@ describe('PUT /tags/:tagId', () => {
});
it('updates a tag given it\'s id', async () => {
- let updatedTagName = 'Tag updated';
- let createdTag = await user.post('/tags', {name: 'Tag 1'});
- let updatedTag = await user.put(`/tags/${createdTag.id}`, {
+ const updatedTagName = 'Tag updated';
+ let createdTag = await user.post('/tags', { name: 'Tag 1' });
+ const updatedTag = await user.put(`/tags/${createdTag.id}`, {
name: updatedTagName,
ignored: true,
});
diff --git a/test/api/v3/integration/tasks/DELETE-tasks_id.test.js b/test/api/v3/integration/tasks/DELETE-tasks_id.test.js
index fadf21973e..d1835ac022 100644
--- a/test/api/v3/integration/tasks/DELETE-tasks_id.test.js
+++ b/test/api/v3/integration/tasks/DELETE-tasks_id.test.js
@@ -1,3 +1,4 @@
+import { v4 as generateUUID } from 'uuid';
import {
generateUser,
translate as t,
@@ -6,7 +7,6 @@ import {
generateChallenge,
server,
} from '../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
describe('DELETE /tasks/:id', () => {
let user;
@@ -57,9 +57,9 @@ describe('DELETE /tasks/:id', () => {
});
it('sends task activity webhooks if task is user owned', async () => {
- let uuid = generateUUID();
+ const uuid = generateUUID();
- let task = await user.post('/tasks/user', {
+ const task = await user.post('/tasks/user', {
text: 'test habit',
type: 'habit',
});
@@ -78,20 +78,20 @@ describe('DELETE /tasks/:id', () => {
await sleep();
- let body = server.getWebhookData(uuid);
+ const body = server.getWebhookData(uuid);
expect(body.type).to.eql('deleted');
expect(body.task).to.eql(task);
});
it('does not send task activity webhooks if task is not user owned', async () => {
- let uuid = generateUUID();
+ const uuid = generateUUID();
await user.update({
balance: 10,
});
- let guild = await generateGroup(user);
- let challenge = await generateChallenge(user, guild);
+ const guild = await generateGroup(user);
+ const challenge = await generateChallenge(user, guild);
await user.post(`/challenges/${challenge._id}/join`);
await user.post('/user/webhook', {
@@ -104,7 +104,7 @@ describe('DELETE /tasks/:id', () => {
},
});
- let challengeTask = await user.post(`/tasks/challenge/${challenge._id}`, {
+ const challengeTask = await user.post(`/tasks/challenge/${challenge._id}`, {
text: 'test habit',
type: 'habit',
});
@@ -113,7 +113,7 @@ describe('DELETE /tasks/:id', () => {
await sleep();
- let body = server.getWebhookData(uuid);
+ const body = server.getWebhookData(uuid);
expect(body).to.not.exist;
});
@@ -129,8 +129,8 @@ describe('DELETE /tasks/:id', () => {
});
it('cannot delete a task owned by someone else', async () => {
- let anotherUser = await generateUser();
- let anotherUsersTask = await anotherUser.post('/tasks/user', {
+ const anotherUser = await generateUser();
+ const anotherUsersTask = await anotherUser.post('/tasks/user', {
text: 'test habit',
type: 'habit',
});
@@ -143,7 +143,7 @@ describe('DELETE /tasks/:id', () => {
});
it('removes a task from user.tasksOrder', async () => {
- let task = await user.post('/tasks/user', {
+ const task = await user.post('/tasks/user', {
text: 'test habit',
type: 'habit',
});
diff --git a/test/api/v3/integration/tasks/GET-tasks_challenge_challengeId.test.js b/test/api/v3/integration/tasks/GET-tasks_challenge_challengeId.test.js
index b1865f8008..9a2a0eb40b 100644
--- a/test/api/v3/integration/tasks/GET-tasks_challenge_challengeId.test.js
+++ b/test/api/v3/integration/tasks/GET-tasks_challenge_challengeId.test.js
@@ -1,18 +1,18 @@
+import { each } from 'lodash';
+import { v4 as generateUUID } from 'uuid';
import {
generateUser,
generateGroup,
generateChallenge,
translate as t,
} from '../../../../helpers/api-integration/v3';
-import { each } from 'lodash';
-import { v4 as generateUUID } from 'uuid';
describe('GET /tasks/:taskId', () => {
let user;
let guild;
let challenge;
let task;
- let tasksToTest = {
+ const tasksToTest = {
habit: {
text: 'test habit',
type: 'habit',
@@ -58,12 +58,12 @@ describe('GET /tasks/:taskId', () => {
});
it('gets challenge task', async () => {
- let getTask = await user.get(`/tasks/${task._id}`);
+ const getTask = await user.get(`/tasks/${task._id}`);
expect(getTask).to.eql(task);
});
it('returns error when user is not a member of the challenge', async () => {
- let anotherUser = await generateUser();
+ const anotherUser = await generateUser();
await expect(anotherUser.get(`/tasks/${task._id}`)).to.eventually.be.rejected.and.eql({
code: 404,
diff --git a/test/api/v3/integration/tasks/GET-tasks_id.test.js b/test/api/v3/integration/tasks/GET-tasks_id.test.js
index 98c107d932..e46a08706c 100644
--- a/test/api/v3/integration/tasks/GET-tasks_id.test.js
+++ b/test/api/v3/integration/tasks/GET-tasks_id.test.js
@@ -1,8 +1,8 @@
+import { v4 as generateUUID } from 'uuid';
import {
generateUser,
translate as t,
} from '../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
describe('GET /tasks/:id', () => {
let user;
@@ -23,13 +23,13 @@ describe('GET /tasks/:id', () => {
});
it('gets specified task', async () => {
- let getTask = await user.get(`/tasks/${task._id}`);
+ const getTask = await user.get(`/tasks/${task._id}`);
expect(getTask).to.eql(task);
});
it('can use alias to retrieve task', async () => {
- let getTask = await user.get(`/tasks/${task.alias}`);
+ const getTask = await user.get(`/tasks/${task.alias}`);
expect(getTask).to.eql(task);
});
@@ -40,7 +40,7 @@ describe('GET /tasks/:id', () => {
context('task cannot be accessed', () => {
it('cannot get a non-existant task', async () => {
- let dummyId = generateUUID();
+ const dummyId = generateUUID();
await expect(user.get(`/tasks/${dummyId}`)).to.eventually.be.rejected.and.eql({
code: 404,
@@ -50,8 +50,8 @@ describe('GET /tasks/:id', () => {
});
it('cannot get a task owned by someone else', async () => {
- let anotherUser = await generateUser();
- let task = await user.post('/tasks/user', {
+ const anotherUser = await generateUser();
+ const task = await user.post('/tasks/user', {
text: 'test habit',
type: 'habit',
});
diff --git a/test/api/v3/integration/tasks/GET-tasks_user.test.js b/test/api/v3/integration/tasks/GET-tasks_user.test.js
index ea8f2a49d0..fa2cd94884 100644
--- a/test/api/v3/integration/tasks/GET-tasks_user.test.js
+++ b/test/api/v3/integration/tasks/GET-tasks_user.test.js
@@ -11,21 +11,21 @@ describe('GET /tasks/user', () => {
});
it('returns all user\'s tasks', async () => {
- let createdTasks = await user.post('/tasks/user', [{text: 'test habit', type: 'habit'}, {text: 'test todo', type: 'todo'}]);
- let tasks = await user.get('/tasks/user');
+ const createdTasks = await user.post('/tasks/user', [{ text: 'test habit', type: 'habit' }, { text: 'test todo', type: 'todo' }]);
+ const tasks = await user.get('/tasks/user');
expect(tasks.length).to.equal(createdTasks.length + 1); // Plus one for generated todo
});
it('returns only a type of user\'s tasks if req.query.type is specified', async () => {
- let createdTasks = await user.post('/tasks/user', [
- {text: 'test habit', type: 'habit'},
- {text: 'test daily', type: 'daily'},
- {text: 'test reward', type: 'reward'},
- {text: 'test todo', type: 'todo'},
+ const createdTasks = await user.post('/tasks/user', [
+ { text: 'test habit', type: 'habit' },
+ { text: 'test daily', type: 'daily' },
+ { text: 'test reward', type: 'reward' },
+ { text: 'test todo', type: 'todo' },
]);
- let habits = await user.get('/tasks/user?type=habits');
- let dailys = await user.get('/tasks/user?type=dailys');
- let rewards = await user.get('/tasks/user?type=rewards');
+ const habits = await user.get('/tasks/user?type=habits');
+ const dailys = await user.get('/tasks/user?type=dailys');
+ const rewards = await user.get('/tasks/user?type=rewards');
expect(habits.length).to.be.at.least(1);
expect(habits[0]._id).to.equal(createdTasks[0]._id);
@@ -36,28 +36,28 @@ describe('GET /tasks/user', () => {
});
it('returns uncompleted todos if req.query.type is "todos"', async () => {
- let existingTodos = await user.get('/tasks/user?type=todos');
+ const existingTodos = await user.get('/tasks/user?type=todos');
// populate user with other task types
await user.post('/tasks/user', [
- {text: 'daily', type: 'daily'},
- {text: 'reward', type: 'reward'},
- {text: 'habit', type: 'habit'},
+ { text: 'daily', type: 'daily' },
+ { text: 'reward', type: 'reward' },
+ { text: 'habit', type: 'habit' },
]);
- let newUncompletedTodos = await user.post('/tasks/user', [
- {text: 'test todo 1', type: 'todo'},
- {text: 'test todo 2', type: 'todo'},
+ const newUncompletedTodos = await user.post('/tasks/user', [
+ { text: 'test todo 1', type: 'todo' },
+ { text: 'test todo 2', type: 'todo' },
]);
- let todoToBeCompleted = await user.post('/tasks/user', {
+ const todoToBeCompleted = await user.post('/tasks/user', {
text: 'wll be completed todo', type: 'todo',
});
await user.post(`/tasks/${todoToBeCompleted._id}/score/up`);
- let uncompletedTodos = [...existingTodos, ...newUncompletedTodos];
+ const uncompletedTodos = [...existingTodos, ...newUncompletedTodos];
- let todos = await user.get('/tasks/user?type=todos');
+ const todos = await user.get('/tasks/user?type=todos');
expect(todos.length).to.be.gte(2);
expect(todos.length).to.eql(uncompletedTodos.length);
@@ -66,11 +66,11 @@ describe('GET /tasks/user', () => {
});
it('returns completed todos sorted by reverse completion date if req.query.type is "completedTodos"', async () => {
- let todo1 = await user.post('/tasks/user', {text: 'todo to complete 1', type: 'todo'});
- let todo2 = await user.post('/tasks/user', {text: 'todo to complete 2', type: 'todo'});
+ const todo1 = await user.post('/tasks/user', { text: 'todo to complete 1', type: 'todo' });
+ const todo2 = await user.post('/tasks/user', { text: 'todo to complete 2', type: 'todo' });
await user.sync();
- let initialTodoCount = user.tasksOrder.todos.length;
+ const initialTodoCount = user.tasksOrder.todos.length;
await user.post(`/tasks/${todo2._id}/score/up`);
await user.post(`/tasks/${todo1._id}/score/up`);
@@ -78,17 +78,17 @@ describe('GET /tasks/user', () => {
expect(user.tasksOrder.todos.length).to.equal(initialTodoCount - 2);
- let completedTodos = await user.get('/tasks/user?type=completedTodos');
+ const completedTodos = await user.get('/tasks/user?type=completedTodos');
expect(completedTodos.length).to.equal(2);
expect(completedTodos[completedTodos.length - 1].text).to.equal('todo to complete 2'); // last is the todo that was completed most recently
});
it('returns completed todos sorted by reverse completion date if req.query.type is "_allCompletedTodos"', async () => {
- let todo1 = await user.post('/tasks/user', {text: 'todo to complete 1', type: 'todo'});
- let todo2 = await user.post('/tasks/user', {text: 'todo to complete 2', type: 'todo'});
+ const todo1 = await user.post('/tasks/user', { text: 'todo to complete 1', type: 'todo' });
+ const todo2 = await user.post('/tasks/user', { text: 'todo to complete 2', type: 'todo' });
await user.sync();
- let initialTodoCount = user.tasksOrder.todos.length;
+ const initialTodoCount = user.tasksOrder.todos.length;
await user.post(`/tasks/${todo2._id}/score/up`);
await user.post(`/tasks/${todo1._id}/score/up`);
@@ -96,25 +96,25 @@ describe('GET /tasks/user', () => {
expect(user.tasksOrder.todos.length).to.equal(initialTodoCount - 2);
- let allCompletedTodos = await user.get('/tasks/user?type=_allCompletedTodos');
+ const allCompletedTodos = await user.get('/tasks/user?type=_allCompletedTodos');
expect(allCompletedTodos.length).to.equal(2);
expect(allCompletedTodos[allCompletedTodos.length - 1].text).to.equal('todo to complete 2');
});
it('returns only some completed todos if req.query.type is "completedTodos" or "_allCompletedTodos"', async () => {
const LIMIT = 30;
- let numberOfTodos = LIMIT + 1;
- let todosInput = [];
+ const numberOfTodos = LIMIT + 1;
+ const todosInput = [];
- for (let i = 0; i < numberOfTodos; i++) {
- todosInput[i] = {text: 'todo to complete ${i}', type: 'todo'};
+ for (let i = 0; i < numberOfTodos; i += 1) {
+ todosInput[i] = { text: `todo to complete ${i}`, type: 'todo' };
}
- let todos = await user.post('/tasks/user', todosInput);
+ const todos = await user.post('/tasks/user', todosInput);
await user.sync();
- let initialTodoCount = user.tasksOrder.todos.length;
+ const initialTodoCount = user.tasksOrder.todos.length;
- for (let i = 0; i < numberOfTodos; i++) {
- let id = todos[i]._id;
+ for (let i = 0; i < numberOfTodos; i += 1) {
+ const id = todos[i]._id;
await user.post(`/tasks/${id}/score/up`); // eslint-disable-line no-await-in-loop
}
@@ -122,17 +122,17 @@ describe('GET /tasks/user', () => {
expect(user.tasksOrder.todos.length).to.equal(initialTodoCount - numberOfTodos);
- let completedTodos = await user.get('/tasks/user?type=completedTodos');
+ const completedTodos = await user.get('/tasks/user?type=completedTodos');
expect(completedTodos.length).to.equal(LIMIT);
- let allCompletedTodos = await user.get('/tasks/user?type=_allCompletedTodos');
+ const allCompletedTodos = await user.get('/tasks/user?type=_allCompletedTodos');
expect(allCompletedTodos.length).to.equal(numberOfTodos);
});
it('returns dailies with isDue for the date specified', async () => {
// @TODO Add required format
- let startDate = moment().subtract('1', 'days').toISOString();
- let createdTasks = await user.post('/tasks/user', [
+ const startDate = moment().subtract('1', 'days').toISOString();
+ const createdTasks = await user.post('/tasks/user', [
{
text: 'test daily',
type: 'daily',
@@ -141,24 +141,25 @@ describe('GET /tasks/user', () => {
everyX: 2,
},
]);
- let dailys = await user.get('/tasks/user?type=dailys');
+ const dailys = await user.get('/tasks/user?type=dailys');
expect(dailys.length).to.be.at.least(1);
expect(dailys[0]._id).to.equal(createdTasks._id);
expect(dailys[0].isDue).to.be.false;
- let dailys2 = await user.get(`/tasks/user?type=dailys&dueDate=${startDate}`);
+ const dailys2 = await user.get(`/tasks/user?type=dailys&dueDate=${startDate}`);
expect(dailys2[0]._id).to.equal(createdTasks._id);
expect(dailys2[0].isDue).to.be.true;
});
xit('returns dailies with isDue for the date specified and will add CDS offset if time is not supplied and assumes timezones', async () => {
- let timezone = 420;
+ const timezone = 420;
await user.update({
'preferences.dayStart': 0,
'preferences.timezoneOffset': timezone,
});
- let startDate = moment().zone(timezone).subtract('4', 'days').startOf('day').toISOString();
+ const startDate = moment().zone(timezone).subtract('4', 'days').startOf('day')
+ .toISOString();
await user.post('/tasks/user', [
{
text: 'test daily',
@@ -169,23 +170,24 @@ describe('GET /tasks/user', () => {
},
]);
- let today = moment().format('YYYY-MM-DD');
- let dailys = await user.get(`/tasks/user?type=dailys&dueDate=${today}`);
+ const today = moment().format('YYYY-MM-DD');
+ const dailys = await user.get(`/tasks/user?type=dailys&dueDate=${today}`);
expect(dailys[0].isDue).to.be.true;
- let yesterday = moment().subtract('1', 'days').format('YYYY-MM-DD');
- let dailys2 = await user.get(`/tasks/user?type=dailys&dueDate=${yesterday}`);
+ const yesterday = moment().subtract('1', 'days').format('YYYY-MM-DD');
+ const dailys2 = await user.get(`/tasks/user?type=dailys&dueDate=${yesterday}`);
expect(dailys2[0].isDue).to.be.false;
});
xit('returns dailies with isDue for the date specified and will add CDS offset if time is not supplied and assumes timezones', async () => {
- let timezone = 240;
+ const timezone = 240;
await user.update({
'preferences.dayStart': 0,
'preferences.timezoneOffset': timezone,
});
- let startDate = moment().zone(timezone).subtract('4', 'days').startOf('day').toISOString();
+ const startDate = moment().zone(timezone).subtract('4', 'days').startOf('day')
+ .toISOString();
await user.post('/tasks/user', [
{
text: 'test daily',
@@ -196,22 +198,23 @@ describe('GET /tasks/user', () => {
},
]);
- let today = moment().format('YYYY-MM-DD');
- let dailys = await user.get(`/tasks/user?type=dailys&dueDate=${today}`);
+ const today = moment().format('YYYY-MM-DD');
+ const dailys = await user.get(`/tasks/user?type=dailys&dueDate=${today}`);
expect(dailys[0].isDue).to.be.true;
- let yesterday = moment().subtract('1', 'days').format('YYYY-MM-DD');
- let dailys2 = await user.get(`/tasks/user?type=dailys&dueDate=${yesterday}`);
+ const yesterday = moment().subtract('1', 'days').format('YYYY-MM-DD');
+ const dailys2 = await user.get(`/tasks/user?type=dailys&dueDate=${yesterday}`);
expect(dailys2[0].isDue).to.be.false;
});
xit('returns dailies with isDue for the date specified and will add CDS offset if time is not supplied and assumes timezones', async () => {
- let timezone = 540;
+ const timezone = 540;
await user.update({
'preferences.dayStart': 0,
'preferences.timezoneOffset': timezone,
});
- let startDate = moment().zone(timezone).subtract('4', 'days').startOf('day').toISOString();
+ const startDate = moment().zone(timezone).subtract('4', 'days').startOf('day')
+ .toISOString();
await user.post('/tasks/user', [
{
text: 'test daily',
@@ -222,12 +225,12 @@ describe('GET /tasks/user', () => {
},
]);
- let today = moment().format('YYYY-MM-DD');
- let dailys = await user.get(`/tasks/user?type=dailys&dueDate=${today}`);
+ const today = moment().format('YYYY-MM-DD');
+ const dailys = await user.get(`/tasks/user?type=dailys&dueDate=${today}`);
expect(dailys[0].isDue).to.be.true;
- let yesterday = moment().subtract('1', 'days').format('YYYY-MM-DD');
- let dailys2 = await user.get(`/tasks/user?type=dailys&dueDate=${yesterday}`);
+ const yesterday = moment().subtract('1', 'days').format('YYYY-MM-DD');
+ const dailys2 = await user.get(`/tasks/user?type=dailys&dueDate=${yesterday}`);
expect(dailys2[0].isDue).to.be.false;
});
});
diff --git a/test/api/v3/integration/tasks/POST-tasks_clearCompletedTodos.test.js b/test/api/v3/integration/tasks/POST-tasks_clearCompletedTodos.test.js
index 2014b1c65c..f3328fbb64 100644
--- a/test/api/v3/integration/tasks/POST-tasks_clearCompletedTodos.test.js
+++ b/test/api/v3/integration/tasks/POST-tasks_clearCompletedTodos.test.js
@@ -6,18 +6,18 @@ import {
describe('POST /tasks/clearCompletedTodos', () => {
it('deletes all completed todos except the ones from a challenge and group', async () => {
- let user = await generateUser({balance: 1});
- let guild = await generateGroup(user);
- let challenge = await generateChallenge(user, guild);
+ const user = await generateUser({ balance: 1 });
+ const guild = await generateGroup(user);
+ const challenge = await generateChallenge(user, guild);
await user.post(`/challenges/${challenge._id}/join`);
- let initialTodoCount = user.tasksOrder.todos.length;
+ const initialTodoCount = user.tasksOrder.todos.length;
await user.post('/tasks/user', [
- {text: 'todo 1', type: 'todo'},
- {text: 'todo 2', type: 'todo'},
- {text: 'todo 3', type: 'todo'},
- {text: 'todo 4', type: 'todo'},
- {text: 'todo 5', type: 'todo'},
+ { text: 'todo 1', type: 'todo' },
+ { text: 'todo 2', type: 'todo' },
+ { text: 'todo 3', type: 'todo' },
+ { text: 'todo 4', type: 'todo' },
+ { text: 'todo 5', type: 'todo' },
]);
await user.post(`/tasks/challenge/${challenge._id}`, {
@@ -25,26 +25,27 @@ describe('POST /tasks/clearCompletedTodos', () => {
type: 'todo',
});
- let groupTask = await user.post(`/tasks/group/${guild._id}`, {
+ const groupTask = await user.post(`/tasks/group/${guild._id}`, {
text: 'todo 7',
type: 'todo',
});
await user.post(`/tasks/${groupTask._id}/assign/${user._id}`);
- let tasks = await user.get('/tasks/user?type=todos');
+ const tasks = await user.get('/tasks/user?type=todos');
expect(tasks.length).to.equal(initialTodoCount + 7);
- for (let task of tasks) {
+ for (const task of tasks) { // eslint-disable-line
if (['todo 2', 'todo 3', 'todo 6'].indexOf(task.text) !== -1) {
await user.post(`/tasks/${task._id}/score/up`); // eslint-disable-line no-await-in-loop
}
}
await user.post('/tasks/clearCompletedTodos');
- let completedTodos = await user.get('/tasks/user?type=completedTodos');
- let todos = await user.get('/tasks/user?type=todos');
- let allTodos = todos.concat(completedTodos);
- expect(allTodos.length).to.equal(initialTodoCount + 5); // + 7 - 3 completed (but one is from challenge)
+ const completedTodos = await user.get('/tasks/user?type=completedTodos');
+ const todos = await user.get('/tasks/user?type=todos');
+ const allTodos = todos.concat(completedTodos);
+ // + 7 - 3 completed (but one is from challenge)
+ expect(allTodos.length).to.equal(initialTodoCount + 5);
expect(allTodos[allTodos.length - 1].text).to.equal('todo 6'); // last completed todo
});
});
diff --git a/test/api/v3/integration/tasks/POST-tasks_id_score_direction.test.js b/test/api/v3/integration/tasks/POST-tasks_id_score_direction.test.js
index c34b94ed05..bdfc00fce0 100644
--- a/test/api/v3/integration/tasks/POST-tasks_id_score_direction.test.js
+++ b/test/api/v3/integration/tasks/POST-tasks_id_score_direction.test.js
@@ -1,10 +1,10 @@
+import { v4 as generateUUID } from 'uuid';
import {
generateUser,
sleep,
translate as t,
server,
} from '../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
describe('POST /tasks/:id/score/:direction', () => {
let user;
@@ -17,25 +17,25 @@ describe('POST /tasks/:id/score/:direction', () => {
context('all', () => {
it('can use an id to identify the task', async () => {
- let todo = await user.post('/tasks/user', {
+ const todo = await user.post('/tasks/user', {
text: 'test todo',
type: 'todo',
alias: 'alias',
});
- let res = await user.post(`/tasks/${todo._id}/score/up`);
+ const res = await user.post(`/tasks/${todo._id}/score/up`);
expect(res).to.be.ok;
});
it('can use a alias in place of the id', async () => {
- let todo = await user.post('/tasks/user', {
+ const todo = await user.post('/tasks/user', {
text: 'test todo',
type: 'todo',
alias: 'alias',
});
- let res = await user.post(`/tasks/${todo.alias}/score/up`);
+ const res = await user.post(`/tasks/${todo.alias}/score/up`);
expect(res).to.be.ok;
});
@@ -49,7 +49,7 @@ describe('POST /tasks/:id/score/:direction', () => {
});
it('sends task scored webhooks', async () => {
- let uuid = generateUUID();
+ const uuid = generateUUID();
await server.start();
await user.post('/user/webhook', {
@@ -62,7 +62,7 @@ describe('POST /tasks/:id/score/:direction', () => {
},
});
- let task = await user.post('/tasks/user', {
+ const task = await user.post('/tasks/user', {
text: 'test habit',
type: 'habit',
});
@@ -73,7 +73,7 @@ describe('POST /tasks/:id/score/:direction', () => {
await server.close();
- let body = server.getWebhookData(uuid);
+ const body = server.getWebhookData(uuid);
expect(body.user).to.have.all.keys('_id', '_tmp', 'stats');
expect(body.user.stats).to.have.all.keys('hp', 'mp', 'exp', 'gp', 'lvl', 'class', 'points', 'str', 'con', 'int', 'per', 'buffs', 'training', 'maxHealth', 'maxMP', 'toNextLevel');
@@ -92,7 +92,7 @@ describe('POST /tasks/:id/score/:direction', () => {
});
it('sends user activity webhook when the user levels up', async () => {
- let uuid = generateUUID();
+ const uuid = generateUUID();
await user.post('/user/webhook', {
url: `http://localhost:${server.port}/webhooks/${uuid}`,
@@ -108,7 +108,7 @@ describe('POST /tasks/:id/score/:direction', () => {
await user.update({
'stats.exp': 3000,
});
- let task = await user.post('/tasks/user', {
+ const task = await user.post('/tasks/user', {
text: 'test habit',
type: 'habit',
});
@@ -117,7 +117,7 @@ describe('POST /tasks/:id/score/:direction', () => {
await user.sync();
await sleep();
- let body = server.getWebhookData(uuid);
+ const body = server.getWebhookData(uuid);
expect(body.type).to.eql('leveledUp');
expect(body.initialLvl).to.eql(initialLvl);
@@ -138,44 +138,45 @@ describe('POST /tasks/:id/score/:direction', () => {
it('completes todo when direction is up', async () => {
await user.post(`/tasks/${todo._id}/score/up`);
- let task = await user.get(`/tasks/${todo._id}`);
+ const task = await user.get(`/tasks/${todo._id}`);
expect(task.completed).to.equal(true);
expect(task.dateCompleted).to.be.a('string'); // date gets converted to a string as json doesn't have a Date type
});
it('moves completed todos out of user.tasksOrder.todos', async () => {
- let getUser = await user.get('/user');
+ const getUser = await user.get('/user');
expect(getUser.tasksOrder.todos.indexOf(todo._id)).to.not.equal(-1);
await user.post(`/tasks/${todo._id}/score/up`);
- let updatedTask = await user.get(`/tasks/${todo._id}`);
+ const updatedTask = await user.get(`/tasks/${todo._id}`);
expect(updatedTask.completed).to.equal(true);
- let updatedUser = await user.get('/user');
+ const updatedUser = await user.get('/user');
expect(updatedUser.tasksOrder.todos.indexOf(todo._id)).to.equal(-1);
});
it('moves un-completed todos back into user.tasksOrder.todos', async () => {
- let getUser = await user.get('/user');
+ const getUser = await user.get('/user');
expect(getUser.tasksOrder.todos.indexOf(todo._id)).to.not.equal(-1);
await user.post(`/tasks/${todo._id}/score/up`);
await user.post(`/tasks/${todo._id}/score/down`);
- let updatedTask = await user.get(`/tasks/${todo._id}`);
+ const updatedTask = await user.get(`/tasks/${todo._id}`);
expect(updatedTask.completed).to.equal(false);
- let updatedUser = await user.get('/user');
- let l = updatedUser.tasksOrder.todos.length;
+ const updatedUser = await user.get('/user');
+ const l = updatedUser.tasksOrder.todos.length;
expect(updatedUser.tasksOrder.todos.indexOf(todo._id)).not.to.equal(-1);
- expect(updatedUser.tasksOrder.todos.indexOf(todo._id)).to.equal(l - 1); // Check that it was pushed at the bottom
+ // Check that it was pushed at the bottom
+ expect(updatedUser.tasksOrder.todos.indexOf(todo._id)).to.equal(l - 1);
});
it('uncompletes todo when direction is down', async () => {
await user.post(`/tasks/${todo._id}/score/up`);
await user.post(`/tasks/${todo._id}/score/down`);
- let updatedTask = await user.get(`/tasks/${todo._id}`);
+ const updatedTask = await user.get(`/tasks/${todo._id}`);
expect(updatedTask.completed).to.equal(false);
expect(updatedTask.dateCompleted).to.be.a('undefined');
@@ -221,7 +222,8 @@ describe('POST /tasks/:id/score/:direction', () => {
});
context('user stats when direction is down', () => {
- let updatedUser, initialUser;
+ let updatedUser; let
+ initialUser;
beforeEach(async () => {
await user.post(`/tasks/${todo._id}/score/up`);
@@ -256,7 +258,7 @@ describe('POST /tasks/:id/score/:direction', () => {
it('completes daily when direction is up', async () => {
await user.post(`/tasks/${daily._id}/score/up`);
- let task = await user.get(`/tasks/${daily._id}`);
+ const task = await user.get(`/tasks/${daily._id}`);
expect(task.completed).to.equal(true);
});
@@ -264,21 +266,21 @@ describe('POST /tasks/:id/score/:direction', () => {
it('uncompletes daily when direction is down', async () => {
await user.post(`/tasks/${daily._id}/score/up`);
await user.post(`/tasks/${daily._id}/score/down`);
- let task = await user.get(`/tasks/${daily._id}`);
+ const task = await user.get(`/tasks/${daily._id}`);
expect(task.completed).to.equal(false);
});
it('computes isDue', async () => {
await user.post(`/tasks/${daily._id}/score/up`);
- let task = await user.get(`/tasks/${daily._id}`);
+ const task = await user.get(`/tasks/${daily._id}`);
expect(task.isDue).to.equal(true);
});
it('computes nextDue', async () => {
await user.post(`/tasks/${daily._id}/score/up`);
- let task = await user.get(`/tasks/${daily._id}`);
+ const task = await user.get(`/tasks/${daily._id}`);
expect(task.nextDue.length).to.eql(6);
});
@@ -322,7 +324,8 @@ describe('POST /tasks/:id/score/:direction', () => {
});
context('user stats when direction is down', () => {
- let updatedUser, initialUser;
+ let updatedUser; let
+ initialUser;
beforeEach(async () => {
await user.post(`/tasks/${daily._id}/score/up`);
@@ -346,7 +349,8 @@ describe('POST /tasks/:id/score/:direction', () => {
});
context('habits', () => {
- let habit, minusHabit, plusHabit, neitherHabit; // eslint-disable-line no-unused-vars
+ let habit; let
+ neitherHabit; // eslint-disable-line no-unused-vars
beforeEach(async () => {
habit = await user.post('/tasks/user', {
@@ -354,18 +358,6 @@ describe('POST /tasks/:id/score/:direction', () => {
type: 'habit',
});
- minusHabit = await user.post('/tasks/user', {
- text: 'test min habit',
- type: 'habit',
- up: false,
- });
-
- plusHabit = await user.post('/tasks/user', {
- text: 'test plus habit',
- type: 'habit',
- down: false,
- });
-
neitherHabit = await user.post('/tasks/user', {
text: 'test neither habit',
type: 'habit',
@@ -380,40 +372,40 @@ describe('POST /tasks/:id/score/:direction', () => {
it('increases user\'s mp when direction is up', async () => {
await user.post(`/tasks/${habit._id}/score/up`);
- let updatedUser = await user.get('/user');
+ const updatedUser = await user.get('/user');
expect(updatedUser.stats.mp).to.be.greaterThan(user.stats.mp);
});
it('decreases user\'s mp when direction is down', async () => {
await user.post(`/tasks/${habit._id}/score/down`);
- let updatedUser = await user.get('/user');
+ const updatedUser = await user.get('/user');
expect(updatedUser.stats.mp).to.be.lessThan(user.stats.mp);
});
it('increases user\'s exp when direction is up', async () => {
await user.post(`/tasks/${habit._id}/score/up`);
- let updatedUser = await user.get('/user');
+ const updatedUser = await user.get('/user');
expect(updatedUser.stats.exp).to.be.greaterThan(user.stats.exp);
});
it('increases user\'s gold when direction is up', async () => {
await user.post(`/tasks/${habit._id}/score/up`);
- let updatedUser = await user.get('/user');
+ const updatedUser = await user.get('/user');
expect(updatedUser.stats.gp).to.be.greaterThan(user.stats.gp);
});
// not supported anymore
it('does not add score notes to task', async () => {
- let scoreNotesString = 'test-notes';
+ const scoreNotesString = 'test-notes';
await user.post(`/tasks/${habit._id}/score/up`, {
scoreNotes: scoreNotesString,
});
- let updatedTask = await user.get(`/tasks/${habit._id}`);
+ const updatedTask = await user.get(`/tasks/${habit._id}`);
expect(updatedTask.history[0].scoreNotes).to.eql(undefined);
});
@@ -437,7 +429,8 @@ describe('POST /tasks/:id/score/:direction', () => {
});
context('reward', () => {
- let reward, updatedUser;
+ let reward; let
+ updatedUser;
beforeEach(async () => {
reward = await user.post('/tasks/user', {
diff --git a/test/api/v3/integration/tasks/POST-tasks_move_taskId_to_position.test.js b/test/api/v3/integration/tasks/POST-tasks_move_taskId_to_position.test.js
index 2b17cd3919..b14085fb75 100644
--- a/test/api/v3/integration/tasks/POST-tasks_move_taskId_to_position.test.js
+++ b/test/api/v3/integration/tasks/POST-tasks_move_taskId_to_position.test.js
@@ -1,8 +1,8 @@
+import { v4 as generateUUID } from 'uuid';
import {
generateUser,
translate as t,
} from '../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
describe('POST /tasks/:taskId/move/to/:position', () => {
let user;
@@ -28,20 +28,20 @@ describe('POST /tasks/:taskId/move/to/:position', () => {
});
it('can move task to new position', async () => {
- let tasks = await user.post('/tasks/user', [
- {type: 'habit', text: 'habit 1'},
- {type: 'habit', text: 'habit 2'},
- {type: 'daily', text: 'daily 1'},
- {type: 'habit', text: 'habit 3'},
- {type: 'habit', text: 'habit 4'},
- {type: 'todo', text: 'todo 1'},
- {type: 'habit', text: 'habit 5'},
+ const tasks = await user.post('/tasks/user', [
+ { type: 'habit', text: 'habit 1' },
+ { type: 'habit', text: 'habit 2' },
+ { type: 'daily', text: 'daily 1' },
+ { type: 'habit', text: 'habit 3' },
+ { type: 'habit', text: 'habit 4' },
+ { type: 'todo', text: 'todo 1' },
+ { type: 'habit', text: 'habit 5' },
]);
- let taskToMove = tasks[1];
+ const taskToMove = tasks[1];
expect(taskToMove.text).to.equal('habit 2');
- let newOrder = await user.post(`/tasks/${tasks[1]._id}/move/to/3`);
+ const newOrder = await user.post(`/tasks/${tasks[1]._id}/move/to/3`);
await user.sync();
expect(newOrder[3]).to.equal(taskToMove._id);
@@ -50,25 +50,25 @@ describe('POST /tasks/:taskId/move/to/:position', () => {
});
it('can move task to new position using alias', async () => {
- let tasks = await user.post('/tasks/user', [
- {type: 'habit', text: 'habit 1'},
- {type: 'habit', text: 'habit 2', alias: 'move'},
- {type: 'daily', text: 'daily 1'},
- {type: 'habit', text: 'habit 3'},
- {type: 'habit', text: 'habit 4'},
- {type: 'todo', text: 'todo 1'},
- {type: 'habit', text: 'habit 5'},
+ const tasks = await user.post('/tasks/user', [
+ { type: 'habit', text: 'habit 1' },
+ { type: 'habit', text: 'habit 2', alias: 'move' },
+ { type: 'daily', text: 'daily 1' },
+ { type: 'habit', text: 'habit 3' },
+ { type: 'habit', text: 'habit 4' },
+ { type: 'todo', text: 'todo 1' },
+ { type: 'habit', text: 'habit 5' },
]);
- let taskToMove = tasks[1];
+ const taskToMove = tasks[1];
expect(taskToMove.text).to.equal('habit 2');
- let newOrder = await user.post(`/tasks/${taskToMove.alias}/move/to/3`);
+ const newOrder = await user.post(`/tasks/${taskToMove.alias}/move/to/3`);
expect(newOrder[3]).to.equal(taskToMove._id);
expect(newOrder.length).to.equal(5);
});
it('can\'t move completed todo', async () => {
- let task = await user.post('/tasks/user', {type: 'todo', text: 'todo 1'});
+ const task = await user.post('/tasks/user', { type: 'todo', text: 'todo 1' });
await user.post(`/tasks/${task._id}/score/up`);
await expect(user.post(`/tasks/${task._id}/move/to/1`)).to.eventually.be.rejected.and.eql({
@@ -79,19 +79,19 @@ describe('POST /tasks/:taskId/move/to/:position', () => {
});
it('can push to bottom', async () => {
- let tasks = await user.post('/tasks/user', [
- {type: 'habit', text: 'habit 1'},
- {type: 'habit', text: 'habit 2'},
- {type: 'daily', text: 'daily 1'},
- {type: 'habit', text: 'habit 3'},
- {type: 'habit', text: 'habit 4'},
- {type: 'todo', text: 'todo 1'},
- {type: 'habit', text: 'habit 5'},
+ const tasks = await user.post('/tasks/user', [
+ { type: 'habit', text: 'habit 1' },
+ { type: 'habit', text: 'habit 2' },
+ { type: 'daily', text: 'daily 1' },
+ { type: 'habit', text: 'habit 3' },
+ { type: 'habit', text: 'habit 4' },
+ { type: 'todo', text: 'todo 1' },
+ { type: 'habit', text: 'habit 5' },
]);
- let taskToMove = tasks[1];
+ const taskToMove = tasks[1];
expect(taskToMove.text).to.equal('habit 2');
- let newOrder = await user.post(`/tasks/${tasks[1]._id}/move/to/-1`);
+ const newOrder = await user.post(`/tasks/${tasks[1]._id}/move/to/-1`);
expect(newOrder[4]).to.equal(taskToMove._id);
expect(newOrder.length).to.equal(5);
});
diff --git a/test/api/v3/integration/tasks/POST-tasks_unlink-all_challengeId.test.js b/test/api/v3/integration/tasks/POST-tasks_unlink-all_challengeId.test.js
index c1dfd6a522..86715bd6dc 100644
--- a/test/api/v3/integration/tasks/POST-tasks_unlink-all_challengeId.test.js
+++ b/test/api/v3/integration/tasks/POST-tasks_unlink-all_challengeId.test.js
@@ -9,7 +9,7 @@ describe('POST /tasks/unlink-all/:challengeId', () => {
let user;
let guild;
let challenge;
- let tasksToTest = {
+ const tasksToTest = {
habit: {
text: 'test habit',
type: 'habit',
diff --git a/test/api/v3/integration/tasks/POST-tasks_unlink-one_taskId.test.js b/test/api/v3/integration/tasks/POST-tasks_unlink-one_taskId.test.js
index aefc379865..e8ee1f2727 100644
--- a/test/api/v3/integration/tasks/POST-tasks_unlink-one_taskId.test.js
+++ b/test/api/v3/integration/tasks/POST-tasks_unlink-one_taskId.test.js
@@ -1,16 +1,16 @@
+import { v4 as generateUUID } from 'uuid';
import {
generateUser,
generateGroup,
generateChallenge,
translate as t,
} from '../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
describe('POST /tasks/unlink-one/:taskId', () => {
let user;
let guild;
let challenge;
- let tasksToTest = {
+ const tasksToTest = {
habit: {
text: 'test habit',
type: 'habit',
@@ -70,7 +70,7 @@ describe('POST /tasks/unlink-one/:taskId', () => {
});
it('fails on task unlinked to challenge', async () => {
- let daily = await user.post('/tasks/user', tasksToTest.daily);
+ const daily = await user.post('/tasks/user', tasksToTest.daily);
await expect(user.post(`/tasks/unlink-one/${daily._id}?keep=keep`))
.to.eventually.be.rejected.and.eql({
code: 400,
@@ -81,7 +81,7 @@ describe('POST /tasks/unlink-one/:taskId', () => {
it('fails on unbroken challenge', async () => {
await user.post(`/tasks/challenge/${challenge._id}`, tasksToTest.daily);
- let [daily] = await user.get('/tasks/user');
+ const [daily] = await user.get('/tasks/user');
await expect(user.post(`/tasks/unlink-one/${daily._id}?keep=keep`))
.to.eventually.be.rejected.and.eql({
code: 400,
@@ -101,11 +101,11 @@ describe('POST /tasks/unlink-one/:taskId', () => {
it('unlinks a task from a challenge and deletes it on keep=remove', async () => {
await user.post(`/tasks/challenge/${challenge._id}`, tasksToTest.daily);
- let [, daily] = await user.get('/tasks/user');
+ const [, daily] = await user.get('/tasks/user');
await user.del(`/challenges/${challenge._id}`);
await user.post(`/tasks/unlink-one/${daily._id}?keep=remove`);
const tasks = await user.get('/tasks/user');
// Only the default task should remain
expect(tasks.length).to.eql(1);
});
-});
\ No newline at end of file
+});
diff --git a/test/api/v3/integration/tasks/POST-tasks_user.test.js b/test/api/v3/integration/tasks/POST-tasks_user.test.js
index 22297da8ff..af08c21961 100644
--- a/test/api/v3/integration/tasks/POST-tasks_user.test.js
+++ b/test/api/v3/integration/tasks/POST-tasks_user.test.js
@@ -1,10 +1,10 @@
+import { v4 as generateUUID } from 'uuid';
import {
generateUser,
sleep,
translate as t,
server,
} from '../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
describe('POST /tasks/user', () => {
let user;
@@ -36,8 +36,8 @@ describe('POST /tasks/user', () => {
it('returns an error if one object inside an array is invalid', async () => {
await expect(user.post('/tasks/user', [
- {type: 'habitF'},
- {type: 'habit'},
+ { type: 'habitF' },
+ { type: 'habit' },
])).to.eventually.be.rejected.and.eql({
code: 400,
error: 'BadRequest',
@@ -56,7 +56,7 @@ describe('POST /tasks/user', () => {
});
it('does not update user.tasksOrder.{taskType} when the task is not saved because invalid', async () => {
- let originalHabitsOrder = (await user.get('/user')).tasksOrder.habits;
+ const originalHabitsOrder = (await user.get('/user')).tasksOrder.habits;
await expect(user.post('/tasks/user', {
type: 'habit',
})).to.eventually.be.rejected.and.eql({
@@ -65,43 +65,43 @@ describe('POST /tasks/user', () => {
message: 'habit validation failed',
});
- let updatedHabitsOrder = (await user.get('/user')).tasksOrder.habits;
+ const updatedHabitsOrder = (await user.get('/user')).tasksOrder.habits;
expect(updatedHabitsOrder).to.eql(originalHabitsOrder);
});
it('does not update user.tasksOrder.{taskType} when a task inside an array is not saved because invalid', async () => {
- let originalHabitsOrder = (await user.get('/user')).tasksOrder.habits;
+ const originalHabitsOrder = (await user.get('/user')).tasksOrder.habits;
await expect(user.post('/tasks/user', [
- {type: 'habit'}, // Missing text
- {type: 'habit', text: 'valid'}, // Valid
+ { type: 'habit' }, // Missing text
+ { type: 'habit', text: 'valid' }, // Valid
])).to.eventually.be.rejected.and.eql({
code: 400,
error: 'BadRequest',
message: 'habit validation failed',
});
- let updatedHabitsOrder = (await user.get('/user')).tasksOrder.habits;
+ const updatedHabitsOrder = (await user.get('/user')).tasksOrder.habits;
expect(updatedHabitsOrder).to.eql(originalHabitsOrder);
});
it('does not save any task sent in an array when 1 is invalid', async () => {
- let originalTasks = await user.get('/tasks/user');
+ const originalTasks = await user.get('/tasks/user');
await expect(user.post('/tasks/user', [
- {type: 'habit'}, // Missing text
- {type: 'habit', text: 'valid'}, // Valid
+ { type: 'habit' }, // Missing text
+ { type: 'habit', text: 'valid' }, // Valid
])).to.eventually.be.rejected.and.eql({
code: 400,
error: 'BadRequest',
message: 'habit validation failed',
}).then(async () => {
- let updatedTasks = await user.get('/tasks/user');
+ const updatedTasks = await user.get('/tasks/user');
expect(updatedTasks).to.eql(originalTasks);
});
});
it('automatically sets "task.userId" to user\'s uuid', async () => {
- let task = await user.post('/tasks/user', {
+ const task = await user.post('/tasks/user', {
text: 'test habit',
type: 'habit',
});
@@ -112,7 +112,7 @@ describe('POST /tasks/user', () => {
it(`ignores setting userId, history, createdAt,
updatedAt, challenge, completed,
dateCompleted fields`, async () => {
- let task = await user.post('/tasks/user', {
+ const task = await user.post('/tasks/user', {
text: 'test daily',
type: 'daily',
userId: 123,
@@ -137,7 +137,7 @@ describe('POST /tasks/user', () => {
});
it('ignores invalid fields', async () => {
- let task = await user.post('/tasks/user', {
+ const task = await user.post('/tasks/user', {
text: 'test daily',
type: 'daily',
notValid: true,
@@ -218,7 +218,7 @@ describe('POST /tasks/user', () => {
});
it('sends task activity webhooks', async () => {
- let uuid = generateUUID();
+ const uuid = generateUUID();
await user.post('/user/webhook', {
url: `http://localhost:${server.port}/webhooks/${uuid}`,
@@ -229,20 +229,20 @@ describe('POST /tasks/user', () => {
},
});
- let task = await user.post('/tasks/user', {
+ const task = await user.post('/tasks/user', {
text: 'test habit',
type: 'habit',
});
await sleep();
- let body = server.getWebhookData(uuid);
+ const body = server.getWebhookData(uuid);
expect(body.task).to.eql(task);
});
it('sends a task activity webhook for each task', async () => {
- let uuid = generateUUID();
+ const uuid = generateUUID();
await user.post('/user/webhook', {
url: `http://localhost:${server.port}/webhooks/${uuid}`,
@@ -253,7 +253,7 @@ describe('POST /tasks/user', () => {
},
});
- let tasks = await user.post('/tasks/user', [{
+ const tasks = await user.post('/tasks/user', [{
text: 'test habit',
type: 'habit',
}, {
@@ -263,7 +263,7 @@ describe('POST /tasks/user', () => {
await sleep();
- let taskBodies = [
+ const taskBodies = [
server.getWebhookData(uuid),
server.getWebhookData(uuid),
];
@@ -275,13 +275,13 @@ describe('POST /tasks/user', () => {
context('all types', () => {
it('can create reminders', async () => {
- let id1 = generateUUID();
+ const id1 = generateUUID();
- let task = await user.post('/tasks/user', {
+ const task = await user.post('/tasks/user', {
text: 'test habit',
type: 'habit',
reminders: [
- {id: id1, startDate: new Date(), time: new Date()},
+ { id: id1, startDate: new Date(), time: new Date() },
],
});
@@ -294,7 +294,7 @@ describe('POST /tasks/user', () => {
});
it('can create a task with a alias', async () => {
- let task = await user.post('/tasks/user', {
+ const task = await user.post('/tasks/user', {
text: 'test habit',
type: 'habit',
alias: 'a_alias012',
@@ -305,7 +305,7 @@ describe('POST /tasks/user', () => {
// This is a special case for iOS requests
it('will round a priority (difficulty)', async () => {
- let task = await user.post('/tasks/user', {
+ const task = await user.post('/tasks/user', {
text: 'test habit',
type: 'habit',
priority: 0.10000000000005,
@@ -317,7 +317,7 @@ describe('POST /tasks/user', () => {
context('habits', () => {
it('creates a habit', async () => {
- let task = await user.post('/tasks/user', {
+ const task = await user.post('/tasks/user', {
text: 'test habit',
type: 'habit',
up: false,
@@ -334,20 +334,20 @@ describe('POST /tasks/user', () => {
});
it('updates user.tasksOrder.habits when a new habit is created', async () => {
- let originalHabitsOrderLen = (await user.get('/user')).tasksOrder.habits.length;
- let task = await user.post('/tasks/user', {
+ const originalHabitsOrderLen = (await user.get('/user')).tasksOrder.habits.length;
+ const task = await user.post('/tasks/user', {
type: 'habit',
text: 'an habit',
});
- let updatedUser = await user.get('/user');
+ const updatedUser = await user.get('/user');
expect(updatedUser.tasksOrder.habits[0]).to.eql(task._id);
expect(updatedUser.tasksOrder.habits.length).to.eql(originalHabitsOrderLen + 1);
});
it('updates user.tasksOrder.habits when multiple habits are created', async () => {
- let originalHabitsOrderLen = (await user.get('/user')).tasksOrder.habits.length;
- let [task, task2] = await user.post('/tasks/user', [{
+ const originalHabitsOrderLen = (await user.get('/user')).tasksOrder.habits.length;
+ const [task, task2] = await user.post('/tasks/user', [{
type: 'habit',
text: 'an habit',
}, {
@@ -355,14 +355,14 @@ describe('POST /tasks/user', () => {
text: 'another habit',
}]);
- let updatedUser = await user.get('/user');
+ const updatedUser = await user.get('/user');
expect(updatedUser.tasksOrder.habits[0]).to.eql(task2._id);
expect(updatedUser.tasksOrder.habits[1]).to.eql(task._id);
expect(updatedUser.tasksOrder.habits.length).to.eql(originalHabitsOrderLen + 2);
});
it('creates multiple habits', async () => {
- let [task, task2] = await user.post('/tasks/user', [{
+ const [task, task2] = await user.post('/tasks/user', [{
text: 'test habit',
type: 'habit',
up: false,
@@ -392,7 +392,7 @@ describe('POST /tasks/user', () => {
});
it('defaults to setting up and down to true', async () => {
- let task = await user.post('/tasks/user', {
+ const task = await user.post('/tasks/user', {
text: 'test habit',
type: 'habit',
notes: 1976,
@@ -403,11 +403,11 @@ describe('POST /tasks/user', () => {
});
it('cannot create checklists', async () => {
- let task = await user.post('/tasks/user', {
+ const task = await user.post('/tasks/user', {
text: 'test habit',
type: 'habit',
checklist: [
- {_id: 123, completed: false, text: 'checklist'},
+ { _id: 123, completed: false, text: 'checklist' },
],
});
@@ -417,7 +417,7 @@ describe('POST /tasks/user', () => {
context('todos', () => {
it('creates a todo', async () => {
- let task = await user.post('/tasks/user', {
+ const task = await user.post('/tasks/user', {
text: 'test todo',
type: 'todo',
notes: 1976,
@@ -430,7 +430,7 @@ describe('POST /tasks/user', () => {
});
it('creates multiple todos', async () => {
- let [task, task2] = await user.post('/tasks/user', [{
+ const [task, task2] = await user.post('/tasks/user', [{
text: 'test todo',
type: 'todo',
notes: 1976,
@@ -452,20 +452,20 @@ describe('POST /tasks/user', () => {
});
it('updates user.tasksOrder.todos when a new todo is created', async () => {
- let originalTodosOrderLen = (await user.get('/user')).tasksOrder.todos.length;
- let task = await user.post('/tasks/user', {
+ const originalTodosOrderLen = (await user.get('/user')).tasksOrder.todos.length;
+ const task = await user.post('/tasks/user', {
type: 'todo',
text: 'a todo',
});
- let updatedUser = await user.get('/user');
+ const updatedUser = await user.get('/user');
expect(updatedUser.tasksOrder.todos[0]).to.eql(task._id);
expect(updatedUser.tasksOrder.todos.length).to.eql(originalTodosOrderLen + 1);
});
it('updates user.tasksOrder.todos when multiple todos are created', async () => {
- let originalTodosOrderLen = (await user.get('/user')).tasksOrder.todos.length;
- let [task, task2] = await user.post('/tasks/user', [{
+ const originalTodosOrderLen = (await user.get('/user')).tasksOrder.todos.length;
+ const [task, task2] = await user.post('/tasks/user', [{
type: 'todo',
text: 'a todo',
}, {
@@ -473,18 +473,18 @@ describe('POST /tasks/user', () => {
text: 'another todo',
}]);
- let updatedUser = await user.get('/user');
+ const updatedUser = await user.get('/user');
expect(updatedUser.tasksOrder.todos[0]).to.eql(task2._id);
expect(updatedUser.tasksOrder.todos[1]).to.eql(task._id);
expect(updatedUser.tasksOrder.todos.length).to.eql(originalTodosOrderLen + 2);
});
it('can create checklists', async () => {
- let task = await user.post('/tasks/user', {
+ const task = await user.post('/tasks/user', {
text: 'test todo',
type: 'todo',
checklist: [
- {completed: false, text: 'checklist'},
+ { completed: false, text: 'checklist' },
],
});
@@ -499,9 +499,9 @@ describe('POST /tasks/user', () => {
context('dailys', () => {
it('creates a daily', async () => {
- let now = new Date();
+ const now = new Date();
- let task = await user.post('/tasks/user', {
+ const task = await user.post('/tasks/user', {
text: 'test daily',
type: 'daily',
notes: 1976,
@@ -526,7 +526,7 @@ describe('POST /tasks/user', () => {
});
it('creates multiple dailys', async () => {
- let [task, task2] = await user.post('/tasks/user', [{
+ const [task, task2] = await user.post('/tasks/user', [{
text: 'test daily',
type: 'daily',
notes: 1976,
@@ -548,20 +548,20 @@ describe('POST /tasks/user', () => {
});
it('updates user.tasksOrder.dailys when a new daily is created', async () => {
- let originalDailysOrderLen = (await user.get('/user')).tasksOrder.dailys.length;
- let task = await user.post('/tasks/user', {
+ const originalDailysOrderLen = (await user.get('/user')).tasksOrder.dailys.length;
+ const task = await user.post('/tasks/user', {
type: 'daily',
text: 'a daily',
});
- let updatedUser = await user.get('/user');
+ const updatedUser = await user.get('/user');
expect(updatedUser.tasksOrder.dailys[0]).to.eql(task._id);
expect(updatedUser.tasksOrder.dailys.length).to.eql(originalDailysOrderLen + 1);
});
it('updates user.tasksOrder.dailys when multiple dailys are created', async () => {
- let originalDailysOrderLen = (await user.get('/user')).tasksOrder.dailys.length;
- let [task, task2] = await user.post('/tasks/user', [{
+ const originalDailysOrderLen = (await user.get('/user')).tasksOrder.dailys.length;
+ const [task, task2] = await user.post('/tasks/user', [{
type: 'daily',
text: 'a daily',
}, {
@@ -569,14 +569,14 @@ describe('POST /tasks/user', () => {
text: 'another daily',
}]);
- let updatedUser = await user.get('/user');
+ const updatedUser = await user.get('/user');
expect(updatedUser.tasksOrder.dailys[0]).to.eql(task2._id);
expect(updatedUser.tasksOrder.dailys[1]).to.eql(task._id);
expect(updatedUser.tasksOrder.dailys.length).to.eql(originalDailysOrderLen + 2);
});
it('defaults to a weekly frequency, with every day set', async () => {
- let task = await user.post('/tasks/user', {
+ const task = await user.post('/tasks/user', {
text: 'test daily',
type: 'daily',
});
@@ -595,7 +595,7 @@ describe('POST /tasks/user', () => {
});
it('allows repeat field to be configured', async () => {
- let task = await user.post('/tasks/user', {
+ const task = await user.post('/tasks/user', {
text: 'test daily',
type: 'daily',
repeat: {
@@ -617,9 +617,9 @@ describe('POST /tasks/user', () => {
});
it('defaults startDate to today', async () => {
- let today = (new Date()).getDay();
+ const today = (new Date()).getDay();
- let task = await user.post('/tasks/user', {
+ const task = await user.post('/tasks/user', {
text: 'test daily',
type: 'daily',
});
@@ -677,11 +677,11 @@ describe('POST /tasks/user', () => {
it('can create checklists', async () => {
- let task = await user.post('/tasks/user', {
+ const task = await user.post('/tasks/user', {
text: 'test daily',
type: 'daily',
checklist: [
- {completed: false, text: 'checklist'},
+ { completed: false, text: 'checklist' },
],
});
@@ -696,7 +696,7 @@ describe('POST /tasks/user', () => {
context('rewards', () => {
it('creates a reward', async () => {
- let task = await user.post('/tasks/user', {
+ const task = await user.post('/tasks/user', {
text: 'test reward',
type: 'reward',
notes: 1976,
@@ -711,7 +711,7 @@ describe('POST /tasks/user', () => {
});
it('creates multiple rewards', async () => {
- let [task, task2] = await user.post('/tasks/user', [{
+ const [task, task2] = await user.post('/tasks/user', [{
text: 'test reward',
type: 'reward',
notes: 1976,
@@ -737,20 +737,20 @@ describe('POST /tasks/user', () => {
});
it('updates user.tasksOrder.rewards when a new reward is created', async () => {
- let originalRewardsOrderLen = (await user.get('/user')).tasksOrder.rewards.length;
- let task = await user.post('/tasks/user', {
+ const originalRewardsOrderLen = (await user.get('/user')).tasksOrder.rewards.length;
+ const task = await user.post('/tasks/user', {
type: 'reward',
text: 'a reward',
});
- let updatedUser = await user.get('/user');
+ const updatedUser = await user.get('/user');
expect(updatedUser.tasksOrder.rewards[0]).to.eql(task._id);
expect(updatedUser.tasksOrder.rewards.length).to.eql(originalRewardsOrderLen + 1);
});
it('updates user.tasksOrder.dreward when multiple rewards are created', async () => {
- let originalRewardsOrderLen = (await user.get('/user')).tasksOrder.rewards.length;
- let [task, task2] = await user.post('/tasks/user', [{
+ const originalRewardsOrderLen = (await user.get('/user')).tasksOrder.rewards.length;
+ const [task, task2] = await user.post('/tasks/user', [{
type: 'reward',
text: 'a reward',
}, {
@@ -758,14 +758,14 @@ describe('POST /tasks/user', () => {
text: 'another reward',
}]);
- let updatedUser = await user.get('/user');
+ const updatedUser = await user.get('/user');
expect(updatedUser.tasksOrder.rewards[0]).to.eql(task2._id);
expect(updatedUser.tasksOrder.rewards[1]).to.eql(task._id);
expect(updatedUser.tasksOrder.rewards.length).to.eql(originalRewardsOrderLen + 2);
});
it('defaults to a 0 value', async () => {
- let task = await user.post('/tasks/user', {
+ const task = await user.post('/tasks/user', {
text: 'test reward',
type: 'reward',
});
@@ -774,7 +774,7 @@ describe('POST /tasks/user', () => {
});
it('requires value to be coerced into a number', async () => {
- let task = await user.post('/tasks/user', {
+ const task = await user.post('/tasks/user', {
text: 'test reward',
type: 'reward',
value: '10',
@@ -784,11 +784,11 @@ describe('POST /tasks/user', () => {
});
it('cannot create checklists', async () => {
- let task = await user.post('/tasks/user', {
+ const task = await user.post('/tasks/user', {
text: 'test reward',
type: 'reward',
checklist: [
- {_id: 123, completed: false, text: 'checklist'},
+ { _id: 123, completed: false, text: 'checklist' },
],
});
diff --git a/test/api/v3/integration/tasks/PUT-tasks_id.test.js b/test/api/v3/integration/tasks/PUT-tasks_id.test.js
index ad1555237c..1ad083e50e 100644
--- a/test/api/v3/integration/tasks/PUT-tasks_id.test.js
+++ b/test/api/v3/integration/tasks/PUT-tasks_id.test.js
@@ -1,4 +1,5 @@
import moment from 'moment';
+import { v4 as generateUUID } from 'uuid';
import {
generateUser,
generateGroup,
@@ -6,7 +7,6 @@ import {
generateChallenge,
server,
} from '../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
describe('PUT /tasks/:id', () => {
let user;
@@ -28,7 +28,7 @@ describe('PUT /tasks/:id', () => {
it(`ignores setting _id, type, userId, history, createdAt,
updatedAt, challenge, completed, streak,
dateCompleted fields`, async () => {
- let savedTask = await user.put(`/tasks/${task._id}`, {
+ const savedTask = await user.put(`/tasks/${task._id}`, {
_id: 123,
type: 'daily',
userId: 123,
@@ -54,7 +54,7 @@ describe('PUT /tasks/:id', () => {
});
it('ignores invalid fields', async () => {
- let savedTask = await user.put(`/tasks/${task._id}`, {
+ const savedTask = await user.put(`/tasks/${task._id}`, {
notValid: true,
});
@@ -63,18 +63,18 @@ describe('PUT /tasks/:id', () => {
it(`only allows setting streak, alias, reminders, checklist, notes, attribute, tags
fields for challenge tasks owned by a user`, async () => {
- let guild = await generateGroup(user);
- let challenge = await generateChallenge(user, guild);
+ const guild = await generateGroup(user);
+ const challenge = await generateChallenge(user, guild);
await user.post(`/challenges/${challenge._id}/join`);
- let challengeTask = await user.post(`/tasks/challenge/${challenge._id}`, {
+ const challengeTask = await user.post(`/tasks/challenge/${challenge._id}`, {
type: 'daily',
text: 'Daily in challenge',
reminders: [
- {time: new Date(), startDate: new Date()},
+ { time: new Date(), startDate: new Date() },
],
checklist: [
- {text: 123, completed: false},
+ { text: 123, completed: false },
],
collapseChecklist: false,
});
@@ -83,11 +83,11 @@ describe('PUT /tasks/:id', () => {
await user.sync();
// Pick challenge task
- let challengeUserTaskId = user.tasksOrder.dailys[user.tasksOrder.dailys.length - 1];
+ const challengeUserTaskId = user.tasksOrder.dailys[user.tasksOrder.dailys.length - 1];
- let challengeUserTask = await user.get(`/tasks/${challengeUserTaskId}`);
+ const challengeUserTask = await user.get(`/tasks/${challengeUserTaskId}`);
- let savedChallengeUserTask = await user.put(`/tasks/${challengeUserTaskId}`, {
+ const savedChallengeUserTask = await user.put(`/tasks/${challengeUserTaskId}`, {
_id: 123,
type: 'daily',
userId: 123,
@@ -107,12 +107,12 @@ describe('PUT /tasks/:id', () => {
text: 'new text',
dateCompleted: 'never',
reminders: [
- {time: new Date(), startDate: new Date()},
- {time: new Date(), startDate: new Date()},
+ { time: new Date(), startDate: new Date() },
+ { time: new Date(), startDate: new Date() },
],
checklist: [
- {text: 123, completed: false},
- {text: 456, completed: true},
+ { text: 123, completed: false },
+ { text: 456, completed: true },
],
collapseChecklist: true,
notes: 'new notes',
@@ -121,7 +121,7 @@ describe('PUT /tasks/:id', () => {
});
// original task is not touched
- let updatedChallengeTask = await user.get(`/tasks/${challengeTask._id}`);
+ const updatedChallengeTask = await user.get(`/tasks/${challengeTask._id}`);
expect(updatedChallengeTask).to.eql(challengeTask);
// ignored
@@ -134,7 +134,8 @@ describe('PUT /tasks/:id', () => {
expect(savedChallengeUserTask.text).to.equal(challengeUserTask.text);
expect(savedChallengeUserTask.history).to.eql(challengeUserTask.history);
expect(savedChallengeUserTask.createdAt).to.equal(challengeUserTask.createdAt);
- expect(new Date(savedChallengeUserTask.updatedAt)).to.be.greaterThan(new Date(challengeUserTask.updatedAt));
+ expect(new Date(savedChallengeUserTask.updatedAt))
+ .to.be.greaterThan(new Date(challengeUserTask.updatedAt));
expect(savedChallengeUserTask.challenge).to.eql(challengeUserTask.challenge);
expect(savedChallengeUserTask.completed).to.equal(challengeUserTask.completed);
expect(savedChallengeUserTask.dateCompleted).to.equal(challengeUserTask.dateCompleted);
@@ -162,7 +163,7 @@ describe('PUT /tasks/:id', () => {
});
it('sends task activity webhooks if task is user owned', async () => {
- let uuid = generateUUID();
+ const uuid = generateUUID();
await user.post('/user/webhook', {
url: `http://localhost:${server.port}/webhooks/${uuid}`,
@@ -174,31 +175,31 @@ describe('PUT /tasks/:id', () => {
},
});
- let task = await user.post('/tasks/user', {
+ const task = await user.post('/tasks/user', {
text: 'test habit',
type: 'habit',
});
- let updatedTask = await user.put(`/tasks/${task.id}`, {
+ const updatedTask = await user.put(`/tasks/${task.id}`, {
text: 'updated text',
});
await sleep();
- let body = server.getWebhookData(uuid);
+ const body = server.getWebhookData(uuid);
expect(body.type).to.eql('updated');
expect(body.task).to.eql(updatedTask);
});
it('does not send task activity webhooks if task is not user owned', async () => {
- let uuid = generateUUID();
+ const uuid = generateUUID();
await user.update({
balance: 10,
});
- let guild = await generateGroup(user);
- let challenge = await generateChallenge(user, guild);
+ const guild = await generateGroup(user);
+ const challenge = await generateChallenge(user, guild);
await user.post(`/challenges/${challenge._id}/join`);
await user.post('/user/webhook', {
@@ -211,7 +212,7 @@ describe('PUT /tasks/:id', () => {
},
});
- let task = await user.post(`/tasks/challenge/${challenge._id}`, {
+ const task = await user.post(`/tasks/challenge/${challenge._id}`, {
text: 'test habit',
type: 'habit',
});
@@ -222,7 +223,7 @@ describe('PUT /tasks/:id', () => {
await sleep();
- let body = server.getWebhookData(uuid);
+ const body = server.getWebhookData(uuid);
expect(body).to.not.exist;
});
@@ -242,17 +243,17 @@ describe('PUT /tasks/:id', () => {
it('can update reminders (replace them)', async () => {
await user.put(`/tasks/${daily._id}`, {
reminders: [
- {time: new Date(), startDate: new Date()},
+ { time: new Date(), startDate: new Date() },
],
});
- let id1 = generateUUID();
- let id2 = generateUUID();
+ const id1 = generateUUID();
+ const id2 = generateUUID();
- let savedDaily = await user.put(`/tasks/${daily._id}`, {
+ const savedDaily = await user.put(`/tasks/${daily._id}`, {
reminders: [
- {id: id1, time: new Date(), startDate: new Date()},
- {id: id2, time: new Date(), startDate: new Date()},
+ { id: id1, time: new Date(), startDate: new Date() },
+ { id: id2, time: new Date(), startDate: new Date() },
],
});
@@ -262,7 +263,7 @@ describe('PUT /tasks/:id', () => {
});
it('can set a alias if no other task has that alias', async () => {
- let savedDaily = await user.put(`/tasks/${daily._id}`, {
+ const savedDaily = await user.put(`/tasks/${daily._id}`, {
alias: 'alias',
});
@@ -294,7 +295,7 @@ describe('PUT /tasks/:id', () => {
text: 'saved',
});
- let fetchedDaily = await user.get(`/tasks/${daily._id}`);
+ const fetchedDaily = await user.get(`/tasks/${daily._id}`);
expect(fetchedDaily.text).to.eql('saved');
});
@@ -322,7 +323,7 @@ describe('PUT /tasks/:id', () => {
});
it('updates a habit', async () => {
- let savedHabit = await user.put(`/tasks/${habit._id}`, {
+ const savedHabit = await user.put(`/tasks/${habit._id}`, {
text: 'some new text',
up: false,
down: false,
@@ -348,7 +349,7 @@ describe('PUT /tasks/:id', () => {
});
it('updates a todo', async () => {
- let savedTodo = await user.put(`/tasks/${todo._id}`, {
+ const savedTodo = await user.put(`/tasks/${todo._id}`, {
text: 'some new text',
notes: 'some new notes',
});
@@ -360,14 +361,14 @@ describe('PUT /tasks/:id', () => {
it('can update checklists (replace it)', async () => {
await user.put(`/tasks/${todo._id}`, {
checklist: [
- {text: 123, completed: false},
- {text: 456, completed: true},
+ { text: 123, completed: false },
+ { text: 456, completed: true },
],
});
- let savedTodo = await user.put(`/tasks/${todo._id}`, {
+ const savedTodo = await user.put(`/tasks/${todo._id}`, {
checklist: [
- {text: 789, completed: false},
+ { text: 789, completed: false },
],
});
@@ -377,12 +378,12 @@ describe('PUT /tasks/:id', () => {
});
it('can update tags (replace them)', async () => {
- let finalUUID = generateUUID();
+ const finalUUID = generateUUID();
await user.put(`/tasks/${todo._id}`, {
tags: [generateUUID(), generateUUID()],
});
- let savedTodo = await user.put(`/tasks/${todo._id}`, {
+ const savedTodo = await user.put(`/tasks/${todo._id}`, {
tags: [finalUUID],
});
@@ -403,7 +404,7 @@ describe('PUT /tasks/:id', () => {
});
it('updates a daily', async () => {
- let savedDaily = await user.put(`/tasks/${daily._id}`, {
+ const savedDaily = await user.put(`/tasks/${daily._id}`, {
text: 'some new text',
notes: 'some new notes',
frequency: 'daily',
@@ -424,14 +425,14 @@ describe('PUT /tasks/:id', () => {
it('can update checklists (replace it)', async () => {
await user.put(`/tasks/${daily._id}`, {
checklist: [
- {text: 123, completed: false},
- {text: 456, completed: true},
+ { text: 123, completed: false },
+ { text: 456, completed: true },
],
});
- let savedDaily = await user.put(`/tasks/${daily._id}`, {
+ const savedDaily = await user.put(`/tasks/${daily._id}`, {
checklist: [
- {text: 789, completed: false},
+ { text: 789, completed: false },
],
});
@@ -441,12 +442,12 @@ describe('PUT /tasks/:id', () => {
});
it('can update tags (replace them)', async () => {
- let finalUUID = generateUUID();
+ const finalUUID = generateUUID();
await user.put(`/tasks/${daily._id}`, {
tags: [generateUUID(), generateUUID()],
});
- let savedDaily = await user.put(`/tasks/${daily._id}`, {
+ const savedDaily = await user.put(`/tasks/${daily._id}`, {
tags: [finalUUID],
});
@@ -459,7 +460,7 @@ describe('PUT /tasks/:id', () => {
frequency: 'daily',
});
- let savedDaily = await user.put(`/tasks/${daily._id}`, {
+ const savedDaily = await user.put(`/tasks/${daily._id}`, {
repeat: {
m: false,
su: false,
@@ -482,7 +483,7 @@ describe('PUT /tasks/:id', () => {
frequency: 'weekly',
});
- let savedDaily = await user.put(`/tasks/${daily._id}`, {
+ const savedDaily = await user.put(`/tasks/${daily._id}`, {
everyX: 5,
});
@@ -490,7 +491,7 @@ describe('PUT /tasks/:id', () => {
});
it('defaults startDate to today if none date object is passed in', async () => {
- let savedDaily = await user.put(`/tasks/${daily._id}`, {
+ const savedDaily = await user.put(`/tasks/${daily._id}`, {
frequency: 'weekly',
});
@@ -511,7 +512,7 @@ describe('PUT /tasks/:id', () => {
});
it('updates a reward', async () => {
- let savedReward = await user.put(`/tasks/${reward._id}`, {
+ const savedReward = await user.put(`/tasks/${reward._id}`, {
text: 'some new text',
notes: 'some new notes',
value: 10,
@@ -523,7 +524,7 @@ describe('PUT /tasks/:id', () => {
});
it('requires value to be coerced into a number', async () => {
- let savedReward = await user.put(`/tasks/${reward._id}`, {
+ const savedReward = await user.put(`/tasks/${reward._id}`, {
value: '100',
});
diff --git a/test/api/v3/integration/tasks/challenges/DELETE-tasks_challenge_challengeId_checklist_itemId.test.js b/test/api/v3/integration/tasks/challenges/DELETE-tasks_challenge_challengeId_checklist_itemId.test.js
index 5cdbce319b..02c66a0139 100644
--- a/test/api/v3/integration/tasks/challenges/DELETE-tasks_challenge_challengeId_checklist_itemId.test.js
+++ b/test/api/v3/integration/tasks/challenges/DELETE-tasks_challenge_challengeId_checklist_itemId.test.js
@@ -1,10 +1,10 @@
+import { v4 as generateUUID } from 'uuid';
import {
generateUser,
generateGroup,
generateChallenge,
translate as t,
} from '../../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
describe('DELETE /tasks/:taskId/checklist/:itemId', () => {
let user;
@@ -27,7 +27,7 @@ describe('DELETE /tasks/:taskId/checklist/:itemId', () => {
});
it('fails on checklist item not found', async () => {
- let createdTask = await user.post(`/tasks/challenge/${challenge._id}`, {
+ const createdTask = await user.post(`/tasks/challenge/${challenge._id}`, {
type: 'daily',
text: 'daily with checklist',
});
@@ -40,17 +40,17 @@ describe('DELETE /tasks/:taskId/checklist/:itemId', () => {
});
it('returns error when user is not a member of the challenge', async () => {
- let task = await user.post(`/tasks/challenge/${challenge._id}`, {
+ const task = await user.post(`/tasks/challenge/${challenge._id}`, {
type: 'daily',
text: 'Daily with checklist',
});
- let savedTask = await user.post(`/tasks/${task._id}/checklist`, {
+ const savedTask = await user.post(`/tasks/${task._id}/checklist`, {
text: 'Checklist Item 1',
completed: false,
});
- let anotherUser = await generateUser();
+ const anotherUser = await generateUser();
await expect(anotherUser.del(`/tasks/${task._id}/checklist/${savedTask.checklist[0].id}`))
.to.eventually.be.rejected.and.eql({
@@ -61,12 +61,12 @@ describe('DELETE /tasks/:taskId/checklist/:itemId', () => {
});
it('deletes a checklist item from a daily', async () => {
- let task = await user.post(`/tasks/challenge/${challenge._id}`, {
+ const task = await user.post(`/tasks/challenge/${challenge._id}`, {
type: 'daily',
text: 'Daily with checklist',
});
- let savedTask = await user.post(`/tasks/${task._id}/checklist`, {text: 'Checklist Item 1', completed: false});
+ let savedTask = await user.post(`/tasks/${task._id}/checklist`, { text: 'Checklist Item 1', completed: false });
await user.del(`/tasks/${task._id}/checklist/${savedTask.checklist[0].id}`);
savedTask = await user.get(`/tasks/${task._id}`);
@@ -75,12 +75,12 @@ describe('DELETE /tasks/:taskId/checklist/:itemId', () => {
});
it('deletes a checklist item from a todo', async () => {
- let task = await user.post(`/tasks/challenge/${challenge._id}`, {
+ const task = await user.post(`/tasks/challenge/${challenge._id}`, {
type: 'todo',
text: 'Todo with checklist',
});
- let savedTask = await user.post(`/tasks/${task._id}/checklist`, {text: 'Checklist Item 1', completed: false});
+ let savedTask = await user.post(`/tasks/${task._id}/checklist`, { text: 'Checklist Item 1', completed: false });
await user.del(`/tasks/${task._id}/checklist/${savedTask.checklist[0].id}`);
savedTask = await user.get(`/tasks/${task._id}`);
@@ -89,7 +89,7 @@ describe('DELETE /tasks/:taskId/checklist/:itemId', () => {
});
it('does not work with habits', async () => {
- let habit = await user.post(`/tasks/challenge/${challenge._id}`, {
+ const habit = await user.post(`/tasks/challenge/${challenge._id}`, {
type: 'habit',
text: 'habit with checklist',
});
@@ -102,7 +102,7 @@ describe('DELETE /tasks/:taskId/checklist/:itemId', () => {
});
it('does not work with rewards', async () => {
- let reward = await user.post(`/tasks/challenge/${challenge._id}`, {
+ const reward = await user.post(`/tasks/challenge/${challenge._id}`, {
type: 'reward',
text: 'reward with checklist',
});
diff --git a/test/api/v3/integration/tasks/challenges/DELETE-tasks_id_challenge_challengeId.test.js b/test/api/v3/integration/tasks/challenges/DELETE-tasks_id_challenge_challengeId.test.js
index 44478e67b6..14245c3e54 100644
--- a/test/api/v3/integration/tasks/challenges/DELETE-tasks_id_challenge_challengeId.test.js
+++ b/test/api/v3/integration/tasks/challenges/DELETE-tasks_id_challenge_challengeId.test.js
@@ -1,3 +1,4 @@
+import { v4 as generateUUID } from 'uuid';
import {
generateUser,
generateGroup,
@@ -5,7 +6,6 @@ import {
sleep,
translate as t,
} from '../../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
describe('DELETE /tasks/:id', () => {
let user;
@@ -36,7 +36,7 @@ describe('DELETE /tasks/:id', () => {
});
it('returns error when user is not leader of the challenge', async () => {
- let anotherUser = await generateUser();
+ const anotherUser = await generateUser();
await expect(anotherUser.del(`/tasks/${task._id}`)).to.eventually.be.rejected.and.eql({
code: 401,
@@ -71,8 +71,9 @@ describe('DELETE /tasks/:id', () => {
type: 'habit',
});
- let anotherUserWithNewChallengeTask = await anotherUser.get('/user');
- anotherUsersNewChallengeTaskID = anotherUserWithNewChallengeTask.tasksOrder.habits[0];
+ const anotherUserWithNewChallengeTask = await anotherUser.get('/user');
+ anotherUsersNewChallengeTaskID = anotherUserWithNewChallengeTask // eslint-disable-line prefer-destructuring, max-len
+ .tasksOrder.habits[0];
});
it('returns error when user attempts to delete an active challenge task', async () => {
@@ -96,7 +97,8 @@ describe('DELETE /tasks/:id', () => {
});
});
- // TODO for some reason this test fails on TravisCI, review after mongodb indexes have been added
+ // TODO for some reason this test fails on TravisCI,
+ // review after mongodb indexes have been added
xit('allows user to delete challenge task after challenge task is broken', async () => {
await expect(user.del(`/tasks/${newChallengeTask._id}`));
diff --git a/test/api/v3/integration/tasks/challenges/GET_tasks_challenge.id.test.js b/test/api/v3/integration/tasks/challenges/GET_tasks_challenge.id.test.js
index 8947db4929..9765ec05a3 100644
--- a/test/api/v3/integration/tasks/challenges/GET_tasks_challenge.id.test.js
+++ b/test/api/v3/integration/tasks/challenges/GET_tasks_challenge.id.test.js
@@ -1,20 +1,20 @@
+import { v4 as generateUUID } from 'uuid';
+import { each } from 'lodash';
import {
generateUser,
generateGroup,
generateChallenge,
translate as t,
} from '../../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
-import { each } from 'lodash';
describe('GET /tasks/challenge/:challengeId', () => {
let user;
let guild;
let challenge;
let task;
- let tasks = [];
+ const tasks = [];
let challengeWithTask;
- let tasksToTest = {
+ const tasksToTest = {
habit: {
text: 'test habit',
type: 'habit',
@@ -46,7 +46,7 @@ describe('GET /tasks/challenge/:challengeId', () => {
});
it('returns error when challenge is not found', async () => {
- let dummyId = generateUUID();
+ const dummyId = generateUUID();
await expect(user.get(`/tasks/challenge/${dummyId}`)).to.eventually.be.rejected.and.eql({
code: 404,
@@ -64,17 +64,17 @@ describe('GET /tasks/challenge/:challengeId', () => {
});
it('gets challenge tasks', async () => {
- let getTask = await user.get(`/tasks/challenge/${challengeWithTask._id}`);
+ const getTask = await user.get(`/tasks/challenge/${challengeWithTask._id}`);
expect(getTask).to.eql(tasks);
});
it('gets challenge tasks filtered by type', async () => {
- let challengeTasks = await user.get(`/tasks/challenge/${challengeWithTask._id}?type=${task.type}s`);
+ const challengeTasks = await user.get(`/tasks/challenge/${challengeWithTask._id}?type=${task.type}s`);
expect(challengeTasks).to.eql([task]);
});
it('cannot get a task owned by someone else', async () => {
- let anotherUser = await generateUser();
+ const anotherUser = await generateUser();
await expect(anotherUser.get(`/tasks/challenge/${challengeWithTask._id}`)).to.eventually.be.rejected.and.eql({
code: 404,
diff --git a/test/api/v3/integration/tasks/challenges/POST-tasks_challenge_challengeId_taskId_checklist.test.js b/test/api/v3/integration/tasks/challenges/POST-tasks_challenge_challengeId_taskId_checklist.test.js
index fcf4323f8f..a8e249d4cc 100644
--- a/test/api/v3/integration/tasks/challenges/POST-tasks_challenge_challengeId_taskId_checklist.test.js
+++ b/test/api/v3/integration/tasks/challenges/POST-tasks_challenge_challengeId_taskId_checklist.test.js
@@ -1,10 +1,10 @@
+import { v4 as generateUUID } from 'uuid';
import {
generateUser,
generateGroup,
generateChallenge,
translate as t,
} from '../../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
describe('POST /tasks/:taskId/checklist/', () => {
let user;
@@ -29,12 +29,12 @@ describe('POST /tasks/:taskId/checklist/', () => {
});
it('returns error when user is not a member of the challenge', async () => {
- let task = await user.post(`/tasks/challenge/${challenge._id}`, {
+ const task = await user.post(`/tasks/challenge/${challenge._id}`, {
type: 'daily',
text: 'Daily with checklist',
});
- let anotherUser = await generateUser();
+ const anotherUser = await generateUser();
await expect(anotherUser.post(`/tasks/${task._id}/checklist`, {
text: 'Checklist Item 1',
@@ -49,12 +49,12 @@ describe('POST /tasks/:taskId/checklist/', () => {
});
it('adds a checklist item to a daily', async () => {
- let task = await user.post(`/tasks/challenge/${challenge._id}`, {
+ const task = await user.post(`/tasks/challenge/${challenge._id}`, {
type: 'daily',
text: 'Daily with checklist',
});
- let savedTask = await user.post(`/tasks/${task._id}/checklist`, {
+ const savedTask = await user.post(`/tasks/${task._id}/checklist`, {
text: 'Checklist Item 1',
ignored: false,
_id: 123,
@@ -69,12 +69,12 @@ describe('POST /tasks/:taskId/checklist/', () => {
});
it('adds a checklist item to a todo', async () => {
- let task = await user.post(`/tasks/challenge/${challenge._id}`, {
+ const task = await user.post(`/tasks/challenge/${challenge._id}`, {
type: 'todo',
text: 'Todo with checklist',
});
- let savedTask = await user.post(`/tasks/${task._id}/checklist`, {
+ const savedTask = await user.post(`/tasks/${task._id}/checklist`, {
text: 'Checklist Item 1',
ignored: false,
_id: 123,
@@ -89,7 +89,7 @@ describe('POST /tasks/:taskId/checklist/', () => {
});
it('does not add a checklist to habits', async () => {
- let habit = await user.post(`/tasks/challenge/${challenge._id}`, {
+ const habit = await user.post(`/tasks/challenge/${challenge._id}`, {
type: 'habit',
text: 'habit with checklist',
});
@@ -104,7 +104,7 @@ describe('POST /tasks/:taskId/checklist/', () => {
});
it('does not add a checklist to rewards', async () => {
- let reward = await user.post(`/tasks/challenge/${challenge._id}`, {
+ const reward = await user.post(`/tasks/challenge/${challenge._id}`, {
type: 'reward',
text: 'reward with checklist',
});
diff --git a/test/api/v3/integration/tasks/challenges/POST-tasks_challenge_id.test.js b/test/api/v3/integration/tasks/challenges/POST-tasks_challenge_id.test.js
index 54c99ac964..f458d97e46 100644
--- a/test/api/v3/integration/tasks/challenges/POST-tasks_challenge_id.test.js
+++ b/test/api/v3/integration/tasks/challenges/POST-tasks_challenge_id.test.js
@@ -1,11 +1,11 @@
+import { v4 as generateUUID } from 'uuid';
+import { find } from 'lodash';
import {
generateUser,
generateGroup,
generateChallenge,
translate as t,
} from '../../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
-import { find } from 'lodash';
describe('POST /tasks/challenge/:challengeId', () => {
let user;
@@ -17,14 +17,14 @@ describe('POST /tasks/challenge/:challengeId', () => {
}
beforeEach(async () => {
- user = await generateUser({balance: 1});
+ user = await generateUser({ balance: 1 });
guild = await generateGroup(user);
challenge = await generateChallenge(user, guild);
await user.post(`/challenges/${challenge._id}/join`);
});
it('returns error when challenge is not found', async () => {
- let fakeChallengeId = generateUUID();
+ const fakeChallengeId = generateUUID();
await expect(user.post(`/tasks/challenge/${fakeChallengeId}`, {
text: 'test habit',
@@ -41,7 +41,7 @@ describe('POST /tasks/challenge/:challengeId', () => {
it('allows leader to add tasks to a challenge when not a member', async () => {
await user.post(`/challenges/${challenge._id}/leave`);
- let task = await user.post(`/tasks/challenge/${challenge._id}`, {
+ const task = await user.post(`/tasks/challenge/${challenge._id}`, {
text: 'test habit',
type: 'habit',
up: false,
@@ -49,14 +49,14 @@ describe('POST /tasks/challenge/:challengeId', () => {
notes: 1976,
});
- let {tasksOrder} = await user.get(`/challenges/${challenge._id}`);
+ const { tasksOrder } = await user.get(`/challenges/${challenge._id}`);
expect(tasksOrder.habits).to.include(task.id);
});
it('allows non-leader admin to add tasks to a challenge when not a member', async () => {
- const admin = await generateUser({'contributor.admin': true});
- let task = await admin.post(`/tasks/challenge/${challenge._id}`, {
+ const admin = await generateUser({ 'contributor.admin': true });
+ const task = await admin.post(`/tasks/challenge/${challenge._id}`, {
text: 'test habit from admin',
type: 'habit',
up: false,
@@ -64,7 +64,7 @@ describe('POST /tasks/challenge/:challengeId', () => {
notes: 1976,
});
- let {tasksOrder} = await user.get(`/challenges/${challenge._id}`);
+ const { tasksOrder } = await user.get(`/challenges/${challenge._id}`);
expect(tasksOrder.habits).to.include(task.id);
});
@@ -82,7 +82,7 @@ describe('POST /tasks/challenge/:challengeId', () => {
});
it('returns error when non leader tries to edit challenge', async () => {
- let userThatIsNotLeaderOfChallenge = await generateUser({
+ const userThatIsNotLeaderOfChallenge = await generateUser({
challenges: [challenge._id],
});
@@ -100,17 +100,17 @@ describe('POST /tasks/challenge/:challengeId', () => {
});
it('creates a habit', async () => {
- let task = await user.post(`/tasks/challenge/${challenge._id}`, {
+ const task = await user.post(`/tasks/challenge/${challenge._id}`, {
text: 'test habit',
type: 'habit',
up: false,
down: true,
notes: 1976,
});
- let challengeWithTask = await user.get(`/challenges/${challenge._id}`);
+ const challengeWithTask = await user.get(`/challenges/${challenge._id}`);
- let memberTasks = await user.get('/tasks/user');
- let userChallengeTask = find(memberTasks, findUserChallengeTask);
+ const memberTasks = await user.get('/tasks/user');
+ const userChallengeTask = find(memberTasks, findUserChallengeTask);
expect(challengeWithTask.tasksOrder.habits.indexOf(task._id)).to.be.above(-1);
expect(task.challenge.id).to.equal(challenge._id);
@@ -124,15 +124,15 @@ describe('POST /tasks/challenge/:challengeId', () => {
});
it('creates a todo', async () => {
- let task = await user.post(`/tasks/challenge/${challenge._id}`, {
+ const task = await user.post(`/tasks/challenge/${challenge._id}`, {
text: 'test todo',
type: 'todo',
notes: 1976,
});
- let challengeWithTask = await user.get(`/challenges/${challenge._id}`);
+ const challengeWithTask = await user.get(`/challenges/${challenge._id}`);
- let memberTasks = await user.get('/tasks/user');
- let userChallengeTask = find(memberTasks, findUserChallengeTask);
+ const memberTasks = await user.get('/tasks/user');
+ const userChallengeTask = find(memberTasks, findUserChallengeTask);
expect(challengeWithTask.tasksOrder.todos.indexOf(task._id)).to.be.above(-1);
expect(task.challenge.id).to.equal(challenge._id);
@@ -144,8 +144,8 @@ describe('POST /tasks/challenge/:challengeId', () => {
});
it('creates a daily', async () => {
- let now = new Date();
- let task = await user.post(`/tasks/challenge/${challenge._id}`, {
+ const now = new Date();
+ const task = await user.post(`/tasks/challenge/${challenge._id}`, {
text: 'test daily',
type: 'daily',
notes: 1976,
@@ -153,10 +153,10 @@ describe('POST /tasks/challenge/:challengeId', () => {
everyX: 5,
startDate: now,
});
- let challengeWithTask = await user.get(`/challenges/${challenge._id}`);
+ const challengeWithTask = await user.get(`/challenges/${challenge._id}`);
- let memberTasks = await user.get('/tasks/user');
- let userChallengeTask = find(memberTasks, findUserChallengeTask);
+ const memberTasks = await user.get('/tasks/user');
+ const userChallengeTask = find(memberTasks, findUserChallengeTask);
expect(challengeWithTask.tasksOrder.dailys.indexOf(task._id)).to.be.above(-1);
expect(task.challenge.id).to.equal(challenge._id);
diff --git a/test/api/v3/integration/tasks/challenges/POST-tasks_challenges_challengeId_tasks_id_score_direction.test.js b/test/api/v3/integration/tasks/challenges/POST-tasks_challenges_challengeId_tasks_id_score_direction.test.js
index d65b931056..59b37f2b50 100644
--- a/test/api/v3/integration/tasks/challenges/POST-tasks_challenges_challengeId_tasks_id_score_direction.test.js
+++ b/test/api/v3/integration/tasks/challenges/POST-tasks_challenges_challengeId_tasks_id_score_direction.test.js
@@ -1,10 +1,10 @@
+import { find } from 'lodash';
import {
generateUser,
generateGroup,
generateChallenge,
sleep,
} from '../../../../../helpers/api-integration/v3';
-import { find } from 'lodash';
describe('POST /tasks/:id/score/:direction', () => {
let user;
@@ -29,16 +29,16 @@ describe('POST /tasks/:id/score/:direction', () => {
type: 'habit',
});
await sleep(1);
- let updatedUser = await user.get('/user');
- usersChallengeTaskId = updatedUser.tasksOrder.habits[0];
+ const updatedUser = await user.get('/user');
+ usersChallengeTaskId = updatedUser.tasksOrder.habits[0]; // eslint-disable-line prefer-destructuring, max-len
});
it('scores and adds history', async () => {
await user.post(`/tasks/${usersChallengeTaskId}/score/up`);
- let tasks = await user.get(`/tasks/challenge/${challenge._id}`);
- let task = find(tasks, {_id: habit._id});
- previousTaskHistory = task.history[0];
+ const tasks = await user.get(`/tasks/challenge/${challenge._id}`);
+ const task = find(tasks, { _id: habit._id });
+ previousTaskHistory = task.history[0]; // eslint-disable-line prefer-destructuring, max-len
expect(task.value).to.equal(1);
expect(task.history).to.have.lengthOf(1);
@@ -47,8 +47,8 @@ describe('POST /tasks/:id/score/:direction', () => {
it('should update the history', async () => {
await user.post(`/tasks/${usersChallengeTaskId}/score/up`);
- let tasks = await user.get(`/tasks/challenge/${challenge._id}`);
- let task = find(tasks, {_id: habit._id});
+ const tasks = await user.get(`/tasks/challenge/${challenge._id}`);
+ const task = find(tasks, { _id: habit._id });
expect(task.history).to.have.lengthOf(1);
expect(task.history[0].date).to.not.equal(previousTaskHistory.date);
@@ -67,23 +67,23 @@ describe('POST /tasks/:id/score/:direction', () => {
type: 'daily',
});
await sleep(1);
- let updatedUser = await user.get('/user');
- usersChallengeTaskId = updatedUser.tasksOrder.dailys[0];
+ const updatedUser = await user.get('/user');
+ usersChallengeTaskId = updatedUser.tasksOrder.dailys[0]; // eslint-disable-line prefer-destructuring, max-len
});
it('it scores and adds history', async () => {
await user.post(`/tasks/${usersChallengeTaskId}/score/up`);
- let tasks = await user.get(`/tasks/challenge/${challenge._id}`);
- let task = find(tasks, {_id: daily._id});
- previousTaskHistory = task.history[0];
+ const tasks = await user.get(`/tasks/challenge/${challenge._id}`);
+ const task = find(tasks, { _id: daily._id });
+ previousTaskHistory = task.history[0]; // eslint-disable-line prefer-destructuring
expect(task.history).to.have.lengthOf(1);
expect(task.value).to.equal(1);
});
it('should update the history', async () => {
- let newCron = new Date(2015, 11, 20);
+ const newCron = new Date(2015, 11, 20);
await user.post('/debug/set-cron', {
lastCron: newCron,
@@ -92,8 +92,8 @@ describe('POST /tasks/:id/score/:direction', () => {
await user.post('/cron');
await user.post(`/tasks/${usersChallengeTaskId}/score/up`);
- let tasks = await user.get(`/tasks/challenge/${challenge._id}`);
- let task = find(tasks, {_id: daily._id});
+ const tasks = await user.get(`/tasks/challenge/${challenge._id}`);
+ const task = find(tasks, { _id: daily._id });
expect(task.history).to.have.lengthOf(1);
expect(task.history[0].date).to.not.equal(previousTaskHistory.date);
@@ -111,15 +111,15 @@ describe('POST /tasks/:id/score/:direction', () => {
type: 'todo',
});
await sleep(1);
- let updatedUser = await user.get('/user');
- usersChallengeTaskId = updatedUser.tasksOrder.todos[0];
+ const updatedUser = await user.get('/user');
+ usersChallengeTaskId = updatedUser.tasksOrder.todos[0]; // eslint-disable-line prefer-destructuring, max-len
});
it('scores but does not add history', async () => {
await user.post(`/tasks/${usersChallengeTaskId}/score/up`);
- let tasks = await user.get(`/tasks/challenge/${challenge._id}`);
- let task = find(tasks, {_id: todo._id});
+ const tasks = await user.get(`/tasks/challenge/${challenge._id}`);
+ const task = find(tasks, { _id: todo._id });
expect(task.history).to.not.exist;
expect(task.value).to.equal(1);
@@ -136,15 +136,15 @@ describe('POST /tasks/:id/score/:direction', () => {
type: 'reward',
});
await sleep(1);
- let updatedUser = await user.get('/user');
- usersChallengeTaskId = updatedUser.tasksOrder.todos[0];
+ const updatedUser = await user.get('/user');
+ usersChallengeTaskId = updatedUser.tasksOrder.todos[0]; // eslint-disable-line prefer-destructuring, max-len
});
it('does not score', async () => {
await user.post(`/tasks/${usersChallengeTaskId}/score/up`);
- let tasks = await user.get(`/tasks/challenge/${challenge._id}`);
- let task = find(tasks, {_id: reward._id});
+ const tasks = await user.get(`/tasks/challenge/${challenge._id}`);
+ const task = find(tasks, { _id: reward._id });
expect(task.history).to.not.exist;
expect(task.value).to.equal(0);
diff --git a/test/api/v3/integration/tasks/challenges/PUT-tasks_challenge_challengeId.test.js b/test/api/v3/integration/tasks/challenges/PUT-tasks_challenge_challengeId.test.js
index 2a5fe64d25..d7ee94728c 100644
--- a/test/api/v3/integration/tasks/challenges/PUT-tasks_challenge_challengeId.test.js
+++ b/test/api/v3/integration/tasks/challenges/PUT-tasks_challenge_challengeId.test.js
@@ -1,10 +1,10 @@
+import { v4 as generateUUID } from 'uuid';
import {
generateUser,
generateGroup,
generateChallenge,
translate as t,
} from '../../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
describe('PUT /tasks/:id', () => {
let user;
@@ -42,7 +42,7 @@ describe('PUT /tasks/:id', () => {
});
it('returns error when user is not a member of the challenge', async () => {
- let anotherUser = await generateUser();
+ const anotherUser = await generateUser();
await expect(anotherUser.put(`/tasks/${task._id}`, {
text: 'some new text',
@@ -80,7 +80,7 @@ describe('PUT /tasks/:id', () => {
it(`ignores setting _id, type, userId, history, createdAt,
updatedAt, challenge, completed, streak,
dateCompleted fields`, async () => {
- let savedTask = await user.put(`/tasks/${task._id}`, {
+ const savedTask = await user.put(`/tasks/${task._id}`, {
_id: 123,
type: 'daily',
userId: 123,
@@ -108,7 +108,7 @@ describe('PUT /tasks/:id', () => {
});
it('ignores invalid fields', async () => {
- let savedTask = await user.put(`/tasks/${task._id}`, {
+ const savedTask = await user.put(`/tasks/${task._id}`, {
notValid: true,
});
@@ -128,7 +128,7 @@ describe('PUT /tasks/:id', () => {
});
it('updates a habit', async () => {
- let savedHabit = await user.put(`/tasks/${habit._id}`, {
+ const savedHabit = await user.put(`/tasks/${habit._id}`, {
text: 'some new text',
up: false,
down: false,
@@ -171,7 +171,7 @@ describe('PUT /tasks/:id', () => {
});
it('updates a todo', async () => {
- let savedTodo = await user.put(`/tasks/${todo._id}`, {
+ const savedTodo = await user.put(`/tasks/${todo._id}`, {
text: 'some new text',
notes: 'some new notes',
});
@@ -183,14 +183,14 @@ describe('PUT /tasks/:id', () => {
it('can update checklists (replace it)', async () => {
await user.put(`/tasks/${todo._id}`, {
checklist: [
- {text: 123, completed: false},
- {text: 456, completed: true},
+ { text: 123, completed: false },
+ { text: 456, completed: true },
],
});
- let savedTodo = await user.put(`/tasks/${todo._id}`, {
+ const savedTodo = await user.put(`/tasks/${todo._id}`, {
checklist: [
- {text: 789, completed: false},
+ { text: 789, completed: false },
],
});
@@ -200,12 +200,12 @@ describe('PUT /tasks/:id', () => {
});
it('can update tags (replace them)', async () => {
- let finalUUID = generateUUID();
+ const finalUUID = generateUUID();
await user.put(`/tasks/${todo._id}`, {
tags: [generateUUID(), generateUUID()],
});
- let savedTodo = await user.put(`/tasks/${todo._id}`, {
+ const savedTodo = await user.put(`/tasks/${todo._id}`, {
tags: [finalUUID],
});
@@ -226,7 +226,7 @@ describe('PUT /tasks/:id', () => {
});
it('updates a daily', async () => {
- let savedDaily = await user.put(`/tasks/${daily._id}`, {
+ const savedDaily = await user.put(`/tasks/${daily._id}`, {
text: 'some new text',
notes: 'some new notes',
frequency: 'daily',
@@ -242,14 +242,14 @@ describe('PUT /tasks/:id', () => {
it('can update checklists (replace it)', async () => {
await user.put(`/tasks/${daily._id}`, {
checklist: [
- {text: 123, completed: false},
- {text: 456, completed: true},
+ { text: 123, completed: false },
+ { text: 456, completed: true },
],
});
- let savedDaily = await user.put(`/tasks/${daily._id}`, {
+ const savedDaily = await user.put(`/tasks/${daily._id}`, {
checklist: [
- {text: 789, completed: false},
+ { text: 789, completed: false },
],
});
@@ -259,12 +259,12 @@ describe('PUT /tasks/:id', () => {
});
it('can update tags (replace them)', async () => {
- let finalUUID = generateUUID();
+ const finalUUID = generateUUID();
await user.put(`/tasks/${daily._id}`, {
tags: [generateUUID(), generateUUID()],
});
- let savedDaily = await user.put(`/tasks/${daily._id}`, {
+ const savedDaily = await user.put(`/tasks/${daily._id}`, {
tags: [finalUUID],
});
@@ -277,7 +277,7 @@ describe('PUT /tasks/:id', () => {
frequency: 'daily',
});
- let savedDaily = await user.put(`/tasks/${daily._id}`, {
+ const savedDaily = await user.put(`/tasks/${daily._id}`, {
repeat: {
m: false,
su: false,
@@ -300,7 +300,7 @@ describe('PUT /tasks/:id', () => {
frequency: 'weekly',
});
- let savedDaily = await user.put(`/tasks/${daily._id}`, {
+ const savedDaily = await user.put(`/tasks/${daily._id}`, {
everyX: 5,
});
@@ -308,7 +308,7 @@ describe('PUT /tasks/:id', () => {
});
it('defaults startDate to today if none date object is passed in', async () => {
- let savedDaily = await user.put(`/tasks/${daily._id}`, {
+ const savedDaily = await user.put(`/tasks/${daily._id}`, {
frequency: 'weekly',
});
@@ -329,7 +329,7 @@ describe('PUT /tasks/:id', () => {
});
it('updates a reward', async () => {
- let savedReward = await user.put(`/tasks/${reward._id}`, {
+ const savedReward = await user.put(`/tasks/${reward._id}`, {
text: 'some new text',
notes: 'some new notes',
value: 11,
@@ -341,7 +341,7 @@ describe('PUT /tasks/:id', () => {
});
it('requires value to be coerced into a number', async () => {
- let savedReward = await user.put(`/tasks/${reward._id}`, {
+ const savedReward = await user.put(`/tasks/${reward._id}`, {
value: '100',
});
diff --git a/test/api/v3/integration/tasks/challenges/PUT-tasks_challenge_challengeId_tasksId_checklist_itemId.test.js b/test/api/v3/integration/tasks/challenges/PUT-tasks_challenge_challengeId_tasksId_checklist_itemId.test.js
index 19e72e9617..5e8a45dc9f 100644
--- a/test/api/v3/integration/tasks/challenges/PUT-tasks_challenge_challengeId_tasksId_checklist_itemId.test.js
+++ b/test/api/v3/integration/tasks/challenges/PUT-tasks_challenge_challengeId_tasksId_checklist_itemId.test.js
@@ -1,10 +1,10 @@
+import { v4 as generateUUID } from 'uuid';
import {
generateUser,
generateGroup,
generateChallenge,
translate as t,
} from '../../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
describe('PUT /tasks/:taskId/checklist/:itemId', () => {
let user;
@@ -19,7 +19,7 @@ describe('PUT /tasks/:taskId/checklist/:itemId', () => {
});
it('fails on task not found', async () => {
- let task = await user.post(`/tasks/challenge/${challenge._id}`, {
+ const task = await user.post(`/tasks/challenge/${challenge._id}`, {
type: 'todo',
text: 'Todo with checklist',
});
@@ -37,17 +37,17 @@ describe('PUT /tasks/:taskId/checklist/:itemId', () => {
});
it('returns error when user is not a member of the challenge', async () => {
- let task = await user.post(`/tasks/challenge/${challenge._id}`, {
+ const task = await user.post(`/tasks/challenge/${challenge._id}`, {
type: 'todo',
text: 'Todo with checklist',
});
- let savedTask = await user.post(`/tasks/${task._id}/checklist`, {
+ const savedTask = await user.post(`/tasks/${task._id}/checklist`, {
text: 'Checklist Item 1',
completed: false,
});
- let anotherUser = await generateUser();
+ const anotherUser = await generateUser();
await expect(anotherUser.put(`/tasks/${task._id}/checklist/${savedTask.checklist[0].id}`, {
text: 'updated',
@@ -62,7 +62,7 @@ describe('PUT /tasks/:taskId/checklist/:itemId', () => {
});
it('updates a checklist item on dailies', async () => {
- let task = await user.post(`/tasks/challenge/${challenge._id}`, {
+ const task = await user.post(`/tasks/challenge/${challenge._id}`, {
type: 'daily',
text: 'Daily with checklist',
});
@@ -85,7 +85,7 @@ describe('PUT /tasks/:taskId/checklist/:itemId', () => {
});
it('updates a checklist item on todos', async () => {
- let task = await user.post(`/tasks/challenge/${challenge._id}`, {
+ const task = await user.post(`/tasks/challenge/${challenge._id}`, {
type: 'todo',
text: 'Todo with checklist',
});
@@ -108,7 +108,7 @@ describe('PUT /tasks/:taskId/checklist/:itemId', () => {
});
it('fails on habits', async () => {
- let habit = await user.post('/tasks/user', {
+ const habit = await user.post('/tasks/user', {
type: 'habit',
text: 'habit with checklist',
});
@@ -121,7 +121,7 @@ describe('PUT /tasks/:taskId/checklist/:itemId', () => {
});
it('fails on rewards', async () => {
- let reward = await user.post('/tasks/user', {
+ const reward = await user.post('/tasks/user', {
type: 'reward',
text: 'reward with checklist',
});
@@ -142,7 +142,7 @@ describe('PUT /tasks/:taskId/checklist/:itemId', () => {
});
it('fails on checklist item not found', async () => {
- let createdTask = await user.post('/tasks/user', {
+ const createdTask = await user.post('/tasks/user', {
type: 'daily',
text: 'daily with checklist',
});
diff --git a/test/api/v3/integration/tasks/checklists/DELETE-tasks_taskId_checklist_itemId.test.js b/test/api/v3/integration/tasks/checklists/DELETE-tasks_taskId_checklist_itemId.test.js
index 940a3479b1..2016454178 100644
--- a/test/api/v3/integration/tasks/checklists/DELETE-tasks_taskId_checklist_itemId.test.js
+++ b/test/api/v3/integration/tasks/checklists/DELETE-tasks_taskId_checklist_itemId.test.js
@@ -1,8 +1,8 @@
+import { v4 as generateUUID } from 'uuid';
import {
generateUser,
translate as t,
} from '../../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
describe('DELETE /tasks/:taskId/checklist/:itemId', () => {
let user;
@@ -12,12 +12,12 @@ describe('DELETE /tasks/:taskId/checklist/:itemId', () => {
});
it('deletes a checklist item', async () => {
- let task = await user.post('/tasks/user', {
+ const task = await user.post('/tasks/user', {
type: 'daily',
text: 'Daily with checklist',
});
- let savedTask = await user.post(`/tasks/${task._id}/checklist`, {text: 'Checklist Item 1', completed: false});
+ let savedTask = await user.post(`/tasks/${task._id}/checklist`, { text: 'Checklist Item 1', completed: false });
await user.del(`/tasks/${task._id}/checklist/${savedTask.checklist[0].id}`);
savedTask = await user.get(`/tasks/${task._id}`);
@@ -26,13 +26,13 @@ describe('DELETE /tasks/:taskId/checklist/:itemId', () => {
});
it('deletes a checklist item using task alias', async () => {
- let task = await user.post('/tasks/user', {
+ const task = await user.post('/tasks/user', {
type: 'daily',
text: 'Daily with checklist',
alias: 'daily-with-alias',
});
- let savedTask = await user.post(`/tasks/${task._id}/checklist`, {text: 'Checklist Item 1', completed: false});
+ let savedTask = await user.post(`/tasks/${task._id}/checklist`, { text: 'Checklist Item 1', completed: false });
await user.del(`/tasks/${task.alias}/checklist/${savedTask.checklist[0].id}`);
savedTask = await user.get(`/tasks/${task._id}`);
@@ -41,7 +41,7 @@ describe('DELETE /tasks/:taskId/checklist/:itemId', () => {
});
it('does not work with habits', async () => {
- let habit = await user.post('/tasks/user', {
+ const habit = await user.post('/tasks/user', {
type: 'habit',
text: 'habit with checklist',
});
@@ -54,7 +54,7 @@ describe('DELETE /tasks/:taskId/checklist/:itemId', () => {
});
it('does not work with rewards', async () => {
- let reward = await user.post('/tasks/user', {
+ const reward = await user.post('/tasks/user', {
type: 'reward',
text: 'reward with checklist',
});
@@ -75,7 +75,7 @@ describe('DELETE /tasks/:taskId/checklist/:itemId', () => {
});
it('fails on checklist item not found', async () => {
- let createdTask = await user.post('/tasks/user', {
+ const createdTask = await user.post('/tasks/user', {
type: 'daily',
text: 'daily with checklist',
});
diff --git a/test/api/v3/integration/tasks/checklists/POST-tasks_taskId_checklist.test.js b/test/api/v3/integration/tasks/checklists/POST-tasks_taskId_checklist.test.js
index 488e0005d9..80bb5377e4 100644
--- a/test/api/v3/integration/tasks/checklists/POST-tasks_taskId_checklist.test.js
+++ b/test/api/v3/integration/tasks/checklists/POST-tasks_taskId_checklist.test.js
@@ -1,8 +1,8 @@
+import { v4 as generateUUID } from 'uuid';
import {
generateUser,
translate as t,
} from '../../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
describe('POST /tasks/:taskId/checklist/', () => {
let user;
@@ -12,12 +12,12 @@ describe('POST /tasks/:taskId/checklist/', () => {
});
it('adds a checklist item to a task', async () => {
- let task = await user.post('/tasks/user', {
+ const task = await user.post('/tasks/user', {
type: 'daily',
text: 'Daily with checklist',
});
- let savedTask = await user.post(`/tasks/${task._id}/checklist`, {
+ const savedTask = await user.post(`/tasks/${task._id}/checklist`, {
text: 'Checklist Item 1',
ignored: false,
_id: 123,
@@ -32,13 +32,13 @@ describe('POST /tasks/:taskId/checklist/', () => {
});
it('can use a alias to add checklist', async () => {
- let task = await user.post('/tasks/user', {
+ const task = await user.post('/tasks/user', {
type: 'daily',
text: 'Daily with checklist',
alias: 'task-with-shortname',
});
- let savedTask = await user.post(`/tasks/${task.alias}/checklist`, {
+ const savedTask = await user.post(`/tasks/${task.alias}/checklist`, {
text: 'Checklist Item 1',
ignored: false,
_id: 123,
@@ -53,7 +53,7 @@ describe('POST /tasks/:taskId/checklist/', () => {
});
it('does not add a checklist to habits', async () => {
- let habit = await user.post('/tasks/user', {
+ const habit = await user.post('/tasks/user', {
type: 'habit',
text: 'habit with checklist',
});
@@ -68,7 +68,7 @@ describe('POST /tasks/:taskId/checklist/', () => {
});
it('does not add a checklist to rewards', async () => {
- let reward = await user.post('/tasks/user', {
+ const reward = await user.post('/tasks/user', {
type: 'reward',
text: 'reward with checklist',
});
diff --git a/test/api/v3/integration/tasks/checklists/POST-tasks_taskId_checklist_itemId_score.test.js b/test/api/v3/integration/tasks/checklists/POST-tasks_taskId_checklist_itemId_score.test.js
index 00c238208a..b54b860ebe 100644
--- a/test/api/v3/integration/tasks/checklists/POST-tasks_taskId_checklist_itemId_score.test.js
+++ b/test/api/v3/integration/tasks/checklists/POST-tasks_taskId_checklist_itemId_score.test.js
@@ -1,10 +1,10 @@
+import { v4 as generateUUID } from 'uuid';
import {
generateUser,
translate as t,
server,
sleep,
} from '../../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
describe('POST /tasks/:taskId/checklist/:itemId/score', () => {
let user;
@@ -14,7 +14,7 @@ describe('POST /tasks/:taskId/checklist/:itemId/score', () => {
});
it('scores a checklist item', async () => {
- let task = await user.post('/tasks/user', {
+ const task = await user.post('/tasks/user', {
type: 'daily',
text: 'Daily with checklist',
});
@@ -31,7 +31,7 @@ describe('POST /tasks/:taskId/checklist/:itemId/score', () => {
});
it('can use a alias to score a checklist item', async () => {
- let task = await user.post('/tasks/user', {
+ const task = await user.post('/tasks/user', {
type: 'daily',
text: 'Daily with checklist',
alias: 'daily-with-shortname',
@@ -49,7 +49,7 @@ describe('POST /tasks/:taskId/checklist/:itemId/score', () => {
});
it('fails on habits', async () => {
- let habit = await user.post('/tasks/user', {
+ const habit = await user.post('/tasks/user', {
type: 'habit',
text: 'habit with checklist',
});
@@ -64,7 +64,7 @@ describe('POST /tasks/:taskId/checklist/:itemId/score', () => {
});
it('fails on rewards', async () => {
- let reward = await user.post('/tasks/user', {
+ const reward = await user.post('/tasks/user', {
type: 'reward',
text: 'reward with checklist',
});
@@ -85,7 +85,7 @@ describe('POST /tasks/:taskId/checklist/:itemId/score', () => {
});
it('fails on checklist item not found', async () => {
- let createdTask = await user.post('/tasks/user', {
+ const createdTask = await user.post('/tasks/user', {
type: 'daily',
text: 'daily with checklist',
});
@@ -107,7 +107,7 @@ describe('POST /tasks/:taskId/checklist/:itemId/score', () => {
});
it('sends task activity webhooks', async () => {
- let uuid = generateUUID();
+ const uuid = generateUUID();
await user.post('/user/webhook', {
url: `http://localhost:${server.port}/webhooks/${uuid}`,
@@ -119,22 +119,22 @@ describe('POST /tasks/:taskId/checklist/:itemId/score', () => {
},
});
- let task = await user.post('/tasks/user', {
+ const task = await user.post('/tasks/user', {
text: 'test daily',
type: 'daily',
});
- let updatedTask = await user.post(`/tasks/${task.id}/checklist`, {
+ const updatedTask = await user.post(`/tasks/${task.id}/checklist`, {
text: 'checklist item text',
});
- let checklistItem = updatedTask.checklist[0];
+ const checklistItem = updatedTask.checklist[0];
- let scoredItemTask = await user.post(`/tasks/${task.id}/checklist/${checklistItem.id}/score`);
+ const scoredItemTask = await user.post(`/tasks/${task.id}/checklist/${checklistItem.id}/score`);
await sleep();
- let body = server.getWebhookData(uuid);
+ const body = server.getWebhookData(uuid);
expect(body.type).to.eql('checklistScored');
expect(body.task).to.eql(scoredItemTask);
diff --git a/test/api/v3/integration/tasks/checklists/PUT-tasks_taskId_checklist_itemId.test.js b/test/api/v3/integration/tasks/checklists/PUT-tasks_taskId_checklist_itemId.test.js
index 2c4b259ee5..cef2cbaac4 100644
--- a/test/api/v3/integration/tasks/checklists/PUT-tasks_taskId_checklist_itemId.test.js
+++ b/test/api/v3/integration/tasks/checklists/PUT-tasks_taskId_checklist_itemId.test.js
@@ -1,8 +1,8 @@
+import { v4 as generateUUID } from 'uuid';
import {
generateUser,
translate as t,
} from '../../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
describe('PUT /tasks/:taskId/checklist/:itemId', () => {
let user;
@@ -12,7 +12,7 @@ describe('PUT /tasks/:taskId/checklist/:itemId', () => {
});
it('updates a checklist item', async () => {
- let task = await user.post('/tasks/user', {
+ const task = await user.post('/tasks/user', {
type: 'daily',
text: 'Daily with checklist',
});
@@ -35,7 +35,7 @@ describe('PUT /tasks/:taskId/checklist/:itemId', () => {
});
it('updates a checklist item using task alias', async () => {
- let task = await user.post('/tasks/user', {
+ const task = await user.post('/tasks/user', {
type: 'daily',
text: 'Daily with checklist',
alias: 'daily-with-shortname',
@@ -59,7 +59,7 @@ describe('PUT /tasks/:taskId/checklist/:itemId', () => {
});
it('fails on habits', async () => {
- let habit = await user.post('/tasks/user', {
+ const habit = await user.post('/tasks/user', {
type: 'habit',
text: 'habit with checklist',
});
@@ -72,7 +72,7 @@ describe('PUT /tasks/:taskId/checklist/:itemId', () => {
});
it('fails on rewards', async () => {
- let reward = await user.post('/tasks/user', {
+ const reward = await user.post('/tasks/user', {
type: 'reward',
text: 'reward with checklist',
});
@@ -93,7 +93,7 @@ describe('PUT /tasks/:taskId/checklist/:itemId', () => {
});
it('fails on checklist item not found', async () => {
- let createdTask = await user.post('/tasks/user', {
+ const createdTask = await user.post('/tasks/user', {
type: 'daily',
text: 'daily with checklist',
});
diff --git a/test/api/v3/integration/tasks/groups/DELETE-group_tasks_id.test.js b/test/api/v3/integration/tasks/groups/DELETE-group_tasks_id.test.js
index 0364869af9..59dba9f5ed 100644
--- a/test/api/v3/integration/tasks/groups/DELETE-group_tasks_id.test.js
+++ b/test/api/v3/integration/tasks/groups/DELETE-group_tasks_id.test.js
@@ -1,18 +1,19 @@
+import { find } from 'lodash';
import {
translate as t,
createAndPopulateGroup,
} from '../../../../../helpers/api-integration/v3';
-import { find } from 'lodash';
describe('Groups DELETE /tasks/:id', () => {
- let user, guild, member, member2, task;
+ let user; let guild; let member; let member2; let
+ task;
function findAssignedTask (memberTask) {
return memberTask.group.id === guild._id;
}
beforeEach(async () => {
- let {group, members, groupLeader} = await createAndPopulateGroup({
+ const { group, members, groupLeader } = await createAndPopulateGroup({
groupDetails: {
name: 'Test Guild',
type: 'guild',
@@ -22,8 +23,8 @@ describe('Groups DELETE /tasks/:id', () => {
guild = group;
user = groupLeader;
- member = members[0];
- member2 = members[1];
+ member = members[0]; // eslint-disable-line prefer-destructuring
+ member2 = members[1]; // eslint-disable-line prefer-destructuring
task = await user.post(`/tasks/group/${guild._id}`, {
text: 'test habit',
@@ -70,8 +71,8 @@ describe('Groups DELETE /tasks/:id', () => {
await user.put(`/tasks/${task._id}/`, {
requiresApproval: true,
});
- let memberTasks = await member.get('/tasks/user');
- let syncedTask = find(memberTasks, findAssignedTask);
+ const memberTasks = await member.get('/tasks/user');
+ const syncedTask = find(memberTasks, findAssignedTask);
await expect(member.post(`/tasks/${syncedTask._id}/score/up`))
.to.eventually.be.rejected.and.to.eql({
code: 401,
@@ -98,8 +99,8 @@ describe('Groups DELETE /tasks/:id', () => {
it('unlinks assigned user', async () => {
await user.del(`/tasks/${task._id}`);
- let memberTasks = await member.get('/tasks/user');
- let syncedTask = find(memberTasks, findAssignedTask);
+ const memberTasks = await member.get('/tasks/user');
+ const syncedTask = find(memberTasks, findAssignedTask);
expect(syncedTask.group.broken).to.equal('TASK_DELETED');
});
@@ -107,19 +108,19 @@ describe('Groups DELETE /tasks/:id', () => {
it('unlinks all assigned users', async () => {
await user.del(`/tasks/${task._id}`);
- let memberTasks = await member.get('/tasks/user');
- let syncedTask = find(memberTasks, findAssignedTask);
+ const memberTasks = await member.get('/tasks/user');
+ const syncedTask = find(memberTasks, findAssignedTask);
- let member2Tasks = await member2.get('/tasks/user');
- let member2SyncedTask = find(member2Tasks, findAssignedTask);
+ const member2Tasks = await member2.get('/tasks/user');
+ const member2SyncedTask = find(member2Tasks, findAssignedTask);
expect(syncedTask.group.broken).to.equal('TASK_DELETED');
expect(member2SyncedTask.group.broken).to.equal('TASK_DELETED');
});
it('prevents a user from deleting a task they are assigned to', async () => {
- let memberTasks = await member.get('/tasks/user');
- let syncedTask = find(memberTasks, findAssignedTask);
+ const memberTasks = await member.get('/tasks/user');
+ const syncedTask = find(memberTasks, findAssignedTask);
await expect(member.del(`/tasks/${syncedTask._id}`))
.to.eventually.be.rejected.and.eql({
@@ -130,8 +131,8 @@ describe('Groups DELETE /tasks/:id', () => {
});
it('allows a user to delete a broken task', async () => {
- let memberTasks = await member.get('/tasks/user');
- let syncedTask = find(memberTasks, findAssignedTask);
+ const memberTasks = await member.get('/tasks/user');
+ const syncedTask = find(memberTasks, findAssignedTask);
await user.del(`/tasks/${task._id}`);
@@ -146,8 +147,8 @@ describe('Groups DELETE /tasks/:id', () => {
});
it('allows a user to delete a task after leaving a group', async () => {
- let memberTasks = await member.get('/tasks/user');
- let syncedTask = find(memberTasks, findAssignedTask);
+ const memberTasks = await member.get('/tasks/user');
+ const syncedTask = find(memberTasks, findAssignedTask);
await member.post(`/groups/${guild._id}/leave`);
diff --git a/test/api/v3/integration/tasks/groups/GET-approvals_group_id.test.js b/test/api/v3/integration/tasks/groups/GET-approvals_group_id.test.js
index fe831b4452..a80b33ed5f 100644
--- a/test/api/v3/integration/tasks/groups/GET-approvals_group_id.test.js
+++ b/test/api/v3/integration/tasks/groups/GET-approvals_group_id.test.js
@@ -1,17 +1,18 @@
+import { find } from 'lodash';
import {
createAndPopulateGroup,
} from '../../../../../helpers/api-integration/v3';
-import { find } from 'lodash';
describe('GET /approvals/group/:groupId', () => {
- let user, guild, member, addlMember, task, syncedTask, addlSyncedTask;
+ let user; let guild; let member; let addlMember; let task; let syncedTask; let
+ addlSyncedTask;
function findAssignedTask (memberTask) {
return memberTask.group.id === guild._id;
}
beforeEach(async () => {
- let {group, members, groupLeader} = await createAndPopulateGroup({
+ const { group, members, groupLeader } = await createAndPopulateGroup({
groupDetails: {
name: 'Test Guild',
type: 'guild',
@@ -21,8 +22,8 @@ describe('GET /approvals/group/:groupId', () => {
guild = group;
user = groupLeader;
- member = members[0];
- addlMember = members[1];
+ member = members[0]; // eslint-disable-line prefer-destructuring
+ addlMember = members[1]; // eslint-disable-line prefer-destructuring
task = await user.post(`/tasks/group/${guild._id}`, {
text: 'test todo',
@@ -33,10 +34,10 @@ describe('GET /approvals/group/:groupId', () => {
await user.post(`/tasks/${task._id}/assign/${member._id}`);
await user.post(`/tasks/${task._id}/assign/${addlMember._id}`);
- let memberTasks = await member.get('/tasks/user');
+ const memberTasks = await member.get('/tasks/user');
syncedTask = find(memberTasks, findAssignedTask);
- let addlMemberTasks = await addlMember.get('/tasks/user');
+ const addlMemberTasks = await addlMember.get('/tasks/user');
addlSyncedTask = find(addlMemberTasks, findAssignedTask);
try {
@@ -53,13 +54,13 @@ describe('GET /approvals/group/:groupId', () => {
});
it('provides only user\'s own tasks when user is not the group leader', async () => {
- let approvals = await member.get(`/approvals/group/${guild._id}`);
+ const approvals = await member.get(`/approvals/group/${guild._id}`);
expect(approvals[0]._id).to.equal(syncedTask._id);
expect(approvals[1]).to.not.exist;
});
it('allows group leaders to get a list of tasks that need approval', async () => {
- let approvals = await user.get(`/approvals/group/${guild._id}`);
+ const approvals = await user.get(`/approvals/group/${guild._id}`);
expect(approvals[0]._id).to.equal(syncedTask._id);
expect(approvals[1]._id).to.equal(addlSyncedTask._id);
});
@@ -69,7 +70,7 @@ describe('GET /approvals/group/:groupId', () => {
managerId: member._id,
});
- let approvals = await member.get(`/approvals/group/${guild._id}`);
+ const approvals = await member.get(`/approvals/group/${guild._id}`);
expect(approvals[0]._id).to.equal(syncedTask._id);
expect(approvals[1]._id).to.equal(addlSyncedTask._id);
});
diff --git a/test/api/v3/integration/tasks/groups/GET-tasks_group_id.test.js b/test/api/v3/integration/tasks/groups/GET-tasks_group_id.test.js
index e81eef76e6..87988bb78a 100644
--- a/test/api/v3/integration/tasks/groups/GET-tasks_group_id.test.js
+++ b/test/api/v3/integration/tasks/groups/GET-tasks_group_id.test.js
@@ -1,15 +1,16 @@
+import { v4 as generateUUID } from 'uuid';
+import { each } from 'lodash';
import {
generateUser,
generateGroup,
translate as t,
} from '../../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
-import { each } from 'lodash';
describe('GET /tasks/group/:groupId', () => {
- let user, group, task, groupWithTask;
- let tasks = [];
- let tasksToTest = {
+ let user; let group; let task; let
+ groupWithTask;
+ const tasks = [];
+ const tasksToTest = {
habit: {
text: 'test habit',
type: 'habit',
@@ -39,7 +40,7 @@ describe('GET /tasks/group/:groupId', () => {
});
it('returns error when group is not found', async () => {
- let dummyId = generateUUID();
+ const dummyId = generateUUID();
await expect(user.get(`/tasks/group/${dummyId}`)).to.eventually.be.rejected.and.eql({
code: 404,
@@ -57,17 +58,17 @@ describe('GET /tasks/group/:groupId', () => {
});
it('gets group tasks', async () => {
- let getTask = await user.get(`/tasks/group/${groupWithTask._id}`);
+ const getTask = await user.get(`/tasks/group/${groupWithTask._id}`);
expect(getTask).to.eql(tasks);
});
it('gets group tasks filtered by type', async () => {
- let groupTasks = await user.get(`/tasks/group/${groupWithTask._id}?type=${task.type}s`);
+ const groupTasks = await user.get(`/tasks/group/${groupWithTask._id}?type=${task.type}s`);
expect(groupTasks).to.eql([task]);
});
it('cannot get a task owned by someone else', async () => {
- let anotherUser = await generateUser();
+ const anotherUser = await generateUser();
await expect(anotherUser.get(`/tasks/group/${groupWithTask._id}`)).to.eventually.be.rejected.and.eql({
code: 404,
diff --git a/test/api/v3/integration/tasks/groups/POST-group_tasks_id_approve_userId.test.js b/test/api/v3/integration/tasks/groups/POST-group_tasks_id_approve_userId.test.js
index a483eaa7fa..599086e463 100644
--- a/test/api/v3/integration/tasks/groups/POST-group_tasks_id_approve_userId.test.js
+++ b/test/api/v3/integration/tasks/groups/POST-group_tasks_id_approve_userId.test.js
@@ -1,18 +1,19 @@
+import { find } from 'lodash';
import {
createAndPopulateGroup,
translate as t,
} from '../../../../../helpers/api-integration/v3';
-import { find } from 'lodash';
describe('POST /tasks/:id/approve/:userId', () => {
- let user, guild, member, member2, task;
+ let user; let guild; let member; let member2; let
+ task;
function findAssignedTask (memberTask) {
return memberTask.group.id === guild._id;
}
beforeEach(async () => {
- let {group, members, groupLeader} = await createAndPopulateGroup({
+ const { group, members, groupLeader } = await createAndPopulateGroup({
groupDetails: {
name: 'Test Guild',
type: 'guild',
@@ -22,8 +23,8 @@ describe('POST /tasks/:id/approve/:userId', () => {
guild = group;
user = groupLeader;
- member = members[0];
- member2 = members[1];
+ member = members[0]; // eslint-disable-line prefer-destructuring
+ member2 = members[1]; // eslint-disable-line prefer-destructuring
task = await user.post(`/tasks/group/${guild._id}`, {
text: 'test todo',
@@ -70,9 +71,9 @@ describe('POST /tasks/:id/approve/:userId', () => {
expect(member.notifications.length).to.equal(3);
expect(member.notifications[1].type).to.equal('GROUP_TASK_APPROVED');
- expect(member.notifications[1].data.message).to.equal(t('yourTaskHasBeenApproved', {taskText: task.text}));
+ expect(member.notifications[1].data.message).to.equal(t('yourTaskHasBeenApproved', { taskText: task.text }));
expect(member.notifications[2].type).to.equal('SCORED_TASK');
- expect(member.notifications[2].data.message).to.equal(t('yourTaskHasBeenApproved', {taskText: task.text}));
+ expect(member.notifications[2].data.message).to.equal(t('yourTaskHasBeenApproved', { taskText: task.text }));
memberTasks = await member.get('/tasks/user');
syncedTask = find(memberTasks, findAssignedTask);
@@ -104,9 +105,9 @@ describe('POST /tasks/:id/approve/:userId', () => {
expect(member.notifications.length).to.equal(3);
expect(member.notifications[1].type).to.equal('GROUP_TASK_APPROVED');
- expect(member.notifications[1].data.message).to.equal(t('yourTaskHasBeenApproved', {taskText: task.text}));
+ expect(member.notifications[1].data.message).to.equal(t('yourTaskHasBeenApproved', { taskText: task.text }));
expect(member.notifications[2].type).to.equal('SCORED_TASK');
- expect(member.notifications[2].data.message).to.equal(t('yourTaskHasBeenApproved', {taskText: task.text}));
+ expect(member.notifications[2].data.message).to.equal(t('yourTaskHasBeenApproved', { taskText: task.text }));
memberTasks = await member.get('/tasks/user');
syncedTask = find(memberTasks, findAssignedTask);
@@ -122,8 +123,8 @@ describe('POST /tasks/:id/approve/:userId', () => {
});
await member2.post(`/tasks/${task._id}/assign/${member._id}`);
- let memberTasks = await member.get('/tasks/user');
- let syncedTask = find(memberTasks, findAssignedTask);
+ const memberTasks = await member.get('/tasks/user');
+ const syncedTask = find(memberTasks, findAssignedTask);
await expect(member.post(`/tasks/${syncedTask._id}/score/up`))
.to.eventually.be.rejected.and.to.eql({
code: 401,
@@ -154,8 +155,8 @@ describe('POST /tasks/:id/approve/:userId', () => {
await member2.post(`/tasks/${task._id}/assign/${member._id}`);
- let memberTasks = await member.get('/tasks/user');
- let syncedTask = find(memberTasks, findAssignedTask);
+ const memberTasks = await member.get('/tasks/user');
+ const syncedTask = find(memberTasks, findAssignedTask);
await expect(member.post(`/tasks/${syncedTask._id}/score/up`))
.to.eventually.be.rejected.and.to.eql({
code: 401,
@@ -184,7 +185,7 @@ describe('POST /tasks/:id/approve/:userId', () => {
});
it('completes master task when single-completion task is approved', async () => {
- let sharedCompletionTask = await user.post(`/tasks/group/${guild._id}`, {
+ const sharedCompletionTask = await user.post(`/tasks/group/${guild._id}`, {
text: 'shared completion todo',
type: 'todo',
requiresApproval: true,
@@ -194,8 +195,8 @@ describe('POST /tasks/:id/approve/:userId', () => {
await user.post(`/tasks/${sharedCompletionTask._id}/assign/${member._id}`);
await user.post(`/tasks/${sharedCompletionTask._id}/assign/${member2._id}`);
- let memberTasks = await member.get('/tasks/user');
- let syncedTask = find(memberTasks, findAssignedTask);
+ const memberTasks = await member.get('/tasks/user');
+ const syncedTask = find(memberTasks, findAssignedTask);
await expect(member.post(`/tasks/${syncedTask._id}/score/up`))
.to.eventually.be.rejected.and.to.eql({
code: 401,
@@ -205,17 +206,15 @@ describe('POST /tasks/:id/approve/:userId', () => {
await user.post(`/tasks/${sharedCompletionTask._id}/approve/${member._id}`);
- let groupTasks = await user.get(`/tasks/group/${guild._id}?type=completedTodos`);
+ const groupTasks = await user.get(`/tasks/group/${guild._id}?type=completedTodos`);
- let masterTask = find(groupTasks, (groupTask) => {
- return groupTask._id === sharedCompletionTask._id;
- });
+ const masterTask = find(groupTasks, groupTask => groupTask._id === sharedCompletionTask._id);
expect(masterTask.completed).to.equal(true);
});
it('deletes other assigned user tasks when single-completion task is approved', async () => {
- let sharedCompletionTask = await user.post(`/tasks/group/${guild._id}`, {
+ const sharedCompletionTask = await user.post(`/tasks/group/${guild._id}`, {
text: 'shared completion todo',
type: 'todo',
requiresApproval: true,
@@ -225,8 +224,8 @@ describe('POST /tasks/:id/approve/:userId', () => {
await user.post(`/tasks/${sharedCompletionTask._id}/assign/${member._id}`);
await user.post(`/tasks/${sharedCompletionTask._id}/assign/${member2._id}`);
- let memberTasks = await member.get('/tasks/user');
- let syncedTask = find(memberTasks, findAssignedTask);
+ const memberTasks = await member.get('/tasks/user');
+ const syncedTask = find(memberTasks, findAssignedTask);
await expect(member.post(`/tasks/${syncedTask._id}/score/up`))
.to.eventually.be.rejected.and.to.eql({
code: 401,
@@ -236,17 +235,18 @@ describe('POST /tasks/:id/approve/:userId', () => {
await user.post(`/tasks/${sharedCompletionTask._id}/approve/${member._id}`);
- let member2Tasks = await member2.get('/tasks/user');
+ const member2Tasks = await member2.get('/tasks/user');
- let syncedTask2 = find(member2Tasks, (memberTask) => {
- return memberTask.group.taskId === sharedCompletionTask._id;
- });
+ const syncedTask2 = find(
+ member2Tasks,
+ memberTask => memberTask.group.taskId === sharedCompletionTask._id,
+ );
expect(syncedTask2).to.equal(undefined);
});
it('does not complete master task when not all user tasks are approved if all assigned must complete', async () => {
- let sharedCompletionTask = await user.post(`/tasks/group/${guild._id}`, {
+ const sharedCompletionTask = await user.post(`/tasks/group/${guild._id}`, {
text: 'shared completion todo',
type: 'todo',
requiresApproval: true,
@@ -256,8 +256,8 @@ describe('POST /tasks/:id/approve/:userId', () => {
await user.post(`/tasks/${sharedCompletionTask._id}/assign/${member._id}`);
await user.post(`/tasks/${sharedCompletionTask._id}/assign/${member2._id}`);
- let memberTasks = await member.get('/tasks/user');
- let syncedTask = find(memberTasks, findAssignedTask);
+ const memberTasks = await member.get('/tasks/user');
+ const syncedTask = find(memberTasks, findAssignedTask);
await expect(member.post(`/tasks/${syncedTask._id}/score/up`))
.to.eventually.be.rejected.and.to.eql({
code: 401,
@@ -267,17 +267,15 @@ describe('POST /tasks/:id/approve/:userId', () => {
await user.post(`/tasks/${sharedCompletionTask._id}/approve/${member._id}`);
- let groupTasks = await user.get(`/tasks/group/${guild._id}`);
+ const groupTasks = await user.get(`/tasks/group/${guild._id}`);
- let masterTask = find(groupTasks, (groupTask) => {
- return groupTask._id === sharedCompletionTask._id;
- });
+ const masterTask = find(groupTasks, groupTask => groupTask._id === sharedCompletionTask._id);
expect(masterTask.completed).to.equal(false);
});
it('completes master task when all user tasks are approved if all assigned must complete', async () => {
- let sharedCompletionTask = await user.post(`/tasks/group/${guild._id}`, {
+ const sharedCompletionTask = await user.post(`/tasks/group/${guild._id}`, {
text: 'shared completion todo',
type: 'todo',
requiresApproval: true,
@@ -287,8 +285,8 @@ describe('POST /tasks/:id/approve/:userId', () => {
await user.post(`/tasks/${sharedCompletionTask._id}/assign/${member._id}`);
await user.post(`/tasks/${sharedCompletionTask._id}/assign/${member2._id}`);
- let memberTasks = await member.get('/tasks/user');
- let syncedTask = find(memberTasks, findAssignedTask);
+ const memberTasks = await member.get('/tasks/user');
+ const syncedTask = find(memberTasks, findAssignedTask);
await expect(member.post(`/tasks/${syncedTask._id}/score/up`))
.to.eventually.be.rejected.and.to.eql({
code: 401,
@@ -296,8 +294,8 @@ describe('POST /tasks/:id/approve/:userId', () => {
message: t('taskApprovalHasBeenRequested'),
});
- let member2Tasks = await member2.get('/tasks/user');
- let member2SyncedTask = find(member2Tasks, findAssignedTask);
+ const member2Tasks = await member2.get('/tasks/user');
+ const member2SyncedTask = find(member2Tasks, findAssignedTask);
await expect(member2.post(`/tasks/${member2SyncedTask._id}/score/up`))
.to.eventually.be.rejected.and.to.eql({
code: 401,
@@ -308,11 +306,9 @@ describe('POST /tasks/:id/approve/:userId', () => {
await user.post(`/tasks/${sharedCompletionTask._id}/approve/${member._id}`);
await user.post(`/tasks/${sharedCompletionTask._id}/approve/${member2._id}`);
- let groupTasks = await user.get(`/tasks/group/${guild._id}?type=completedTodos`);
+ const groupTasks = await user.get(`/tasks/group/${guild._id}?type=completedTodos`);
- let masterTask = find(groupTasks, (groupTask) => {
- return groupTask._id === sharedCompletionTask._id;
- });
+ const masterTask = find(groupTasks, groupTask => groupTask._id === sharedCompletionTask._id);
expect(masterTask.completed).to.equal(true);
});
diff --git a/test/api/v3/integration/tasks/groups/POST-group_tasks_id_needs-work_userId.test.js b/test/api/v3/integration/tasks/groups/POST-group_tasks_id_needs-work_userId.test.js
index a474e97732..91026baeae 100644
--- a/test/api/v3/integration/tasks/groups/POST-group_tasks_id_needs-work_userId.test.js
+++ b/test/api/v3/integration/tasks/groups/POST-group_tasks_id_needs-work_userId.test.js
@@ -1,18 +1,19 @@
+import { find } from 'lodash';
import {
createAndPopulateGroup,
translate as t,
} from '../../../../../helpers/api-integration/v3';
-import { find } from 'lodash';
describe('POST /tasks/:id/needs-work/:userId', () => {
- let user, guild, member, member2, task;
+ let user; let guild; let member; let member2; let
+ task;
function findAssignedTask (memberTask) {
return memberTask.group.id === guild._id;
}
beforeEach(async () => {
- let {group, members, groupLeader} = await createAndPopulateGroup({
+ const { group, members, groupLeader } = await createAndPopulateGroup({
groupDetails: {
name: 'Test Guild',
type: 'guild',
@@ -22,8 +23,8 @@ describe('POST /tasks/:id/needs-work/:userId', () => {
guild = group;
user = groupLeader;
- member = members[0];
- member2 = members[1];
+ member = members[0]; // eslint-disable-line prefer-destructuring
+ member2 = members[1]; // eslint-disable-line prefer-destructuring
task = await user.post(`/tasks/group/${guild._id}`, {
text: 'test todo',
@@ -84,7 +85,7 @@ describe('POST /tasks/:id/needs-work/:userId', () => {
const taskText = syncedTask.text;
const managerName = user.profile.name;
- expect(notification.data.message).to.equal(t('taskNeedsWork', {taskText, managerName}));
+ expect(notification.data.message).to.equal(t('taskNeedsWork', { taskText, managerName }));
expect(notification.data.task.id).to.equal(syncedTask._id);
expect(notification.data.task.text).to.equal(taskText);
@@ -98,8 +99,8 @@ describe('POST /tasks/:id/needs-work/:userId', () => {
// Check that the managers' GROUP_TASK_APPROVAL notifications have been removed
await user.sync();
- expect(user.notifications.find(n => {
- n.data.taskId === syncedTask._id && n.type === 'GROUP_TASK_APPROVAL';
+ expect(user.notifications.find(n => { // eslint-disable-line arrow-body-style
+ return n.data.taskId === syncedTask._id && n.type === 'GROUP_TASK_APPROVAL';
})).to.equal(undefined);
});
@@ -138,7 +139,7 @@ describe('POST /tasks/:id/needs-work/:userId', () => {
const taskText = syncedTask.text;
const managerName = member2.profile.name;
- expect(notification.data.message).to.equal(t('taskNeedsWork', {taskText, managerName}));
+ expect(notification.data.message).to.equal(t('taskNeedsWork', { taskText, managerName }));
expect(notification.data.task.id).to.equal(syncedTask._id);
expect(notification.data.task.text).to.equal(taskText);
@@ -152,12 +153,12 @@ describe('POST /tasks/:id/needs-work/:userId', () => {
// Check that the managers' GROUP_TASK_APPROVAL notifications have been removed
await Promise.all([user.sync(), member2.sync()]);
- expect(user.notifications.find(n => {
- n.data.taskId === syncedTask._id && n.type === 'GROUP_TASK_APPROVAL';
+ expect(user.notifications.find(n => { // eslint-disable-line arrow-body-style
+ return n.data.taskId === syncedTask._id && n.type === 'GROUP_TASK_APPROVAL';
})).to.equal(undefined);
- expect(member2.notifications.find(n => {
- n.data.taskId === syncedTask._id && n.type === 'GROUP_TASK_APPROVAL';
+ expect(member2.notifications.find(n => { // eslint-disable-line arrow-body-style
+ return n.data.taskId === syncedTask._id && n.type === 'GROUP_TASK_APPROVAL';
})).to.equal(undefined);
});
@@ -168,8 +169,8 @@ describe('POST /tasks/:id/needs-work/:userId', () => {
await member2.post(`/tasks/${task._id}/assign/${member._id}`);
- let memberTasks = await member.get('/tasks/user');
- let syncedTask = find(memberTasks, findAssignedTask);
+ const memberTasks = await member.get('/tasks/user');
+ const syncedTask = find(memberTasks, findAssignedTask);
await expect(member.post(`/tasks/${syncedTask._id}/score/up`))
.to.eventually.be.rejected.and.to.eql({
diff --git a/test/api/v3/integration/tasks/groups/POST-group_tasks_id_score_direction.test.js b/test/api/v3/integration/tasks/groups/POST-group_tasks_id_score_direction.test.js
index 43380b64dc..80710c701b 100644
--- a/test/api/v3/integration/tasks/groups/POST-group_tasks_id_score_direction.test.js
+++ b/test/api/v3/integration/tasks/groups/POST-group_tasks_id_score_direction.test.js
@@ -1,18 +1,19 @@
+import { find } from 'lodash';
import {
createAndPopulateGroup,
translate as t,
} from '../../../../../helpers/api-integration/v3';
-import { find } from 'lodash';
describe('POST /tasks/:id/score/:direction', () => {
- let user, guild, member, member2, task;
+ let user; let guild; let member; let member2; let
+ task;
function findAssignedTask (memberTask) {
return memberTask.group.id === guild._id;
}
beforeEach(async () => {
- let {group, members, groupLeader} = await createAndPopulateGroup({
+ const { group, members, groupLeader } = await createAndPopulateGroup({
groupDetails: {
name: 'Test Guild',
type: 'guild',
@@ -22,8 +23,8 @@ describe('POST /tasks/:id/score/:direction', () => {
guild = group;
user = groupLeader;
- member = members[0];
- member2 = members[1];
+ member = members[0]; // eslint-disable-line prefer-destructuring
+ member2 = members[1]; // eslint-disable-line prefer-destructuring
task = await user.post(`/tasks/group/${guild._id}`, {
text: 'test todo',
@@ -39,8 +40,8 @@ describe('POST /tasks/:id/score/:direction', () => {
'preferences.language': 'cs',
});
- let memberTasks = await member.get('/tasks/user');
- let syncedTask = find(memberTasks, findAssignedTask);
+ const memberTasks = await member.get('/tasks/user');
+ const syncedTask = find(memberTasks, findAssignedTask);
const direction = 'up';
await expect(member.post(`/tasks/${syncedTask._id}/score/${direction}`))
@@ -49,7 +50,7 @@ describe('POST /tasks/:id/score/:direction', () => {
error: 'NotAuthorized',
message: t('taskApprovalHasBeenRequested'),
});
- let updatedTask = await member.get(`/tasks/${syncedTask._id}`);
+ const updatedTask = await member.get(`/tasks/${syncedTask._id}`);
await user.sync();
@@ -71,8 +72,8 @@ describe('POST /tasks/:id/score/:direction', () => {
await user.post(`/groups/${guild._id}/add-manager`, {
managerId: member2._id,
});
- let memberTasks = await member.get('/tasks/user');
- let syncedTask = find(memberTasks, findAssignedTask);
+ const memberTasks = await member.get('/tasks/user');
+ const syncedTask = find(memberTasks, findAssignedTask);
const direction = 'up';
await expect(member.post(`/tasks/${syncedTask._id}/score/${direction}`))
@@ -81,7 +82,7 @@ describe('POST /tasks/:id/score/:direction', () => {
error: 'NotAuthorized',
message: t('taskApprovalHasBeenRequested'),
});
- let updatedTask = await member.get(`/tasks/${syncedTask._id}`);
+ const updatedTask = await member.get(`/tasks/${syncedTask._id}`);
await user.sync();
await member2.sync();
@@ -107,8 +108,8 @@ describe('POST /tasks/:id/score/:direction', () => {
});
it('errors when approval has already been requested', async () => {
- let memberTasks = await member.get('/tasks/user');
- let syncedTask = find(memberTasks, findAssignedTask);
+ const memberTasks = await member.get('/tasks/user');
+ const syncedTask = find(memberTasks, findAssignedTask);
await expect(member.post(`/tasks/${syncedTask._id}/score/up`))
.to.eventually.be.rejected.and.to.eql({
@@ -126,8 +127,8 @@ describe('POST /tasks/:id/score/:direction', () => {
});
it('allows a user to score an approved task', async () => {
- let memberTasks = await member.get('/tasks/user');
- let syncedTask = find(memberTasks, findAssignedTask);
+ const memberTasks = await member.get('/tasks/user');
+ const syncedTask = find(memberTasks, findAssignedTask);
await expect(member.post(`/tasks/${syncedTask._id}/score/up`))
.to.eventually.be.rejected.and.to.eql({
@@ -139,14 +140,14 @@ describe('POST /tasks/:id/score/:direction', () => {
await user.post(`/tasks/${task._id}/approve/${member._id}`);
await member.post(`/tasks/${syncedTask._id}/score/up`);
- let updatedTask = await member.get(`/tasks/${syncedTask._id}`);
+ const updatedTask = await member.get(`/tasks/${syncedTask._id}`);
expect(updatedTask.completed).to.equal(true);
expect(updatedTask.dateCompleted).to.be.a('string'); // date gets converted to a string as json doesn't have a Date type
});
it('completes master task when single-completion task is completed', async () => {
- let sharedCompletionTask = await user.post(`/tasks/group/${guild._id}`, {
+ const sharedCompletionTask = await user.post(`/tasks/group/${guild._id}`, {
text: 'shared completion todo',
type: 'todo',
requiresApproval: false,
@@ -154,24 +155,23 @@ describe('POST /tasks/:id/score/:direction', () => {
});
await user.post(`/tasks/${sharedCompletionTask._id}/assign/${member._id}`);
- let memberTasks = await member.get('/tasks/user');
+ const memberTasks = await member.get('/tasks/user');
- let syncedTask = find(memberTasks, (memberTask) => {
- return memberTask.group.taskId === sharedCompletionTask._id;
- });
+ const syncedTask = find(
+ memberTasks,
+ memberTask => memberTask.group.taskId === sharedCompletionTask._id,
+ );
await member.post(`/tasks/${syncedTask._id}/score/up`);
- let groupTasks = await user.get(`/tasks/group/${guild._id}?type=completedTodos`);
- let masterTask = find(groupTasks, (groupTask) => {
- return groupTask._id === sharedCompletionTask._id;
- });
+ const groupTasks = await user.get(`/tasks/group/${guild._id}?type=completedTodos`);
+ const masterTask = find(groupTasks, groupTask => groupTask._id === sharedCompletionTask._id);
expect(masterTask.completed).to.equal(true);
});
it('deletes other assigned user tasks when single-completion task is completed', async () => {
- let sharedCompletionTask = await user.post(`/tasks/group/${guild._id}`, {
+ const sharedCompletionTask = await user.post(`/tasks/group/${guild._id}`, {
text: 'shared completion todo',
type: 'todo',
requiresApproval: false,
@@ -180,25 +180,27 @@ describe('POST /tasks/:id/score/:direction', () => {
await user.post(`/tasks/${sharedCompletionTask._id}/assign/${member._id}`);
await user.post(`/tasks/${sharedCompletionTask._id}/assign/${member2._id}`);
- let memberTasks = await member.get('/tasks/user');
+ const memberTasks = await member.get('/tasks/user');
- let syncedTask = find(memberTasks, (memberTask) => {
- return memberTask.group.taskId === sharedCompletionTask._id;
- });
+ const syncedTask = find(
+ memberTasks,
+ memberTask => memberTask.group.taskId === sharedCompletionTask._id,
+ );
await member.post(`/tasks/${syncedTask._id}/score/up`);
- let member2Tasks = await member2.get('/tasks/user');
+ const member2Tasks = await member2.get('/tasks/user');
- let syncedTask2 = find(member2Tasks, (memberTask) => {
- return memberTask.group.taskId === sharedCompletionTask._id;
- });
+ const syncedTask2 = find(
+ member2Tasks,
+ memberTask => memberTask.group.taskId === sharedCompletionTask._id,
+ );
expect(syncedTask2).to.equal(undefined);
});
it('does not complete master task when not all user tasks are completed if all assigned must complete', async () => {
- let sharedCompletionTask = await user.post(`/tasks/group/${guild._id}`, {
+ const sharedCompletionTask = await user.post(`/tasks/group/${guild._id}`, {
text: 'shared completion todo',
type: 'todo',
requiresApproval: false,
@@ -207,24 +209,23 @@ describe('POST /tasks/:id/score/:direction', () => {
await user.post(`/tasks/${sharedCompletionTask._id}/assign/${member._id}`);
await user.post(`/tasks/${sharedCompletionTask._id}/assign/${member2._id}`);
- let memberTasks = await member.get('/tasks/user');
+ const memberTasks = await member.get('/tasks/user');
- let syncedTask = find(memberTasks, (memberTask) => {
- return memberTask.group.taskId === sharedCompletionTask._id;
- });
+ const syncedTask = find(
+ memberTasks,
+ memberTask => memberTask.group.taskId === sharedCompletionTask._id,
+ );
await member.post(`/tasks/${syncedTask._id}/score/up`);
- let groupTasks = await user.get(`/tasks/group/${guild._id}`);
- let masterTask = find(groupTasks, (groupTask) => {
- return groupTask._id === sharedCompletionTask._id;
- });
+ const groupTasks = await user.get(`/tasks/group/${guild._id}`);
+ const masterTask = find(groupTasks, groupTask => groupTask._id === sharedCompletionTask._id);
expect(masterTask.completed).to.equal(false);
});
it('completes master task when all user tasks are completed if all assigned must complete', async () => {
- let sharedCompletionTask = await user.post(`/tasks/group/${guild._id}`, {
+ const sharedCompletionTask = await user.post(`/tasks/group/${guild._id}`, {
text: 'shared completion todo',
type: 'todo',
requiresApproval: false,
@@ -233,22 +234,22 @@ describe('POST /tasks/:id/score/:direction', () => {
await user.post(`/tasks/${sharedCompletionTask._id}/assign/${member._id}`);
await user.post(`/tasks/${sharedCompletionTask._id}/assign/${member2._id}`);
- let memberTasks = await member.get('/tasks/user');
- let member2Tasks = await member2.get('/tasks/user');
- let syncedTask = find(memberTasks, (memberTask) => {
- return memberTask.group.taskId === sharedCompletionTask._id;
- });
- let syncedTask2 = find(member2Tasks, (memberTask) => {
- return memberTask.group.taskId === sharedCompletionTask._id;
- });
+ const memberTasks = await member.get('/tasks/user');
+ const member2Tasks = await member2.get('/tasks/user');
+ const syncedTask = find(
+ memberTasks,
+ memberTask => memberTask.group.taskId === sharedCompletionTask._id,
+ );
+ const syncedTask2 = find(
+ member2Tasks,
+ memberTask => memberTask.group.taskId === sharedCompletionTask._id,
+ );
await member.post(`/tasks/${syncedTask._id}/score/up`);
await member2.post(`/tasks/${syncedTask2._id}/score/up`);
- let groupTasks = await user.get(`/tasks/group/${guild._id}?type=completedTodos`);
- let masterTask = find(groupTasks, (groupTask) => {
- return groupTask._id === sharedCompletionTask._id;
- });
+ const groupTasks = await user.get(`/tasks/group/${guild._id}?type=completedTodos`);
+ const masterTask = find(groupTasks, groupTask => groupTask._id === sharedCompletionTask._id);
expect(masterTask.completed).to.equal(true);
});
diff --git a/test/api/v3/integration/tasks/groups/POST-tasks_group_id.test.js b/test/api/v3/integration/tasks/groups/POST-tasks_group_id.test.js
index b14f32eb91..85d9dcc3f6 100644
--- a/test/api/v3/integration/tasks/groups/POST-tasks_group_id.test.js
+++ b/test/api/v3/integration/tasks/groups/POST-tasks_group_id.test.js
@@ -1,18 +1,19 @@
+import { v4 as generateUUID } from 'uuid';
import {
generateUser,
createAndPopulateGroup,
translate as t,
} from '../../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
describe('POST /tasks/group/:groupid', () => {
- let user, guild, manager;
- let groupName = 'Test Public Guild';
- let groupType = 'guild';
+ let user; let guild; let
+ manager;
+ const groupName = 'Test Public Guild';
+ const groupType = 'guild';
beforeEach(async () => {
- user = await generateUser({balance: 1});
- let { group, groupLeader, members } = await createAndPopulateGroup({
+ user = await generateUser({ balance: 1 });
+ const { group, groupLeader, members } = await createAndPopulateGroup({
groupDetails: {
name: groupName,
type: groupType,
@@ -23,7 +24,7 @@ describe('POST /tasks/group/:groupid', () => {
guild = group;
user = groupLeader;
- manager = members[0];
+ manager = members[0]; // eslint-disable-line prefer-destructuring
});
it('returns error when group is not found', async () => {
@@ -41,7 +42,7 @@ describe('POST /tasks/group/:groupid', () => {
});
it('returns error when user is not a member of the group', async () => {
- let userWithoutChallenge = await generateUser();
+ const userWithoutChallenge = await generateUser();
await expect(userWithoutChallenge.post(`/tasks/group/${guild._id}`, {
text: 'test habit',
@@ -57,7 +58,7 @@ describe('POST /tasks/group/:groupid', () => {
});
it('returns error when non leader tries to create a task', async () => {
- let userThatIsNotLeaderOfGroup = await generateUser({
+ const userThatIsNotLeaderOfGroup = await generateUser({
guilds: [guild._id],
});
@@ -75,7 +76,7 @@ describe('POST /tasks/group/:groupid', () => {
});
it('creates a habit', async () => {
- let task = await user.post(`/tasks/group/${guild._id}`, {
+ const task = await user.post(`/tasks/group/${guild._id}`, {
text: 'test habit',
type: 'habit',
up: false,
@@ -83,7 +84,7 @@ describe('POST /tasks/group/:groupid', () => {
notes: 1976,
});
- let groupTask = await user.get(`/tasks/group/${guild._id}`);
+ const groupTask = await user.get(`/tasks/group/${guild._id}`);
expect(groupTask[0].group.id).to.equal(guild._id);
expect(task.text).to.eql('test habit');
@@ -94,13 +95,13 @@ describe('POST /tasks/group/:groupid', () => {
});
it('creates a todo', async () => {
- let task = await user.post(`/tasks/group/${guild._id}`, {
+ const task = await user.post(`/tasks/group/${guild._id}`, {
text: 'test todo',
type: 'todo',
notes: 1976,
});
- let groupTask = await user.get(`/tasks/group/${guild._id}`);
+ const groupTask = await user.get(`/tasks/group/${guild._id}`);
expect(groupTask[0].group.id).to.equal(guild._id);
expect(task.text).to.eql('test todo');
@@ -109,8 +110,8 @@ describe('POST /tasks/group/:groupid', () => {
});
it('creates a daily', async () => {
- let now = new Date();
- let task = await user.post(`/tasks/group/${guild._id}`, {
+ const now = new Date();
+ const task = await user.post(`/tasks/group/${guild._id}`, {
text: 'test daily',
type: 'daily',
notes: 1976,
@@ -119,7 +120,7 @@ describe('POST /tasks/group/:groupid', () => {
startDate: now,
});
- let groupTask = await user.get(`/tasks/group/${guild._id}`);
+ const groupTask = await user.get(`/tasks/group/${guild._id}`);
expect(groupTask[0].group.id).to.equal(guild._id);
expect(task.text).to.eql('test daily');
@@ -135,7 +136,7 @@ describe('POST /tasks/group/:groupid', () => {
managerId: manager._id,
});
- let task = await manager.post(`/tasks/group/${guild._id}`, {
+ const task = await manager.post(`/tasks/group/${guild._id}`, {
text: 'test habit',
type: 'habit',
up: false,
@@ -143,7 +144,7 @@ describe('POST /tasks/group/:groupid', () => {
notes: 1976,
});
- let groupTask = await manager.get(`/tasks/group/${guild._id}`);
+ const groupTask = await manager.get(`/tasks/group/${guild._id}`);
expect(groupTask[0].group.id).to.equal(guild._id);
expect(task.text).to.eql('test habit');
diff --git a/test/api/v3/integration/tasks/groups/POST-tasks_group_id_assign_user_id.test.js b/test/api/v3/integration/tasks/groups/POST-tasks_group_id_assign_user_id.test.js
index 9364ea11d8..214a50fc03 100644
--- a/test/api/v3/integration/tasks/groups/POST-tasks_group_id_assign_user_id.test.js
+++ b/test/api/v3/integration/tasks/groups/POST-tasks_group_id_assign_user_id.test.js
@@ -1,20 +1,21 @@
+import { v4 as generateUUID } from 'uuid';
+import { find } from 'lodash';
import {
generateUser,
createAndPopulateGroup,
translate as t,
} from '../../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
-import { find } from 'lodash';
describe('POST /tasks/:taskId/assign/:memberId', () => {
- let user, guild, member, member2, task;
+ let user; let guild; let member; let member2; let
+ task;
function findAssignedTask (memberTask) {
return memberTask.group.id === guild._id;
}
beforeEach(async () => {
- let {group, members, groupLeader} = await createAndPopulateGroup({
+ const { group, members, groupLeader } = await createAndPopulateGroup({
groupDetails: {
name: 'Test Guild',
type: 'guild',
@@ -24,8 +25,8 @@ describe('POST /tasks/:taskId/assign/:memberId', () => {
guild = group;
user = groupLeader;
- member = members[0];
- member2 = members[1];
+ member = members[0]; // eslint-disable-line prefer-destructuring
+ member2 = members[1]; // eslint-disable-line prefer-destructuring
task = await user.post(`/tasks/group/${guild._id}`, {
text: 'test habit',
@@ -46,7 +47,7 @@ describe('POST /tasks/:taskId/assign/:memberId', () => {
});
it('returns error when task is not a group task', async () => {
- let nonGroupTask = await user.post('/tasks/user', {
+ const nonGroupTask = await user.post('/tasks/user', {
text: 'test habit',
type: 'habit',
up: false,
@@ -63,7 +64,7 @@ describe('POST /tasks/:taskId/assign/:memberId', () => {
});
it('returns error when user is not a member of the group', async () => {
- let nonUser = await generateUser();
+ const nonUser = await generateUser();
await expect(nonUser.post(`/tasks/${task._id}/assign/${member._id}`))
.to.eventually.be.rejected.and.eql({
@@ -85,9 +86,9 @@ describe('POST /tasks/:taskId/assign/:memberId', () => {
it('allows user to assign themselves (claim)', async () => {
await member.post(`/tasks/${task._id}/assign/${member._id}`);
- let groupTask = await user.get(`/tasks/group/${guild._id}`);
- let memberTasks = await member.get('/tasks/user');
- let syncedTask = find(memberTasks, findAssignedTask);
+ const groupTask = await user.get(`/tasks/group/${guild._id}`);
+ const memberTasks = await member.get('/tasks/user');
+ const syncedTask = find(memberTasks, findAssignedTask);
expect(groupTask[0].group.assignedUsers).to.contain(member._id);
expect(syncedTask).to.exist;
@@ -100,7 +101,7 @@ describe('POST /tasks/:taskId/assign/:memberId', () => {
await member.post(`/tasks/${task._id}/assign/${member._id}`);
await user.sync();
await member2.sync();
- let groupTask = await user.get(`/tasks/group/${guild._id}`);
+ const groupTask = await user.get(`/tasks/group/${guild._id}`);
expect(user.notifications.length).to.equal(2); // includes Guild Joined achievement
expect(user.notifications[1].type).to.equal('GROUP_TASK_CLAIMED');
@@ -115,9 +116,9 @@ describe('POST /tasks/:taskId/assign/:memberId', () => {
it('assigns a task to a user', async () => {
await user.post(`/tasks/${task._id}/assign/${member._id}`);
- let groupTask = await user.get(`/tasks/group/${guild._id}`);
- let memberTasks = await member.get('/tasks/user');
- let syncedTask = find(memberTasks, findAssignedTask);
+ const groupTask = await user.get(`/tasks/group/${guild._id}`);
+ const memberTasks = await member.get('/tasks/user');
+ const syncedTask = find(memberTasks, findAssignedTask);
expect(groupTask[0].group.assignedUsers).to.contain(member._id);
expect(syncedTask).to.exist;
@@ -127,7 +128,7 @@ describe('POST /tasks/:taskId/assign/:memberId', () => {
await user.post(`/tasks/${task._id}/assign/${member._id}`);
await member.sync();
- let groupTask = await user.get(`/tasks/group/${guild._id}`);
+ const groupTask = await user.get(`/tasks/group/${guild._id}`);
expect(member.notifications.length).to.equal(1);
expect(member.notifications[0].type).to.equal('GROUP_TASK_ASSIGNED');
@@ -138,13 +139,13 @@ describe('POST /tasks/:taskId/assign/:memberId', () => {
await user.post(`/tasks/${task._id}/assign/${member._id}`);
await user.post(`/tasks/${task._id}/assign/${member2._id}`);
- let groupTask = await user.get(`/tasks/group/${guild._id}`);
+ const groupTask = await user.get(`/tasks/group/${guild._id}`);
- let memberTasks = await member.get('/tasks/user');
- let member1SyncedTask = find(memberTasks, findAssignedTask);
+ const memberTasks = await member.get('/tasks/user');
+ const member1SyncedTask = find(memberTasks, findAssignedTask);
- let member2Tasks = await member2.get('/tasks/user');
- let member2SyncedTask = find(member2Tasks, findAssignedTask);
+ const member2Tasks = await member2.get('/tasks/user');
+ const member2SyncedTask = find(member2Tasks, findAssignedTask);
expect(groupTask[0].group.assignedUsers).to.contain(member._id);
expect(groupTask[0].group.assignedUsers).to.contain(member2._id);
@@ -159,9 +160,9 @@ describe('POST /tasks/:taskId/assign/:memberId', () => {
await member2.post(`/tasks/${task._id}/assign/${member._id}`);
- let groupTask = await member2.get(`/tasks/group/${guild._id}`);
- let memberTasks = await member.get('/tasks/user');
- let syncedTask = find(memberTasks, findAssignedTask);
+ const groupTask = await member2.get(`/tasks/group/${guild._id}`);
+ const memberTasks = await member.get('/tasks/user');
+ const syncedTask = find(memberTasks, findAssignedTask);
expect(groupTask[0].group.assignedUsers).to.contain(member._id);
expect(syncedTask).to.exist;
diff --git a/test/api/v3/integration/tasks/groups/POST-tasks_move_taskId_to_position.test.js b/test/api/v3/integration/tasks/groups/POST-tasks_move_taskId_to_position.test.js
index cefef5c832..9dcc956e1b 100644
--- a/test/api/v3/integration/tasks/groups/POST-tasks_move_taskId_to_position.test.js
+++ b/test/api/v3/integration/tasks/groups/POST-tasks_move_taskId_to_position.test.js
@@ -4,45 +4,46 @@ import {
} from '../../../../../helpers/api-integration/v3';
describe('POST group-tasks/:taskId/move/to/:position', () => {
- let user, guild;
+ let user; let
+ guild;
beforeEach(async () => {
- user = await generateUser({balance: 1});
- guild = await generateGroup(user, {type: 'guild'});
+ user = await generateUser({ balance: 1 });
+ guild = await generateGroup(user, { type: 'guild' });
});
it('can move task to new position', async () => {
- let tasks = await user.post(`/tasks/group/${guild._id}`, [
- {type: 'habit', text: 'habit 1'},
- {type: 'habit', text: 'habit 2'},
- {type: 'daily', text: 'daily 1'},
- {type: 'habit', text: 'habit 3'},
- {type: 'habit', text: 'habit 4'},
- {type: 'todo', text: 'todo 1'},
- {type: 'habit', text: 'habit 5'},
+ const tasks = await user.post(`/tasks/group/${guild._id}`, [
+ { type: 'habit', text: 'habit 1' },
+ { type: 'habit', text: 'habit 2' },
+ { type: 'daily', text: 'daily 1' },
+ { type: 'habit', text: 'habit 3' },
+ { type: 'habit', text: 'habit 4' },
+ { type: 'todo', text: 'todo 1' },
+ { type: 'habit', text: 'habit 5' },
]);
- let taskToMove = tasks[1];
+ const taskToMove = tasks[1];
expect(taskToMove.text).to.equal('habit 2');
- let newOrder = await user.post(`/group-tasks/${tasks[1]._id}/move/to/3`);
+ const newOrder = await user.post(`/group-tasks/${tasks[1]._id}/move/to/3`);
expect(newOrder[3]).to.equal(taskToMove._id);
expect(newOrder.length).to.equal(5);
});
it('can push to bottom', async () => {
- let tasks = await user.post(`/tasks/group/${guild._id}`, [
- {type: 'habit', text: 'habit 1'},
- {type: 'habit', text: 'habit 2'},
- {type: 'daily', text: 'daily 1'},
- {type: 'habit', text: 'habit 3'},
- {type: 'habit', text: 'habit 4'},
- {type: 'todo', text: 'todo 1'},
- {type: 'habit', text: 'habit 5'},
+ const tasks = await user.post(`/tasks/group/${guild._id}`, [
+ { type: 'habit', text: 'habit 1' },
+ { type: 'habit', text: 'habit 2' },
+ { type: 'daily', text: 'daily 1' },
+ { type: 'habit', text: 'habit 3' },
+ { type: 'habit', text: 'habit 4' },
+ { type: 'todo', text: 'todo 1' },
+ { type: 'habit', text: 'habit 5' },
]);
- let taskToMove = tasks[1];
+ const taskToMove = tasks[1];
expect(taskToMove.text).to.equal('habit 2');
- let newOrder = await user.post(`/group-tasks/${tasks[1]._id}/move/to/-1`);
+ const newOrder = await user.post(`/group-tasks/${tasks[1]._id}/move/to/-1`);
expect(newOrder[4]).to.equal(taskToMove._id);
expect(newOrder.length).to.equal(5);
});
diff --git a/test/api/v3/integration/tasks/groups/POST-tasks_task_id_unassign.test.js b/test/api/v3/integration/tasks/groups/POST-tasks_task_id_unassign.test.js
index a3fbd3c8bb..c1981b3061 100644
--- a/test/api/v3/integration/tasks/groups/POST-tasks_task_id_unassign.test.js
+++ b/test/api/v3/integration/tasks/groups/POST-tasks_task_id_unassign.test.js
@@ -1,20 +1,21 @@
+import { v4 as generateUUID } from 'uuid';
+import { find } from 'lodash';
import {
generateUser,
createAndPopulateGroup,
translate as t,
} from '../../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
-import { find } from 'lodash';
describe('POST /tasks/:taskId/unassign/:memberId', () => {
- let user, guild, member, member2, task;
+ let user; let guild; let member; let member2; let
+ task;
function findAssignedTask (memberTask) {
return memberTask.group.id === guild._id;
}
beforeEach(async () => {
- let {group, members, groupLeader} = await createAndPopulateGroup({
+ const { group, members, groupLeader } = await createAndPopulateGroup({
groupDetails: {
name: 'Test Guild',
type: 'guild',
@@ -24,8 +25,8 @@ describe('POST /tasks/:taskId/unassign/:memberId', () => {
guild = group;
user = groupLeader;
- member = members[0];
- member2 = members[1];
+ member = members[0]; // eslint-disable-line prefer-destructuring
+ member2 = members[1]; // eslint-disable-line prefer-destructuring
task = await user.post(`/tasks/group/${guild._id}`, {
text: 'test habit',
@@ -48,7 +49,7 @@ describe('POST /tasks/:taskId/unassign/:memberId', () => {
});
it('returns error when task is not a group task', async () => {
- let nonGroupTask = await user.post('/tasks/user', {
+ const nonGroupTask = await user.post('/tasks/user', {
text: 'test habit',
type: 'habit',
up: false,
@@ -65,7 +66,7 @@ describe('POST /tasks/:taskId/unassign/:memberId', () => {
});
it('returns error when user is not a member of the group', async () => {
- let nonUser = await generateUser();
+ const nonUser = await generateUser();
await expect(nonUser.post(`/tasks/${task._id}/unassign/${member._id}`))
.to.eventually.be.rejected.and.eql({
@@ -78,9 +79,9 @@ describe('POST /tasks/:taskId/unassign/:memberId', () => {
it('unassigns a user from a task', async () => {
await user.post(`/tasks/${task._id}/unassign/${member._id}`);
- let groupTask = await user.get(`/tasks/group/${guild._id}`);
- let memberTasks = await member.get('/tasks/user');
- let syncedTask = find(memberTasks, findAssignedTask);
+ const groupTask = await user.get(`/tasks/group/${guild._id}`);
+ const memberTasks = await member.get('/tasks/user');
+ const syncedTask = find(memberTasks, findAssignedTask);
expect(groupTask[0].group.assignedUsers).to.not.contain(member._id);
expect(syncedTask).to.not.exist;
@@ -98,13 +99,13 @@ describe('POST /tasks/:taskId/unassign/:memberId', () => {
await user.post(`/tasks/${task._id}/unassign/${member._id}`);
- let groupTask = await user.get(`/tasks/group/${guild._id}`);
+ const groupTask = await user.get(`/tasks/group/${guild._id}`);
- let memberTasks = await member.get('/tasks/user');
- let member1SyncedTask = find(memberTasks, findAssignedTask);
+ const memberTasks = await member.get('/tasks/user');
+ const member1SyncedTask = find(memberTasks, findAssignedTask);
- let member2Tasks = await member2.get('/tasks/user');
- let member2SyncedTask = find(member2Tasks, findAssignedTask);
+ const member2Tasks = await member2.get('/tasks/user');
+ const member2SyncedTask = find(member2Tasks, findAssignedTask);
expect(groupTask[0].group.assignedUsers).to.not.contain(member._id);
expect(member1SyncedTask).to.not.exist;
@@ -120,9 +121,9 @@ describe('POST /tasks/:taskId/unassign/:memberId', () => {
await member2.post(`/tasks/${task._id}/unassign/${member._id}`);
- let groupTask = await member2.get(`/tasks/group/${guild._id}`);
- let memberTasks = await member.get('/tasks/user');
- let syncedTask = find(memberTasks, findAssignedTask);
+ const groupTask = await member2.get(`/tasks/group/${guild._id}`);
+ const memberTasks = await member.get('/tasks/user');
+ const syncedTask = find(memberTasks, findAssignedTask);
expect(groupTask[0].group.assignedUsers).to.not.contain(member._id);
expect(syncedTask).to.not.exist;
@@ -131,9 +132,9 @@ describe('POST /tasks/:taskId/unassign/:memberId', () => {
it('allows a user to unassign themselves', async () => {
await member.post(`/tasks/${task._id}/unassign/${member._id}`);
- let groupTask = await user.get(`/tasks/group/${guild._id}`);
- let memberTasks = await member.get('/tasks/user');
- let syncedTask = find(memberTasks, findAssignedTask);
+ const groupTask = await user.get(`/tasks/group/${guild._id}`);
+ const memberTasks = await member.get('/tasks/user');
+ const syncedTask = find(memberTasks, findAssignedTask);
expect(groupTask[0].group.assignedUsers).to.not.contain(member._id);
expect(syncedTask).to.not.exist;
diff --git a/test/api/v3/integration/tasks/groups/PUT-group_task_id.test.js b/test/api/v3/integration/tasks/groups/PUT-group_task_id.test.js
index aa2b3876a6..d7a193c025 100644
--- a/test/api/v3/integration/tasks/groups/PUT-group_task_id.test.js
+++ b/test/api/v3/integration/tasks/groups/PUT-group_task_id.test.js
@@ -1,17 +1,18 @@
+import { find } from 'lodash';
import {
createAndPopulateGroup, translate as t,
} from '../../../../../helpers/api-integration/v3';
-import {find} from 'lodash';
describe('PUT /tasks/:id', () => {
- let user, guild, member, member2, task;
+ let user; let guild; let member; let member2; let
+ task;
function findAssignedTask (memberTask) {
return memberTask.group.id === guild._id;
}
beforeEach(async () => {
- let {group, members, groupLeader} = await createAndPopulateGroup({
+ const { group, members, groupLeader } = await createAndPopulateGroup({
groupDetails: {
name: 'Test Guild',
type: 'guild',
@@ -21,8 +22,8 @@ describe('PUT /tasks/:id', () => {
guild = group;
user = groupLeader;
- member = members[0];
- member2 = members[1];
+ member = members[0]; // eslint-disable-line prefer-destructuring
+ member2 = members[1]; // eslint-disable-line prefer-destructuring
task = await user.post(`/tasks/group/${guild._id}`, {
text: 'test habit',
@@ -37,7 +38,7 @@ describe('PUT /tasks/:id', () => {
});
it('updates a group task', async () => {
- let savedHabit = await user.put(`/tasks/${task._id}`, {
+ const savedHabit = await user.put(`/tasks/${task._id}`, {
notes: 'some new notes',
});
@@ -56,8 +57,8 @@ describe('PUT /tasks/:id', () => {
requiresApproval: true,
});
- let memberTasks = await member2.get('/tasks/user');
- let syncedTask = find(memberTasks, (memberTask) => memberTask.group.taskId === task._id);
+ const memberTasks = await member2.get('/tasks/user');
+ const syncedTask = find(memberTasks, memberTask => memberTask.group.taskId === task._id);
// score up to trigger approval
await expect(member2.post(`/tasks/${syncedTask._id}/score/up`))
@@ -107,8 +108,8 @@ describe('PUT /tasks/:id', () => {
});
- let memberTasks = await member.get('/tasks/user');
- let syncedTask = find(memberTasks, findAssignedTask);
+ const memberTasks = await member.get('/tasks/user');
+ const syncedTask = find(memberTasks, findAssignedTask);
expect(syncedTask.text).to.eql('some new text');
expect(syncedTask.up).to.eql(false);
@@ -123,11 +124,11 @@ describe('PUT /tasks/:id', () => {
notes: 'some new notes',
});
- let memberTasks = await member.get('/tasks/user');
- let syncedTask = find(memberTasks, findAssignedTask);
+ const memberTasks = await member.get('/tasks/user');
+ const syncedTask = find(memberTasks, findAssignedTask);
- let member2Tasks = await member2.get('/tasks/user');
- let member2SyncedTask = find(member2Tasks, findAssignedTask);
+ const member2Tasks = await member2.get('/tasks/user');
+ const member2SyncedTask = find(member2Tasks, findAssignedTask);
expect(syncedTask.text).to.eql('some new text');
expect(syncedTask.up).to.eql(false);
@@ -151,8 +152,8 @@ describe('PUT /tasks/:id', () => {
});
- let memberTasks = await member.get('/tasks/user');
- let syncedTask = find(memberTasks, findAssignedTask);
+ const memberTasks = await member.get('/tasks/user');
+ const syncedTask = find(memberTasks, findAssignedTask);
expect(syncedTask.text).to.eql('some new text');
expect(syncedTask.up).to.eql(false);
diff --git a/test/api/v3/integration/tasks/groups/checklists/DELETE-group_tasks_taskId_checklist_item.test.js b/test/api/v3/integration/tasks/groups/checklists/DELETE-group_tasks_taskId_checklist_item.test.js
index ace15b6039..1830faa9f0 100644
--- a/test/api/v3/integration/tasks/groups/checklists/DELETE-group_tasks_taskId_checklist_item.test.js
+++ b/test/api/v3/integration/tasks/groups/checklists/DELETE-group_tasks_taskId_checklist_item.test.js
@@ -1,14 +1,15 @@
+import { v4 as generateUUID } from 'uuid';
import {
createAndPopulateGroup,
translate as t,
} from '../../../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
describe('DELETE group /tasks/:taskId/checklist/:itemId', () => {
- let user, guild, task;
+ let user; let guild; let
+ task;
before(async () => {
- let {group, groupLeader} = await createAndPopulateGroup({
+ const { group, groupLeader } = await createAndPopulateGroup({
groupDetails: {
name: 'Test Guild',
type: 'guild',
@@ -26,7 +27,7 @@ describe('DELETE group /tasks/:taskId/checklist/:itemId', () => {
text: 'Daily with checklist',
});
- let savedTask = await user.post(`/tasks/${task._id}/checklist`, {text: 'Checklist Item 1', completed: false});
+ let savedTask = await user.post(`/tasks/${task._id}/checklist`, { text: 'Checklist Item 1', completed: false });
await user.del(`/tasks/${task._id}/checklist/${savedTask.checklist[0].id}`);
savedTask = await user.get(`/tasks/group/${guild._id}`);
@@ -35,7 +36,7 @@ describe('DELETE group /tasks/:taskId/checklist/:itemId', () => {
});
it('does not work with habits', async () => {
- let habit = await user.post(`/tasks/group/${guild._id}`, {
+ const habit = await user.post(`/tasks/group/${guild._id}`, {
type: 'habit',
text: 'habit with checklist',
});
@@ -48,7 +49,7 @@ describe('DELETE group /tasks/:taskId/checklist/:itemId', () => {
});
it('does not work with rewards', async () => {
- let reward = await user.post(`/tasks/group/${guild._id}`, {
+ const reward = await user.post(`/tasks/group/${guild._id}`, {
type: 'reward',
text: 'reward with checklist',
});
@@ -69,7 +70,7 @@ describe('DELETE group /tasks/:taskId/checklist/:itemId', () => {
});
it('fails on checklist item not found', async () => {
- let createdTask = await user.post(`/tasks/group/${guild._id}`, {
+ const createdTask = await user.post(`/tasks/group/${guild._id}`, {
type: 'daily',
text: 'daily with checklist',
});
diff --git a/test/api/v3/integration/tasks/groups/checklists/POST-group_tasks_taskId_checklist.test.js b/test/api/v3/integration/tasks/groups/checklists/POST-group_tasks_taskId_checklist.test.js
index f6e18027a7..f1e553984d 100644
--- a/test/api/v3/integration/tasks/groups/checklists/POST-group_tasks_taskId_checklist.test.js
+++ b/test/api/v3/integration/tasks/groups/checklists/POST-group_tasks_taskId_checklist.test.js
@@ -1,14 +1,15 @@
+import { v4 as generateUUID } from 'uuid';
import {
createAndPopulateGroup,
translate as t,
} from '../../../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
describe('POST group /tasks/:taskId/checklist/', () => {
- let user, guild, task;
+ let user; let guild; let
+ task;
before(async () => {
- let {group, groupLeader} = await createAndPopulateGroup({
+ const { group, groupLeader } = await createAndPopulateGroup({
groupDetails: {
name: 'Test Guild',
type: 'guild',
@@ -32,8 +33,8 @@ describe('POST group /tasks/:taskId/checklist/', () => {
_id: 123,
});
- let updatedTasks = await user.get(`/tasks/group/${guild._id}`);
- let updatedTask = updatedTasks[0];
+ const updatedTasks = await user.get(`/tasks/group/${guild._id}`);
+ const updatedTask = updatedTasks[0];
expect(updatedTask.checklist.length).to.equal(1);
expect(updatedTask.checklist[0].text).to.equal('Checklist Item 1');
@@ -44,7 +45,7 @@ describe('POST group /tasks/:taskId/checklist/', () => {
});
it('does not add a checklist to habits', async () => {
- let habit = await user.post(`/tasks/group/${guild._id}`, {
+ const habit = await user.post(`/tasks/group/${guild._id}`, {
type: 'habit',
text: 'habit with checklist',
});
@@ -59,7 +60,7 @@ describe('POST group /tasks/:taskId/checklist/', () => {
});
it('does not add a checklist to rewards', async () => {
- let reward = await user.post(`/tasks/group/${guild._id}`, {
+ const reward = await user.post(`/tasks/group/${guild._id}`, {
type: 'reward',
text: 'reward with checklist',
});
diff --git a/test/api/v3/integration/tasks/groups/checklists/PUT-group_tasks_taskId_checklist_itemId.test.js b/test/api/v3/integration/tasks/groups/checklists/PUT-group_tasks_taskId_checklist_itemId.test.js
index 27b3e19b11..06c612f71b 100644
--- a/test/api/v3/integration/tasks/groups/checklists/PUT-group_tasks_taskId_checklist_itemId.test.js
+++ b/test/api/v3/integration/tasks/groups/checklists/PUT-group_tasks_taskId_checklist_itemId.test.js
@@ -1,14 +1,15 @@
+import { v4 as generateUUID } from 'uuid';
import {
createAndPopulateGroup,
translate as t,
} from '../../../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
describe('PUT group /tasks/:taskId/checklist/:itemId', () => {
- let user, guild, task;
+ let user; let guild; let
+ task;
before(async () => {
- let {group, groupLeader} = await createAndPopulateGroup({
+ const { group, groupLeader } = await createAndPopulateGroup({
groupDetails: {
name: 'Test Guild',
type: 'guild',
@@ -44,7 +45,7 @@ describe('PUT group /tasks/:taskId/checklist/:itemId', () => {
});
it('fails on habits', async () => {
- let habit = await user.post(`/tasks/group/${guild._id}`, {
+ const habit = await user.post(`/tasks/group/${guild._id}`, {
type: 'habit',
text: 'habit with checklist',
});
@@ -57,7 +58,7 @@ describe('PUT group /tasks/:taskId/checklist/:itemId', () => {
});
it('fails on rewards', async () => {
- let reward = await user.post(`/tasks/group/${guild._id}`, {
+ const reward = await user.post(`/tasks/group/${guild._id}`, {
type: 'reward',
text: 'reward with checklist',
});
@@ -78,7 +79,7 @@ describe('PUT group /tasks/:taskId/checklist/:itemId', () => {
});
it('fails on checklist item not found', async () => {
- let createdTask = await user.post(`/tasks/group/${guild._id}`, {
+ const createdTask = await user.post(`/tasks/group/${guild._id}`, {
type: 'daily',
text: 'daily with checklist',
});
diff --git a/test/api/v3/integration/tasks/groups/tags/DELETE-group_tasks_taskId_tags_tagId.test.js b/test/api/v3/integration/tasks/groups/tags/DELETE-group_tasks_taskId_tags_tagId.test.js
index 05a792dee5..9c97c2860c 100644
--- a/test/api/v3/integration/tasks/groups/tags/DELETE-group_tasks_taskId_tags_tagId.test.js
+++ b/test/api/v3/integration/tasks/groups/tags/DELETE-group_tasks_taskId_tags_tagId.test.js
@@ -1,14 +1,17 @@
+import { v4 as generateUUID } from 'uuid';
import {
createAndPopulateGroup,
translate as t,
} from '../../../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
-// Currently we do not support adding tags to group original tasks, but if we do in the future, these tests will check
+
+// Currently we do not support adding tags to group original tasks,
+// but if we do in the future, these tests will check
xdescribe('DELETE group /tasks/:taskId/tags/:tagId', () => {
- let user, guild, task;
+ let user; let guild; let
+ task;
before(async () => {
- let {group, groupLeader} = await createAndPopulateGroup({
+ const { group, groupLeader } = await createAndPopulateGroup({
groupDetails: {
name: 'Test Guild',
type: 'guild',
@@ -26,18 +29,18 @@ xdescribe('DELETE group /tasks/:taskId/tags/:tagId', () => {
text: 'Task with tag',
});
- let tag = await user.post('/tags', {name: 'Tag 1'});
+ const tag = await user.post('/tags', { name: 'Tag 1' });
await user.post(`/tasks/${task._id}/tags/${tag.id}`);
await user.del(`/tasks/${task._id}/tags/${tag.id}`);
- let updatedTask = await user.get(`/tasks/group/${guild._id}`);
+ const updatedTask = await user.get(`/tasks/group/${guild._id}`);
expect(updatedTask[0].tags.length).to.equal(0);
});
it('only deletes existing tags', async () => {
- let createdTask = await user.post(`/tasks/group/${guild._id}`, {
+ const createdTask = await user.post(`/tasks/group/${guild._id}`, {
type: 'habit',
text: 'Task with tag',
});
diff --git a/test/api/v3/integration/tasks/groups/tags/POST-tasks_taskId_tags.test.js b/test/api/v3/integration/tasks/groups/tags/POST-tasks_taskId_tags.test.js
index ead583d122..615f87ba47 100644
--- a/test/api/v3/integration/tasks/groups/tags/POST-tasks_taskId_tags.test.js
+++ b/test/api/v3/integration/tasks/groups/tags/POST-tasks_taskId_tags.test.js
@@ -1,15 +1,17 @@
+import { v4 as generateUUID } from 'uuid';
import {
createAndPopulateGroup,
translate as t,
} from '../../../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
-// Currently we do not support adding tags to group original tasks, but if we do in the future, these tests will check
+// Currently we do not support adding tags to group original tasks,
+// but if we do in the future, these tests will check
xdescribe('POST group /tasks/:taskId/tags/:tagId', () => {
- let user, guild, task;
+ let user; let guild; let
+ task;
before(async () => {
- let {group, groupLeader} = await createAndPopulateGroup({
+ const { group, groupLeader } = await createAndPopulateGroup({
groupDetails: {
name: 'Test Guild',
type: 'guild',
@@ -27,8 +29,8 @@ xdescribe('POST group /tasks/:taskId/tags/:tagId', () => {
text: 'Task with tag',
});
- let tag = await user.post('/tags', {name: 'Tag 1'});
- let savedTask = await user.post(`/tasks/${task._id}/tags/${tag.id}`);
+ const tag = await user.post('/tags', { name: 'Tag 1' });
+ const savedTask = await user.post(`/tasks/${task._id}/tags/${tag.id}`);
expect(savedTask.tags[0]).to.equal(tag.id);
});
@@ -39,7 +41,7 @@ xdescribe('POST group /tasks/:taskId/tags/:tagId', () => {
text: 'Task with tag',
});
- let tag = await user.post('/tags', {name: 'Tag 1'});
+ const tag = await user.post('/tags', { name: 'Tag 1' });
await user.post(`/tasks/${task._id}/tags/${tag.id}`);
diff --git a/test/api/v3/integration/tasks/tags/DELETE-tasks_taskId_tags_tagId.test.js b/test/api/v3/integration/tasks/tags/DELETE-tasks_taskId_tags_tagId.test.js
index 0a39cfbac7..f1269050c5 100644
--- a/test/api/v3/integration/tasks/tags/DELETE-tasks_taskId_tags_tagId.test.js
+++ b/test/api/v3/integration/tasks/tags/DELETE-tasks_taskId_tags_tagId.test.js
@@ -1,8 +1,8 @@
+import { v4 as generateUUID } from 'uuid';
import {
generateUser,
translate as t,
} from '../../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
describe('DELETE /tasks/:taskId/tags/:tagId', () => {
let user;
@@ -12,40 +12,40 @@ describe('DELETE /tasks/:taskId/tags/:tagId', () => {
});
it('removes a tag from a task', async () => {
- let task = await user.post('/tasks/user', {
+ const task = await user.post('/tasks/user', {
type: 'habit',
text: 'Task with tag',
});
- let tag = await user.post('/tags', {name: 'Tag 1'});
+ const tag = await user.post('/tags', { name: 'Tag 1' });
await user.post(`/tasks/${task._id}/tags/${tag.id}`);
await user.del(`/tasks/${task._id}/tags/${tag.id}`);
- let updatedTask = await user.get(`/tasks/${task._id}`);
+ const updatedTask = await user.get(`/tasks/${task._id}`);
expect(updatedTask.tags.length).to.equal(0);
});
it('removes a tag from a task using task short name', async () => {
- let task = await user.post('/tasks/user', {
+ const task = await user.post('/tasks/user', {
type: 'habit',
text: 'Task with tag',
alias: 'habit-with-alias',
});
- let tag = await user.post('/tags', {name: 'Tag 1'});
+ const tag = await user.post('/tags', { name: 'Tag 1' });
await user.post(`/tasks/${task._id}/tags/${tag.id}`);
await user.del(`/tasks/${task.alias}/tags/${tag.id}`);
- let updatedTask = await user.get(`/tasks/${task._id}`);
+ const updatedTask = await user.get(`/tasks/${task._id}`);
expect(updatedTask.tags.length).to.equal(0);
});
it('only deletes existing tags', async () => {
- let createdTask = await user.post('/tasks/user', {
+ const createdTask = await user.post('/tasks/user', {
type: 'habit',
text: 'Task with tag',
});
diff --git a/test/api/v3/integration/tasks/tags/POST-tasks_taskId_tags_tagId.test.js b/test/api/v3/integration/tasks/tags/POST-tasks_taskId_tags_tagId.test.js
index 66fb002c69..3e48f7e2bc 100644
--- a/test/api/v3/integration/tasks/tags/POST-tasks_taskId_tags_tagId.test.js
+++ b/test/api/v3/integration/tasks/tags/POST-tasks_taskId_tags_tagId.test.js
@@ -1,8 +1,8 @@
+import { v4 as generateUUID } from 'uuid';
import {
generateUser,
translate as t,
} from '../../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
describe('POST /tasks/:taskId/tags/:tagId', () => {
let user;
@@ -12,37 +12,37 @@ describe('POST /tasks/:taskId/tags/:tagId', () => {
});
it('adds a tag to a task', async () => {
- let task = await user.post('/tasks/user', {
+ const task = await user.post('/tasks/user', {
type: 'habit',
text: 'Task with tag',
});
- let tag = await user.post('/tags', {name: 'Tag 1'});
- let savedTask = await user.post(`/tasks/${task._id}/tags/${tag.id}`);
+ const tag = await user.post('/tags', { name: 'Tag 1' });
+ const savedTask = await user.post(`/tasks/${task._id}/tags/${tag.id}`);
expect(savedTask.tags[0]).to.equal(tag.id);
});
it('adds a tag to a task with alias', async () => {
- let task = await user.post('/tasks/user', {
+ const task = await user.post('/tasks/user', {
type: 'habit',
text: 'Task with tag',
alias: 'habit-with-alias',
});
- let tag = await user.post('/tags', {name: 'Tag 1'});
- let savedTask = await user.post(`/tasks/${task.alias}/tags/${tag.id}`);
+ const tag = await user.post('/tags', { name: 'Tag 1' });
+ const savedTask = await user.post(`/tasks/${task.alias}/tags/${tag.id}`);
expect(savedTask.tags[0]).to.equal(tag.id);
});
it('does not add a tag to a task twice', async () => {
- let task = await user.post('/tasks/user', {
+ const task = await user.post('/tasks/user', {
type: 'habit',
text: 'Task with tag',
});
- let tag = await user.post('/tags', {name: 'Tag 1'});
+ const tag = await user.post('/tags', { name: 'Tag 1' });
await user.post(`/tasks/${task._id}/tags/${tag.id}`);
@@ -54,7 +54,7 @@ describe('POST /tasks/:taskId/tags/:tagId', () => {
});
it('does not add a non existing tag to a task', async () => {
- let task = await user.post('/tasks/user', {
+ const task = await user.post('/tasks/user', {
type: 'habit',
text: 'Task with tag',
});
diff --git a/test/api/v3/integration/user/DELETE-user.test.js b/test/api/v3/integration/user/DELETE-user.test.js
index 2fbe493d43..644a2d57ba 100644
--- a/test/api/v3/integration/user/DELETE-user.test.js
+++ b/test/api/v3/integration/user/DELETE-user.test.js
@@ -1,3 +1,8 @@
+import {
+ find,
+ each,
+ map,
+} from 'lodash';
import {
checkExistence,
createAndPopulateGroup,
@@ -6,11 +11,6 @@ import {
generateChallenge,
translate as t,
} from '../../../../helpers/api-integration/v3';
-import {
- find,
- each,
- map,
-} from 'lodash';
import {
sha1MakeSalt,
sha1Encrypt as sha1EncryptPassword,
@@ -21,11 +21,11 @@ const DELETE_CONFIRMATION = 'DELETE';
describe('DELETE /user', () => {
let user;
- let password = 'password'; // from habitrpg/test/helpers/api-integration/v3/object-generators.js
+ const password = 'password'; // from habitrpg/test/helpers/api-integration/v3/object-generators.js
context('user with local auth', async () => {
beforeEach(async () => {
- user = await generateUser({balance: 10});
+ user = await generateUser({ balance: 10 });
});
it('returns an error if password is wrong', async () => {
@@ -56,10 +56,10 @@ describe('DELETE /user', () => {
});
it('returns an error if excessive feedback is supplied', async () => {
- let feedbackText = 'spam feedback ';
+ const feedbackText = 'spam feedback ';
let feedback = feedbackText;
while (feedback.length < 10000) {
- feedback = feedback + feedbackText;
+ feedback += feedbackText;
}
await expect(user.del('/user', {
@@ -73,7 +73,7 @@ describe('DELETE /user', () => {
});
it('returns an error if user has active subscription', async () => {
- let userWithSubscription = await generateUser({'purchased.plan.customerId': 'fake-customer-id'});
+ const userWithSubscription = await generateUser({ 'purchased.plan.customerId': 'fake-customer-id' });
await expect(userWithSubscription.del('/user', {
password,
@@ -92,8 +92,8 @@ describe('DELETE /user', () => {
await user.sync();
// gets the user's tasks ids
- let ids = [];
- each(user.tasksOrder, (idsForOrder) => {
+ const ids = [];
+ each(user.tasksOrder, idsForOrder => {
ids.push(...idsForOrder);
});
@@ -103,20 +103,18 @@ describe('DELETE /user', () => {
password,
});
- await Promise.all(map(ids, id => {
- return expect(checkExistence('tasks', id)).to.eventually.eql(false);
- }));
+ await Promise.all(map(ids, id => expect(checkExistence('tasks', id)).to.eventually.eql(false)));
});
it('reduces memberCount in challenges user is linked to', async () => {
- let populatedGroup = await createAndPopulateGroup({
+ const populatedGroup = await createAndPopulateGroup({
members: 2,
});
- let group = populatedGroup.group;
- let authorizedUser = populatedGroup.members[1];
+ const { group } = populatedGroup;
+ const authorizedUser = populatedGroup.members[1];
- let challenge = await generateChallenge(populatedGroup.groupLeader, group);
+ const challenge = await generateChallenge(populatedGroup.groupLeader, group);
await populatedGroup.groupLeader.post(`/challenges/${challenge._id}/join`);
await authorizedUser.post(`/challenges/${challenge._id}/join`);
@@ -136,7 +134,7 @@ describe('DELETE /user', () => {
it('sends feedback to the admin email', async () => {
sandbox.spy(email, 'sendTxn');
- let feedback = 'Reasons for Deletion';
+ const feedback = 'Reasons for Deletion';
await user.del('/user', {
password,
feedback,
@@ -160,9 +158,9 @@ describe('DELETE /user', () => {
});
it('deletes the user with a legacy sha1 password', async () => {
- let textPassword = 'mySecretPassword';
- let salt = sha1MakeSalt();
- let sha1HashedPassword = sha1EncryptPassword(textPassword, salt);
+ const textPassword = 'mySecretPassword';
+ const salt = sha1MakeSalt();
+ const sha1HashedPassword = sha1EncryptPassword(textPassword, salt);
await user.update({
'auth.local.hashed_password': sha1HashedPassword,
@@ -220,10 +218,11 @@ describe('DELETE /user', () => {
});
context('groups user is leader of', () => {
- let guild, oldLeader, newLeader;
+ let guild; let oldLeader; let
+ newLeader;
beforeEach(async () => {
- let { group, groupLeader, members } = await createAndPopulateGroup({
+ const { group, groupLeader, members } = await createAndPopulateGroup({
groupDetails: {
type: 'guild',
privacy: 'public',
@@ -232,7 +231,7 @@ describe('DELETE /user', () => {
});
guild = group;
- newLeader = members[0];
+ newLeader = members[0]; // eslint-disable-line prefer-destructuring
oldLeader = groupLeader;
});
@@ -241,7 +240,7 @@ describe('DELETE /user', () => {
password,
});
- let updatedGuild = await newLeader.get(`/groups/${guild._id}`);
+ const updatedGuild = await newLeader.get(`/groups/${guild._id}`);
expect(updatedGuild.leader).to.exist;
expect(updatedGuild.leader._id).to.not.eql(oldLeader._id);
@@ -249,17 +248,18 @@ describe('DELETE /user', () => {
});
context('groups user is a part of', () => {
- let group1, group2, userToDelete, otherUser;
+ let group1; let group2; let userToDelete; let
+ otherUser;
beforeEach(async () => {
- userToDelete = await generateUser({balance: 10});
+ userToDelete = await generateUser({ balance: 10 });
group1 = await generateGroup(userToDelete, {
type: 'guild',
privacy: 'public',
});
- let {group, members} = await createAndPopulateGroup({
+ const { group, members } = await createAndPopulateGroup({
groupDetails: {
type: 'guild',
privacy: 'public',
@@ -268,7 +268,7 @@ describe('DELETE /user', () => {
});
group2 = group;
- otherUser = members[0];
+ otherUser = members[0]; // eslint-disable-line prefer-destructuring
await userToDelete.post(`/groups/${group2._id}/join`);
});
@@ -278,11 +278,9 @@ describe('DELETE /user', () => {
password,
});
- let updatedGroup1Members = await otherUser.get(`/groups/${group1._id}/members`);
- let updatedGroup2Members = await otherUser.get(`/groups/${group2._id}/members`);
- let userInGroup = find(updatedGroup2Members, (member) => {
- return member._id === userToDelete._id;
- });
+ const updatedGroup1Members = await otherUser.get(`/groups/${group1._id}/members`);
+ const updatedGroup2Members = await otherUser.get(`/groups/${group2._id}/members`);
+ const userInGroup = find(updatedGroup2Members, member => member._id === userToDelete._id);
expect(updatedGroup1Members).to.be.empty;
expect(updatedGroup2Members).to.not.be.empty;
@@ -308,7 +306,7 @@ describe('DELETE /user', () => {
})).to.eventually.be.rejected.and.eql({
code: 401,
error: 'NotAuthorized',
- message: t('incorrectDeletePhrase', {magicWord: 'DELETE'}),
+ message: t('incorrectDeletePhrase', { magicWord: 'DELETE' }),
});
});
diff --git a/test/api/v3/integration/user/DELETE-user_messages.test.js b/test/api/v3/integration/user/DELETE-user_messages.test.js
index 079550b136..f71fc89b95 100644
--- a/test/api/v3/integration/user/DELETE-user_messages.test.js
+++ b/test/api/v3/integration/user/DELETE-user_messages.test.js
@@ -3,7 +3,8 @@ import {
} from '../../../../helpers/api-integration/v3';
describe('DELETE user message', () => {
- let user, messagesId, otherUser;
+ let user; let messagesId; let
+ otherUser;
before(async () => {
[user, otherUser] = await Promise.all([generateUser(), generateUser()]);
@@ -16,7 +17,7 @@ describe('DELETE user message', () => {
message: 'second',
});
- let userRes = await user.get('/user');
+ const userRes = await user.get('/user');
messagesId = Object.keys(userRes.inbox.messages);
expect(messagesId.length).to.eql(2);
@@ -25,18 +26,18 @@ describe('DELETE user message', () => {
});
it('one message', async () => {
- let result = await user.del(`/user/messages/${messagesId[0]}`);
+ const result = await user.del(`/user/messages/${messagesId[0]}`);
messagesId = Object.keys(result);
expect(messagesId.length).to.eql(1);
- let userRes = await user.get('/user');
+ const userRes = await user.get('/user');
expect(Object.keys(userRes.inbox.messages).length).to.eql(1);
expect(userRes.inbox.messages[messagesId[0]].text).to.eql('first');
});
it('clear all', async () => {
- let result = await user.del('/user/messages');
- let userRes = await user.get('/user');
+ const result = await user.del('/user/messages');
+ const userRes = await user.get('/user');
expect(userRes.inbox.messages).to.eql({});
expect(result).to.eql({});
});
diff --git a/test/api/v3/integration/user/DELETE-user_push_device.test.js b/test/api/v3/integration/user/DELETE-user_push_device.test.js
index 129df28d87..665968bd42 100644
--- a/test/api/v3/integration/user/DELETE-user_push_device.test.js
+++ b/test/api/v3/integration/user/DELETE-user_push_device.test.js
@@ -5,8 +5,8 @@ import {
describe('DELETE /user/push-devices', () => {
let user;
- let regId = '10';
- let type = 'ios';
+ const regId = '10';
+ const type = 'ios';
beforeEach(async () => {
user = await generateUser();
@@ -22,8 +22,8 @@ describe('DELETE /user/push-devices', () => {
});
it('removes a push device from the user', async () => {
- await user.post('/user/push-devices', {type, regId});
- let response = await user.del(`/user/push-devices/${regId}`);
+ await user.post('/user/push-devices', { type, regId });
+ const response = await user.del(`/user/push-devices/${regId}`);
await user.sync();
expect(response.message).to.equal(t('pushDeviceRemoved'));
diff --git a/test/api/v3/integration/user/GET-user.test.js b/test/api/v3/integration/user/GET-user.test.js
index fc86e779db..437cc70cb3 100644
--- a/test/api/v3/integration/user/GET-user.test.js
+++ b/test/api/v3/integration/user/GET-user.test.js
@@ -11,7 +11,7 @@ describe('GET /user', () => {
});
it('returns the authenticated user with computed stats', async () => {
- let returnedUser = await user.get('/user');
+ const returnedUser = await user.get('/user');
expect(returnedUser._id).to.equal(user._id);
expect(returnedUser.stats.maxMP).to.exist;
@@ -20,7 +20,7 @@ describe('GET /user', () => {
});
it('does not return private paths (and apiToken)', async () => {
- let returnedUser = await user.get('/user');
+ const returnedUser = await user.get('/user');
expect(returnedUser.auth.local.hashed_password).to.not.exist;
expect(returnedUser.auth.local.passwordHashMethod).to.not.exist;
@@ -29,7 +29,7 @@ describe('GET /user', () => {
});
it('returns only user properties requested', async () => {
- let returnedUser = await user.get('/user?userFields=achievements,items.mounts');
+ const returnedUser = await user.get('/user?userFields=achievements,items.mounts');
expect(returnedUser._id).to.equal(user._id);
expect(returnedUser.achievements).to.exist;
diff --git a/test/api/v3/integration/user/GET-user_anonymized.test.js b/test/api/v3/integration/user/GET-user_anonymized.test.js
index 65c99f104e..b9c8207de5 100644
--- a/test/api/v3/integration/user/GET-user_anonymized.test.js
+++ b/test/api/v3/integration/user/GET-user_anonymized.test.js
@@ -1,3 +1,4 @@
+import { v4 as generateUUID } from 'uuid';
import {
generateUser,
generateHabit,
@@ -5,11 +6,10 @@ import {
generateReward,
} from '../../../../helpers/api-integration/v3';
import common from '../../../../../website/common';
-import { v4 as generateUUID } from 'uuid';
describe('GET /user/anonymized', () => {
let user;
- let endpoint = '/user/anonymized';
+ const endpoint = '/user/anonymized';
before(async () => {
user = await generateUser();
@@ -26,7 +26,7 @@ describe('GET /user/anonymized', () => {
},
'items.special.nyeReceived': 'some',
'items.special.valentineReceived': 'some',
- webhooks: [{url: 'https://somurl.com'}],
+ webhooks: [{ url: 'https://somurl.com' }],
'achievements.challenges': 'some',
'inbox.messages': [{ text: 'some text' }],
tags: [{ name: 'some name', challenge: 'some challenge' }],
@@ -35,7 +35,7 @@ describe('GET /user/anonymized', () => {
await generateHabit({ userId: user._id });
await generateHabit({ userId: user._id, text: generateUUID() });
- let daily = await generateDaily({ userId: user._id, checklist: [{ completed: false, text: 'this-text' }] });
+ const daily = await generateDaily({ userId: user._id, checklist: [{ completed: false, text: 'this-text' }] });
expect(daily.checklist[0].text.substr(0, 5)).to.not.eql('item ');
await generateReward({ userId: user._id, text: 'some text 4' });
@@ -63,7 +63,7 @@ describe('GET /user/anonymized', () => {
it('does not return private paths (and apiToken)', async () => {
let returnedUser = await user.get(endpoint);
- let tasks2 = returnedUser.tasks;
+ const tasks2 = returnedUser.tasks;
returnedUser = returnedUser.user;
expect(returnedUser.auth.local).to.not.exist;
expect(returnedUser.apiToken).to.not.exist;
@@ -80,10 +80,10 @@ describe('GET /user/anonymized', () => {
expect(returnedUser.items.special.valentineReceived).to.not.exist;
expect(returnedUser.webhooks).to.not.exist;
expect(returnedUser.achievements.challenges).to.not.exist;
- _.forEach(returnedUser.inbox.messages, (msg) => {
+ _.forEach(returnedUser.inbox.messages, msg => {
expect(msg.text).to.eql('inbox message text');
});
- _.forEach(returnedUser.tags, (tag) => {
+ _.forEach(returnedUser.tags, tag => {
expect(tag.name).to.eql('tag');
expect(tag.challenge).to.eql('challenge');
});
@@ -91,11 +91,11 @@ describe('GET /user/anonymized', () => {
expect(tasks2).to.exist;
expect(tasks2.length).to.eql(5);
expect(tasks2[0].checklist).to.exist;
- _.forEach(tasks2, (task) => {
+ _.forEach(tasks2, task => {
expect(task.text).to.eql('task text');
expect(task.notes).to.eql('task notes');
if (task.checklist) {
- _.forEach(task.checklist, (c) => {
+ _.forEach(task.checklist, c => {
expect(c.text.substr(0, 5)).to.eql('item ');
});
}
diff --git a/test/api/v3/integration/user/GET-user_inAppRewards.test.js b/test/api/v3/integration/user/GET-user_inAppRewards.test.js
index a2583dc43f..9a498861cf 100644
--- a/test/api/v3/integration/user/GET-user_inAppRewards.test.js
+++ b/test/api/v3/integration/user/GET-user_inAppRewards.test.js
@@ -11,14 +11,10 @@ describe('GET /user/in-app-rewards', () => {
});
it('returns the reward items available for purchase', async () => {
- let buyList = await user.get('/user/in-app-rewards');
+ const buyList = await user.get('/user/in-app-rewards');
- expect(_.find(buyList, item => {
- return item.text === t('armorWarrior1Text');
- })).to.exist;
+ expect(_.find(buyList, item => item.text === t('armorWarrior1Text'))).to.exist;
- expect(_.find(buyList, item => {
- return item.text === t('armorWarrior2Text');
- })).to.not.exist;
+ expect(_.find(buyList, item => item.text === t('armorWarrior2Text'))).to.not.exist;
});
});
diff --git a/test/api/v3/integration/user/GET-user_inventory_buy.test.js b/test/api/v3/integration/user/GET-user_inventory_buy.test.js
index fd2a25b4ee..ea663142ec 100644
--- a/test/api/v3/integration/user/GET-user_inventory_buy.test.js
+++ b/test/api/v3/integration/user/GET-user_inventory_buy.test.js
@@ -13,14 +13,10 @@ describe('GET /user/inventory/buy', () => {
// More tests in common code unit tests
it('returns the gear items available for purchase', async () => {
- let buyList = await user.get('/user/inventory/buy');
+ const buyList = await user.get('/user/inventory/buy');
- expect(_.find(buyList, item => {
- return item.text === t('armorWarrior1Text');
- })).to.exist;
+ expect(_.find(buyList, item => item.text === t('armorWarrior1Text'))).to.exist;
- expect(_.find(buyList, item => {
- return item.text === t('armorWarrior2Text');
- })).to.not.exist;
+ expect(_.find(buyList, item => item.text === t('armorWarrior2Text'))).to.not.exist;
});
});
diff --git a/test/api/v3/integration/user/GET-user_toggle-pinned-item.test.js b/test/api/v3/integration/user/GET-user_toggle-pinned-item.test.js
index c958c4f979..548c1d45d9 100644
--- a/test/api/v3/integration/user/GET-user_toggle-pinned-item.test.js
+++ b/test/api/v3/integration/user/GET-user_toggle-pinned-item.test.js
@@ -20,7 +20,7 @@ describe('GET /user/toggle-pinned-item', () => {
});
it('can pin shield_rogue_5', async () => {
- let result = await user.get('/user/toggle-pinned-item/marketGear/gear.flat.shield_rogue_5');
+ const result = await user.get('/user/toggle-pinned-item/marketGear/gear.flat.shield_rogue_5');
expect(result.pinnedItems.length).to.be.eql(user.pinnedItems.length + 1);
});
diff --git a/test/api/v3/integration/user/POST-move-pinned-item.js b/test/api/v3/integration/user/POST-move-pinned-item.js
index 010e09d722..f7de9c65b2 100644
--- a/test/api/v3/integration/user/POST-move-pinned-item.js
+++ b/test/api/v3/integration/user/POST-move-pinned-item.js
@@ -2,7 +2,7 @@ import {
generateUser,
} from '../../../../helpers/api-integration/v3';
-import getOfficialPinnedItems from '../../../../../website/common/script/libs/getOfficialPinnedItems.js';
+import getOfficialPinnedItems from '../../../../../website/common/script/libs/getOfficialPinnedItems';
describe('POST /user/move-pinned-item/:path/move/to/:position', () => {
let user;
@@ -14,14 +14,15 @@ describe('POST /user/move-pinned-item/:path/move/to/:position', () => {
officialPinnedItems = getOfficialPinnedItems(user);
officialPinnedItemPaths = [];
- // officialPinnedItems are returned in { type: ..., path:... } format but we just need the paths for testPinnedItemsOrder
+ // officialPinnedItems are returned in { type: ..., path:... } format
+ // but we just need the paths for testPinnedItemsOrder
if (officialPinnedItems.length > 0) {
officialPinnedItemPaths = officialPinnedItems.map(item => item.path);
}
});
it('adjusts the order of pinned items with no order mismatch', async () => {
- let testPinnedItems = [
+ const testPinnedItems = [
{ type: 'armoire', path: 'armoire' },
{ type: 'potion', path: 'potion' },
{ type: 'marketGear', path: 'gear.flat.weapon_warrior_1' },
@@ -56,7 +57,7 @@ describe('POST /user/move-pinned-item/:path/move/to/:position', () => {
pinnedItemsOrder: testPinnedItemsOrder,
});
- let res = await user.post('/user/move-pinned-item/armoire/move/to/5');
+ const res = await user.post('/user/move-pinned-item/armoire/move/to/5');
await user.sync();
expect(user.pinnedItemsOrder[5]).to.equal('armoire');
@@ -83,14 +84,14 @@ describe('POST /user/move-pinned-item/:path/move/to/:position', () => {
});
it('adjusts the order of pinned items with order mismatch', async () => {
- let testPinnedItems = [
+ const testPinnedItems = [
{ type: 'card', path: 'cardTypes.thankyou' },
{ type: 'card', path: 'cardTypes.greeting' },
{ type: 'potion', path: 'potion' },
{ type: 'armoire', path: 'armoire' },
];
- let testPinnedItemsOrder = [
+ const testPinnedItemsOrder = [
'armoire',
'potion',
];
@@ -100,7 +101,7 @@ describe('POST /user/move-pinned-item/:path/move/to/:position', () => {
pinnedItemsOrder: testPinnedItemsOrder,
});
- let res = await user.post('/user/move-pinned-item/armoire/move/to/1');
+ const res = await user.post('/user/move-pinned-item/armoire/move/to/1');
await user.sync();
// The basic test
@@ -115,7 +116,8 @@ describe('POST /user/move-pinned-item/:path/move/to/:position', () => {
'cardTypes.greeting',
'potion',
];
- // inAppRewards is used here and will by default put these seasonal items in the front like this:
+ // inAppRewards is used here and will by default
+ // put these seasonal items in the front like this:
expectedResponse = officialPinnedItemPaths.concat(expectedResponse);
// now put "armoire" in where we moved it:
expectedResponse.splice(1, 0, 'armoire');
@@ -124,12 +126,12 @@ describe('POST /user/move-pinned-item/:path/move/to/:position', () => {
});
it('cannot move pinned item that you do not have pinned', async () => {
- let testPinnedItems = [
+ const testPinnedItems = [
{ type: 'potion', path: 'potion' },
{ type: 'armoire', path: 'armoire' },
];
- let testPinnedItemsOrder = [
+ const testPinnedItemsOrder = [
'armoire',
'potion',
];
diff --git a/test/api/v3/integration/user/POST-user_block.test.js b/test/api/v3/integration/user/POST-user_block.test.js
index 51766eb51e..92fdacfb5e 100644
--- a/test/api/v3/integration/user/POST-user_block.test.js
+++ b/test/api/v3/integration/user/POST-user_block.test.js
@@ -25,7 +25,7 @@ describe('block user', () => {
});
it('successfully', async () => {
- let response = await user.post(`/user/block/${blockedUser2._id}`);
+ const response = await user.post(`/user/block/${blockedUser2._id}`);
await user.sync();
expect(response).to.eql([blockedUser._id, blockedUser2._id]);
expect(user.inbox.blocks.length).to.eql(2);
diff --git a/test/api/v3/integration/user/POST-user_change-class.test.js b/test/api/v3/integration/user/POST-user_change-class.test.js
index d4b4192f23..928cb77979 100644
--- a/test/api/v3/integration/user/POST-user_change-class.test.js
+++ b/test/api/v3/integration/user/POST-user_change-class.test.js
@@ -15,7 +15,7 @@ describe('POST /user/change-class', () => {
// More tests in common code unit tests
it('changes class', async () => {
- let res = await user.post('/user/change-class?class=rogue');
+ const res = await user.post('/user/change-class?class=rogue');
await user.sync();
expect(res).to.eql(JSON.parse(
@@ -24,7 +24,7 @@ describe('POST /user/change-class', () => {
stats: user.stats,
flags: user.flags,
items: user.items,
- })
+ }),
));
});
});
diff --git a/test/api/v3/integration/user/POST-user_class_cast_spellId.test.js b/test/api/v3/integration/user/POST-user_class_cast_spellId.test.js
index 379d04a9ec..fdd30bac68 100644
--- a/test/api/v3/integration/user/POST-user_class_cast_spellId.test.js
+++ b/test/api/v3/integration/user/POST-user_class_cast_spellId.test.js
@@ -1,3 +1,6 @@
+
+import { v4 as generateUUID } from 'uuid';
+import { find } from 'lodash';
import {
generateUser,
translate as t,
@@ -6,9 +9,6 @@ import {
generateChallenge,
sleep,
} from '../../../../helpers/api-integration/v3';
-
-import { v4 as generateUUID } from 'uuid';
-import { find } from 'lodash';
import apiError from '../../../../../website/server/libs/apiError';
describe('POST /user/class/cast/:spellId', () => {
@@ -19,28 +19,28 @@ describe('POST /user/class/cast/:spellId', () => {
});
it('returns an error if spell does not exist', async () => {
- await user.update({'stats.class': 'rogue'});
- let spellId = 'invalidSpell';
+ await user.update({ 'stats.class': 'rogue' });
+ const spellId = 'invalidSpell';
await expect(user.post(`/user/class/cast/${spellId}`))
.to.eventually.be.rejected.and.eql({
code: 404,
error: 'NotFound',
- message: apiError('spellNotFound', {spellId}),
+ message: apiError('spellNotFound', { spellId }),
});
});
it('returns an error if spell does not exist in user\'s class', async () => {
- let spellId = 'pickPocket';
+ const spellId = 'pickPocket';
await expect(user.post(`/user/class/cast/${spellId}`))
.to.eventually.be.rejected.and.eql({
code: 404,
error: 'NotFound',
- message: apiError('spellNotFound', {spellId}),
+ message: apiError('spellNotFound', { spellId }),
});
});
it('returns an error if spell.mana > user.mana', async () => {
- await user.update({'stats.class': 'rogue'});
+ await user.update({ 'stats.class': 'rogue' });
await expect(user.post('/user/class/cast/backStab'))
.to.eventually.be.rejected.and.eql({
code: 401,
@@ -74,12 +74,12 @@ describe('POST /user/class/cast/:spellId', () => {
});
it('returns an error if spell.lvl > user.level', async () => {
- await user.update({'stats.mp': 200, 'stats.class': 'wizard'});
+ await user.update({ 'stats.mp': 200, 'stats.class': 'wizard' });
await expect(user.post('/user/class/cast/earth'))
.to.eventually.be.rejected.and.eql({
code: 401,
error: 'NotAuthorized',
- message: t('spellLevelTooHigh', {level: 13}),
+ message: t('spellLevelTooHigh', { level: 13 }),
});
});
@@ -102,7 +102,7 @@ describe('POST /user/class/cast/:spellId', () => {
});
it('returns an error if targetId is required but missing', async () => {
- await user.update({'stats.class': 'rogue', 'stats.lvl': 11});
+ await user.update({ 'stats.class': 'rogue', 'stats.lvl': 11 });
await expect(user.post('/user/class/cast/pickPocket'))
.to.eventually.be.rejected.and.eql({
code: 400,
@@ -112,7 +112,7 @@ describe('POST /user/class/cast/:spellId', () => {
});
it('returns an error if targeted task doesn\'t exist', async () => {
- await user.update({'stats.class': 'rogue', 'stats.lvl': 11});
+ await user.update({ 'stats.class': 'rogue', 'stats.lvl': 11 });
await expect(user.post(`/user/class/cast/pickPocket?targetId=${generateUUID()}`))
.to.eventually.be.rejected.and.eql({
code: 404,
@@ -122,13 +122,13 @@ describe('POST /user/class/cast/:spellId', () => {
});
it('returns an error if a challenge task was targeted', async () => {
- let {group, groupLeader} = await createAndPopulateGroup();
- let challenge = await generateChallenge(groupLeader, group);
+ const { group, groupLeader } = await createAndPopulateGroup();
+ const challenge = await generateChallenge(groupLeader, group);
await groupLeader.post(`/challenges/${challenge._id}/join`);
await groupLeader.post(`/tasks/challenge/${challenge._id}`, [
- {type: 'habit', text: 'task text'},
+ { type: 'habit', text: 'task text' },
]);
- await groupLeader.update({'stats.class': 'rogue', 'stats.lvl': 11});
+ await groupLeader.update({ 'stats.class': 'rogue', 'stats.lvl': 11 });
await sleep(0.5);
await groupLeader.sync();
await expect(groupLeader.post(`/user/class/cast/pickPocket?targetId=${groupLeader.tasksOrder.habits[0]}`))
@@ -140,19 +140,17 @@ describe('POST /user/class/cast/:spellId', () => {
});
it('returns an error if a group task was targeted', async () => {
- let {group, groupLeader} = await createAndPopulateGroup();
+ const { group, groupLeader } = await createAndPopulateGroup();
- let groupTask = await groupLeader.post(`/tasks/group/${group._id}`, {
+ const groupTask = await groupLeader.post(`/tasks/group/${group._id}`, {
text: 'todo group',
type: 'todo',
});
await groupLeader.post(`/tasks/${groupTask._id}/assign/${groupLeader._id}`);
- let memberTasks = await groupLeader.get('/tasks/user');
- let syncedGroupTask = find(memberTasks, function findAssignedTask (memberTask) {
- return memberTask.group.id === group._id;
- });
+ const memberTasks = await groupLeader.get('/tasks/user');
+ const syncedGroupTask = find(memberTasks, memberTask => memberTask.group.id === group._id);
- await groupLeader.update({'stats.class': 'rogue', 'stats.lvl': 11});
+ await groupLeader.update({ 'stats.class': 'rogue', 'stats.lvl': 11 });
await sleep(0.5);
await groupLeader.sync();
@@ -165,23 +163,23 @@ describe('POST /user/class/cast/:spellId', () => {
});
it('returns an error if targeted party member doesn\'t exist', async () => {
- let {groupLeader} = await createAndPopulateGroup({
+ const { groupLeader } = await createAndPopulateGroup({
groupDetails: { type: 'party', privacy: 'private' },
members: 1,
});
- await groupLeader.update({'items.special.snowball': 3});
+ await groupLeader.update({ 'items.special.snowball': 3 });
- let target = generateUUID();
+ const target = generateUUID();
await expect(groupLeader.post(`/user/class/cast/snowball?targetId=${target}`))
.to.eventually.be.rejected.and.eql({
code: 404,
error: 'NotFound',
- message: t('userWithIDNotFound', {userId: target}),
+ message: t('userWithIDNotFound', { userId: target }),
});
});
it('returns an error if party does not exists', async () => {
- await user.update({'items.special.snowball': 3});
+ await user.update({ 'items.special.snowball': 3 });
await expect(user.post(`/user/class/cast/snowball?targetId=${generateUUID()}`))
.to.eventually.be.rejected.and.eql({
@@ -192,11 +190,11 @@ describe('POST /user/class/cast/:spellId', () => {
});
it('send message in party chat if party && !spell.silent', async () => {
- let { group, groupLeader } = await createAndPopulateGroup({
+ const { group, groupLeader } = await createAndPopulateGroup({
groupDetails: { type: 'party', privacy: 'private' },
members: 1,
});
- await groupLeader.update({'stats.mp': 200, 'stats.class': 'wizard', 'stats.lvl': 13});
+ await groupLeader.update({ 'stats.mp': 200, 'stats.class': 'wizard', 'stats.lvl': 13 });
await groupLeader.post('/user/class/cast/earth');
await sleep(1);
@@ -207,17 +205,17 @@ describe('POST /user/class/cast/:spellId', () => {
});
it('Ethereal Surge does not recover mp of other mages', async () => {
- let group = await createAndPopulateGroup({
+ const group = await createAndPopulateGroup({
groupDetails: { type: 'party', privacy: 'private' },
members: 4,
});
let promises = [];
- promises.push(group.groupLeader.update({'stats.mp': 200, 'stats.class': 'wizard', 'stats.lvl': 20}));
- promises.push(group.members[0].update({'stats.mp': 0, 'stats.class': 'warrior', 'stats.lvl': 20}));
- promises.push(group.members[1].update({'stats.mp': 0, 'stats.class': 'wizard', 'stats.lvl': 20}));
- promises.push(group.members[2].update({'stats.mp': 0, 'stats.class': 'rogue', 'stats.lvl': 20}));
- promises.push(group.members[3].update({'stats.mp': 0, 'stats.class': 'healer', 'stats.lvl': 20}));
+ promises.push(group.groupLeader.update({ 'stats.mp': 200, 'stats.class': 'wizard', 'stats.lvl': 20 }));
+ promises.push(group.members[0].update({ 'stats.mp': 0, 'stats.class': 'warrior', 'stats.lvl': 20 }));
+ promises.push(group.members[1].update({ 'stats.mp': 0, 'stats.class': 'wizard', 'stats.lvl': 20 }));
+ promises.push(group.members[2].update({ 'stats.mp': 0, 'stats.class': 'rogue', 'stats.lvl': 20 }));
+ promises.push(group.members[3].update({ 'stats.mp': 0, 'stats.class': 'healer', 'stats.lvl': 20 }));
await Promise.all(promises);
await group.groupLeader.post('/user/class/cast/mpheal');
@@ -236,13 +234,13 @@ describe('POST /user/class/cast/:spellId', () => {
});
it('cast bulk', async () => {
- let { group, groupLeader } = await createAndPopulateGroup({
+ let { group, groupLeader } = await createAndPopulateGroup({ // eslint-disable-line prefer-const
groupDetails: { type: 'party', privacy: 'private' },
members: 1,
});
- await groupLeader.update({'stats.mp': 200, 'stats.class': 'wizard', 'stats.lvl': 13});
- await groupLeader.post('/user/class/cast/earth', {quantity: 2});
+ await groupLeader.update({ 'stats.mp': 200, 'stats.class': 'wizard', 'stats.lvl': 13 });
+ await groupLeader.post('/user/class/cast/earth', { quantity: 2 });
await sleep(1);
group = await groupLeader.get(`/groups/${group._id}`);
@@ -252,33 +250,32 @@ describe('POST /user/class/cast/:spellId', () => {
});
it('searing brightness does not affect challenge or group tasks', async () => {
- let guild = await generateGroup(user);
- let challenge = await generateChallenge(user, guild);
+ const guild = await generateGroup(user);
+ const challenge = await generateChallenge(user, guild);
await user.post(`/challenges/${challenge._id}/join`);
await user.post(`/tasks/challenge/${challenge._id}`, {
text: 'test challenge habit',
type: 'habit',
});
- let groupTask = await user.post(`/tasks/group/${guild._id}`, {
+ const groupTask = await user.post(`/tasks/group/${guild._id}`, {
text: 'todo group',
type: 'todo',
});
- await user.update({'stats.class': 'healer', 'stats.mp': 200, 'stats.lvl': 15});
+ await user.update({ 'stats.class': 'healer', 'stats.mp': 200, 'stats.lvl': 15 });
await user.post(`/tasks/${groupTask._id}/assign/${user._id}`);
await user.post('/user/class/cast/brightness');
await user.sync();
- let memberTasks = await user.get('/tasks/user');
+ const memberTasks = await user.get('/tasks/user');
- let syncedGroupTask = find(memberTasks, function findAssignedTask (memberTask) {
- return memberTask.group.id === guild._id;
- });
+ const syncedGroupTask = find(memberTasks, memberTask => memberTask.group.id === guild._id);
- let userChallengeTask = find(memberTasks, function findAssignedTask (memberTask) {
- return memberTask.challenge.id === challenge._id;
- });
+ const userChallengeTask = find(
+ memberTasks,
+ memberTask => memberTask.challenge.id === challenge._id,
+ );
expect(userChallengeTask).to.exist;
expect(syncedGroupTask).to.exist;
@@ -287,12 +284,12 @@ describe('POST /user/class/cast/:spellId', () => {
});
it('increases both user\'s achievement values', async () => {
- let party = await createAndPopulateGroup({
+ const party = await createAndPopulateGroup({
members: 1,
});
- let leader = party.groupLeader;
- let recipient = party.members[0];
- await leader.update({'stats.gp': 10});
+ const leader = party.groupLeader;
+ const recipient = party.members[0];
+ await leader.update({ 'stats.gp': 10 });
await leader.post(`/user/class/cast/birthday?targetId=${recipient._id}`);
await leader.sync();
await recipient.sync();
@@ -301,29 +298,29 @@ describe('POST /user/class/cast/:spellId', () => {
});
it('only increases user\'s achievement one if target == caster', async () => {
- await user.update({'stats.gp': 10});
+ await user.update({ 'stats.gp': 10 });
await user.post(`/user/class/cast/birthday?targetId=${user._id}`);
await user.sync();
expect(user.achievements.birthday).to.equal(1);
});
it('passes correct target to spell when targetType === \'task\'', async () => {
- await user.update({'stats.class': 'wizard', 'stats.lvl': 11});
+ await user.update({ 'stats.class': 'wizard', 'stats.lvl': 11 });
- let task = await user.post('/tasks/user', {
+ const task = await user.post('/tasks/user', {
text: 'test habit',
type: 'habit',
});
- let result = await user.post(`/user/class/cast/fireball?targetId=${task._id}`);
+ const result = await user.post(`/user/class/cast/fireball?targetId=${task._id}`);
expect(result.task._id).to.equal(task._id);
});
it('passes correct target to spell when targetType === \'self\'', async () => {
- await user.update({'stats.class': 'wizard', 'stats.lvl': 14, 'stats.mp': 50});
+ await user.update({ 'stats.class': 'wizard', 'stats.lvl': 14, 'stats.mp': 50 });
- let result = await user.post('/user/class/cast/frost');
+ const result = await user.post('/user/class/cast/frost');
expect(result.user.stats.mp).to.equal(10);
});
diff --git a/test/api/v3/integration/user/POST-user_custom-day-start.test.js b/test/api/v3/integration/user/POST-user_custom-day-start.test.js
index 868b9ae91d..158c3667ae 100644
--- a/test/api/v3/integration/user/POST-user_custom-day-start.test.js
+++ b/test/api/v3/integration/user/POST-user_custom-day-start.test.js
@@ -5,7 +5,7 @@ import {
} from '../../../../helpers/api-integration/v3';
let user;
-let endpoint = '/user/custom-day-start';
+const endpoint = '/user/custom-day-start';
describe('POST /user/custom-day-start', () => {
beforeEach(async () => {
@@ -22,9 +22,9 @@ describe('POST /user/custom-day-start', () => {
});
it('sets lastCron to the current time to prevent an unexpected cron', async () => {
- let oldCron = moment().subtract(7, 'hours');
+ const oldCron = moment().subtract(7, 'hours');
- await user.update({lastCron: oldCron});
+ await user.update({ lastCron: oldCron });
await user.post(endpoint, { dayStart: 1 });
await user.sync();
@@ -32,7 +32,7 @@ describe('POST /user/custom-day-start', () => {
});
it('returns a confirmation message', async () => {
- let {message} = await user.post(endpoint, { dayStart: 1 });
+ const { message } = await user.post(endpoint, { dayStart: 1 });
expect(message).to.eql(t('customDayStartHasChanged'));
});
@@ -41,7 +41,7 @@ describe('POST /user/custom-day-start', () => {
await expect(user.post(endpoint, { dayStart: 'foo' }))
.to.eventually.be.rejected;
- await expect(user.post(endpoint, { dayStart: 24}))
+ await expect(user.post(endpoint, { dayStart: 24 }))
.to.eventually.be.rejected;
});
});
diff --git a/test/api/v3/integration/user/POST-user_disable-classes.test.js b/test/api/v3/integration/user/POST-user_disable-classes.test.js
index 0632a8adc7..30763e09af 100644
--- a/test/api/v3/integration/user/POST-user_disable-classes.test.js
+++ b/test/api/v3/integration/user/POST-user_disable-classes.test.js
@@ -12,7 +12,7 @@ describe('POST /user/disable-classes', () => {
// More tests in common code unit tests
it('disable classes', async () => {
- let res = await user.post('/user/disable-classes');
+ const res = await user.post('/user/disable-classes');
await user.sync();
expect(res).to.eql(JSON.parse(
@@ -20,7 +20,7 @@ describe('POST /user/disable-classes', () => {
preferences: user.preferences,
stats: user.stats,
flags: user.flags,
- })
+ }),
));
});
});
diff --git a/test/api/v3/integration/user/POST-user_equip_type_key.test.js b/test/api/v3/integration/user/POST-user_equip_type_key.test.js
index c5cde777df..aed598d583 100644
--- a/test/api/v3/integration/user/POST-user_equip_type_key.test.js
+++ b/test/api/v3/integration/user/POST-user_equip_type_key.test.js
@@ -32,7 +32,7 @@ describe('POST /user/equip/:type/:key', () => {
});
await user.post('/user/equip/equipped/weapon_warrior_1');
- let res = await user.post('/user/equip/equipped/weapon_warrior_2');
+ const res = await user.post('/user/equip/equipped/weapon_warrior_2');
await user.sync();
expect(res).to.eql(JSON.parse(JSON.stringify(user.items)));
diff --git a/test/api/v3/integration/user/POST-user_feed_pet_food.test.js b/test/api/v3/integration/user/POST-user_feed_pet_food.test.js
index 5026416795..9818b4ab9e 100644
--- a/test/api/v3/integration/user/POST-user_feed_pet_food.test.js
+++ b/test/api/v3/integration/user/POST-user_feed_pet_food.test.js
@@ -1,5 +1,6 @@
/* eslint-disable camelcase */
+import { v4 as generateUUID } from 'uuid';
import {
generateUser,
translate as t,
@@ -7,7 +8,6 @@ import {
sleep,
} from '../../../../helpers/api-integration/v3';
import content from '../../../../../website/common/script/content';
-import { v4 as generateUUID } from 'uuid';
describe('POST /user/feed/:pet/:food', () => {
let user;
@@ -24,10 +24,10 @@ describe('POST /user/feed/:pet/:food', () => {
'items.food.Milk': 2,
});
- let food = content.food.Milk;
- let pet = content.petInfo['Wolf-Base'];
+ const food = content.food.Milk;
+ const pet = content.petInfo['Wolf-Base'];
- let res = await user.post('/user/feed/Wolf-Base/Milk');
+ const res = await user.post('/user/feed/Wolf-Base/Milk');
await user.sync();
expect(res).to.eql({
data: user.items.pets['Wolf-Base'],
@@ -51,7 +51,7 @@ describe('POST /user/feed/:pet/:food', () => {
});
it('sends user activity webhook when a new mount is raised', async () => {
- let uuid = generateUUID();
+ const uuid = generateUUID();
await user.post('/user/webhook', {
url: `http://localhost:${server.port}/webhooks/${uuid}`,
@@ -66,11 +66,11 @@ describe('POST /user/feed/:pet/:food', () => {
'items.pets.Wolf-Base': 49,
'items.food.Milk': 2,
});
- let res = await user.post('/user/feed/Wolf-Base/Milk');
+ const res = await user.post('/user/feed/Wolf-Base/Milk');
await sleep();
- let body = server.getWebhookData(uuid);
+ const body = server.getWebhookData(uuid);
expect(body.type).to.eql('mountRaised');
expect(body.pet).to.eql('Wolf-Base');
diff --git a/test/api/v3/integration/user/POST-user_hatch_egg_hatchingPotion.test.js b/test/api/v3/integration/user/POST-user_hatch_egg_hatchingPotion.test.js
index 2aaa54e5e5..9f5c6ce7b5 100644
--- a/test/api/v3/integration/user/POST-user_hatch_egg_hatchingPotion.test.js
+++ b/test/api/v3/integration/user/POST-user_hatch_egg_hatchingPotion.test.js
@@ -1,10 +1,10 @@
+import { v4 as generateUUID } from 'uuid';
import {
generateUser,
translate as t,
server,
sleep,
} from '../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
describe('POST /user/hatch/:egg/:hatchingPotion', () => {
let user;
@@ -20,7 +20,7 @@ describe('POST /user/hatch/:egg/:hatchingPotion', () => {
'items.eggs.Wolf': 1,
'items.hatchingPotions.Base': 1,
});
- let res = await user.post('/user/hatch/Wolf/Base');
+ const res = await user.post('/user/hatch/Wolf/Base');
await user.sync();
expect(user.items.pets['Wolf-Base']).to.equal(5);
expect(user.items.eggs.Wolf).to.equal(0);
@@ -42,7 +42,7 @@ describe('POST /user/hatch/:egg/:hatchingPotion', () => {
});
it('sends user activity webhook when a new pet is hatched', async () => {
- let uuid = generateUUID();
+ const uuid = generateUUID();
await user.post('/user/webhook', {
url: `http://localhost:${server.port}/webhooks/${uuid}`,
@@ -57,11 +57,11 @@ describe('POST /user/hatch/:egg/:hatchingPotion', () => {
'items.eggs.Wolf': 1,
'items.hatchingPotions.Base': 1,
});
- let res = await user.post('/user/hatch/Wolf/Base');
+ const res = await user.post('/user/hatch/Wolf/Base');
await sleep();
- let body = server.getWebhookData(uuid);
+ const body = server.getWebhookData(uuid);
expect(body.type).to.eql('petHatched');
expect(body.pet).to.eql('Wolf-Base');
diff --git a/test/api/v3/integration/user/POST-user_open_mystery_item.test.js b/test/api/v3/integration/user/POST-user_open_mystery_item.test.js
index 1c81cfe439..9fbd3cadcc 100644
--- a/test/api/v3/integration/user/POST-user_open_mystery_item.test.js
+++ b/test/api/v3/integration/user/POST-user_open_mystery_item.test.js
@@ -6,16 +6,16 @@ import content from '../../../../../website/common/script/content/index';
describe('POST /user/open-mystery-item', () => {
let user;
- let mysteryItemKey = 'eyewear_special_summerRogue';
- let mysteryItemIndex = content.gear.flat[mysteryItemKey].index;
- let mysteryItemType = content.gear.flat[mysteryItemKey].type;
- let mysteryItemText = content.gear.flat[mysteryItemKey].text();
+ const mysteryItemKey = 'eyewear_special_summerRogue';
+ const mysteryItemIndex = content.gear.flat[mysteryItemKey].index;
+ const mysteryItemType = content.gear.flat[mysteryItemKey].type;
+ const mysteryItemText = content.gear.flat[mysteryItemKey].text();
beforeEach(async () => {
user = await generateUser({
'purchased.plan.mysteryItems': [mysteryItemKey],
notifications: [
- {type: 'NEW_MYSTERY_ITEMS', data: { items: [mysteryItemKey] }},
+ { type: 'NEW_MYSTERY_ITEMS', data: { items: [mysteryItemKey] } },
],
});
});
@@ -24,7 +24,7 @@ describe('POST /user/open-mystery-item', () => {
it('opens a mystery item', async () => {
expect(user.notifications.length).to.equal(1);
- let response = await user.post('/user/open-mystery-item');
+ const response = await user.post('/user/open-mystery-item');
await user.sync();
expect(user.notifications.length).to.equal(0);
diff --git a/test/api/v3/integration/user/POST-user_purchase.test.js b/test/api/v3/integration/user/POST-user_purchase.test.js
index b1d3749256..502bcb3790 100644
--- a/test/api/v3/integration/user/POST-user_purchase.test.js
+++ b/test/api/v3/integration/user/POST-user_purchase.test.js
@@ -6,8 +6,8 @@ import {
describe('POST /user/purchase/:type/:key', () => {
let user;
- let type = 'hatchingPotions';
- let key = 'Base';
+ const type = 'hatchingPotions';
+ const key = 'Base';
beforeEach(async () => {
user = await generateUser({
@@ -34,7 +34,7 @@ describe('POST /user/purchase/:type/:key', () => {
});
it('can convert gold to gems if subscribed', async () => {
- let oldBalance = user.balance;
+ const oldBalance = user.balance;
await user.update({
'purchased.plan.customerId': 'group-plan',
'stats.gp': 1000,
@@ -45,7 +45,7 @@ describe('POST /user/purchase/:type/:key', () => {
});
it('leader can convert gold to gems even if the group plan prevents it', async () => {
- let { group, groupLeader } = await createAndPopulateGroup({
+ const { group, groupLeader } = await createAndPopulateGroup({
groupDetails: {
name: 'test',
type: 'guild',
@@ -57,7 +57,7 @@ describe('POST /user/purchase/:type/:key', () => {
'purchased.plan.customerId': 123,
});
await groupLeader.sync();
- let oldBalance = groupLeader.balance;
+ const oldBalance = groupLeader.balance;
await groupLeader.update({
'purchased.plan.customerId': 'group-plan',
@@ -70,7 +70,7 @@ describe('POST /user/purchase/:type/:key', () => {
});
it('cannot convert gold to gems if the group plan prevents it', async () => {
- let { group, members } = await createAndPopulateGroup({
+ const { group, members } = await createAndPopulateGroup({
groupDetails: {
name: 'test',
type: 'guild',
@@ -82,7 +82,7 @@ describe('POST /user/purchase/:type/:key', () => {
'leaderOnly.getGems': true,
'purchased.plan.customerId': 123,
});
- let oldBalance = members[0].balance;
+ const oldBalance = members[0].balance;
await members[0].update({
'purchased.plan.customerId': 'group-plan',
@@ -101,19 +101,19 @@ describe('POST /user/purchase/:type/:key', () => {
describe('bulk purchasing', () => {
it('purchases a gem item', async () => {
- await user.post(`/user/purchase/${type}/${key}`, {quantity: 2});
+ await user.post(`/user/purchase/${type}/${key}`, { quantity: 2 });
await user.sync();
expect(user.items[type][key]).to.equal(2);
});
it('can convert gold to gems if subscribed', async () => {
- let oldBalance = user.balance;
+ const oldBalance = user.balance;
await user.update({
'purchased.plan.customerId': 'group-plan',
'stats.gp': 1000,
});
- await user.post('/user/purchase/gems/gem', {quantity: 2});
+ await user.post('/user/purchase/gems/gem', { quantity: 2 });
await user.sync();
expect(user.balance).to.equal(oldBalance + 0.50);
});
diff --git a/test/api/v3/integration/user/POST-user_purchase_hourglass.test.js b/test/api/v3/integration/user/POST-user_purchase_hourglass.test.js
index 721eb69aa9..3133354b71 100644
--- a/test/api/v3/integration/user/POST-user_purchase_hourglass.test.js
+++ b/test/api/v3/integration/user/POST-user_purchase_hourglass.test.js
@@ -15,7 +15,7 @@ describe('POST /user/purchase-hourglass/:type/:key', () => {
// More tests in common code unit tests
it('buys an hourglass pet', async () => {
- let response = await user.post('/user/purchase-hourglass/pets/MantisShrimp-Base');
+ const response = await user.post('/user/purchase-hourglass/pets/MantisShrimp-Base');
await user.sync();
expect(response.message).to.eql(t('hourglassPurchase'));
@@ -24,7 +24,7 @@ describe('POST /user/purchase-hourglass/:type/:key', () => {
});
it('buys an hourglass quest', async () => {
- let response = await user.post('/user/purchase-hourglass/quests/robot');
+ const response = await user.post('/user/purchase-hourglass/quests/robot');
await user.sync();
expect(response.message).to.eql(t('hourglassPurchase'));
@@ -33,7 +33,7 @@ describe('POST /user/purchase-hourglass/:type/:key', () => {
});
it('buys multiple hourglass quests', async () => {
- let response = await user.post('/user/purchase-hourglass/quests/robot', {quantity: 2});
+ const response = await user.post('/user/purchase-hourglass/quests/robot', { quantity: 2 });
await user.sync();
expect(response.message).to.eql(t('hourglassPurchase'));
diff --git a/test/api/v3/integration/user/POST-user_push_device.test.js b/test/api/v3/integration/user/POST-user_push_device.test.js
index a0c302de71..06b5b9d229 100644
--- a/test/api/v3/integration/user/POST-user_push_device.test.js
+++ b/test/api/v3/integration/user/POST-user_push_device.test.js
@@ -5,15 +5,15 @@ import {
describe('POST /user/push-devices', () => {
let user;
- let regId = '10';
- let type = 'ios';
+ const regId = '10';
+ const type = 'ios';
beforeEach(async () => {
user = await generateUser();
});
it('returns an error when regId is not provided', async () => {
- await expect(user.post('/user/push-devices'), {type})
+ await expect(user.post('/user/push-devices'), { type })
.to.eventually.be.rejected.and.to.eql({
code: 400,
error: 'BadRequest',
@@ -22,7 +22,7 @@ describe('POST /user/push-devices', () => {
});
it('returns an error when type is not provided', async () => {
- await expect(user.post('/user/push-devices', {regId}))
+ await expect(user.post('/user/push-devices', { regId }))
.to.eventually.be.rejected.and.to.eql({
code: 400,
error: 'BadRequest',
@@ -31,7 +31,7 @@ describe('POST /user/push-devices', () => {
});
it('returns an error when type is not valid', async () => {
- await expect(user.post('/user/push-devices', {regId, type: 'invalid'}))
+ await expect(user.post('/user/push-devices', { regId, type: 'invalid' }))
.to.eventually.be.rejected.and.to.eql({
code: 400,
error: 'BadRequest',
@@ -40,8 +40,8 @@ describe('POST /user/push-devices', () => {
});
it('fails silently if user already has the push device', async () => {
- await user.post('/user/push-devices', {type, regId});
- const response = await user.post('/user/push-devices', {type, regId});
+ await user.post('/user/push-devices', { type, regId });
+ const response = await user.post('/user/push-devices', { type, regId });
await user.sync();
expect(response.message).to.equal(t('pushDeviceAdded'));
@@ -52,7 +52,7 @@ describe('POST /user/push-devices', () => {
});
it('adds a push device to the user', async () => {
- const response = await user.post('/user/push-devices', {type, regId});
+ const response = await user.post('/user/push-devices', { type, regId });
await user.sync();
expect(response.message).to.equal(t('pushDeviceAdded'));
@@ -61,15 +61,4 @@ describe('POST /user/push-devices', () => {
expect(user.pushDevices[0].type).to.equal(type);
expect(user.pushDevices[0].regId).to.equal(regId);
});
-
- it('removes a push device to the user', async () => {
- await user.post('/user/push-devices', {type, regId});
-
- const response = await user.del(`/user/push-devices/${regId}`);
- await user.sync();
-
- expect(response.message).to.equal(t('pushDeviceRemoved'));
- expect(response.data[0]).to.not.exist;
- expect(user.pushDevices[0]).to.not.exist;
- });
});
diff --git a/test/api/v3/integration/user/POST-user_read_card.test.js b/test/api/v3/integration/user/POST-user_read_card.test.js
index bb8f388db2..c04d24c734 100644
--- a/test/api/v3/integration/user/POST-user_read_card.test.js
+++ b/test/api/v3/integration/user/POST-user_read_card.test.js
@@ -5,7 +5,7 @@ import {
describe('POST /user/read-card/:cardType', () => {
let user;
- let cardType = 'greeting';
+ const cardType = 'greeting';
beforeEach(async () => {
user = await generateUser();
@@ -28,17 +28,17 @@ describe('POST /user/read-card/:cardType', () => {
'flags.cardReceived': true,
notifications: [{
type: 'CARD_RECEIVED',
- data: {card: cardType},
+ data: { card: cardType },
}],
});
await user.sync();
expect(user.notifications.length).to.equal(1);
- let response = await user.post(`/user/read-card/${cardType}`);
+ const response = await user.post(`/user/read-card/${cardType}`);
await user.sync();
- expect(response.message).to.equal(t('readCard', {cardType}));
+ expect(response.message).to.equal(t('readCard', { cardType }));
expect(user.items.special[`${cardType}Received`]).to.be.empty;
expect(user.flags.cardReceived).to.be.false;
expect(user.notifications.length).to.equal(0);
diff --git a/test/api/v3/integration/user/POST-user_rebirth.test.js b/test/api/v3/integration/user/POST-user_rebirth.test.js
index 6182091ad7..87826148f4 100644
--- a/test/api/v3/integration/user/POST-user_rebirth.test.js
+++ b/test/api/v3/integration/user/POST-user_rebirth.test.js
@@ -28,7 +28,7 @@ describe('POST /user/rebirth', () => {
balance: 1.5,
});
- let daily = await generateDaily({
+ const daily = await generateDaily({
text: 'test habit',
type: 'daily',
value: 1,
@@ -36,21 +36,21 @@ describe('POST /user/rebirth', () => {
userId: user._id,
});
- let reward = await generateReward({
+ const reward = await generateReward({
text: 'test reward',
type: 'reward',
value: 1,
userId: user._id,
});
- let response = await user.post('/user/rebirth');
+ const response = await user.post('/user/rebirth');
await user.sync();
expect(user.notifications.length).to.equal(1);
expect(user.notifications[0].type).to.equal('REBIRTH_ACHIEVEMENT');
- let updatedDaily = await user.get(`/tasks/${daily._id}`);
- let updatedReward = await user.get(`/tasks/${reward._id}`);
+ const updatedDaily = await user.get(`/tasks/${daily._id}`);
+ const updatedReward = await user.get(`/tasks/${reward._id}`);
expect(response.message).to.equal(t('rebirthComplete'));
expect(updatedDaily.streak).to.equal(0);
diff --git a/test/api/v3/integration/user/POST-user_release_both.test.js b/test/api/v3/integration/user/POST-user_release_both.test.js
index bbd11587c0..8519f1b359 100644
--- a/test/api/v3/integration/user/POST-user_release_both.test.js
+++ b/test/api/v3/integration/user/POST-user_release_both.test.js
@@ -6,21 +6,21 @@ import content from '../../../../../website/common/script/content/index';
describe('POST /user/release-both', () => {
let user;
- let animal = 'Wolf-Base';
+ const animal = 'Wolf-Base';
const loadPets = () => {
- let pets = {};
- for (let p in content.pets) {
+ const pets = {};
+ Object.keys(content.pets).forEach(p => {
pets[p] = content.pets[p];
pets[p] = 5;
- }
+ });
return pets;
};
const loadMounts = () => {
- let mounts = {};
- for (let m in content.pets) {
+ const mounts = {};
+ Object.keys(content.pets).forEach(m => {
mounts[m] = content.pets[m];
mounts[m] = true;
- }
+ });
return mounts;
};
@@ -49,7 +49,7 @@ describe('POST /user/release-both', () => {
it('grants triad bingo with gems', async () => {
await user.update();
- let response = await user.post('/user/release-both');
+ const response = await user.post('/user/release-both');
await user.sync();
expect(response.message).to.equal(t('mountsAndPetsReleased'));
diff --git a/test/api/v3/integration/user/POST-user_release_mounts.test.js b/test/api/v3/integration/user/POST-user_release_mounts.test.js
index 728aa99c8c..10403028c3 100644
--- a/test/api/v3/integration/user/POST-user_release_mounts.test.js
+++ b/test/api/v3/integration/user/POST-user_release_mounts.test.js
@@ -6,14 +6,14 @@ import content from '../../../../../website/common/script/content/index';
describe('POST /user/release-mounts', () => {
let user;
- let animal = 'Wolf-Base';
+ const animal = 'Wolf-Base';
const loadMounts = () => {
- let mounts = {};
- for (let m in content.pets) {
+ const mounts = {};
+ Object.keys(content.pets).forEach(m => {
mounts[m] = content.pets[m];
mounts[m] = true;
- }
+ });
return mounts;
};
@@ -40,7 +40,7 @@ describe('POST /user/release-mounts', () => {
balance: 1,
});
- let response = await user.post('/user/release-mounts');
+ const response = await user.post('/user/release-mounts');
await user.sync();
expect(response.message).to.equal(t('mountsReleased'));
diff --git a/test/api/v3/integration/user/POST-user_release_pets.test.js b/test/api/v3/integration/user/POST-user_release_pets.test.js
index 35b8126a82..96834cc044 100644
--- a/test/api/v3/integration/user/POST-user_release_pets.test.js
+++ b/test/api/v3/integration/user/POST-user_release_pets.test.js
@@ -6,14 +6,14 @@ import content from '../../../../../website/common/script/content/index';
describe('POST /user/release-pets', () => {
let user;
- let animal = 'Wolf-Base';
+ const animal = 'Wolf-Base';
const loadPets = () => {
- let pets = {};
- for (let p in content.pets) {
+ const pets = {};
+ Object.keys(content.pets).forEach(p => {
pets[p] = content.pets[p];
pets[p] = 5;
- }
+ });
return pets;
};
@@ -40,7 +40,7 @@ describe('POST /user/release-pets', () => {
balance: 1,
});
- let response = await user.post('/user/release-pets');
+ const response = await user.post('/user/release-pets');
await user.sync();
expect(response.message).to.equal(t('petsReleased'));
diff --git a/test/api/v3/integration/user/POST-user_reroll.test.js b/test/api/v3/integration/user/POST-user_reroll.test.js
index 29774d1239..37d4b6eb6d 100644
--- a/test/api/v3/integration/user/POST-user_reroll.test.js
+++ b/test/api/v3/integration/user/POST-user_reroll.test.js
@@ -28,24 +28,24 @@ describe('POST /user/reroll', () => {
balance: 2,
});
- let daily = await generateDaily({
+ const daily = await generateDaily({
text: 'test habit',
type: 'daily',
userId: user._id,
});
- let reward = await generateReward({
+ const reward = await generateReward({
text: 'test reward',
type: 'reward',
value: 1,
userId: user._id,
});
- let response = await user.post('/user/reroll');
+ const response = await user.post('/user/reroll');
await user.sync();
- let updatedDaily = await user.get(`/tasks/${daily._id}`);
- let updatedReward = await user.get(`/tasks/${reward._id}`);
+ const updatedDaily = await user.get(`/tasks/${daily._id}`);
+ const updatedReward = await user.get(`/tasks/${reward._id}`);
expect(response.message).to.equal(t('fortifyComplete'));
expect(updatedDaily.value).to.equal(0);
diff --git a/test/api/v3/integration/user/POST-user_reset.test.js b/test/api/v3/integration/user/POST-user_reset.test.js
index 902dd7cd65..389b840d92 100644
--- a/test/api/v3/integration/user/POST-user_reset.test.js
+++ b/test/api/v3/integration/user/POST-user_reset.test.js
@@ -1,10 +1,10 @@
+import { find } from 'lodash';
import {
generateUser,
generateGroup,
generateChallenge,
translate as t,
} from '../../../../helpers/api-integration/v3';
-import { find } from 'lodash';
describe('POST /user/reset', () => {
let user;
@@ -16,7 +16,7 @@ describe('POST /user/reset', () => {
// More tests in common code unit tests
it('resets user\'s habits', async () => {
- let task = await user.post('/tasks/user', {
+ const task = await user.post('/tasks/user', {
text: 'test habit',
type: 'habit',
});
@@ -34,7 +34,7 @@ describe('POST /user/reset', () => {
});
it('resets user\'s dailys', async () => {
- let task = await user.post('/tasks/user', {
+ const task = await user.post('/tasks/user', {
text: 'test daily',
type: 'daily',
});
@@ -52,7 +52,7 @@ describe('POST /user/reset', () => {
});
it('resets user\'s todos', async () => {
- let task = await user.post('/tasks/user', {
+ const task = await user.post('/tasks/user', {
text: 'test todo',
type: 'todo',
});
@@ -70,7 +70,7 @@ describe('POST /user/reset', () => {
});
it('resets user\'s rewards', async () => {
- let task = await user.post('/tasks/user', {
+ const task = await user.post('/tasks/user', {
text: 'test reward',
type: 'reward',
});
@@ -88,15 +88,15 @@ describe('POST /user/reset', () => {
});
it('does not delete challenge or group tasks', async () => {
- let guild = await generateGroup(user);
- let challenge = await generateChallenge(user, guild);
+ const guild = await generateGroup(user);
+ const challenge = await generateChallenge(user, guild);
await user.post(`/challenges/${challenge._id}/join`);
await user.post(`/tasks/challenge/${challenge._id}`, {
text: 'test challenge habit',
type: 'habit',
});
- let groupTask = await user.post(`/tasks/group/${guild._id}`, {
+ const groupTask = await user.post(`/tasks/group/${guild._id}`, {
text: 'todo group',
type: 'todo',
});
@@ -105,15 +105,14 @@ describe('POST /user/reset', () => {
await user.post('/user/reset');
await user.sync();
- let memberTasks = await user.get('/tasks/user');
+ const memberTasks = await user.get('/tasks/user');
- let syncedGroupTask = find(memberTasks, function findAssignedTask (memberTask) {
- return memberTask.group.id === guild._id;
- });
+ const syncedGroupTask = find(memberTasks, memberTask => memberTask.group.id === guild._id);
- let userChallengeTask = find(memberTasks, function findAssignedTask (memberTask) {
- return memberTask.challenge.id === challenge._id;
- });
+ const userChallengeTask = find(
+ memberTasks,
+ memberTask => memberTask.challenge.id === challenge._id,
+ );
expect(userChallengeTask).to.exist;
expect(syncedGroupTask).to.exist;
diff --git a/test/api/v3/integration/user/POST-user_revive.test.js b/test/api/v3/integration/user/POST-user_revive.test.js
index 6ba85ac87f..e042dfd9f7 100644
--- a/test/api/v3/integration/user/POST-user_revive.test.js
+++ b/test/api/v3/integration/user/POST-user_revive.test.js
@@ -8,7 +8,7 @@ describe('POST /user/revive', () => {
beforeEach(async () => {
user = await generateUser({
- 'user.items.gear.owned': {weaponKey: true},
+ 'user.items.gear.owned': { weaponKey: true },
});
});
diff --git a/test/api/v3/integration/user/POST-user_sell.test.js b/test/api/v3/integration/user/POST-user_sell.test.js
index c9a0fdba64..896e9bf280 100644
--- a/test/api/v3/integration/user/POST-user_sell.test.js
+++ b/test/api/v3/integration/user/POST-user_sell.test.js
@@ -6,8 +6,8 @@ import content from '../../../../../website/common/script/content';
describe('POST /user/sell/:type/:key', () => {
let user;
- let type = 'eggs';
- let key = 'Wolf';
+ const type = 'eggs';
+ const key = 'Wolf';
beforeEach(async () => {
user = await generateUser();
@@ -20,7 +20,7 @@ describe('POST /user/sell/:type/:key', () => {
.to.eventually.be.rejected.and.eql({
code: 404,
error: 'NotFound',
- message: t('userItemsKeyNotFound', {type}),
+ message: t('userItemsKeyNotFound', { type }),
});
});
diff --git a/test/api/v3/integration/user/POST-user_sleep.test.js b/test/api/v3/integration/user/POST-user_sleep.test.js
index 292b77e9db..9afb4a1956 100644
--- a/test/api/v3/integration/user/POST-user_sleep.test.js
+++ b/test/api/v3/integration/user/POST-user_sleep.test.js
@@ -13,12 +13,12 @@ describe('POST /user/sleep', () => {
// More tests in common code unit tests
it('toggles sleep status', async () => {
- let res = await user.post('/user/sleep');
+ const res = await user.post('/user/sleep');
expect(res).to.eql(true);
await user.sync();
expect(user.preferences.sleep).to.be.true;
- let res2 = await user.post('/user/sleep');
+ const res2 = await user.post('/user/sleep');
expect(res2).to.eql(false);
await user.sync();
expect(user.preferences.sleep).to.be.false;
diff --git a/test/api/v3/integration/user/POST-user_unlock.js b/test/api/v3/integration/user/POST-user_unlock.js
index 6dbdb3c1b1..4418af54c3 100644
--- a/test/api/v3/integration/user/POST-user_unlock.js
+++ b/test/api/v3/integration/user/POST-user_unlock.js
@@ -5,9 +5,9 @@ import {
describe('POST /user/unlock', () => {
let user;
- let unlockPath = 'shirt.convict,shirt.cross,shirt.fire,shirt.horizon,shirt.ocean,shirt.purple,shirt.rainbow,shirt.redblue,shirt.thunder,shirt.tropical,shirt.zombie';
- let unlockCost = 1.25;
- let usersStartingGems = 5;
+ const unlockPath = 'shirt.convict,shirt.cross,shirt.fire,shirt.horizon,shirt.ocean,shirt.purple,shirt.rainbow,shirt.redblue,shirt.thunder,shirt.tropical,shirt.zombie';
+ const unlockCost = 1.25;
+ const usersStartingGems = 5;
beforeEach(async () => {
user = await generateUser();
@@ -28,7 +28,7 @@ describe('POST /user/unlock', () => {
await user.update({
balance: usersStartingGems,
});
- let response = await user.post(`/user/unlock?path=${unlockPath}`);
+ const response = await user.post(`/user/unlock?path=${unlockPath}`);
await user.sync();
expect(response.message).to.equal(t('unlocked'));
diff --git a/test/api/v3/integration/user/PUT-user.test.js b/test/api/v3/integration/user/PUT-user.test.js
index bef5ec25d0..b1f576a791 100644
--- a/test/api/v3/integration/user/PUT-user.test.js
+++ b/test/api/v3/integration/user/PUT-user.test.js
@@ -1,9 +1,9 @@
+import { each, get } from 'lodash';
import {
generateUser,
translate as t,
} from '../../../../helpers/api-integration/v3';
-import { each, get } from 'lodash';
describe('PUT /user', () => {
let user;
@@ -40,7 +40,7 @@ describe('PUT /user', () => {
});
it('update tags', async () => {
- let userTags = user.tags;
+ const userTags = user.tags;
await user.put('/user', {
tags: [...user.tags, {
@@ -98,20 +98,20 @@ describe('PUT /user', () => {
});
context('Top Level Protected Operations', () => {
- let protectedOperations = {
- 'gem balance': {balance: 100},
- auth: {'auth.blocked': true, 'auth.timestamps.created': new Date()},
- contributor: {'contributor.level': 9, 'contributor.admin': true, 'contributor.text': 'some text'},
- backer: {'backer.tier': 10, 'backer.npc': 'Bilbo'},
- subscriptions: {'purchased.plan.extraMonths': 500, 'purchased.plan.consecutive.trinkets': 1000},
- 'customization gem purchases': {'purchased.background.tavern': true, 'purchased.skin.bear': true},
- notifications: [{type: 123}],
- webhooks: {webhooks: [{url: 'https://foobar.com'}]},
+ const protectedOperations = {
+ 'gem balance': { balance: 100 },
+ auth: { 'auth.blocked': true, 'auth.timestamps.created': new Date() },
+ contributor: { 'contributor.level': 9, 'contributor.admin': true, 'contributor.text': 'some text' },
+ backer: { 'backer.tier': 10, 'backer.npc': 'Bilbo' },
+ subscriptions: { 'purchased.plan.extraMonths': 500, 'purchased.plan.consecutive.trinkets': 1000 },
+ 'customization gem purchases': { 'purchased.background.tavern': true, 'purchased.skin.bear': true },
+ notifications: [{ type: 123 }],
+ webhooks: { webhooks: [{ url: 'https://foobar.com' }] },
};
each(protectedOperations, (data, testName) => {
it(`does not allow updating ${testName}`, async () => {
- let errorText = t('messageUserOperationProtected', { operation: Object.keys(data)[0] });
+ const errorText = t('messageUserOperationProtected', { operation: Object.keys(data)[0] });
await expect(user.put('/user', data)).to.eventually.be.rejected.and.eql({
code: 401,
@@ -123,17 +123,17 @@ describe('PUT /user', () => {
});
context('Sub-Level Protected Operations', () => {
- let protectedOperations = {
- 'class stat': {'stats.class': 'wizard'},
- 'flags unless whitelisted': {'flags.dropsEnabled': true},
- webhooks: {'preferences.webhooks': [1, 2, 3]},
- sleep: {'preferences.sleep': true},
- 'disable classes': {'preferences.disableClasses': true},
+ const protectedOperations = {
+ 'class stat': { 'stats.class': 'wizard' },
+ 'flags unless whitelisted': { 'flags.dropsEnabled': true },
+ webhooks: { 'preferences.webhooks': [1, 2, 3] },
+ sleep: { 'preferences.sleep': true },
+ 'disable classes': { 'preferences.disableClasses': true },
};
each(protectedOperations, (data, testName) => {
it(`does not allow updating ${testName}`, async () => {
- let errorText = t('messageUserOperationProtected', { operation: Object.keys(data)[0] });
+ const errorText = t('messageUserOperationProtected', { operation: Object.keys(data)[0] });
await expect(user.put('/user', data)).to.eventually.be.rejected.and.eql({
code: 401,
@@ -145,7 +145,7 @@ describe('PUT /user', () => {
});
context('Default Appearance Preferences', () => {
- let testCases = {
+ const testCases = {
shirt: 'yellow',
skin: 'ddc994',
'hair.color': 'blond',
@@ -160,14 +160,14 @@ describe('PUT /user', () => {
update[`preferences.${type}`] = item;
it(`updates user with ${type} that is a default`, async () => {
- let dbUpdate = {};
+ const dbUpdate = {};
dbUpdate[`purchased.${type}.${item}`] = true;
await user.update(dbUpdate);
// Sanity checks to make sure user is not already equipped with item
expect(get(user.preferences, type)).to.not.eql(item);
- let updatedUser = await user.put('/user', update);
+ const updatedUser = await user.put('/user', update);
expect(get(updatedUser.preferences, type)).to.eql(item);
});
@@ -189,7 +189,7 @@ describe('PUT /user', () => {
'preferences.hair.beard': 3,
});
- let updatedUser = await user.put('/user', {
+ const updatedUser = await user.put('/user', {
'preferences.hair.beard': 0,
});
@@ -202,7 +202,7 @@ describe('PUT /user', () => {
'preferences.hair.mustache': 2,
});
- let updatedUser = await user.put('/user', {
+ const updatedUser = await user.put('/user', {
'preferences.hair.mustache': 0,
});
@@ -211,7 +211,7 @@ describe('PUT /user', () => {
});
context('Purchasable Appearance Preferences', () => {
- let testCases = {
+ const testCases = {
background: 'volcano',
shirt: 'convict',
skin: 'cactus',
@@ -229,19 +229,19 @@ describe('PUT /user', () => {
await expect(user.put('/user', update)).to.eventually.be.rejected.and.eql({
code: 401,
error: 'NotAuthorized',
- message: t('mustPurchaseToSet', {val: item, key: `preferences.${type}`}),
+ message: t('mustPurchaseToSet', { val: item, key: `preferences.${type}` }),
});
});
it(`updates user with ${type} user does own`, async () => {
- let dbUpdate = {};
+ const dbUpdate = {};
dbUpdate[`purchased.${type}.${item}`] = true;
await user.update(dbUpdate);
// Sanity check to make sure user is not already equipped with item
expect(get(user.preferences, type)).to.not.eql(item);
- let updatedUser = await user.put('/user', update);
+ const updatedUser = await user.put('/user', update);
expect(get(updatedUser.preferences, type)).to.eql(item);
});
diff --git a/test/api/v3/integration/user/auth/DELETE-user_auth_social_network.test.js b/test/api/v3/integration/user/auth/DELETE-user_auth_social_network.test.js
index 55c5522322..3f25404d50 100644
--- a/test/api/v3/integration/user/auth/DELETE-user_auth_social_network.test.js
+++ b/test/api/v3/integration/user/auth/DELETE-user_auth_social_network.test.js
@@ -38,7 +38,7 @@ describe('DELETE social registration', () => {
'auth.facebook.id': 'some-fb-id',
});
- let response = await user.del('/user/auth/social/facebook');
+ const response = await user.del('/user/auth/social/facebook');
expect(response).to.eql({});
await user.sync();
expect(user.auth.facebook).to.be.undefined;
@@ -51,7 +51,7 @@ describe('DELETE social registration', () => {
'auth.local': { ok: true },
});
- let response = await user.del('/user/auth/social/facebook');
+ const response = await user.del('/user/auth/social/facebook');
expect(response).to.eql({});
await user.sync();
expect(user.auth.facebook).to.be.undefined;
@@ -76,7 +76,7 @@ describe('DELETE social registration', () => {
'auth.google.id': 'some-google-id',
});
- let response = await user.del('/user/auth/social/google');
+ const response = await user.del('/user/auth/social/google');
expect(response).to.eql({});
await user.sync();
expect(user.auth.google).to.be.undefined;
@@ -89,7 +89,7 @@ describe('DELETE social registration', () => {
'auth.local': { ok: true },
});
- let response = await user.del('/user/auth/social/google');
+ const response = await user.del('/user/auth/social/google');
expect(response).to.eql({});
await user.sync();
expect(user.auth.goodl).to.be.undefined;
diff --git a/test/api/v3/integration/user/auth/GET-auth_reset-password-set-new-one.js b/test/api/v3/integration/user/auth/GET-auth_reset-password-set-new-one.js
index 760041b529..b805c4be02 100644
--- a/test/api/v3/integration/user/auth/GET-auth_reset-password-set-new-one.js
+++ b/test/api/v3/integration/user/auth/GET-auth_reset-password-set-new-one.js
@@ -1,18 +1,18 @@
-import {
- encrypt,
-} from '../../../../../../website/server/libs/encryption';
import moment from 'moment';
+import superagent from 'superagent';
+import nconf from 'nconf';
import {
generateUser,
} from '../../../../../helpers/api-integration/v3';
-import superagent from 'superagent';
-import nconf from 'nconf';
+import {
+ encrypt,
+} from '../../../../../../website/server/libs/encryption';
const API_TEST_SERVER_PORT = nconf.get('PORT');
// @TODO skipped because on travis the client isn't available and the redirect fails
xdescribe('GET /user/auth/local/reset-password-set-new-one', () => {
- let endpoint = `http://localhost:${API_TEST_SERVER_PORT}/static/user/auth/local/reset-password-set-new-one`;
+ const endpoint = `http://localhost:${API_TEST_SERVER_PORT}/static/user/auth/local/reset-password-set-new-one`;
// Tests to validate the validatePasswordResetCodeAndFindUser function
@@ -27,9 +27,9 @@ xdescribe('GET /user/auth/local/reset-password-set-new-one', () => {
});
it('renders an error page if the code cannot be decrypted', async () => {
- let user = await generateUser();
+ const user = await generateUser();
- let code = JSON.stringify({ // not encrypted
+ const code = JSON.stringify({ // not encrypted
userId: user._id,
expiresAt: new Date(),
});
@@ -38,11 +38,11 @@ xdescribe('GET /user/auth/local/reset-password-set-new-one', () => {
});
it('renders an error page if the code is expired', async () => {
- let user = await generateUser();
+ const user = await generateUser();
- let code = encrypt(JSON.stringify({
+ const code = encrypt(JSON.stringify({
userId: user._id,
- expiresAt: moment().subtract({minutes: 1}),
+ expiresAt: moment().subtract({ minutes: 1 }),
}));
await user.update({
'auth.local.passwordResetCode': code,
@@ -53,9 +53,9 @@ xdescribe('GET /user/auth/local/reset-password-set-new-one', () => {
});
it('renders an error page if the user does not exist', async () => {
- let code = encrypt(JSON.stringify({
+ const code = encrypt(JSON.stringify({
userId: Date.now().toString(),
- expiresAt: moment().add({days: 1}),
+ expiresAt: moment().add({ days: 1 }),
}));
const res = await superagent.get(`${endpoint}?code=${code}`);
@@ -63,11 +63,11 @@ xdescribe('GET /user/auth/local/reset-password-set-new-one', () => {
});
it('renders an error page if the user has no local auth', async () => {
- let user = await generateUser();
+ const user = await generateUser();
- let code = encrypt(JSON.stringify({
+ const code = encrypt(JSON.stringify({
userId: user._id,
- expiresAt: moment().add({days: 1}),
+ expiresAt: moment().add({ days: 1 }),
}));
await user.update({
auth: 'not an object with valid fields',
@@ -78,11 +78,11 @@ xdescribe('GET /user/auth/local/reset-password-set-new-one', () => {
});
it('renders an error page if the code doesn\'t match the one saved at user.auth.passwordResetCode', async () => {
- let user = await generateUser();
+ const user = await generateUser();
- let code = encrypt(JSON.stringify({
+ const code = encrypt(JSON.stringify({
userId: user._id,
- expiresAt: moment().add({days: 1}),
+ expiresAt: moment().add({ days: 1 }),
}));
await user.update({
'auth.local.passwordResetCode': 'invalid',
@@ -95,19 +95,18 @@ xdescribe('GET /user/auth/local/reset-password-set-new-one', () => {
//
it('returns the password reset page if the password reset code is valid', async () => {
- let user = await generateUser();
+ const user = await generateUser();
- let code = encrypt(JSON.stringify({
+ const code = encrypt(JSON.stringify({
userId: user._id,
- expiresAt: moment().add({days: 1}),
+ expiresAt: moment().add({ days: 1 }),
}));
await user.update({
'auth.local.passwordResetCode': code,
});
- let res = await superagent.get(`${endpoint}?code=${code}`);
+ const res = await superagent.get(`${endpoint}?code=${code}`);
expect(res.req.path.indexOf('hasError=false') !== -1).to.equal(true);
expect(res.req.path.indexOf('code=') !== -1).to.equal(true);
});
});
-
diff --git a/test/api/v3/integration/user/auth/POST-auth_reset-password-set-new-one.js b/test/api/v3/integration/user/auth/POST-auth_reset-password-set-new-one.js
index f4a9a4cbf1..ed3cf27e63 100644
--- a/test/api/v3/integration/user/auth/POST-auth_reset-password-set-new-one.js
+++ b/test/api/v3/integration/user/auth/POST-auth_reset-password-set-new-one.js
@@ -1,3 +1,4 @@
+import moment from 'moment';
import {
encrypt,
} from '../../../../../../website/server/libs/encryption';
@@ -7,7 +8,6 @@ import {
sha1MakeSalt,
sha1Encrypt as sha1EncryptPassword,
} from '../../../../../../website/server/libs/password';
-import moment from 'moment';
import {
generateUser,
requester,
@@ -36,9 +36,9 @@ describe('POST /user/auth/reset-password-set-new-one', () => {
});
it('renders an error page if the code cannot be decrypted', async () => {
- let user = await generateUser();
+ const user = await generateUser();
- let code = JSON.stringify({ // not encrypted
+ const code = JSON.stringify({ // not encrypted
userId: user._id,
expiresAt: new Date(),
});
@@ -53,11 +53,11 @@ describe('POST /user/auth/reset-password-set-new-one', () => {
});
it('renders an error page if the code is expired', async () => {
- let user = await generateUser();
+ const user = await generateUser();
- let code = encrypt(JSON.stringify({
+ const code = encrypt(JSON.stringify({
userId: user._id,
- expiresAt: moment().subtract({minutes: 1}),
+ expiresAt: moment().subtract({ minutes: 1 }),
}));
await user.update({
'auth.local.passwordResetCode': code,
@@ -73,9 +73,9 @@ describe('POST /user/auth/reset-password-set-new-one', () => {
});
it('renders an error page if the user does not exist', async () => {
- let code = encrypt(JSON.stringify({
+ const code = encrypt(JSON.stringify({
userId: Date.now().toString(),
- expiresAt: moment().add({days: 1}),
+ expiresAt: moment().add({ days: 1 }),
}));
await expect(api.post(`${endpoint}`, {
@@ -88,11 +88,11 @@ describe('POST /user/auth/reset-password-set-new-one', () => {
});
it('renders an error page if the user has no local auth', async () => {
- let user = await generateUser();
+ const user = await generateUser();
- let code = encrypt(JSON.stringify({
+ const code = encrypt(JSON.stringify({
userId: user._id,
- expiresAt: moment().add({days: 1}),
+ expiresAt: moment().add({ days: 1 }),
}));
await expect(api.post(`${endpoint}`, {
@@ -105,11 +105,11 @@ describe('POST /user/auth/reset-password-set-new-one', () => {
});
it('renders an error page if the code doesn\'t match the one saved at user.auth.passwordResetCode', async () => {
- let user = await generateUser();
+ const user = await generateUser();
- let code = encrypt(JSON.stringify({
+ const code = encrypt(JSON.stringify({
userId: user._id,
- expiresAt: moment().add({days: 1}),
+ expiresAt: moment().add({ days: 1 }),
}));
await user.update({
'auth.local.passwordResetCode': 'invalid',
@@ -127,11 +127,11 @@ describe('POST /user/auth/reset-password-set-new-one', () => {
//
it('renders the error page if the new password is missing', async () => {
- let user = await generateUser();
+ const user = await generateUser();
- let code = encrypt(JSON.stringify({
+ const code = encrypt(JSON.stringify({
userId: user._id,
- expiresAt: moment().add({days: 1}),
+ expiresAt: moment().add({ days: 1 }),
}));
await user.update({
'auth.local.passwordResetCode': code,
@@ -147,11 +147,11 @@ describe('POST /user/auth/reset-password-set-new-one', () => {
});
it('renders the error page if the password confirmation is missing', async () => {
- let user = await generateUser();
+ const user = await generateUser();
- let code = encrypt(JSON.stringify({
+ const code = encrypt(JSON.stringify({
userId: user._id,
- expiresAt: moment().add({days: 1}),
+ expiresAt: moment().add({ days: 1 }),
}));
await user.update({
'auth.local.passwordResetCode': code,
@@ -168,11 +168,11 @@ describe('POST /user/auth/reset-password-set-new-one', () => {
});
it('renders the error page if the password confirmation does not match', async () => {
- let user = await generateUser();
+ const user = await generateUser();
- let code = encrypt(JSON.stringify({
+ const code = encrypt(JSON.stringify({
userId: user._id,
- expiresAt: moment().add({days: 1}),
+ expiresAt: moment().add({ days: 1 }),
}));
await user.update({
'auth.local.passwordResetCode': code,
@@ -190,17 +190,17 @@ describe('POST /user/auth/reset-password-set-new-one', () => {
});
it('renders the success page and save the user', async () => {
- let user = await generateUser();
+ const user = await generateUser();
- let code = encrypt(JSON.stringify({
+ const code = encrypt(JSON.stringify({
userId: user._id,
- expiresAt: moment().add({days: 1}),
+ expiresAt: moment().add({ days: 1 }),
}));
await user.update({
'auth.local.passwordResetCode': code,
});
- let res = await api.post(`${endpoint}`, {
+ const res = await api.post(`${endpoint}`, {
newPassword: 'my new password',
confirmPassword: 'my new password',
code,
@@ -212,16 +212,16 @@ describe('POST /user/auth/reset-password-set-new-one', () => {
expect(user.auth.local.passwordResetCode).to.equal(undefined);
expect(user.auth.local.passwordHashMethod).to.equal('bcrypt');
expect(user.auth.local.salt).to.be.undefined;
- let isPassValid = await compare(user, 'my new password');
+ const isPassValid = await compare(user, 'my new password');
expect(isPassValid).to.equal(true);
});
it('renders the success page and convert the password from sha1 to bcrypt', async () => {
- let user = await generateUser();
+ const user = await generateUser();
- let textPassword = 'mySecretPassword';
- let salt = sha1MakeSalt();
- let sha1HashedPassword = sha1EncryptPassword(textPassword, salt);
+ const textPassword = 'mySecretPassword';
+ const salt = sha1MakeSalt();
+ const sha1HashedPassword = sha1EncryptPassword(textPassword, salt);
await user.update({
'auth.local.hashed_password': sha1HashedPassword,
@@ -234,15 +234,15 @@ describe('POST /user/auth/reset-password-set-new-one', () => {
expect(user.auth.local.salt).to.equal(salt);
expect(user.auth.local.hashed_password).to.equal(sha1HashedPassword);
- let code = encrypt(JSON.stringify({
+ const code = encrypt(JSON.stringify({
userId: user._id,
- expiresAt: moment().add({days: 1}),
+ expiresAt: moment().add({ days: 1 }),
}));
await user.update({
'auth.local.passwordResetCode': code,
});
- let res = await api.post(`${endpoint}`, {
+ const res = await api.post(`${endpoint}`, {
newPassword: 'my new password',
confirmPassword: 'my new password',
code,
@@ -256,7 +256,7 @@ describe('POST /user/auth/reset-password-set-new-one', () => {
expect(user.auth.local.salt).to.be.undefined;
expect(user.auth.local.hashed_password).not.to.equal(sha1HashedPassword);
- let isValidPassword = await bcryptCompare('my new password', user.auth.local.hashed_password);
+ const isValidPassword = await bcryptCompare('my new password', user.auth.local.hashed_password);
expect(isValidPassword).to.equal(true);
});
});
diff --git a/test/api/v3/integration/user/auth/POST-login-local.test.js b/test/api/v3/integration/user/auth/POST-login-local.test.js
index 484ff16af5..c88176576d 100644
--- a/test/api/v3/integration/user/auth/POST-login-local.test.js
+++ b/test/api/v3/integration/user/auth/POST-login-local.test.js
@@ -1,3 +1,4 @@
+import nconf from 'nconf';
import {
generateUser,
requester,
@@ -9,20 +10,19 @@ import {
sha1Encrypt as sha1EncryptPassword,
} from '../../../../../../website/server/libs/password';
-import nconf from 'nconf';
describe('POST /user/auth/local/login', () => {
let api;
let user;
- let endpoint = '/user/auth/local/login';
- let password = 'password';
+ const endpoint = '/user/auth/local/login';
+ const password = 'password';
beforeEach(async () => {
api = requester();
user = await generateUser();
});
it('success with username', async () => {
- let response = await api.post(endpoint, {
+ const response = await api.post(endpoint, {
username: user.auth.local.username,
password,
});
@@ -30,7 +30,7 @@ describe('POST /user/auth/local/login', () => {
});
it('success with email', async () => {
- let response = await api.post(endpoint, {
+ const response = await api.post(endpoint, {
username: user.auth.local.email,
password,
});
@@ -81,9 +81,9 @@ describe('POST /user/auth/local/login', () => {
});
it('converts user with SHA1 encrypted password to bcrypt encryption', async () => {
- let textPassword = 'mySecretPassword';
- let salt = sha1MakeSalt();
- let sha1HashedPassword = sha1EncryptPassword(textPassword, salt);
+ const textPassword = 'mySecretPassword';
+ const salt = sha1MakeSalt();
+ const sha1HashedPassword = sha1EncryptPassword(textPassword, salt);
await user.update({
'auth.local.hashed_password': sha1HashedPassword,
@@ -107,7 +107,7 @@ describe('POST /user/auth/local/login', () => {
expect(user.auth.local.salt).to.be.undefined;
expect(user.auth.local.hashed_password).not.to.equal(sha1HashedPassword);
- let isValidPassword = await bcryptCompare(textPassword, user.auth.local.hashed_password);
+ const isValidPassword = await bcryptCompare(textPassword, user.auth.local.hashed_password);
expect(isValidPassword).to.equal(true);
});
diff --git a/test/api/v3/integration/user/auth/POST-register_local.test.js b/test/api/v3/integration/user/auth/POST-register_local.test.js
index c6b3248258..896e20a0c0 100644
--- a/test/api/v3/integration/user/auth/POST-register_local.test.js
+++ b/test/api/v3/integration/user/auth/POST-register_local.test.js
@@ -1,3 +1,5 @@
+import { v4 as uuid } from 'uuid';
+import { each } from 'lodash';
import {
generateUser,
requester,
@@ -6,8 +8,6 @@ import {
getProperty,
} from '../../../../../helpers/api-integration/v3';
import { ApiUser } from '../../../../../helpers/api-integration/api-classes';
-import { v4 as uuid } from 'uuid';
-import { each } from 'lodash';
import { encrypt } from '../../../../../../website/server/libs/encryption';
function generateRandomUserName () {
@@ -23,11 +23,11 @@ describe('POST /user/auth/local/register', () => {
});
it('registers a new user', async () => {
- let username = generateRandomUserName();
- let email = `${username}@example.com`;
- let password = 'password';
+ const username = generateRandomUserName();
+ const email = `${username}@example.com`;
+ const password = 'password';
- let user = await api.post('/user/auth/local/register', {
+ const user = await api.post('/user/auth/local/register', {
username,
email,
password,
@@ -42,11 +42,11 @@ describe('POST /user/auth/local/register', () => {
});
it('registers a new user and sets verifiedUsername to true', async () => {
- let username = generateRandomUserName();
- let email = `${username}@example.com`;
- let password = 'password';
+ const username = generateRandomUserName();
+ const email = `${username}@example.com`;
+ const password = 'password';
- let user = await api.post('/user/auth/local/register', {
+ const user = await api.post('/user/auth/local/register', {
username,
email,
password,
@@ -60,11 +60,11 @@ describe('POST /user/auth/local/register', () => {
xit('remove spaces from username', async () => {
// TODO can probably delete this test now
- let username = ' usernamewithspaces ';
- let email = 'test@example.com';
- let password = 'password';
+ const username = ' usernamewithspaces ';
+ const email = 'test@example.com';
+ const password = 'password';
- let user = await api.post('/user/auth/local/register', {
+ const user = await api.post('/user/auth/local/register', {
username,
email,
password,
@@ -125,24 +125,24 @@ describe('POST /user/auth/local/register', () => {
context('provides default tags and tasks', async () => {
it('for a generic API consumer', async () => {
- let username = generateRandomUserName();
- let email = `${username}@example.com`;
- let password = 'password';
+ const username = generateRandomUserName();
+ const email = `${username}@example.com`;
+ const password = 'password';
- let user = await api.post('/user/auth/local/register', {
+ const user = await api.post('/user/auth/local/register', {
username,
email,
password,
confirmPassword: password,
});
- let requests = new ApiUser(user);
+ const requests = new ApiUser(user);
- let habits = await requests.get('/tasks/user?type=habits');
- let dailys = await requests.get('/tasks/user?type=dailys');
- let todos = await requests.get('/tasks/user?type=todos');
- let rewards = await requests.get('/tasks/user?type=rewards');
- let tags = await requests.get('/tags');
+ const habits = await requests.get('/tasks/user?type=habits');
+ const dailys = await requests.get('/tasks/user?type=dailys');
+ const todos = await requests.get('/tasks/user?type=todos');
+ const rewards = await requests.get('/tasks/user?type=rewards');
+ const tags = await requests.get('/tags');
expect(habits).to.have.a.lengthOf(0);
expect(dailys).to.have.a.lengthOf(0);
@@ -162,26 +162,26 @@ describe('POST /user/auth/local/register', () => {
xit('for Web', async () => {
api = requester(
null,
- {'x-client': 'habitica-web'},
+ { 'x-client': 'habitica-web' },
);
- let username = generateRandomUserName();
- let email = `${username}@example.com`;
- let password = 'password';
+ const username = generateRandomUserName();
+ const email = `${username}@example.com`;
+ const password = 'password';
- let user = await api.post('/user/auth/local/register', {
+ const user = await api.post('/user/auth/local/register', {
username,
email,
password,
confirmPassword: password,
});
- let requests = new ApiUser(user);
+ const requests = new ApiUser(user);
- let habits = await requests.get('/tasks/user?type=habits');
- let dailys = await requests.get('/tasks/user?type=dailys');
- let todos = await requests.get('/tasks/user?type=todos');
- let rewards = await requests.get('/tasks/user?type=rewards');
- let tags = await requests.get('/tags');
+ const habits = await requests.get('/tasks/user?type=habits');
+ const dailys = await requests.get('/tasks/user?type=dailys');
+ const todos = await requests.get('/tasks/user?type=todos');
+ const rewards = await requests.get('/tasks/user?type=rewards');
+ const tags = await requests.get('/tags');
expect(habits).to.have.a.lengthOf(3);
expect(habits[0].text).to.eql(t('defaultHabit1Text'));
@@ -216,26 +216,26 @@ describe('POST /user/auth/local/register', () => {
it('for Android', async () => {
api = requester(
null,
- {'x-client': 'habitica-android'},
+ { 'x-client': 'habitica-android' },
);
- let username = generateRandomUserName();
- let email = `${username}@example.com`;
- let password = 'password';
+ const username = generateRandomUserName();
+ const email = `${username}@example.com`;
+ const password = 'password';
- let user = await api.post('/user/auth/local/register', {
+ const user = await api.post('/user/auth/local/register', {
username,
email,
password,
confirmPassword: password,
});
- let requests = new ApiUser(user);
+ const requests = new ApiUser(user);
- let habits = await requests.get('/tasks/user?type=habits');
- let dailys = await requests.get('/tasks/user?type=dailys');
- let todos = await requests.get('/tasks/user?type=todos');
- let rewards = await requests.get('/tasks/user?type=rewards');
- let tags = await requests.get('/tags');
+ const habits = await requests.get('/tasks/user?type=habits');
+ const dailys = await requests.get('/tasks/user?type=dailys');
+ const todos = await requests.get('/tasks/user?type=todos');
+ const rewards = await requests.get('/tasks/user?type=rewards');
+ const tags = await requests.get('/tags');
expect(habits).to.have.a.lengthOf(0);
expect(dailys).to.have.a.lengthOf(0);
@@ -247,26 +247,26 @@ describe('POST /user/auth/local/register', () => {
it('for iOS', async () => {
api = requester(
null,
- {'x-client': 'habitica-ios'},
+ { 'x-client': 'habitica-ios' },
);
- let username = generateRandomUserName();
- let email = `${username}@example.com`;
- let password = 'password';
+ const username = generateRandomUserName();
+ const email = `${username}@example.com`;
+ const password = 'password';
- let user = await api.post('/user/auth/local/register', {
+ const user = await api.post('/user/auth/local/register', {
username,
email,
password,
confirmPassword: password,
});
- let requests = new ApiUser(user);
+ const requests = new ApiUser(user);
- let habits = await requests.get('/tasks/user?type=habits');
- let dailys = await requests.get('/tasks/user?type=dailys');
- let todos = await requests.get('/tasks/user?type=todos');
- let rewards = await requests.get('/tasks/user?type=rewards');
- let tags = await requests.get('/tags');
+ const habits = await requests.get('/tasks/user?type=habits');
+ const dailys = await requests.get('/tasks/user?type=dailys');
+ const todos = await requests.get('/tasks/user?type=todos');
+ const rewards = await requests.get('/tasks/user?type=rewards');
+ const tags = await requests.get('/tags');
expect(habits).to.have.a.lengthOf(0);
expect(dailys).to.have.a.lengthOf(0);
@@ -277,11 +277,11 @@ describe('POST /user/auth/local/register', () => {
});
xit('enrolls new users in an A/B test', async () => {
- let username = generateRandomUserName();
- let email = `${username}@example.com`;
- let password = 'password';
+ const username = generateRandomUserName();
+ const email = `${username}@example.com`;
+ const password = 'password';
- let user = await api.post('/user/auth/local/register', {
+ const user = await api.post('/user/auth/local/register', {
username,
email,
password,
@@ -292,11 +292,11 @@ describe('POST /user/auth/local/register', () => {
});
it('includes items awarded by default when creating a new user', async () => {
- let username = generateRandomUserName();
- let email = `${username}@example.com`;
- let password = 'password';
+ const username = generateRandomUserName();
+ const email = `${username}@example.com`;
+ const password = 'password';
- let user = await api.post('/user/auth/local/register', {
+ const user = await api.post('/user/auth/local/register', {
username,
email,
password,
@@ -309,10 +309,10 @@ describe('POST /user/auth/local/register', () => {
});
it('requires password and confirmPassword to match', async () => {
- let username = generateRandomUserName();
- let email = `${username}@example.com`;
- let password = 'password';
- let confirmPassword = 'not password';
+ const username = generateRandomUserName();
+ const email = `${username}@example.com`;
+ const password = 'password';
+ const confirmPassword = 'not password';
await expect(api.post('/user/auth/local/register', {
username,
@@ -327,9 +327,9 @@ describe('POST /user/auth/local/register', () => {
});
it('requires a username', async () => {
- let email = `${generateRandomUserName()}@example.com`;
- let password = 'password';
- let confirmPassword = 'password';
+ const email = `${generateRandomUserName()}@example.com`;
+ const password = 'password';
+ const confirmPassword = 'password';
await expect(api.post('/user/auth/local/register', {
email,
@@ -343,8 +343,8 @@ describe('POST /user/auth/local/register', () => {
});
it('requires an email', async () => {
- let username = generateRandomUserName();
- let password = 'password';
+ const username = generateRandomUserName();
+ const password = 'password';
await expect(api.post('/user/auth/local/register', {
username,
@@ -358,9 +358,9 @@ describe('POST /user/auth/local/register', () => {
});
it('requires a valid email', async () => {
- let username = generateRandomUserName();
- let email = 'notanemail@sdf';
- let password = 'password';
+ const username = generateRandomUserName();
+ const email = 'notanemail@sdf';
+ const password = 'password';
await expect(api.post('/user/auth/local/register', {
username,
@@ -375,11 +375,11 @@ describe('POST /user/auth/local/register', () => {
});
it('sanitizes email params to a lowercase string before creating the user', async () => {
- let username = generateRandomUserName();
- let email = 'ISANEmAiL@ExAmPle.coM';
- let password = 'password';
+ const username = generateRandomUserName();
+ const email = 'ISANEmAiL@ExAmPle.coM';
+ const password = 'password';
- let user = await api.post('/user/auth/local/register', {
+ const user = await api.post('/user/auth/local/register', {
username,
email,
password,
@@ -390,9 +390,9 @@ describe('POST /user/auth/local/register', () => {
});
it('fails on a habitica.com email', async () => {
- let username = generateRandomUserName();
- let email = `${username}@habitica.com`;
- let password = 'password';
+ const username = generateRandomUserName();
+ const email = `${username}@habitica.com`;
+ const password = 'password';
await expect(api.post('/user/auth/local/register', {
username,
@@ -407,9 +407,9 @@ describe('POST /user/auth/local/register', () => {
});
it('fails on a habitrpg.com email', async () => {
- let username = generateRandomUserName();
- let email = `${username}@habitrpg.com`;
- let password = 'password';
+ const username = generateRandomUserName();
+ const email = `${username}@habitrpg.com`;
+ const password = 'password';
await expect(api.post('/user/auth/local/register', {
username,
@@ -424,9 +424,9 @@ describe('POST /user/auth/local/register', () => {
});
it('requires a password', async () => {
- let username = generateRandomUserName();
- let email = `${username}@example.com`;
- let confirmPassword = 'password';
+ const username = generateRandomUserName();
+ const email = `${username}@example.com`;
+ const confirmPassword = 'password';
await expect(api.post('/user/auth/local/register', {
username,
@@ -442,9 +442,9 @@ describe('POST /user/auth/local/register', () => {
context('attach to facebook user', () => {
let user;
- let email = 'some@email.net';
- let username = 'some-username';
- let password = 'some-password';
+ const email = 'some@email.net';
+ const username = 'some-username';
+ const password = 'some-password';
beforeEach(async () => {
user = await generateUser();
});
@@ -475,7 +475,8 @@ describe('POST /user/auth/local/register', () => {
});
context('login is already taken', () => {
- let username, email, api;
+ let username; let email; let
+ api;
beforeEach(async () => {
api = requester();
@@ -490,8 +491,8 @@ describe('POST /user/auth/local/register', () => {
});
it('rejects if username is already taken', async () => {
- let uniqueEmail = `${generateRandomUserName()}@exampe.com`;
- let password = 'password';
+ const uniqueEmail = `${generateRandomUserName()}@exampe.com`;
+ const password = 'password';
await expect(api.post('/user/auth/local/register', {
username,
@@ -506,8 +507,8 @@ describe('POST /user/auth/local/register', () => {
});
it('rejects if email is already taken', async () => {
- let uniqueUsername = generateRandomUserName();
- let password = 'password';
+ const uniqueUsername = generateRandomUserName();
+ const password = 'password';
await expect(api.post('/user/auth/local/register', {
username: uniqueUsername,
@@ -523,7 +524,8 @@ describe('POST /user/auth/local/register', () => {
});
context('req.query.groupInvite', () => {
- let api, username, email, password;
+ let api; let username; let email; let
+ password;
beforeEach(() => {
api = requester();
@@ -533,7 +535,7 @@ describe('POST /user/auth/local/register', () => {
});
it('does not crash the signup process when it\'s invalid', async () => {
- let user = await api.post('/user/auth/local/register?groupInvite=aaaaInvalid', {
+ const user = await api.post('/user/auth/local/register?groupInvite=aaaaInvalid', {
username,
email,
password,
@@ -544,17 +546,17 @@ describe('POST /user/auth/local/register', () => {
});
it('supports invite using req.query.groupInvite', async () => {
- let { group, groupLeader } = await createAndPopulateGroup({
+ const { group, groupLeader } = await createAndPopulateGroup({
groupDetails: { type: 'party', privacy: 'private' },
});
- let invite = encrypt(JSON.stringify({
+ const invite = encrypt(JSON.stringify({
id: group._id,
inviter: groupLeader._id,
sentAt: Date.now(), // so we can let it expire
}));
- let user = await api.post(`/user/auth/local/register?groupInvite=${invite}`, {
+ const user = await api.post(`/user/auth/local/register?groupInvite=${invite}`, {
username,
email,
password,
@@ -567,11 +569,11 @@ describe('POST /user/auth/local/register', () => {
});
it('awards achievement to inviter', async () => {
- let { group, groupLeader } = await createAndPopulateGroup({
+ const { group, groupLeader } = await createAndPopulateGroup({
groupDetails: { type: 'party', privacy: 'private' },
});
- let invite = encrypt(JSON.stringify({
+ const invite = encrypt(JSON.stringify({
id: group._id,
inviter: groupLeader._id,
sentAt: Date.now(),
@@ -589,17 +591,17 @@ describe('POST /user/auth/local/register', () => {
});
it('user not added to a party on expired invite', async () => {
- let { group, groupLeader } = await createAndPopulateGroup({
+ const { group, groupLeader } = await createAndPopulateGroup({
groupDetails: { type: 'party', privacy: 'private' },
});
- let invite = encrypt(JSON.stringify({
+ const invite = encrypt(JSON.stringify({
id: group._id,
inviter: groupLeader._id,
sentAt: Date.now() - 6.912e8, // 8 days old
}));
- let user = await api.post(`/user/auth/local/register?groupInvite=${invite}`, {
+ const user = await api.post(`/user/auth/local/register?groupInvite=${invite}`, {
username,
email,
password,
@@ -610,17 +612,17 @@ describe('POST /user/auth/local/register', () => {
});
it('adds a user to a guild on an invite of type other than party', async () => {
- let { group, groupLeader } = await createAndPopulateGroup({
+ const { group, groupLeader } = await createAndPopulateGroup({
groupDetails: { type: 'guild', privacy: 'private' },
});
- let invite = encrypt(JSON.stringify({
+ const invite = encrypt(JSON.stringify({
id: group._id,
inviter: groupLeader._id,
sentAt: Date.now(),
}));
- let user = await api.post(`/user/auth/local/register?groupInvite=${invite}`, {
+ const user = await api.post(`/user/auth/local/register?groupInvite=${invite}`, {
username,
email,
password,
@@ -636,7 +638,8 @@ describe('POST /user/auth/local/register', () => {
});
context('successful login via api', () => {
- let api, username, email, password;
+ let api; let username; let email; let
+ password;
beforeEach(() => {
api = requester();
@@ -646,7 +649,7 @@ describe('POST /user/auth/local/register', () => {
});
it('sets all site tour values to -2 (already seen)', async () => {
- let user = await api.post('/user/auth/local/register', {
+ const user = await api.post('/user/auth/local/register', {
username,
email,
password,
@@ -655,13 +658,13 @@ describe('POST /user/auth/local/register', () => {
expect(user.flags.tour).to.not.be.empty;
- each(user.flags.tour, (value) => {
+ each(user.flags.tour, value => {
expect(value).to.eql(-2);
});
});
it('populates user with default todos, not no other task types', async () => {
- let user = await api.post('/user/auth/local/register', {
+ const user = await api.post('/user/auth/local/register', {
username,
email,
password,
@@ -675,7 +678,7 @@ describe('POST /user/auth/local/register', () => {
});
it('populates user with default tags', async () => {
- let user = await api.post('/user/auth/local/register', {
+ const user = await api.post('/user/auth/local/register', {
username,
email,
password,
@@ -687,17 +690,18 @@ describe('POST /user/auth/local/register', () => {
});
context('successful login with habitica-web header', () => {
- let api, username, email, password;
+ let api; let username; let email; let
+ password;
beforeEach(() => {
- api = requester({}, {'x-client': 'habitica-web'});
+ api = requester({}, { 'x-client': 'habitica-web' });
username = generateRandomUserName();
email = `${username}@example.com`;
password = 'password';
});
it('sets all common tutorial flags to true', async () => {
- let user = await api.post('/user/auth/local/register', {
+ const user = await api.post('/user/auth/local/register', {
username,
email,
password,
@@ -706,13 +710,13 @@ describe('POST /user/auth/local/register', () => {
expect(user.flags.tour).to.not.be.empty;
- each(user.flags.tutorial.common, (value) => {
+ each(user.flags.tutorial.common, value => {
expect(value).to.eql(true);
});
});
it('populates user with default todos, habits, and rewards', async () => {
- let user = await api.post('/user/auth/local/register', {
+ const user = await api.post('/user/auth/local/register', {
username,
email,
password,
@@ -726,7 +730,7 @@ describe('POST /user/auth/local/register', () => {
});
it('populates user with default tags', async () => {
- let user = await api.post('/user/auth/local/register', {
+ const user = await api.post('/user/auth/local/register', {
username,
email,
password,
@@ -737,17 +741,17 @@ describe('POST /user/auth/local/register', () => {
});
it('adds the correct tags to the correct tasks', async () => {
- let user = await api.post('/user/auth/local/register', {
+ const user = await api.post('/user/auth/local/register', {
username,
email,
password,
confirmPassword: password,
});
- let requests = new ApiUser(user);
+ const requests = new ApiUser(user);
- let habits = await requests.get('/tasks/user?type=habits');
- let todos = await requests.get('/tasks/user?type=todos');
+ const habits = await requests.get('/tasks/user?type=habits');
+ const todos = await requests.get('/tasks/user?type=todos');
expect(habits).to.have.a.lengthOf(0);
expect(todos).to.have.a.lengthOf(0);
diff --git a/test/api/v3/integration/user/auth/POST-user_auth_social.test.js b/test/api/v3/integration/user/auth/POST-user_auth_social.test.js
index 65aeb7985d..a934f3b8ed 100644
--- a/test/api/v3/integration/user/auth/POST-user_auth_social.test.js
+++ b/test/api/v3/integration/user/auth/POST-user_auth_social.test.js
@@ -1,18 +1,18 @@
+import passport from 'passport';
import {
generateUser,
requester,
translate as t,
getProperty,
} from '../../../../../helpers/api-integration/v3';
-import passport from 'passport';
describe('POST /user/auth/social', () => {
let api;
let user;
- let endpoint = '/user/auth/social';
- let randomAccessToken = '123456';
- let facebookId = 'facebookId';
- let googleId = 'googleId';
+ const endpoint = '/user/auth/social';
+ const randomAccessToken = '123456';
+ const facebookId = 'facebookId';
+ const googleId = 'googleId';
let network = 'NoNetwork';
beforeEach(async () => {
@@ -22,7 +22,7 @@ describe('POST /user/auth/social', () => {
it('fails if network is not supported', async () => {
await expect(api.post(endpoint, {
- authResponse: {access_token: randomAccessToken}, // eslint-disable-line camelcase
+ authResponse: { access_token: randomAccessToken }, // eslint-disable-line camelcase
network,
})).to.eventually.be.rejected.and.eql({
code: 400,
@@ -33,14 +33,14 @@ describe('POST /user/auth/social', () => {
describe('facebook', () => {
before(async () => {
- let expectedResult = {id: facebookId, displayName: 'a facebook user'};
+ const expectedResult = { id: facebookId, displayName: 'a facebook user' };
sandbox.stub(passport._strategies.facebook, 'userProfile').yields(null, expectedResult);
network = 'facebook';
});
it('registers a new user', async () => {
const response = await api.post(endpoint, {
- authResponse: {access_token: randomAccessToken}, // eslint-disable-line camelcase
+ authResponse: { access_token: randomAccessToken }, // eslint-disable-line camelcase
network,
});
@@ -54,13 +54,13 @@ describe('POST /user/auth/social', () => {
});
it('logs an existing user in', async () => {
- let registerResponse = await api.post(endpoint, {
- authResponse: {access_token: randomAccessToken}, // eslint-disable-line camelcase
+ const registerResponse = await api.post(endpoint, {
+ authResponse: { access_token: randomAccessToken }, // eslint-disable-line camelcase
network,
});
- let response = await api.post(endpoint, {
- authResponse: {access_token: randomAccessToken}, // eslint-disable-line camelcase
+ const response = await api.post(endpoint, {
+ authResponse: { access_token: randomAccessToken }, // eslint-disable-line camelcase
network,
});
@@ -70,8 +70,8 @@ describe('POST /user/auth/social', () => {
});
it('add social auth to an existing user', async () => {
- let response = await user.post(endpoint, {
- authResponse: {access_token: randomAccessToken}, // eslint-disable-line camelcase
+ const response = await user.post(endpoint, {
+ authResponse: { access_token: randomAccessToken }, // eslint-disable-line camelcase
network,
});
@@ -82,7 +82,7 @@ describe('POST /user/auth/social', () => {
xit('enrolls a new user in an A/B test', async () => {
await api.post(endpoint, {
- authResponse: {access_token: randomAccessToken}, // eslint-disable-line camelcase
+ authResponse: { access_token: randomAccessToken }, // eslint-disable-line camelcase
network,
});
@@ -92,14 +92,14 @@ describe('POST /user/auth/social', () => {
describe('google', () => {
before(async () => {
- let expectedResult = {id: googleId, displayName: 'a google user'};
+ const expectedResult = { id: googleId, displayName: 'a google user' };
sandbox.stub(passport._strategies.google, 'userProfile').yields(null, expectedResult);
network = 'google';
});
it('registers a new user', async () => {
- let response = await api.post(endpoint, {
- authResponse: {access_token: randomAccessToken}, // eslint-disable-line camelcase
+ const response = await api.post(endpoint, {
+ authResponse: { access_token: randomAccessToken }, // eslint-disable-line camelcase
network,
});
@@ -110,13 +110,13 @@ describe('POST /user/auth/social', () => {
});
it('logs an existing user in', async () => {
- let registerResponse = await api.post(endpoint, {
- authResponse: {access_token: randomAccessToken}, // eslint-disable-line camelcase
+ const registerResponse = await api.post(endpoint, {
+ authResponse: { access_token: randomAccessToken }, // eslint-disable-line camelcase
network,
});
- let response = await api.post(endpoint, {
- authResponse: {access_token: randomAccessToken}, // eslint-disable-line camelcase
+ const response = await api.post(endpoint, {
+ authResponse: { access_token: randomAccessToken }, // eslint-disable-line camelcase
network,
});
@@ -126,8 +126,8 @@ describe('POST /user/auth/social', () => {
});
it('add social auth to an existing user', async () => {
- let response = await user.post(endpoint, {
- authResponse: {access_token: randomAccessToken}, // eslint-disable-line camelcase
+ const response = await user.post(endpoint, {
+ authResponse: { access_token: randomAccessToken }, // eslint-disable-line camelcase
network,
});
@@ -138,7 +138,7 @@ describe('POST /user/auth/social', () => {
xit('enrolls a new user in an A/B test', async () => {
await api.post(endpoint, {
- authResponse: {access_token: randomAccessToken}, // eslint-disable-line camelcase
+ authResponse: { access_token: randomAccessToken }, // eslint-disable-line camelcase
network,
});
diff --git a/test/api/v3/integration/user/auth/POST-user_reset_password.test.js b/test/api/v3/integration/user/auth/POST-user_reset_password.test.js
index ab86bdcb90..8603fa7cb3 100644
--- a/test/api/v3/integration/user/auth/POST-user_reset_password.test.js
+++ b/test/api/v3/integration/user/auth/POST-user_reset_password.test.js
@@ -1,14 +1,14 @@
+import moment from 'moment';
import {
generateUser,
translate as t,
} from '../../../../../helpers/api-integration/v3';
-import moment from 'moment';
import {
decrypt,
} from '../../../../../../website/server/libs/encryption';
describe('POST /user/reset-password', async () => {
- let endpoint = '/user/reset-password';
+ const endpoint = '/user/reset-password';
let user;
beforeEach(async () => {
@@ -16,8 +16,8 @@ describe('POST /user/reset-password', async () => {
});
it('resets password', async () => {
- let previousPassword = user.auth.local.hashed_password;
- let response = await user.post(endpoint, {
+ const previousPassword = user.auth.local.hashed_password;
+ const response = await user.post(endpoint, {
email: user.auth.local.email,
});
expect(response).to.eql({ data: {}, message: t('passwordReset') });
@@ -26,7 +26,7 @@ describe('POST /user/reset-password', async () => {
});
it('same message on error as on success', async () => {
- let response = await user.post(endpoint, {
+ const response = await user.post(endpoint, {
email: 'nonExistent@email.com',
});
expect(response).to.eql({ data: {}, message: t('passwordReset') });
@@ -50,8 +50,8 @@ describe('POST /user/reset-password', async () => {
await user.sync();
expect(user.auth.local.passwordResetCode).to.be.a.string;
- let decryptedCode = JSON.parse(decrypt(user.auth.local.passwordResetCode));
+ const decryptedCode = JSON.parse(decrypt(user.auth.local.passwordResetCode));
expect(decryptedCode.userId).to.equal(user._id);
- expect(moment(decryptedCode.expiresAt).isAfter(moment().add({hours: 23}))).to.equal(true);
+ expect(moment(decryptedCode.expiresAt).isAfter(moment().add({ hours: 23 }))).to.equal(true);
});
});
diff --git a/test/api/v3/integration/user/auth/PUT-user_update_email.test.js b/test/api/v3/integration/user/auth/PUT-user_update_email.test.js
index d540dbd27b..d924a99ebf 100644
--- a/test/api/v3/integration/user/auth/PUT-user_update_email.test.js
+++ b/test/api/v3/integration/user/auth/PUT-user_update_email.test.js
@@ -1,3 +1,4 @@
+import nconf from 'nconf';
import {
generateUser,
translate as t,
@@ -8,13 +9,12 @@ import {
sha1Encrypt as sha1EncryptPassword,
} from '../../../../../../website/server/libs/password';
-import nconf from 'nconf';
const ENDPOINT = '/user/auth/update-email';
describe('PUT /user/auth/update-email', () => {
- let newEmail = 'SOmE-nEw-emAIl_2@example.net';
- let oldPassword = 'password'; // from habitrpg/test/helpers/api-integration/v3/object-generators.js
+ const newEmail = 'SOmE-nEw-emAIl_2@example.net';
+ const oldPassword = 'password'; // from habitrpg/test/helpers/api-integration/v3/object-generators.js
context('Local Authenticaion User', async () => {
let user;
@@ -53,8 +53,8 @@ describe('PUT /user/auth/update-email', () => {
});
it('changes email if new email and existing password are provided', async () => {
- let lowerCaseNewEmail = newEmail.toLowerCase();
- let response = await user.put(ENDPOINT, {
+ const lowerCaseNewEmail = newEmail.toLowerCase();
+ const response = await user.put(ENDPOINT, {
newEmail,
password: oldPassword,
});
@@ -76,10 +76,10 @@ describe('PUT /user/auth/update-email', () => {
});
it('converts user with SHA1 encrypted password to bcrypt encryption', async () => {
- let textPassword = 'mySecretPassword';
- let salt = sha1MakeSalt();
- let sha1HashedPassword = sha1EncryptPassword(textPassword, salt);
- let myNewEmail = 'my-new-random-email@example.net';
+ const textPassword = 'mySecretPassword';
+ const salt = sha1MakeSalt();
+ const sha1HashedPassword = sha1EncryptPassword(textPassword, salt);
+ const myNewEmail = 'my-new-random-email@example.net';
await user.update({
'auth.local.hashed_password': sha1HashedPassword,
@@ -93,7 +93,7 @@ describe('PUT /user/auth/update-email', () => {
expect(user.auth.local.hashed_password).to.equal(sha1HashedPassword);
// update email
- let response = await user.put(ENDPOINT, {
+ const response = await user.put(ENDPOINT, {
newEmail: myNewEmail,
password: textPassword,
});
@@ -106,7 +106,7 @@ describe('PUT /user/auth/update-email', () => {
expect(user.auth.local.salt).to.be.undefined;
expect(user.auth.local.hashed_password).not.to.equal(sha1HashedPassword);
- let isValidPassword = await bcryptCompare(textPassword, user.auth.local.hashed_password);
+ const isValidPassword = await bcryptCompare(textPassword, user.auth.local.hashed_password);
expect(isValidPassword).to.equal(true);
});
});
diff --git a/test/api/v3/integration/user/auth/PUT-user_update_password.test.js b/test/api/v3/integration/user/auth/PUT-user_update_password.test.js
index 81d03047b0..a46eb0f916 100644
--- a/test/api/v3/integration/user/auth/PUT-user_update_password.test.js
+++ b/test/api/v3/integration/user/auth/PUT-user_update_password.test.js
@@ -12,17 +12,17 @@ const ENDPOINT = '/user/auth/update-password';
describe('PUT /user/auth/update-password', async () => {
let user;
- let password = 'password'; // from habitrpg/test/helpers/api-integration/v3/object-generators.js
- let wrongPassword = 'wrong-password';
- let newPassword = 'new-password';
+ const password = 'password'; // from habitrpg/test/helpers/api-integration/v3/object-generators.js
+ const wrongPassword = 'wrong-password';
+ const newPassword = 'new-password';
beforeEach(async () => {
user = await generateUser();
});
it('successfully changes the password', async () => {
- let previousHashedPassword = user.auth.local.hashed_password;
- let response = await user.put(ENDPOINT, {
+ const previousHashedPassword = user.auth.local.hashed_password;
+ const response = await user.put(ENDPOINT, {
password,
newPassword,
confirmPassword: newPassword,
@@ -57,7 +57,7 @@ describe('PUT /user/auth/update-password', async () => {
});
it('returns an error when password is missing', async () => {
- let body = {
+ const body = {
newPassword,
confirmPassword: newPassword,
};
@@ -70,7 +70,7 @@ describe('PUT /user/auth/update-password', async () => {
});
it('returns an error when newPassword is missing', async () => {
- let body = {
+ const body = {
password,
confirmPassword: newPassword,
};
@@ -83,7 +83,7 @@ describe('PUT /user/auth/update-password', async () => {
});
it('returns an error when confirmPassword is missing', async () => {
- let body = {
+ const body = {
password,
newPassword,
};
@@ -96,9 +96,9 @@ describe('PUT /user/auth/update-password', async () => {
});
it('converts user with SHA1 encrypted password to bcrypt encryption', async () => {
- let textPassword = 'mySecretPassword';
- let salt = sha1MakeSalt();
- let sha1HashedPassword = sha1EncryptPassword(textPassword, salt);
+ const textPassword = 'mySecretPassword';
+ const salt = sha1MakeSalt();
+ const sha1HashedPassword = sha1EncryptPassword(textPassword, salt);
await user.update({
'auth.local.hashed_password': sha1HashedPassword,
@@ -123,7 +123,7 @@ describe('PUT /user/auth/update-password', async () => {
expect(user.auth.local.salt).to.be.undefined;
expect(user.auth.local.hashed_password).not.to.equal(sha1HashedPassword);
- let isValidPassword = await bcryptCompare(newPassword, user.auth.local.hashed_password);
+ const isValidPassword = await bcryptCompare(newPassword, user.auth.local.hashed_password);
expect(isValidPassword).to.equal(true);
});
});
diff --git a/test/api/v3/integration/user/auth/PUT-user_update_username.test.js b/test/api/v3/integration/user/auth/PUT-user_update_username.test.js
index 987f7bd556..7e2da12bc0 100644
--- a/test/api/v3/integration/user/auth/PUT-user_update_username.test.js
+++ b/test/api/v3/integration/user/auth/PUT-user_update_username.test.js
@@ -12,15 +12,15 @@ const ENDPOINT = '/user/auth/update-username';
describe('PUT /user/auth/update-username', async () => {
let user;
- let password = 'password'; // from habitrpg/test/helpers/api-integration/v4/object-generators.js
+ const password = 'password'; // from habitrpg/test/helpers/api-integration/v4/object-generators.js
beforeEach(async () => {
user = await generateUser();
});
it('successfully changes username with password', async () => {
- let newUsername = 'new-username';
- let response = await user.put(ENDPOINT, {
+ const newUsername = 'new-username';
+ const response = await user.put(ENDPOINT, {
username: newUsername,
password,
});
@@ -30,8 +30,8 @@ describe('PUT /user/auth/update-username', async () => {
});
it('successfully changes username without password', async () => {
- let newUsername = 'new-username-nopw';
- let response = await user.put(ENDPOINT, {
+ const newUsername = 'new-username-nopw';
+ const response = await user.put(ENDPOINT, {
username: newUsername,
});
expect(response).to.eql({ username: newUsername });
@@ -40,8 +40,8 @@ describe('PUT /user/auth/update-username', async () => {
});
it('successfully changes username containing number and underscore', async () => {
- let newUsername = 'new_username9';
- let response = await user.put(ENDPOINT, {
+ const newUsername = 'new_username9';
+ const response = await user.put(ENDPOINT, {
username: newUsername,
});
expect(response).to.eql({ username: newUsername });
@@ -52,8 +52,8 @@ describe('PUT /user/auth/update-username', async () => {
it('sets verifiedUsername when changing username', async () => {
user.flags.verifiedUsername = false;
await user.sync();
- let newUsername = 'new-username-verify';
- let response = await user.put(ENDPOINT, {
+ const newUsername = 'new-username-verify';
+ const response = await user.put(ENDPOINT, {
username: newUsername,
});
expect(response).to.eql({ username: newUsername });
@@ -62,10 +62,10 @@ describe('PUT /user/auth/update-username', async () => {
});
it('converts user with SHA1 encrypted password to bcrypt encryption', async () => {
- let myNewUsername = 'my-new-username';
- let textPassword = 'mySecretPassword';
- let salt = sha1MakeSalt();
- let sha1HashedPassword = sha1EncryptPassword(textPassword, salt);
+ const myNewUsername = 'my-new-username';
+ const textPassword = 'mySecretPassword';
+ const salt = sha1MakeSalt();
+ const sha1HashedPassword = sha1EncryptPassword(textPassword, salt);
await user.update({
'auth.local.hashed_password': sha1HashedPassword,
@@ -79,7 +79,7 @@ describe('PUT /user/auth/update-username', async () => {
expect(user.auth.local.hashed_password).to.equal(sha1HashedPassword);
// update email
- let response = await user.put(ENDPOINT, {
+ const response = await user.put(ENDPOINT, {
username: myNewUsername,
password: textPassword,
});
@@ -92,14 +92,14 @@ describe('PUT /user/auth/update-username', async () => {
expect(user.auth.local.salt).to.be.undefined;
expect(user.auth.local.hashed_password).not.to.equal(sha1HashedPassword);
- let isValidPassword = await bcryptCompare(textPassword, user.auth.local.hashed_password);
+ const isValidPassword = await bcryptCompare(textPassword, user.auth.local.hashed_password);
expect(isValidPassword).to.equal(true);
});
context('errors', async () => {
it('prevents username update if new username is already taken', async () => {
- let existingUsername = 'existing-username';
- await generateUser({'auth.local.username': existingUsername, 'auth.local.lowerCaseUsername': existingUsername });
+ const existingUsername = 'existing-username';
+ await generateUser({ 'auth.local.username': existingUsername, 'auth.local.lowerCaseUsername': existingUsername });
await expect(user.put(ENDPOINT, {
username: existingUsername,
@@ -112,7 +112,7 @@ describe('PUT /user/auth/update-username', async () => {
});
it('errors if password is wrong', async () => {
- let newUsername = 'new-username';
+ const newUsername = 'new-username';
await expect(user.put(ENDPOINT, {
username: newUsername,
password: 'wrong-password',
diff --git a/test/api/v3/integration/user/buy/POST-user_buy.test.js b/test/api/v3/integration/user/buy/POST-user_buy.test.js
index fddd08802a..4b39704500 100644
--- a/test/api/v3/integration/user/buy/POST-user_buy.test.js
+++ b/test/api/v3/integration/user/buy/POST-user_buy.test.js
@@ -7,7 +7,7 @@ import {
import shared from '../../../../../../website/common/script';
import apiError from '../../../../../../website/server/libs/apiError';
-let content = shared.content;
+const { content } = shared;
describe('POST /user/buy/:key', () => {
let user;
@@ -25,7 +25,7 @@ describe('POST /user/buy/:key', () => {
.to.eventually.be.rejected.and.eql({
code: 404,
error: 'NotFound',
- message: apiError('itemNotFound', {key: 'notExisting'}),
+ message: apiError('itemNotFound', { key: 'notExisting' }),
});
});
@@ -35,13 +35,13 @@ describe('POST /user/buy/:key', () => {
'stats.hp': 40,
});
- let potion = content.potion;
- let res = await user.post('/user/buy/potion');
+ const { potion } = content;
+ const res = await user.post('/user/buy/potion');
await user.sync();
expect(user.stats.hp).to.equal(50);
expect(res.data).to.eql(user.stats);
- expect(res.message).to.equal(t('messageBought', {itemText: potion.text()}));
+ expect(res.message).to.equal(t('messageBought', { itemText: potion.text() }));
});
it('returns an error if user tries to buy a potion with full health', async () => {
@@ -59,7 +59,7 @@ describe('POST /user/buy/:key', () => {
});
it('buys a piece of gear', async () => {
- let key = 'armor_warrior_1';
+ const key = 'armor_warrior_1';
await user.post(`/user/buy/${key}`);
await user.sync();
@@ -68,11 +68,11 @@ describe('POST /user/buy/:key', () => {
});
it('buys a special spell', async () => {
- let key = 'spookySparkles';
- let item = content.special[key];
+ const key = 'spookySparkles';
+ const item = content.special[key];
- await user.update({'stats.gp': 250});
- let res = await user.post(`/user/buy/${key}`);
+ await user.update({ 'stats.gp': 250 });
+ const res = await user.post(`/user/buy/${key}`);
await user.sync();
expect(res.data).to.eql({
@@ -90,12 +90,12 @@ describe('POST /user/buy/:key', () => {
'stats.hp': 20,
});
- let potion = content.potion;
- let res = await user.post('/user/buy/potion', {quantity: 2});
+ const { potion } = content;
+ const res = await user.post('/user/buy/potion', { quantity: 2 });
await user.sync();
expect(user.stats.hp).to.equal(50);
expect(res.data).to.eql(user.stats);
- expect(res.message).to.equal(t('messageBought', {itemText: potion.text()}));
+ expect(res.message).to.equal(t('messageBought', { itemText: potion.text() }));
});
});
diff --git a/test/api/v3/integration/user/buy/POST-user_buy_gear.test.js b/test/api/v3/integration/user/buy/POST-user_buy_gear.test.js
index f60cbe793a..9e3120b8c7 100644
--- a/test/api/v3/integration/user/buy/POST-user_buy_gear.test.js
+++ b/test/api/v3/integration/user/buy/POST-user_buy_gear.test.js
@@ -21,12 +21,12 @@ describe('POST /user/buy-gear/:key', () => {
.to.eventually.be.rejected.and.eql({
code: 404,
error: 'NotFound',
- message: apiError('itemNotFound', {key: 'notExisting'}),
+ message: apiError('itemNotFound', { key: 'notExisting' }),
});
});
it('buys the first level weapon gear', async () => {
- let key = 'weapon_warrior_0';
+ const key = 'weapon_warrior_0';
await user.post(`/user/buy-gear/${key}`);
await user.sync();
@@ -35,7 +35,7 @@ describe('POST /user/buy-gear/:key', () => {
});
it('buys the first level armor gear', async () => {
- let key = 'armor_warrior_1';
+ const key = 'armor_warrior_1';
await user.post(`/user/buy-gear/${key}`);
await user.sync();
@@ -44,7 +44,7 @@ describe('POST /user/buy-gear/:key', () => {
});
it('tries to buy subsequent, level gear', async () => {
- let key = 'armor_warrior_2';
+ const key = 'armor_warrior_2';
return expect(user.post(`/user/buy-gear/${key}`))
.to.eventually.be.rejected.and.eql({
@@ -55,7 +55,7 @@ describe('POST /user/buy-gear/:key', () => {
});
it('returns an error if tries to buy gear from a different class', async () => {
- let key = 'armor_rogue_1';
+ const key = 'armor_rogue_1';
return expect(user.post(`/user/buy-gear/${key}`))
.to.eventually.be.rejected.and.eql({
diff --git a/test/api/v3/integration/user/buy/POST-user_buy_health_potion.test.js b/test/api/v3/integration/user/buy/POST-user_buy_health_potion.test.js
index 437d0e6a39..e79132fa5e 100644
--- a/test/api/v3/integration/user/buy/POST-user_buy_health_potion.test.js
+++ b/test/api/v3/integration/user/buy/POST-user_buy_health_potion.test.js
@@ -4,7 +4,7 @@ import {
} from '../../../../../helpers/api-integration/v3';
import shared from '../../../../../../website/common/script';
-let content = shared.content;
+const { content } = shared;
describe('POST /user/buy-health-potion', () => {
let user;
@@ -31,12 +31,12 @@ describe('POST /user/buy-health-potion', () => {
'stats.gp': 400,
});
- let potion = content.potion;
- let res = await user.post('/user/buy-health-potion');
+ const { potion } = content;
+ const res = await user.post('/user/buy-health-potion');
await user.sync();
expect(user.stats.hp).to.equal(50);
expect(res.data).to.eql(user.stats);
- expect(res.message).to.equal(t('messageBought', {itemText: potion.text()}));
+ expect(res.message).to.equal(t('messageBought', { itemText: potion.text() }));
});
});
diff --git a/test/api/v3/integration/user/buy/POST-user_buy_mystery_set.test.js b/test/api/v3/integration/user/buy/POST-user_buy_mystery_set.test.js
index bd49fae5a5..d4df2c93b3 100644
--- a/test/api/v3/integration/user/buy/POST-user_buy_mystery_set.test.js
+++ b/test/api/v3/integration/user/buy/POST-user_buy_mystery_set.test.js
@@ -24,9 +24,9 @@ describe('POST /user/buy-mystery-set/:key', () => {
});
it('buys a mystery set', async () => {
- let key = 301404;
+ const key = 301404;
- let res = await user.post(`/user/buy-mystery-set/${key}`);
+ const res = await user.post(`/user/buy-mystery-set/${key}`);
await user.sync();
expect(res.data).to.eql({
diff --git a/test/api/v3/integration/user/buy/POST-user_buy_quest.test.js b/test/api/v3/integration/user/buy/POST-user_buy_quest.test.js
index 8f1e6bf896..025f8dd3bd 100644
--- a/test/api/v3/integration/user/buy/POST-user_buy_quest.test.js
+++ b/test/api/v3/integration/user/buy/POST-user_buy_quest.test.js
@@ -5,7 +5,7 @@ import {
import shared from '../../../../../../website/common/script';
import apiError from '../../../../../../website/server/libs/apiError';
-let content = shared.content;
+const { content } = shared;
describe('POST /user/buy-quest/:key', () => {
let user;
@@ -21,16 +21,16 @@ describe('POST /user/buy-quest/:key', () => {
.to.eventually.be.rejected.and.eql({
code: 404,
error: 'NotFound',
- message: apiError('questNotFound', {key: 'notExisting'}),
+ message: apiError('questNotFound', { key: 'notExisting' }),
});
});
it('buys a quest', async () => {
- let key = 'dilatoryDistress1';
- let item = content.quests[key];
+ const key = 'dilatoryDistress1';
+ const item = content.quests[key];
- await user.update({'stats.gp': 250});
- let res = await user.post(`/user/buy-quest/${key}`);
+ await user.update({ 'stats.gp': 250 });
+ const res = await user.post(`/user/buy-quest/${key}`);
await user.sync();
expect(res.data).to.eql(user.items.quests);
@@ -40,13 +40,13 @@ describe('POST /user/buy-quest/:key', () => {
});
it('returns an error if quest prerequisites are not met', async () => {
- let key = 'dilatoryDistress2';
+ const key = 'dilatoryDistress2';
await expect(user.post(`/user/buy-quest/${key}`))
.to.eventually.be.rejected.and.eql({
code: 401,
error: 'NotAuthorized',
- message: t('mustComplete', {quest: 'dilatoryDistress1'}),
+ message: t('mustComplete', { quest: 'dilatoryDistress1' }),
});
});
@@ -57,8 +57,8 @@ describe('POST /user/buy-quest/:key', () => {
const achievementName = `achievements.quests.${prerequisite}`;
- await user.update({[achievementName]: true, 'stats.gp': 9999});
- let res = await user.post(`/user/buy-quest/${key}`);
+ await user.update({ [achievementName]: true, 'stats.gp': 9999 });
+ const res = await user.post(`/user/buy-quest/${key}`);
await user.sync();
expect(res.data).to.eql(user.items.quests);
diff --git a/test/api/v3/integration/user/buy/POST-user_buy_special_spell.test.js b/test/api/v3/integration/user/buy/POST-user_buy_special_spell.test.js
index 20a73fb173..266661c421 100644
--- a/test/api/v3/integration/user/buy/POST-user_buy_special_spell.test.js
+++ b/test/api/v3/integration/user/buy/POST-user_buy_special_spell.test.js
@@ -5,7 +5,7 @@ import {
import shared from '../../../../../../website/common/script';
import apiError from '../../../../../../website/server/libs/apiError';
-let content = shared.content;
+const { content } = shared;
describe('POST /user/buy-special-spell/:key', () => {
let user;
@@ -21,16 +21,16 @@ describe('POST /user/buy-special-spell/:key', () => {
.to.eventually.be.rejected.and.eql({
code: 404,
error: 'NotFound',
- message: apiError('spellNotFound', {spellId: 'notExisting'}),
+ message: apiError('spellNotFound', { spellId: 'notExisting' }),
});
});
it('buys a special spell', async () => {
- let key = 'thankyou';
- let item = content.special[key];
+ const key = 'thankyou';
+ const item = content.special[key];
- await user.update({'stats.gp': 250});
- let res = await user.post(`/user/buy-special-spell/${key}`);
+ await user.update({ 'stats.gp': 250 });
+ const res = await user.post(`/user/buy-special-spell/${key}`);
await user.sync();
expect(res.data).to.eql({
@@ -43,7 +43,7 @@ describe('POST /user/buy-special-spell/:key', () => {
});
it('returns an error if user does not have enough gold', async () => {
- let key = 'thankyou';
+ const key = 'thankyou';
await user.update({
'stats.gp': 5,
diff --git a/test/api/v3/integration/user/stats/POST-user_allocate.test.js b/test/api/v3/integration/user/stats/POST-user_allocate.test.js
index 6ace8731db..c7c7f18204 100644
--- a/test/api/v3/integration/user/stats/POST-user_allocate.test.js
+++ b/test/api/v3/integration/user/stats/POST-user_allocate.test.js
@@ -22,7 +22,7 @@ describe('POST /user/allocate', () => {
.to.eventually.be.rejected.and.eql({
code: 400,
error: 'BadRequest',
- message: apiError('invalidAttribute', {attr: 'invalid'}),
+ message: apiError('invalidAttribute', { attr: 'invalid' }),
});
});
@@ -36,7 +36,7 @@ describe('POST /user/allocate', () => {
});
it('returns an error if the user hasn\'t selected class', async () => {
- await user.update({'flags.classSelected': false});
+ await user.update({ 'flags.classSelected': false });
await expect(user.post('/user/allocate'))
.to.eventually.be.rejected.and.eql({
code: 401,
@@ -46,8 +46,8 @@ describe('POST /user/allocate', () => {
});
it('allocates attribute points', async () => {
- await user.update({'stats.points': 1});
- let res = await user.post('/user/allocate?stat=con');
+ await user.update({ 'stats.points': 1 });
+ const res = await user.post('/user/allocate?stat=con');
await user.sync();
expect(user.stats.con).to.equal(1);
expect(user.stats.points).to.equal(0);
diff --git a/test/api/v3/integration/user/stats/POST-user_allocate_bulk.test.js b/test/api/v3/integration/user/stats/POST-user_allocate_bulk.test.js
index a665521d0d..fb60c80c49 100644
--- a/test/api/v3/integration/user/stats/POST-user_allocate_bulk.test.js
+++ b/test/api/v3/integration/user/stats/POST-user_allocate_bulk.test.js
@@ -32,7 +32,7 @@ describe('POST /user/allocate-bulk', () => {
});
it('returns an error if user has not selected class', async () => {
- await user.update({'flags.classSelected': false});
+ await user.update({ 'flags.classSelected': false });
await expect(user.post('/user/allocate-bulk', statsUpdate))
.to.eventually.be.rejected.and.eql({
code: 401,
@@ -42,7 +42,7 @@ describe('POST /user/allocate-bulk', () => {
});
it('allocates attribute points', async () => {
- await user.update({'stats.points': 3});
+ await user.update({ 'stats.points': 3 });
await user.post('/user/allocate-bulk', statsUpdate);
await user.sync();
diff --git a/test/api/v3/integration/user/stats/POST-user_allocate_now.test.js b/test/api/v3/integration/user/stats/POST-user_allocate_now.test.js
index b8f3ee5603..a0f1cf57ac 100644
--- a/test/api/v3/integration/user/stats/POST-user_allocate_now.test.js
+++ b/test/api/v3/integration/user/stats/POST-user_allocate_now.test.js
@@ -6,7 +6,7 @@ describe('POST /user/allocate-now', () => {
// More tests in common code unit tests
it('auto allocates all points', async () => {
- let user = await generateUser({
+ const user = await generateUser({
'stats.points': 5,
'stats.int': 3,
'stats.con': 9,
@@ -15,7 +15,7 @@ describe('POST /user/allocate-now', () => {
'preferences.allocationMode': 'flat',
});
- let res = await user.post('/user/allocate-now');
+ const res = await user.post('/user/allocate-now');
await user.sync();
expect(res).to.eql(user.stats);
diff --git a/test/api/v3/integration/webhook/DELETE-user_delete_webhook.test.js b/test/api/v3/integration/webhook/DELETE-user_delete_webhook.test.js
index 3126cd2b5a..b6a2d5a53d 100644
--- a/test/api/v3/integration/webhook/DELETE-user_delete_webhook.test.js
+++ b/test/api/v3/integration/webhook/DELETE-user_delete_webhook.test.js
@@ -3,8 +3,9 @@ import {
translate as t,
} from '../../../../helpers/api-integration/v3';
-let user, webhookToDelete;
-let endpoint = '/user/webhook';
+let user; let
+ webhookToDelete;
+const endpoint = '/user/webhook';
describe('DELETE /user/webhook', () => {
beforeEach(async () => {
@@ -32,11 +33,11 @@ describe('DELETE /user/webhook', () => {
});
it('returns the remaining webhooks', async () => {
- let [remainingWebhook] = await user.del(`${endpoint}/${webhookToDelete.id}`);
+ const [remainingWebhook] = await user.del(`${endpoint}/${webhookToDelete.id}`);
await user.sync();
- let webhook = user.webhooks[0];
+ const webhook = user.webhooks[0];
expect(remainingWebhook.id).to.eql(webhook.id);
expect(remainingWebhook.url).to.eql(webhook.url);
@@ -48,7 +49,7 @@ describe('DELETE /user/webhook', () => {
await expect(user.del(`${endpoint}/id-that-does-not-exist`)).to.eventually.be.rejected.and.eql({
code: 404,
error: 'NotFound',
- message: t('noWebhookWithId', {id: 'id-that-does-not-exist'}),
+ message: t('noWebhookWithId', { id: 'id-that-does-not-exist' }),
});
});
});
diff --git a/test/api/v3/integration/webhook/GET-user-webhook.test.js b/test/api/v3/integration/webhook/GET-user-webhook.test.js
index 138aad902a..d1ea6939f4 100644
--- a/test/api/v3/integration/webhook/GET-user-webhook.test.js
+++ b/test/api/v3/integration/webhook/GET-user-webhook.test.js
@@ -22,7 +22,7 @@ describe('GET /user/webhook', () => {
});
it('returns users webhooks', async () => {
- let response = await user.get('/user/webhook');
+ const response = await user.get('/user/webhook');
expect(response).to.eql(user.webhooks.map(w => {
w.createdAt = w.createdAt.toISOString();
diff --git a/test/api/v3/integration/webhook/POST-user_add_webhook.test.js b/test/api/v3/integration/webhook/POST-user_add_webhook.test.js
index cbed7e56af..306ba771c0 100644
--- a/test/api/v3/integration/webhook/POST-user_add_webhook.test.js
+++ b/test/api/v3/integration/webhook/POST-user_add_webhook.test.js
@@ -1,12 +1,13 @@
+import { v4 as generateUUID } from 'uuid';
import {
generateUser,
translate as t,
} from '../../../../helpers/api-integration/v3';
-import { v4 as generateUUID } from 'uuid';
import apiError from '../../../../../website/server/libs/apiError';
describe('POST /user/webhook', () => {
- let user, body;
+ let user; let
+ body;
beforeEach(async () => {
user = await generateUser();
@@ -41,7 +42,7 @@ describe('POST /user/webhook', () => {
it('defaults id to a uuid', async () => {
delete body.id;
- let webhook = await user.post('/user/webhook', body);
+ const webhook = await user.post('/user/webhook', body);
expect(webhook.id).to.exist;
});
@@ -59,7 +60,7 @@ describe('POST /user/webhook', () => {
it('defaults enabled to true', async () => {
delete body.enabled;
- let webhook = await user.post('/user/webhook', body);
+ const webhook = await user.post('/user/webhook', body);
expect(webhook.enabled).to.be.true;
});
@@ -67,7 +68,7 @@ describe('POST /user/webhook', () => {
it('can pass a label', async () => {
body.label = 'Custom Label';
- let webhook = await user.post('/user/webhook', body);
+ const webhook = await user.post('/user/webhook', body);
expect(webhook.label).to.equal('Custom Label');
});
@@ -75,7 +76,7 @@ describe('POST /user/webhook', () => {
it('defaults type to taskActivity', async () => {
delete body.type;
- let webhook = await user.post('/user/webhook', body);
+ const webhook = await user.post('/user/webhook', body);
expect(webhook.type).to.eql('taskActivity');
});
@@ -83,7 +84,7 @@ describe('POST /user/webhook', () => {
it('successfully adds the webhook', async () => {
expect(user.webhooks).to.eql([]);
- let response = await user.post('/user/webhook', body);
+ const response = await user.post('/user/webhook', body);
expect(response.id).to.eql(body.id);
expect(response.type).to.eql(body.type);
@@ -94,7 +95,7 @@ describe('POST /user/webhook', () => {
expect(user.webhooks).to.not.eql([]);
- let webhook = user.webhooks[0];
+ const webhook = user.webhooks[0];
expect(webhook.enabled).to.be.false;
expect(webhook.type).to.eql('taskActivity');
@@ -114,7 +115,7 @@ describe('POST /user/webhook', () => {
it('defaults taskActivity options', async () => {
body.type = 'taskActivity';
- let webhook = await user.post('/user/webhook', body);
+ const webhook = await user.post('/user/webhook', body);
expect(webhook.options).to.eql({
checklistScored: false,
@@ -135,7 +136,7 @@ describe('POST /user/webhook', () => {
scored: false,
};
- let webhook = await user.post('/user/webhook', body);
+ const webhook = await user.post('/user/webhook', body);
expect(webhook.options).to.eql({
checklistScored: true,
@@ -157,7 +158,7 @@ describe('POST /user/webhook', () => {
foo: 'bar',
};
- let webhook = await user.post('/user/webhook', body);
+ const webhook = await user.post('/user/webhook', body);
expect(webhook.options.foo).to.not.exist;
expect(webhook.options).to.eql({
@@ -169,7 +170,7 @@ describe('POST /user/webhook', () => {
});
});
- ['created', 'updated', 'deleted', 'scored'].forEach((option) => {
+ ['created', 'updated', 'deleted', 'scored'].forEach(option => {
it(`requires taskActivity option ${option} to be a boolean`, async () => {
body.type = 'taskActivity';
body.options = {
@@ -190,7 +191,7 @@ describe('POST /user/webhook', () => {
groupId: generateUUID(),
};
- let webhook = await user.post('/user/webhook', body);
+ const webhook = await user.post('/user/webhook', body);
expect(webhook.options).to.eql({
groupId: body.options.groupId,
@@ -217,7 +218,7 @@ describe('POST /user/webhook', () => {
foo: 'bar',
};
- let webhook = await user.post('/user/webhook', body);
+ const webhook = await user.post('/user/webhook', body);
expect(webhook.options.foo).to.not.exist;
expect(webhook.options).to.eql({
@@ -231,7 +232,7 @@ describe('POST /user/webhook', () => {
foo: 'bar',
};
- let webhook = await user.post('/user/webhook', body);
+ const webhook = await user.post('/user/webhook', body);
expect(webhook.options.foo).to.not.exist;
expect(webhook.options).to.eql({});
diff --git a/test/api/v3/integration/webhook/PUT-user_update_webhook.test.js b/test/api/v3/integration/webhook/PUT-user_update_webhook.test.js
index abebc4aff3..0f00e238e9 100644
--- a/test/api/v3/integration/webhook/PUT-user_update_webhook.test.js
+++ b/test/api/v3/integration/webhook/PUT-user_update_webhook.test.js
@@ -1,12 +1,13 @@
+import { v4 as generateUUID } from 'uuid';
import {
generateUser,
translate as t,
} from '../../../../helpers/api-integration/v3';
-import { v4 as generateUUID} from 'uuid';
import apiError from '../../../../../website/server/libs/apiError';
describe('PUT /user/webhook/:id', () => {
- let user, webhookToUpdate;
+ let user; let
+ webhookToUpdate;
beforeEach(async () => {
user = await generateUser();
@@ -30,7 +31,7 @@ describe('PUT /user/webhook/:id', () => {
await expect(user.put('/user/webhook/id-that-does-not-exist')).to.eventually.be.rejected.and.eql({
code: 404,
error: 'NotFound',
- message: t('noWebhookWithId', {id: 'id-that-does-not-exist'}),
+ message: t('noWebhookWithId', { id: 'id-that-does-not-exist' }),
});
});
@@ -43,16 +44,18 @@ describe('PUT /user/webhook/:id', () => {
});
it('updates a webhook', async () => {
- let url = 'http://a-new-url.com';
- let type = 'groupChatReceived';
- let label = 'New Label';
- let options = { groupId: generateUUID() };
+ const url = 'http://a-new-url.com';
+ const type = 'groupChatReceived';
+ const label = 'New Label';
+ const options = { groupId: generateUUID() };
- await user.put(`/user/webhook/${webhookToUpdate.id}`, {url, type, options, label});
+ await user.put(`/user/webhook/${webhookToUpdate.id}`, {
+ url, type, options, label,
+ });
await user.sync();
- let webhook = user.webhooks.find(hook => webhookToUpdate.id === hook.id);
+ const webhook = user.webhooks.find(hook => webhookToUpdate.id === hook.id);
expect(webhook.url).to.equal(url);
expect(webhook.label).to.equal(label);
@@ -61,11 +64,11 @@ describe('PUT /user/webhook/:id', () => {
});
it('returns the updated webhook', async () => {
- let url = 'http://a-new-url.com';
- let type = 'groupChatReceived';
- let options = { groupId: generateUUID() };
+ const url = 'http://a-new-url.com';
+ const type = 'groupChatReceived';
+ const options = { groupId: generateUUID() };
- let response = await user.put(`/user/webhook/${webhookToUpdate.id}`, {url, type, options});
+ const response = await user.put(`/user/webhook/${webhookToUpdate.id}`, { url, type, options });
expect(response.url).to.eql(url);
expect(response.type).to.eql(type);
@@ -73,27 +76,27 @@ describe('PUT /user/webhook/:id', () => {
});
it('cannot update the id', async () => {
- let id = generateUUID();
- let url = 'http://a-new-url.com';
+ const id = generateUUID();
+ const url = 'http://a-new-url.com';
- await user.put(`/user/webhook/${webhookToUpdate.id}`, {url, id});
+ await user.put(`/user/webhook/${webhookToUpdate.id}`, { url, id });
await user.sync();
- let webhook = user.webhooks.find(hook => webhookToUpdate.id === hook.id);
+ const webhook = user.webhooks.find(hook => webhookToUpdate.id === hook.id);
expect(webhook.id).to.eql(webhookToUpdate.id);
expect(webhook.url).to.eql(url);
});
it('can update taskActivity options', async () => {
- let type = 'taskActivity';
- let options = {
+ const type = 'taskActivity';
+ const options = {
updated: false,
deleted: true,
};
- let webhook = await user.put(`/user/webhook/${webhookToUpdate.id}`, {type, options});
+ const webhook = await user.put(`/user/webhook/${webhookToUpdate.id}`, { type, options });
expect(webhook.options).to.eql({
checklistScored: false, // starting value
@@ -105,14 +108,14 @@ describe('PUT /user/webhook/:id', () => {
});
it('errors if taskActivity option is not a boolean', async () => {
- let type = 'taskActivity';
- let options = {
+ const type = 'taskActivity';
+ const options = {
created: 'not a boolean',
updated: false,
deleted: true,
};
- await expect(user.put(`/user/webhook/${webhookToUpdate.id}`, {type, options})).to.eventually.be.rejected.and.eql({
+ await expect(user.put(`/user/webhook/${webhookToUpdate.id}`, { type, options })).to.eventually.be.rejected.and.eql({
code: 400,
error: 'BadRequest',
message: t('webhookBooleanOption', { option: 'created' }),
@@ -120,12 +123,12 @@ describe('PUT /user/webhook/:id', () => {
});
it('errors if groupChatRecieved groupId option is not a uuid', async () => {
- let type = 'groupChatReceived';
- let options = {
+ const type = 'groupChatReceived';
+ const options = {
groupId: 'not-a-uuid',
};
- await expect(user.put(`/user/webhook/${webhookToUpdate.id}`, {type, options})).to.eventually.be.rejected.and.eql({
+ await expect(user.put(`/user/webhook/${webhookToUpdate.id}`, { type, options })).to.eventually.be.rejected.and.eql({
code: 400,
error: 'BadRequest',
message: apiError('groupIdRequired'),
diff --git a/test/api/v3/integration/world-state/GET-world-state.test.js b/test/api/v3/integration/world-state/GET-world-state.test.js
index 4d8e7fbbbd..2b8f9cdfbd 100644
--- a/test/api/v3/integration/world-state/GET-world-state.test.js
+++ b/test/api/v3/integration/world-state/GET-world-state.test.js
@@ -16,7 +16,7 @@ describe('GET /world-state', () => {
});
it('returns Tavern quest data when world boss is active', async () => {
- await updateDocument('groups', {_id: TAVERN_ID}, {quest: {active: true, key: 'dysheartener', progress: {hp: 50000, rage: 9999}}});
+ await updateDocument('groups', { _id: TAVERN_ID }, { quest: { active: true, key: 'dysheartener', progress: { hp: 50000, rage: 9999 } } });
const res = await requester().get('/world-state');
expect(res).to.have.nested.property('worldBoss');
diff --git a/test/api/v4/coupon/POST-coupons_enter_code.test.js b/test/api/v4/coupon/POST-coupons_enter_code.test.js
index 01fe5fd0b6..71e4c05719 100644
--- a/test/api/v4/coupon/POST-coupons_enter_code.test.js
+++ b/test/api/v4/coupon/POST-coupons_enter_code.test.js
@@ -36,7 +36,7 @@ describe('POST /coupons/enter/:code', () => {
});
it('returns an error if coupon has been used', async () => {
- let [coupon] = await sudoUser.post('/coupons/generate/wondercon?count=1');
+ const [coupon] = await sudoUser.post('/coupons/generate/wondercon?count=1');
await user.post(`/coupons/enter/${coupon._id}`); // use coupon
await expect(user.post(`/coupons/enter/${coupon._id}`)).to.eventually.be.rejected.and.eql({
@@ -47,8 +47,8 @@ describe('POST /coupons/enter/:code', () => {
});
it('should apply the coupon to the user', async () => {
- let [coupon] = await sudoUser.post('/coupons/generate/wondercon?count=1');
- let userRes = await user.post(`/coupons/enter/${coupon._id}`);
+ const [coupon] = await sudoUser.post('/coupons/generate/wondercon?count=1');
+ const userRes = await user.post(`/coupons/enter/${coupon._id}`);
expect(userRes._id).to.equal(user._id);
expect(userRes.items.gear.owned.eyewear_special_wondercon_red).to.be.true;
expect(userRes.items.gear.owned.eyewear_special_wondercon_black).to.be.true;
@@ -57,6 +57,6 @@ describe('POST /coupons/enter/:code', () => {
expect(userRes.items.gear.owned.body_special_wondercon_red).to.be.true;
expect(userRes.items.gear.owned.body_special_wondercon_black).to.be.true;
expect(userRes.items.gear.owned.body_special_wondercon_gold).to.be.true;
- expect(userRes.extra).to.eql({signupEvent: 'wondercon'});
+ expect(userRes.extra).to.eql({ signupEvent: 'wondercon' });
});
});
diff --git a/test/api/v4/inbox/DELETE-inbox_clear.test.js b/test/api/v4/inbox/DELETE-inbox_clear.test.js
index ff0af5cceb..e351b764a7 100644
--- a/test/api/v4/inbox/DELETE-inbox_clear.test.js
+++ b/test/api/v4/inbox/DELETE-inbox_clear.test.js
@@ -27,4 +27,4 @@ describe('DELETE /inbox/clear', () => {
messages = await user.get('/inbox/messages');
expect(messages.length).to.equal(0);
});
-});
\ No newline at end of file
+});
diff --git a/test/api/v4/inbox/DELETE-inbox_messages_messageId.test.js b/test/api/v4/inbox/DELETE-inbox_messages_messageId.test.js
index 99365daf8f..1ea160a5da 100644
--- a/test/api/v4/inbox/DELETE-inbox_messages_messageId.test.js
+++ b/test/api/v4/inbox/DELETE-inbox_messages_messageId.test.js
@@ -1,8 +1,8 @@
+import { v4 as generateUUID } from 'uuid';
import {
generateUser,
translate as t,
} from '../../../helpers/api-integration/v4';
-import { v4 as generateUUID } from 'uuid';
describe('DELETE /inbox/messages/:messageId', () => {
let user;
diff --git a/test/api/v4/inbox/GET-inbox-conversations.test.js b/test/api/v4/inbox/GET-inbox-conversations.test.js
index ce94e919d5..d2317a3f65 100644
--- a/test/api/v4/inbox/GET-inbox-conversations.test.js
+++ b/test/api/v4/inbox/GET-inbox-conversations.test.js
@@ -8,7 +8,11 @@ describe('GET /inbox/conversations', () => {
let thirdUser;
beforeEach(async () => {
- [user, otherUser, thirdUser] = await Promise.all([generateUser(), generateUser(), generateUser()]);
+ [user, otherUser, thirdUser] = await Promise.all([
+ generateUser(),
+ generateUser(),
+ generateUser(),
+ ]);
await otherUser.post('/members/send-private-message', {
toUserId: user.id,
@@ -62,7 +66,7 @@ describe('GET /inbox/conversations', () => {
it('returns four messages when using page-query ', async () => {
const promises = [];
- for (let i = 0; i < 10; i++) {
+ for (let i = 0; i < 10; i += 1) {
promises.push(user.post('/members/send-private-message', {
toUserId: user.id,
message: 'fourth',
diff --git a/test/api/v4/members/POST-flag_private_message.test.js b/test/api/v4/members/POST-flag_private_message.test.js
index de9a75b9da..e4af36e302 100644
--- a/test/api/v4/members/POST-flag_private_message.test.js
+++ b/test/api/v4/members/POST-flag_private_message.test.js
@@ -5,61 +5,64 @@ import {
describe('POST /members/flag-private-message/:messageId', () => {
let userToSendMessage;
- let messageToSend = 'Test Private Message';
+ const messageToSend = 'Test Private Message';
beforeEach(async () => {
userToSendMessage = await generateUser();
});
it('Allows players to flag their own private message', async () => {
- let receiver = await generateUser();
+ const receiver = await generateUser();
await userToSendMessage.post('/members/send-private-message', {
message: messageToSend,
toUserId: receiver._id,
});
- let senderMessages = await userToSendMessage.get('/inbox/paged-messages');
+ const senderMessages = await userToSendMessage.get('/inbox/paged-messages');
- let sendersMessageInSendersInbox = _.find(senderMessages, (message) => {
- return message.toUUID === receiver._id && message.text === messageToSend;
- });
+ const sendersMessageInSendersInbox = _.find(
+ senderMessages,
+ message => message.toUUID === receiver._id && message.text === messageToSend,
+ );
expect(sendersMessageInSendersInbox).to.exist;
await expect(userToSendMessage.post(`/members/flag-private-message/${sendersMessageInSendersInbox.id}`)).to.eventually.be.ok;
});
it('Flags a private message', async () => {
- let receiver = await generateUser();
+ const receiver = await generateUser();
await userToSendMessage.post('/members/send-private-message', {
message: messageToSend,
toUserId: receiver._id,
});
- let receiversMessages = await receiver.get('/inbox/paged-messages');
+ const receiversMessages = await receiver.get('/inbox/paged-messages');
- let sendersMessageInReceiversInbox = _.find(receiversMessages, (message) => {
- return message.uuid === userToSendMessage._id && message.text === messageToSend;
- });
+ const sendersMessageInReceiversInbox = _.find(
+ receiversMessages,
+ message => message.uuid === userToSendMessage._id && message.text === messageToSend,
+ );
expect(sendersMessageInReceiversInbox).to.exist;
await expect(receiver.post(`/members/flag-private-message/${sendersMessageInReceiversInbox.id}`)).to.eventually.be.ok;
});
it('Returns an error when user tries to flag a private message that is already flagged', async () => {
- let receiver = await generateUser();
+ const receiver = await generateUser();
await userToSendMessage.post('/members/send-private-message', {
message: messageToSend,
toUserId: receiver._id,
});
- let receiversMessages = await receiver.get('/inbox/paged-messages');
+ const receiversMessages = await receiver.get('/inbox/paged-messages');
- let sendersMessageInReceiversInbox = _.find(receiversMessages, (message) => {
- return message.uuid === userToSendMessage._id && message.text === messageToSend;
- });
+ const sendersMessageInReceiversInbox = _.find(
+ receiversMessages,
+ message => message.uuid === userToSendMessage._id && message.text === messageToSend,
+ );
expect(sendersMessageInReceiversInbox).to.exist;
await expect(receiver.post(`/members/flag-private-message/${sendersMessageInReceiversInbox.id}`)).to.eventually.be.ok;
diff --git a/test/api/v4/user/GET-user.test.js b/test/api/v4/user/GET-user.test.js
index 4b1bad4054..fd05479560 100644
--- a/test/api/v4/user/GET-user.test.js
+++ b/test/api/v4/user/GET-user.test.js
@@ -11,7 +11,7 @@ describe('GET /user', () => {
});
it('returns the authenticated user with computed stats', async () => {
- let returnedUser = await user.get('/user');
+ const returnedUser = await user.get('/user');
expect(returnedUser._id).to.equal(user._id);
expect(returnedUser.stats.maxMP).to.exist;
@@ -20,7 +20,7 @@ describe('GET /user', () => {
});
it('does not return private paths (and apiToken)', async () => {
- let returnedUser = await user.get('/user');
+ const returnedUser = await user.get('/user');
expect(returnedUser.auth.local.hashed_password).to.not.exist;
expect(returnedUser.auth.local.passwordHashMethod).to.not.exist;
@@ -29,7 +29,7 @@ describe('GET /user', () => {
});
it('returns only user properties requested', async () => {
- let returnedUser = await user.get('/user?userFields=achievements,items.mounts');
+ const returnedUser = await user.get('/user?userFields=achievements,items.mounts');
expect(returnedUser._id).to.equal(user._id);
expect(returnedUser.achievements).to.exist;
@@ -50,7 +50,7 @@ describe('GET /user', () => {
toUserId: user.id,
message: 'second',
});
- let returnedUser = await user.get('/user');
+ const returnedUser = await user.get('/user');
expect(returnedUser._id).to.equal(user._id);
expect(returnedUser.inbox.messages).to.be.undefined;
diff --git a/test/api/v4/user/POST-user_class_cast_spellId.test.js b/test/api/v4/user/POST-user_class_cast_spellId.test.js
index 90c2eae1db..6e46b92931 100644
--- a/test/api/v4/user/POST-user_class_cast_spellId.test.js
+++ b/test/api/v4/user/POST-user_class_cast_spellId.test.js
@@ -1,3 +1,6 @@
+
+import { v4 as generateUUID } from 'uuid';
+import { find } from 'lodash';
import {
generateUser,
translate as t,
@@ -6,9 +9,6 @@ import {
generateChallenge,
sleep,
} from '../../../helpers/api-integration/v4';
-
-import { v4 as generateUUID } from 'uuid';
-import { find } from 'lodash';
import apiError from '../../../../website/server/libs/apiError';
describe('POST /user/class/cast/:spellId', () => {
@@ -19,28 +19,28 @@ describe('POST /user/class/cast/:spellId', () => {
});
it('returns an error if spell does not exist', async () => {
- await user.update({'stats.class': 'rogue'});
- let spellId = 'invalidSpell';
+ await user.update({ 'stats.class': 'rogue' });
+ const spellId = 'invalidSpell';
await expect(user.post(`/user/class/cast/${spellId}`))
.to.eventually.be.rejected.and.eql({
code: 404,
error: 'NotFound',
- message: apiError('spellNotFound', {spellId}),
+ message: apiError('spellNotFound', { spellId }),
});
});
it('returns an error if spell does not exist in user\'s class', async () => {
- let spellId = 'pickPocket';
+ const spellId = 'pickPocket';
await expect(user.post(`/user/class/cast/${spellId}`))
.to.eventually.be.rejected.and.eql({
code: 404,
error: 'NotFound',
- message: apiError('spellNotFound', {spellId}),
+ message: apiError('spellNotFound', { spellId }),
});
});
it('returns an error if spell.mana > user.mana', async () => {
- await user.update({'stats.class': 'rogue'});
+ await user.update({ 'stats.class': 'rogue' });
await expect(user.post('/user/class/cast/backStab'))
.to.eventually.be.rejected.and.eql({
code: 401,
@@ -59,12 +59,12 @@ describe('POST /user/class/cast/:spellId', () => {
});
it('returns an error if spell.lvl > user.level', async () => {
- await user.update({'stats.mp': 200, 'stats.class': 'wizard'});
+ await user.update({ 'stats.mp': 200, 'stats.class': 'wizard' });
await expect(user.post('/user/class/cast/earth'))
.to.eventually.be.rejected.and.eql({
code: 401,
error: 'NotAuthorized',
- message: t('spellLevelTooHigh', {level: 13}),
+ message: t('spellLevelTooHigh', { level: 13 }),
});
});
@@ -87,7 +87,7 @@ describe('POST /user/class/cast/:spellId', () => {
});
it('returns an error if targetId is required but missing', async () => {
- await user.update({'stats.class': 'rogue', 'stats.lvl': 11});
+ await user.update({ 'stats.class': 'rogue', 'stats.lvl': 11 });
await expect(user.post('/user/class/cast/pickPocket'))
.to.eventually.be.rejected.and.eql({
code: 400,
@@ -97,7 +97,7 @@ describe('POST /user/class/cast/:spellId', () => {
});
it('returns an error if targeted task doesn\'t exist', async () => {
- await user.update({'stats.class': 'rogue', 'stats.lvl': 11});
+ await user.update({ 'stats.class': 'rogue', 'stats.lvl': 11 });
await expect(user.post(`/user/class/cast/pickPocket?targetId=${generateUUID()}`))
.to.eventually.be.rejected.and.eql({
code: 404,
@@ -107,13 +107,13 @@ describe('POST /user/class/cast/:spellId', () => {
});
it('returns an error if a challenge task was targeted', async () => {
- let {group, groupLeader} = await createAndPopulateGroup();
- let challenge = await generateChallenge(groupLeader, group);
+ const { group, groupLeader } = await createAndPopulateGroup();
+ const challenge = await generateChallenge(groupLeader, group);
await groupLeader.post(`/challenges/${challenge._id}/join`);
await groupLeader.post(`/tasks/challenge/${challenge._id}`, [
- {type: 'habit', text: 'task text'},
+ { type: 'habit', text: 'task text' },
]);
- await groupLeader.update({'stats.class': 'rogue', 'stats.lvl': 11});
+ await groupLeader.update({ 'stats.class': 'rogue', 'stats.lvl': 11 });
await sleep(0.5);
await groupLeader.sync();
await expect(groupLeader.post(`/user/class/cast/pickPocket?targetId=${groupLeader.tasksOrder.habits[0]}`))
@@ -125,19 +125,17 @@ describe('POST /user/class/cast/:spellId', () => {
});
it('returns an error if a group task was targeted', async () => {
- let {group, groupLeader} = await createAndPopulateGroup();
+ const { group, groupLeader } = await createAndPopulateGroup();
- let groupTask = await groupLeader.post(`/tasks/group/${group._id}`, {
+ const groupTask = await groupLeader.post(`/tasks/group/${group._id}`, {
text: 'todo group',
type: 'todo',
});
await groupLeader.post(`/tasks/${groupTask._id}/assign/${groupLeader._id}`);
- let memberTasks = await groupLeader.get('/tasks/user');
- let syncedGroupTask = find(memberTasks, function findAssignedTask (memberTask) {
- return memberTask.group.id === group._id;
- });
+ const memberTasks = await groupLeader.get('/tasks/user');
+ const syncedGroupTask = find(memberTasks, memberTask => memberTask.group.id === group._id);
- await groupLeader.update({'stats.class': 'rogue', 'stats.lvl': 11});
+ await groupLeader.update({ 'stats.class': 'rogue', 'stats.lvl': 11 });
await sleep(0.5);
await groupLeader.sync();
@@ -150,23 +148,23 @@ describe('POST /user/class/cast/:spellId', () => {
});
it('returns an error if targeted party member doesn\'t exist', async () => {
- let {groupLeader} = await createAndPopulateGroup({
+ const { groupLeader } = await createAndPopulateGroup({
groupDetails: { type: 'party', privacy: 'private' },
members: 1,
});
- await groupLeader.update({'items.special.snowball': 3});
+ await groupLeader.update({ 'items.special.snowball': 3 });
- let target = generateUUID();
+ const target = generateUUID();
await expect(groupLeader.post(`/user/class/cast/snowball?targetId=${target}`))
.to.eventually.be.rejected.and.eql({
code: 404,
error: 'NotFound',
- message: t('userWithIDNotFound', {userId: target}),
+ message: t('userWithIDNotFound', { userId: target }),
});
});
it('returns an error if party does not exists', async () => {
- await user.update({'items.special.snowball': 3});
+ await user.update({ 'items.special.snowball': 3 });
await expect(user.post(`/user/class/cast/snowball?targetId=${generateUUID()}`))
.to.eventually.be.rejected.and.eql({
@@ -177,11 +175,11 @@ describe('POST /user/class/cast/:spellId', () => {
});
it('send message in party chat if party && !spell.silent', async () => {
- let { group, groupLeader } = await createAndPopulateGroup({
+ const { group, groupLeader } = await createAndPopulateGroup({
groupDetails: { type: 'party', privacy: 'private' },
members: 1,
});
- await groupLeader.update({'stats.mp': 200, 'stats.class': 'wizard', 'stats.lvl': 13});
+ await groupLeader.update({ 'stats.mp': 200, 'stats.class': 'wizard', 'stats.lvl': 13 });
await groupLeader.post('/user/class/cast/earth');
await sleep(1);
@@ -192,17 +190,17 @@ describe('POST /user/class/cast/:spellId', () => {
});
it('Ethereal Surge does not recover mp of other mages', async () => {
- let group = await createAndPopulateGroup({
+ const group = await createAndPopulateGroup({
groupDetails: { type: 'party', privacy: 'private' },
members: 4,
});
let promises = [];
- promises.push(group.groupLeader.update({'stats.mp': 200, 'stats.class': 'wizard', 'stats.lvl': 20}));
- promises.push(group.members[0].update({'stats.mp': 0, 'stats.class': 'warrior', 'stats.lvl': 20}));
- promises.push(group.members[1].update({'stats.mp': 0, 'stats.class': 'wizard', 'stats.lvl': 20}));
- promises.push(group.members[2].update({'stats.mp': 0, 'stats.class': 'rogue', 'stats.lvl': 20}));
- promises.push(group.members[3].update({'stats.mp': 0, 'stats.class': 'healer', 'stats.lvl': 20}));
+ promises.push(group.groupLeader.update({ 'stats.mp': 200, 'stats.class': 'wizard', 'stats.lvl': 20 }));
+ promises.push(group.members[0].update({ 'stats.mp': 0, 'stats.class': 'warrior', 'stats.lvl': 20 }));
+ promises.push(group.members[1].update({ 'stats.mp': 0, 'stats.class': 'wizard', 'stats.lvl': 20 }));
+ promises.push(group.members[2].update({ 'stats.mp': 0, 'stats.class': 'rogue', 'stats.lvl': 20 }));
+ promises.push(group.members[3].update({ 'stats.mp': 0, 'stats.class': 'healer', 'stats.lvl': 20 }));
await Promise.all(promises);
await group.groupLeader.post('/user/class/cast/mpheal');
@@ -221,13 +219,13 @@ describe('POST /user/class/cast/:spellId', () => {
});
it('cast bulk', async () => {
- let { group, groupLeader } = await createAndPopulateGroup({
+ let { group, groupLeader } = await createAndPopulateGroup({ // eslint-disable-line prefer-const
groupDetails: { type: 'party', privacy: 'private' },
members: 1,
});
- await groupLeader.update({'stats.mp': 200, 'stats.class': 'wizard', 'stats.lvl': 13});
- await groupLeader.post('/user/class/cast/earth', {quantity: 2});
+ await groupLeader.update({ 'stats.mp': 200, 'stats.class': 'wizard', 'stats.lvl': 13 });
+ await groupLeader.post('/user/class/cast/earth', { quantity: 2 });
await sleep(1);
group = await groupLeader.get(`/groups/${group._id}`);
@@ -237,33 +235,32 @@ describe('POST /user/class/cast/:spellId', () => {
});
it('searing brightness does not affect challenge or group tasks', async () => {
- let guild = await generateGroup(user);
- let challenge = await generateChallenge(user, guild);
+ const guild = await generateGroup(user);
+ const challenge = await generateChallenge(user, guild);
await user.post(`/challenges/${challenge._id}/join`);
await user.post(`/tasks/challenge/${challenge._id}`, {
text: 'test challenge habit',
type: 'habit',
});
- let groupTask = await user.post(`/tasks/group/${guild._id}`, {
+ const groupTask = await user.post(`/tasks/group/${guild._id}`, {
text: 'todo group',
type: 'todo',
});
- await user.update({'stats.class': 'healer', 'stats.mp': 200, 'stats.lvl': 15});
+ await user.update({ 'stats.class': 'healer', 'stats.mp': 200, 'stats.lvl': 15 });
await user.post(`/tasks/${groupTask._id}/assign/${user._id}`);
await user.post('/user/class/cast/brightness');
await user.sync();
- let memberTasks = await user.get('/tasks/user');
+ const memberTasks = await user.get('/tasks/user');
- let syncedGroupTask = find(memberTasks, function findAssignedTask (memberTask) {
- return memberTask.group.id === guild._id;
- });
+ const syncedGroupTask = find(memberTasks, memberTask => memberTask.group.id === guild._id);
- let userChallengeTask = find(memberTasks, function findAssignedTask (memberTask) {
- return memberTask.challenge.id === challenge._id;
- });
+ const userChallengeTask = find(
+ memberTasks,
+ memberTask => memberTask.challenge.id === challenge._id,
+ );
expect(userChallengeTask).to.exist;
expect(syncedGroupTask).to.exist;
@@ -272,12 +269,12 @@ describe('POST /user/class/cast/:spellId', () => {
});
it('increases both user\'s achievement values', async () => {
- let party = await createAndPopulateGroup({
+ const party = await createAndPopulateGroup({
members: 1,
});
- let leader = party.groupLeader;
- let recipient = party.members[0];
- await leader.update({'stats.gp': 10});
+ const leader = party.groupLeader;
+ const recipient = party.members[0];
+ await leader.update({ 'stats.gp': 10 });
await leader.post(`/user/class/cast/birthday?targetId=${recipient._id}`);
await leader.sync();
await recipient.sync();
@@ -286,29 +283,29 @@ describe('POST /user/class/cast/:spellId', () => {
});
it('only increases user\'s achievement one if target == caster', async () => {
- await user.update({'stats.gp': 10});
+ await user.update({ 'stats.gp': 10 });
await user.post(`/user/class/cast/birthday?targetId=${user._id}`);
await user.sync();
expect(user.achievements.birthday).to.equal(1);
});
it('passes correct target to spell when targetType === \'task\'', async () => {
- await user.update({'stats.class': 'wizard', 'stats.lvl': 11});
+ await user.update({ 'stats.class': 'wizard', 'stats.lvl': 11 });
- let task = await user.post('/tasks/user', {
+ const task = await user.post('/tasks/user', {
text: 'test habit',
type: 'habit',
});
- let result = await user.post(`/user/class/cast/fireball?targetId=${task._id}`);
+ const result = await user.post(`/user/class/cast/fireball?targetId=${task._id}`);
expect(result.task._id).to.equal(task._id);
});
it('passes correct target to spell when targetType === \'self\'', async () => {
- await user.update({'stats.class': 'wizard', 'stats.lvl': 14, 'stats.mp': 50});
+ await user.update({ 'stats.class': 'wizard', 'stats.lvl': 14, 'stats.mp': 50 });
- let result = await user.post('/user/class/cast/frost');
+ const result = await user.post('/user/class/cast/frost');
expect(result.user.stats.mp).to.equal(10);
});
diff --git a/test/api/v4/user/POST-user_rebirth.test.js b/test/api/v4/user/POST-user_rebirth.test.js
index 94b91ddf6b..b4781c6bc6 100644
--- a/test/api/v4/user/POST-user_rebirth.test.js
+++ b/test/api/v4/user/POST-user_rebirth.test.js
@@ -28,7 +28,7 @@ describe('POST /user/rebirth', () => {
balance: 1.5,
});
- let daily = await generateDaily({
+ const daily = await generateDaily({
text: 'test habit',
type: 'daily',
value: 1,
@@ -36,21 +36,21 @@ describe('POST /user/rebirth', () => {
userId: user._id,
});
- let reward = await generateReward({
+ const reward = await generateReward({
text: 'test reward',
type: 'reward',
value: 1,
userId: user._id,
});
- let response = await user.post('/user/rebirth');
+ const response = await user.post('/user/rebirth');
await user.sync();
expect(user.notifications.length).to.equal(1);
expect(user.notifications[0].type).to.equal('REBIRTH_ACHIEVEMENT');
- let updatedDaily = await user.get(`/tasks/${daily._id}`);
- let updatedReward = await user.get(`/tasks/${reward._id}`);
+ const updatedDaily = await user.get(`/tasks/${daily._id}`);
+ const updatedReward = await user.get(`/tasks/${reward._id}`);
expect(response.message).to.equal(t('rebirthComplete'));
expect(updatedDaily.streak).to.equal(0);
diff --git a/test/api/v4/user/POST-user_reroll.test.js b/test/api/v4/user/POST-user_reroll.test.js
index 10ac0c2843..18d1aaad79 100644
--- a/test/api/v4/user/POST-user_reroll.test.js
+++ b/test/api/v4/user/POST-user_reroll.test.js
@@ -28,24 +28,24 @@ describe('POST /user/reroll', () => {
balance: 2,
});
- let daily = await generateDaily({
+ const daily = await generateDaily({
text: 'test habit',
type: 'daily',
userId: user._id,
});
- let reward = await generateReward({
+ const reward = await generateReward({
text: 'test reward',
type: 'reward',
value: 1,
userId: user._id,
});
- let response = await user.post('/user/reroll');
+ const response = await user.post('/user/reroll');
await user.sync();
- let updatedDaily = await user.get(`/tasks/${daily._id}`);
- let updatedReward = await user.get(`/tasks/${reward._id}`);
+ const updatedDaily = await user.get(`/tasks/${daily._id}`);
+ const updatedReward = await user.get(`/tasks/${reward._id}`);
expect(response.message).to.equal(t('fortifyComplete'));
expect(updatedDaily.value).to.equal(0);
diff --git a/test/api/v4/user/POST-user_reset.test.js b/test/api/v4/user/POST-user_reset.test.js
index c8cf7b9f6b..a664ba31ea 100644
--- a/test/api/v4/user/POST-user_reset.test.js
+++ b/test/api/v4/user/POST-user_reset.test.js
@@ -1,10 +1,10 @@
+import { find } from 'lodash';
import {
generateUser,
generateGroup,
generateChallenge,
translate as t,
} from '../../../helpers/api-integration/v4';
-import { find } from 'lodash';
describe('POST /user/reset', () => {
let user;
@@ -16,7 +16,7 @@ describe('POST /user/reset', () => {
// More tests in common code unit tests
it('resets user\'s habits', async () => {
- let task = await user.post('/tasks/user', {
+ const task = await user.post('/tasks/user', {
text: 'test habit',
type: 'habit',
});
@@ -34,7 +34,7 @@ describe('POST /user/reset', () => {
});
it('resets user\'s dailys', async () => {
- let task = await user.post('/tasks/user', {
+ const task = await user.post('/tasks/user', {
text: 'test daily',
type: 'daily',
});
@@ -52,7 +52,7 @@ describe('POST /user/reset', () => {
});
it('resets user\'s todos', async () => {
- let task = await user.post('/tasks/user', {
+ const task = await user.post('/tasks/user', {
text: 'test todo',
type: 'todo',
});
@@ -70,7 +70,7 @@ describe('POST /user/reset', () => {
});
it('resets user\'s rewards', async () => {
- let task = await user.post('/tasks/user', {
+ const task = await user.post('/tasks/user', {
text: 'test reward',
type: 'reward',
});
@@ -88,15 +88,15 @@ describe('POST /user/reset', () => {
});
it('does not delete challenge or group tasks', async () => {
- let guild = await generateGroup(user);
- let challenge = await generateChallenge(user, guild);
+ const guild = await generateGroup(user);
+ const challenge = await generateChallenge(user, guild);
await user.post(`/challenges/${challenge._id}/join`);
await user.post(`/tasks/challenge/${challenge._id}`, {
text: 'test challenge habit',
type: 'habit',
});
- let groupTask = await user.post(`/tasks/group/${guild._id}`, {
+ const groupTask = await user.post(`/tasks/group/${guild._id}`, {
text: 'todo group',
type: 'todo',
});
@@ -105,15 +105,14 @@ describe('POST /user/reset', () => {
await user.post('/user/reset');
await user.sync();
- let memberTasks = await user.get('/tasks/user');
+ const memberTasks = await user.get('/tasks/user');
- let syncedGroupTask = find(memberTasks, function findAssignedTask (memberTask) {
- return memberTask.group.id === guild._id;
- });
+ const syncedGroupTask = find(memberTasks, memberTask => memberTask.group.id === guild._id);
- let userChallengeTask = find(memberTasks, function findAssignedTask (memberTask) {
- return memberTask.challenge.id === challenge._id;
- });
+ const userChallengeTask = find(
+ memberTasks,
+ memberTask => memberTask.challenge.id === challenge._id,
+ );
expect(userChallengeTask).to.exist;
expect(syncedGroupTask).to.exist;
diff --git a/test/api/v4/user/PUT-user.test.js b/test/api/v4/user/PUT-user.test.js
index 9ea1c145dd..0830b6f139 100644
--- a/test/api/v4/user/PUT-user.test.js
+++ b/test/api/v4/user/PUT-user.test.js
@@ -1,9 +1,9 @@
+import { each, get } from 'lodash';
import {
generateUser,
translate as t,
} from '../../../helpers/api-integration/v4';
-import { each, get } from 'lodash';
describe('PUT /user', () => {
let user;
@@ -40,7 +40,7 @@ describe('PUT /user', () => {
});
it('update tags', async () => {
- let userTags = user.tags;
+ const userTags = user.tags;
await user.put('/user', {
tags: [...user.tags, {
@@ -82,20 +82,20 @@ describe('PUT /user', () => {
});
context('Top Level Protected Operations', () => {
- let protectedOperations = {
- 'gem balance': {balance: 100},
- auth: {'auth.blocked': true, 'auth.timestamps.created': new Date()},
- contributor: {'contributor.level': 9, 'contributor.admin': true, 'contributor.text': 'some text'},
- backer: {'backer.tier': 10, 'backer.npc': 'Bilbo'},
- subscriptions: {'purchased.plan.extraMonths': 500, 'purchased.plan.consecutive.trinkets': 1000},
- 'customization gem purchases': {'purchased.background.tavern': true, 'purchased.skin.bear': true},
- notifications: [{type: 123}],
- webhooks: {webhooks: [{url: 'https://foobar.com'}]},
+ const protectedOperations = {
+ 'gem balance': { balance: 100 },
+ auth: { 'auth.blocked': true, 'auth.timestamps.created': new Date() },
+ contributor: { 'contributor.level': 9, 'contributor.admin': true, 'contributor.text': 'some text' },
+ backer: { 'backer.tier': 10, 'backer.npc': 'Bilbo' },
+ subscriptions: { 'purchased.plan.extraMonths': 500, 'purchased.plan.consecutive.trinkets': 1000 },
+ 'customization gem purchases': { 'purchased.background.tavern': true, 'purchased.skin.bear': true },
+ notifications: [{ type: 123 }],
+ webhooks: { webhooks: [{ url: 'https://foobar.com' }] },
};
each(protectedOperations, (data, testName) => {
it(`does not allow updating ${testName}`, async () => {
- let errorText = t('messageUserOperationProtected', { operation: Object.keys(data)[0] });
+ const errorText = t('messageUserOperationProtected', { operation: Object.keys(data)[0] });
await expect(user.put('/user', data)).to.eventually.be.rejected.and.eql({
code: 401,
@@ -107,17 +107,17 @@ describe('PUT /user', () => {
});
context('Sub-Level Protected Operations', () => {
- let protectedOperations = {
- 'class stat': {'stats.class': 'wizard'},
- 'flags unless whitelisted': {'flags.dropsEnabled': true},
- webhooks: {'preferences.webhooks': [1, 2, 3]},
- sleep: {'preferences.sleep': true},
- 'disable classes': {'preferences.disableClasses': true},
+ const protectedOperations = {
+ 'class stat': { 'stats.class': 'wizard' },
+ 'flags unless whitelisted': { 'flags.dropsEnabled': true },
+ webhooks: { 'preferences.webhooks': [1, 2, 3] },
+ sleep: { 'preferences.sleep': true },
+ 'disable classes': { 'preferences.disableClasses': true },
};
each(protectedOperations, (data, testName) => {
it(`does not allow updating ${testName}`, async () => {
- let errorText = t('messageUserOperationProtected', { operation: Object.keys(data)[0] });
+ const errorText = t('messageUserOperationProtected', { operation: Object.keys(data)[0] });
await expect(user.put('/user', data)).to.eventually.be.rejected.and.eql({
code: 401,
@@ -129,7 +129,7 @@ describe('PUT /user', () => {
});
context('Default Appearance Preferences', () => {
- let testCases = {
+ const testCases = {
shirt: 'yellow',
skin: 'ddc994',
'hair.color': 'blond',
@@ -144,14 +144,14 @@ describe('PUT /user', () => {
update[`preferences.${type}`] = item;
it(`updates user with ${type} that is a default`, async () => {
- let dbUpdate = {};
+ const dbUpdate = {};
dbUpdate[`purchased.${type}.${item}`] = true;
await user.update(dbUpdate);
// Sanity checks to make sure user is not already equipped with item
expect(get(user.preferences, type)).to.not.eql(item);
- let updatedUser = await user.put('/user', update);
+ const updatedUser = await user.put('/user', update);
expect(get(updatedUser.preferences, type)).to.eql(item);
});
@@ -173,7 +173,7 @@ describe('PUT /user', () => {
'preferences.hair.beard': 3,
});
- let updatedUser = await user.put('/user', {
+ const updatedUser = await user.put('/user', {
'preferences.hair.beard': 0,
});
@@ -186,7 +186,7 @@ describe('PUT /user', () => {
'preferences.hair.mustache': 2,
});
- let updatedUser = await user.put('/user', {
+ const updatedUser = await user.put('/user', {
'preferences.hair.mustache': 0,
});
@@ -195,7 +195,7 @@ describe('PUT /user', () => {
});
context('Purchasable Appearance Preferences', () => {
- let testCases = {
+ const testCases = {
background: 'volcano',
shirt: 'convict',
skin: 'cactus',
@@ -213,19 +213,19 @@ describe('PUT /user', () => {
await expect(user.put('/user', update)).to.eventually.be.rejected.and.eql({
code: 401,
error: 'NotAuthorized',
- message: t('mustPurchaseToSet', {val: item, key: `preferences.${type}`}),
+ message: t('mustPurchaseToSet', { val: item, key: `preferences.${type}` }),
});
});
it(`updates user with ${type} user does own`, async () => {
- let dbUpdate = {};
+ const dbUpdate = {};
dbUpdate[`purchased.${type}.${item}`] = true;
await user.update(dbUpdate);
// Sanity check to make sure user is not already equipped with item
expect(get(user.preferences, type)).to.not.eql(item);
- let updatedUser = await user.put('/user', update);
+ const updatedUser = await user.put('/user', update);
expect(get(updatedUser.preferences, type)).to.eql(item);
});
diff --git a/test/api/v4/user/auth/POST-register_local.test.js b/test/api/v4/user/auth/POST-register_local.test.js
index 62df06f307..5d5b3abdbb 100644
--- a/test/api/v4/user/auth/POST-register_local.test.js
+++ b/test/api/v4/user/auth/POST-register_local.test.js
@@ -1,3 +1,5 @@
+import { v4 as uuid } from 'uuid';
+import { each } from 'lodash';
import {
generateUser,
requester,
@@ -6,8 +8,6 @@ import {
getProperty,
} from '../../../../helpers/api-integration/v4';
import { ApiUser } from '../../../../helpers/api-integration/api-classes';
-import { v4 as uuid } from 'uuid';
-import { each } from 'lodash';
import { encrypt } from '../../../../../website/server/libs/encryption';
function generateRandomUserName () {
@@ -23,11 +23,11 @@ describe('POST /user/auth/local/register', () => {
});
it('registers a new user', async () => {
- let username = generateRandomUserName();
- let email = `${username}@example.com`;
- let password = 'password';
+ const username = generateRandomUserName();
+ const email = `${username}@example.com`;
+ const password = 'password';
- let user = await api.post('/user/auth/local/register', {
+ const user = await api.post('/user/auth/local/register', {
username,
email,
password,
@@ -43,11 +43,11 @@ describe('POST /user/auth/local/register', () => {
xit('remove spaces from username', async () => {
// TODO can probably delete this test now
- let username = ' usernamewithspaces ';
- let email = 'test@example.com';
- let password = 'password';
+ const username = ' usernamewithspaces ';
+ const email = 'test@example.com';
+ const password = 'password';
- let user = await api.post('/user/auth/local/register', {
+ const user = await api.post('/user/auth/local/register', {
username,
email,
password,
@@ -108,24 +108,24 @@ describe('POST /user/auth/local/register', () => {
context('provides default tags and tasks', async () => {
it('for a generic API consumer', async () => {
- let username = generateRandomUserName();
- let email = `${username}@example.com`;
- let password = 'password';
+ const username = generateRandomUserName();
+ const email = `${username}@example.com`;
+ const password = 'password';
- let user = await api.post('/user/auth/local/register', {
+ const user = await api.post('/user/auth/local/register', {
username,
email,
password,
confirmPassword: password,
});
- let requests = new ApiUser(user);
+ const requests = new ApiUser(user);
- let habits = await requests.get('/tasks/user?type=habits');
- let dailys = await requests.get('/tasks/user?type=dailys');
- let todos = await requests.get('/tasks/user?type=todos');
- let rewards = await requests.get('/tasks/user?type=rewards');
- let tags = await requests.get('/tags');
+ const habits = await requests.get('/tasks/user?type=habits');
+ const dailys = await requests.get('/tasks/user?type=dailys');
+ const todos = await requests.get('/tasks/user?type=todos');
+ const rewards = await requests.get('/tasks/user?type=rewards');
+ const tags = await requests.get('/tags');
expect(habits).to.have.a.lengthOf(0);
expect(dailys).to.have.a.lengthOf(0);
@@ -145,26 +145,26 @@ describe('POST /user/auth/local/register', () => {
xit('for Web', async () => {
api = requester(
null,
- {'x-client': 'habitica-web'},
+ { 'x-client': 'habitica-web' },
);
- let username = generateRandomUserName();
- let email = `${username}@example.com`;
- let password = 'password';
+ const username = generateRandomUserName();
+ const email = `${username}@example.com`;
+ const password = 'password';
- let user = await api.post('/user/auth/local/register', {
+ const user = await api.post('/user/auth/local/register', {
username,
email,
password,
confirmPassword: password,
});
- let requests = new ApiUser(user);
+ const requests = new ApiUser(user);
- let habits = await requests.get('/tasks/user?type=habits');
- let dailys = await requests.get('/tasks/user?type=dailys');
- let todos = await requests.get('/tasks/user?type=todos');
- let rewards = await requests.get('/tasks/user?type=rewards');
- let tags = await requests.get('/tags');
+ const habits = await requests.get('/tasks/user?type=habits');
+ const dailys = await requests.get('/tasks/user?type=dailys');
+ const todos = await requests.get('/tasks/user?type=todos');
+ const rewards = await requests.get('/tasks/user?type=rewards');
+ const tags = await requests.get('/tags');
expect(habits).to.have.a.lengthOf(3);
expect(habits[0].text).to.eql(t('defaultHabit1Text'));
@@ -199,26 +199,26 @@ describe('POST /user/auth/local/register', () => {
it('for Android', async () => {
api = requester(
null,
- {'x-client': 'habitica-android'},
+ { 'x-client': 'habitica-android' },
);
- let username = generateRandomUserName();
- let email = `${username}@example.com`;
- let password = 'password';
+ const username = generateRandomUserName();
+ const email = `${username}@example.com`;
+ const password = 'password';
- let user = await api.post('/user/auth/local/register', {
+ const user = await api.post('/user/auth/local/register', {
username,
email,
password,
confirmPassword: password,
});
- let requests = new ApiUser(user);
+ const requests = new ApiUser(user);
- let habits = await requests.get('/tasks/user?type=habits');
- let dailys = await requests.get('/tasks/user?type=dailys');
- let todos = await requests.get('/tasks/user?type=todos');
- let rewards = await requests.get('/tasks/user?type=rewards');
- let tags = await requests.get('/tags');
+ const habits = await requests.get('/tasks/user?type=habits');
+ const dailys = await requests.get('/tasks/user?type=dailys');
+ const todos = await requests.get('/tasks/user?type=todos');
+ const rewards = await requests.get('/tasks/user?type=rewards');
+ const tags = await requests.get('/tags');
expect(habits).to.have.a.lengthOf(0);
expect(dailys).to.have.a.lengthOf(0);
@@ -230,26 +230,26 @@ describe('POST /user/auth/local/register', () => {
it('for iOS', async () => {
api = requester(
null,
- {'x-client': 'habitica-ios'},
+ { 'x-client': 'habitica-ios' },
);
- let username = generateRandomUserName();
- let email = `${username}@example.com`;
- let password = 'password';
+ const username = generateRandomUserName();
+ const email = `${username}@example.com`;
+ const password = 'password';
- let user = await api.post('/user/auth/local/register', {
+ const user = await api.post('/user/auth/local/register', {
username,
email,
password,
confirmPassword: password,
});
- let requests = new ApiUser(user);
+ const requests = new ApiUser(user);
- let habits = await requests.get('/tasks/user?type=habits');
- let dailys = await requests.get('/tasks/user?type=dailys');
- let todos = await requests.get('/tasks/user?type=todos');
- let rewards = await requests.get('/tasks/user?type=rewards');
- let tags = await requests.get('/tags');
+ const habits = await requests.get('/tasks/user?type=habits');
+ const dailys = await requests.get('/tasks/user?type=dailys');
+ const todos = await requests.get('/tasks/user?type=todos');
+ const rewards = await requests.get('/tasks/user?type=rewards');
+ const tags = await requests.get('/tags');
expect(habits).to.have.a.lengthOf(0);
expect(dailys).to.have.a.lengthOf(0);
@@ -260,11 +260,11 @@ describe('POST /user/auth/local/register', () => {
});
it('enrolls new users in an A/B test', async () => {
- let username = generateRandomUserName();
- let email = `${username}@example.com`;
- let password = 'password';
+ const username = generateRandomUserName();
+ const email = `${username}@example.com`;
+ const password = 'password';
- let user = await api.post('/user/auth/local/register', {
+ const user = await api.post('/user/auth/local/register', {
username,
email,
password,
@@ -275,11 +275,11 @@ describe('POST /user/auth/local/register', () => {
});
it('includes items awarded by default when creating a new user', async () => {
- let username = generateRandomUserName();
- let email = `${username}@example.com`;
- let password = 'password';
+ const username = generateRandomUserName();
+ const email = `${username}@example.com`;
+ const password = 'password';
- let user = await api.post('/user/auth/local/register', {
+ const user = await api.post('/user/auth/local/register', {
username,
email,
password,
@@ -292,10 +292,10 @@ describe('POST /user/auth/local/register', () => {
});
it('requires password and confirmPassword to match', async () => {
- let username = generateRandomUserName();
- let email = `${username}@example.com`;
- let password = 'password';
- let confirmPassword = 'not password';
+ const username = generateRandomUserName();
+ const email = `${username}@example.com`;
+ const password = 'password';
+ const confirmPassword = 'not password';
await expect(api.post('/user/auth/local/register', {
username,
@@ -310,9 +310,9 @@ describe('POST /user/auth/local/register', () => {
});
it('requires a username', async () => {
- let email = `${generateRandomUserName()}@example.com`;
- let password = 'password';
- let confirmPassword = 'password';
+ const email = `${generateRandomUserName()}@example.com`;
+ const password = 'password';
+ const confirmPassword = 'password';
await expect(api.post('/user/auth/local/register', {
email,
@@ -326,8 +326,8 @@ describe('POST /user/auth/local/register', () => {
});
it('requires an email', async () => {
- let username = generateRandomUserName();
- let password = 'password';
+ const username = generateRandomUserName();
+ const password = 'password';
await expect(api.post('/user/auth/local/register', {
username,
@@ -341,9 +341,9 @@ describe('POST /user/auth/local/register', () => {
});
it('requires a valid email', async () => {
- let username = generateRandomUserName();
- let email = 'notanemail@sdf';
- let password = 'password';
+ const username = generateRandomUserName();
+ const email = 'notanemail@sdf';
+ const password = 'password';
await expect(api.post('/user/auth/local/register', {
username,
@@ -358,11 +358,11 @@ describe('POST /user/auth/local/register', () => {
});
it('sanitizes email params to a lowercase string before creating the user', async () => {
- let username = generateRandomUserName();
- let email = 'ISANEmAiL@ExAmPle.coM';
- let password = 'password';
+ const username = generateRandomUserName();
+ const email = 'ISANEmAiL@ExAmPle.coM';
+ const password = 'password';
- let user = await api.post('/user/auth/local/register', {
+ const user = await api.post('/user/auth/local/register', {
username,
email,
password,
@@ -373,9 +373,9 @@ describe('POST /user/auth/local/register', () => {
});
it('fails on a habitica.com email', async () => {
- let username = generateRandomUserName();
- let email = `${username}@habitica.com`;
- let password = 'password';
+ const username = generateRandomUserName();
+ const email = `${username}@habitica.com`;
+ const password = 'password';
await expect(api.post('/user/auth/local/register', {
username,
@@ -390,9 +390,9 @@ describe('POST /user/auth/local/register', () => {
});
it('fails on a habitrpg.com email', async () => {
- let username = generateRandomUserName();
- let email = `${username}@habitrpg.com`;
- let password = 'password';
+ const username = generateRandomUserName();
+ const email = `${username}@habitrpg.com`;
+ const password = 'password';
await expect(api.post('/user/auth/local/register', {
username,
@@ -407,9 +407,9 @@ describe('POST /user/auth/local/register', () => {
});
it('requires a password', async () => {
- let username = generateRandomUserName();
- let email = `${username}@example.com`;
- let confirmPassword = 'password';
+ const username = generateRandomUserName();
+ const email = `${username}@example.com`;
+ const confirmPassword = 'password';
await expect(api.post('/user/auth/local/register', {
username,
@@ -425,9 +425,9 @@ describe('POST /user/auth/local/register', () => {
context('attach to facebook user', () => {
let user;
- let email = 'some@email.net';
- let username = 'some-username';
- let password = 'some-password';
+ const email = 'some@email.net';
+ const username = 'some-username';
+ const password = 'some-password';
beforeEach(async () => {
user = await generateUser();
});
@@ -458,7 +458,8 @@ describe('POST /user/auth/local/register', () => {
});
context('login is already taken', () => {
- let username, email, api;
+ let username; let email; let
+ api;
beforeEach(async () => {
api = requester();
@@ -473,8 +474,8 @@ describe('POST /user/auth/local/register', () => {
});
it('rejects if username is already taken', async () => {
- let uniqueEmail = `${generateRandomUserName()}@example.com`;
- let password = 'password';
+ const uniqueEmail = `${generateRandomUserName()}@example.com`;
+ const password = 'password';
await expect(api.post('/user/auth/local/register', {
username,
@@ -489,8 +490,8 @@ describe('POST /user/auth/local/register', () => {
});
it('rejects if email is already taken', async () => {
- let uniqueUsername = generateRandomUserName();
- let password = 'password';
+ const uniqueUsername = generateRandomUserName();
+ const password = 'password';
await expect(api.post('/user/auth/local/register', {
username: uniqueUsername,
@@ -506,7 +507,8 @@ describe('POST /user/auth/local/register', () => {
});
context('req.query.groupInvite', () => {
- let api, username, email, password;
+ let api; let username; let email; let
+ password;
beforeEach(() => {
api = requester();
@@ -516,7 +518,7 @@ describe('POST /user/auth/local/register', () => {
});
it('does not crash the signup process when it\'s invalid', async () => {
- let user = await api.post('/user/auth/local/register?groupInvite=aaaaInvalid', {
+ const user = await api.post('/user/auth/local/register?groupInvite=aaaaInvalid', {
username,
email,
password,
@@ -527,17 +529,17 @@ describe('POST /user/auth/local/register', () => {
});
it('supports invite using req.query.groupInvite', async () => {
- let { group, groupLeader } = await createAndPopulateGroup({
+ const { group, groupLeader } = await createAndPopulateGroup({
groupDetails: { type: 'party', privacy: 'private' },
});
- let invite = encrypt(JSON.stringify({
+ const invite = encrypt(JSON.stringify({
id: group._id,
inviter: groupLeader._id,
sentAt: Date.now(), // so we can let it expire
}));
- let user = await api.post(`/user/auth/local/register?groupInvite=${invite}`, {
+ const user = await api.post(`/user/auth/local/register?groupInvite=${invite}`, {
username,
email,
password,
@@ -550,11 +552,11 @@ describe('POST /user/auth/local/register', () => {
});
it('awards achievement to inviter', async () => {
- let { group, groupLeader } = await createAndPopulateGroup({
+ const { group, groupLeader } = await createAndPopulateGroup({
groupDetails: { type: 'party', privacy: 'private' },
});
- let invite = encrypt(JSON.stringify({
+ const invite = encrypt(JSON.stringify({
id: group._id,
inviter: groupLeader._id,
sentAt: Date.now(),
@@ -572,17 +574,17 @@ describe('POST /user/auth/local/register', () => {
});
it('user not added to a party on expired invite', async () => {
- let { group, groupLeader } = await createAndPopulateGroup({
+ const { group, groupLeader } = await createAndPopulateGroup({
groupDetails: { type: 'party', privacy: 'private' },
});
- let invite = encrypt(JSON.stringify({
+ const invite = encrypt(JSON.stringify({
id: group._id,
inviter: groupLeader._id,
sentAt: Date.now() - 6.912e8, // 8 days old
}));
- let user = await api.post(`/user/auth/local/register?groupInvite=${invite}`, {
+ const user = await api.post(`/user/auth/local/register?groupInvite=${invite}`, {
username,
email,
password,
@@ -593,17 +595,17 @@ describe('POST /user/auth/local/register', () => {
});
it('adds a user to a guild on an invite of type other than party', async () => {
- let { group, groupLeader } = await createAndPopulateGroup({
+ const { group, groupLeader } = await createAndPopulateGroup({
groupDetails: { type: 'guild', privacy: 'private' },
});
- let invite = encrypt(JSON.stringify({
+ const invite = encrypt(JSON.stringify({
id: group._id,
inviter: groupLeader._id,
sentAt: Date.now(),
}));
- let user = await api.post(`/user/auth/local/register?groupInvite=${invite}`, {
+ const user = await api.post(`/user/auth/local/register?groupInvite=${invite}`, {
username,
email,
password,
@@ -619,7 +621,8 @@ describe('POST /user/auth/local/register', () => {
});
context('successful login via api', () => {
- let api, username, email, password;
+ let api; let username; let email; let
+ password;
beforeEach(() => {
api = requester();
@@ -629,7 +632,7 @@ describe('POST /user/auth/local/register', () => {
});
it('sets all site tour values to -2 (already seen)', async () => {
- let user = await api.post('/user/auth/local/register', {
+ const user = await api.post('/user/auth/local/register', {
username,
email,
password,
@@ -638,13 +641,13 @@ describe('POST /user/auth/local/register', () => {
expect(user.flags.tour).to.not.be.empty;
- each(user.flags.tour, (value) => {
+ each(user.flags.tour, value => {
expect(value).to.eql(-2);
});
});
it('populates user with default todos, not no other task types', async () => {
- let user = await api.post('/user/auth/local/register', {
+ const user = await api.post('/user/auth/local/register', {
username,
email,
password,
@@ -658,7 +661,7 @@ describe('POST /user/auth/local/register', () => {
});
it('populates user with default tags', async () => {
- let user = await api.post('/user/auth/local/register', {
+ const user = await api.post('/user/auth/local/register', {
username,
email,
password,
@@ -670,17 +673,18 @@ describe('POST /user/auth/local/register', () => {
});
context('successful login with habitica-web header', () => {
- let api, username, email, password;
+ let api; let username; let email; let
+ password;
beforeEach(() => {
- api = requester({}, {'x-client': 'habitica-web'});
+ api = requester({}, { 'x-client': 'habitica-web' });
username = generateRandomUserName();
email = `${username}@example.com`;
password = 'password';
});
it('sets all common tutorial flags to true', async () => {
- let user = await api.post('/user/auth/local/register', {
+ const user = await api.post('/user/auth/local/register', {
username,
email,
password,
@@ -689,13 +693,13 @@ describe('POST /user/auth/local/register', () => {
expect(user.flags.tour).to.not.be.empty;
- each(user.flags.tutorial.common, (value) => {
+ each(user.flags.tutorial.common, value => {
expect(value).to.eql(true);
});
});
it('populates user with default todos, habits, and rewards', async () => {
- let user = await api.post('/user/auth/local/register', {
+ const user = await api.post('/user/auth/local/register', {
username,
email,
password,
@@ -709,7 +713,7 @@ describe('POST /user/auth/local/register', () => {
});
it('populates user with default tags', async () => {
- let user = await api.post('/user/auth/local/register', {
+ const user = await api.post('/user/auth/local/register', {
username,
email,
password,
@@ -720,17 +724,17 @@ describe('POST /user/auth/local/register', () => {
});
it('adds the correct tags to the correct tasks', async () => {
- let user = await api.post('/user/auth/local/register', {
+ const user = await api.post('/user/auth/local/register', {
username,
email,
password,
confirmPassword: password,
});
- let requests = new ApiUser(user);
+ const requests = new ApiUser(user);
- let habits = await requests.get('/tasks/user?type=habits');
- let todos = await requests.get('/tasks/user?type=todos');
+ const habits = await requests.get('/tasks/user?type=habits');
+ const todos = await requests.get('/tasks/user?type=todos');
expect(habits).to.have.a.lengthOf(0);
expect(todos).to.have.a.lengthOf(0);
diff --git a/test/api/v4/user/auth/POST-user_verify_display_name.test.js b/test/api/v4/user/auth/POST-user_verify_display_name.test.js
index 8fa1b9d5b9..77f30f6a4f 100644
--- a/test/api/v4/user/auth/POST-user_verify_display_name.test.js
+++ b/test/api/v4/user/auth/POST-user_verify_display_name.test.js
@@ -13,8 +13,8 @@ describe('POST /user/auth/verify-display-name', async () => {
});
it('successfully verifies display name including funky characters', async () => {
- let newDisplayName = 'Sabé 🤬';
- let response = await user.post(ENDPOINT, {
+ const newDisplayName = 'Sabé 🤬';
+ const response = await user.post(ENDPOINT, {
displayName: newDisplayName,
});
expect(response).to.eql({ isUsable: true });
diff --git a/test/api/v4/user/auth/POST-user_verify_username.test.js b/test/api/v4/user/auth/POST-user_verify_username.test.js
index c17b789a41..2ae95b1c52 100644
--- a/test/api/v4/user/auth/POST-user_verify_username.test.js
+++ b/test/api/v4/user/auth/POST-user_verify_username.test.js
@@ -13,16 +13,16 @@ describe('POST /user/auth/verify-username', async () => {
});
it('successfully verifies username', async () => {
- let newUsername = 'new-username';
- let response = await user.post(ENDPOINT, {
+ const newUsername = 'new-username';
+ const response = await user.post(ENDPOINT, {
username: newUsername,
});
expect(response).to.eql({ isUsable: true });
});
it('successfully verifies username with allowed characters', async () => {
- let newUsername = 'new-username_123';
- let response = await user.post(ENDPOINT, {
+ const newUsername = 'new-username_123';
+ const response = await user.post(ENDPOINT, {
username: newUsername,
});
expect(response).to.eql({ isUsable: true });
diff --git a/test/client/.eslintrc b/test/client/.eslintrc
deleted file mode 100644
index e2df933c00..0000000000
--- a/test/client/.eslintrc
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "env": {
- "node": true,
- "browser": true,
- },
- "extends": [
- "habitrpg/browser",
- "habitrpg/mocha",
- "habitrpg/esnext",
- ],
-}
diff --git a/test/client/e2e/custom-assertions/elementCount.js b/test/client/e2e/custom-assertions/elementCount.js
deleted file mode 100644
index b2f5755f0f..0000000000
--- a/test/client/e2e/custom-assertions/elementCount.js
+++ /dev/null
@@ -1,25 +0,0 @@
-// A custom Nightwatch assertion.
-// the name of the method is the filename.
-// can be used in tests like this:
-//
-// browser.assert.elementCount(selector, count)
-//
-// for how to write custom assertions see
-// http://nightwatchjs.org/guide#writing-custom-assertions
-exports.assertion = function (selector, count) {
- this.message = `Testing if element <${selector}> has count: ${count}`;
- this.expected = count;
- this.pass = function (val) {
- return val === this.expected;
- };
- this.value = function (res) {
- return res.value;
- };
- this.command = function (cb) {
- return this.api.execute((el) => {
- return document.querySelectorAll(el).length;
- }, [selector], (res) => {
- cb.call(this, res);
- });
- };
-};
diff --git a/test/client/e2e/nightwatch.conf.js b/test/client/e2e/nightwatch.conf.js
deleted file mode 100644
index 251dd8bbc4..0000000000
--- a/test/client/e2e/nightwatch.conf.js
+++ /dev/null
@@ -1,50 +0,0 @@
-/* eslint-disable camelcase */
-
-require('babel-register');
-const config = require('../../../webpack/config');
-const chromeDriverPath = require('chromedriver').path;
-const seleniumServerPath = require('selenium-server').path;
-
-// http://nightwatchjs.org/guide#settings-file
-module.exports = {
- src_folders: ['test/client/e2e/specs'],
- output_folder: 'test/client/e2e/reports',
- custom_assertions_path: ['test/client/e2e/custom-assertions'],
-
- selenium: {
- start_process: true,
- server_path: seleniumServerPath,
- host: '127.0.0.1',
- port: 4444,
- cli_args: {
- 'webdriver.chrome.driver': chromeDriverPath,
- },
- },
-
- test_settings: {
- default: {
- selenium_port: 4444,
- selenium_host: 'localhost',
- silent: true,
- globals: {
- devServerURL: `http://localhost:${process.env.PORT || config.dev.port}`, // eslint-disable-line no-process-env
- },
- },
-
- chrome: {
- desiredCapabilities: {
- browserName: 'chrome',
- javascriptEnabled: true,
- acceptSslCerts: true,
- },
- },
-
- firefox: {
- desiredCapabilities: {
- browserName: 'firefox',
- javascriptEnabled: true,
- acceptSslCerts: true,
- },
- },
- },
-};
diff --git a/test/client/e2e/runner.js b/test/client/e2e/runner.js
deleted file mode 100644
index 4c3829f785..0000000000
--- a/test/client/e2e/runner.js
+++ /dev/null
@@ -1,31 +0,0 @@
-// 1. start the dev server using production config
-process.env.NODE_ENV = 'testing'; // eslint-disable-line no-process-env
-const server = require('../../../webpack/dev-server.js');
-
-// 2. run the nightwatch test suite against it
-// to run in additional browsers:
-// 1. add an entry in test/e2e/nightwatch.conf.json under "test_settings"
-// 2. add it to the --env flag below
-// or override the environment flag, for example: `npm run e2e -- --env chrome,firefox`
-// For more information on Nightwatch's config file, see
-// http://nightwatchjs.org/guide#settings-file
-let opts = process.argv.slice(2);
-if (opts.indexOf('--config') === -1) {
- opts = opts.concat(['--config', 'test/client/e2e/nightwatch.conf.js']);
-}
-if (opts.indexOf('--env') === -1) {
- opts = opts.concat(['--env', 'chrome']);
-}
-
-const spawn = require('cross-spawn');
-const runner = spawn('./node_modules/.bin/nightwatch', opts, { stdio: 'inherit' });
-
-runner.on('exit', function (code) {
- server.close();
- process.exit(code);
-});
-
-runner.on('error', function (err) {
- server.close();
- throw err;
-});
diff --git a/test/client/e2e/specs/test.js b/test/client/e2e/specs/test.js
deleted file mode 100644
index da58561b29..0000000000
--- a/test/client/e2e/specs/test.js
+++ /dev/null
@@ -1,19 +0,0 @@
-// For authoring Nightwatch tests, see
-// http://nightwatchjs.org/guide#usage
-
-module.exports = {
- 'default e2e tests' (browser) {
- // automatically uses dev Server port from /config.index.js
- // default: http://localhost:8080
- // see nightwatch.conf.js
- const devServer = browser.globals.devServerURL;
-
- browser
- .url(devServer)
- .waitForElementVisible('#app', 5000)
- .assert.elementPresent('.logo')
- .assert.containsText('h1', 'Hello Vue!')
- .assert.elementCount('p', 3)
- .end();
- },
-};
diff --git a/test/client/unit/index.js b/test/client/unit/index.js
index f56cc96744..9a3f4b6f9a 100644
--- a/test/client/unit/index.js
+++ b/test/client/unit/index.js
@@ -1,3 +1,4 @@
+/* eslint-disable */
// TODO verify if it's needed, added because Axios require Promise in the global scope
// and babel-runtime doesn't affect external libraries
require('babel-polyfill');
@@ -12,9 +13,9 @@ afterEach(() => {
});
// require all test files
-let testsContext = require.context('./specs', true, /\.js$/);
+const testsContext = require.context('./specs', true, /\.js$/);
testsContext.keys().forEach(testsContext);
// require all .vue and .js files except main.js for coverage.
-let srcContext = require.context('../../../website/client', true, /^\.\/(?=(?!main(\.js)?$))(?=(.*\.(vue|js)$))/);
-srcContext.keys().forEach(srcContext);
\ No newline at end of file
+const srcContext = require.context('../../../website/client', true, /^\.\/(?=(?!main(\.js)?$))(?=(.*\.(vue|js)$))/);
+srcContext.keys().forEach(srcContext);
diff --git a/test/client/unit/karma.conf.js b/test/client/unit/karma.conf.js
index 7bc7b3800e..b12c5aac67 100644
--- a/test/client/unit/karma.conf.js
+++ b/test/client/unit/karma.conf.js
@@ -1,3 +1,4 @@
+/* eslint-disable */
// This is a karma config file. For more details see
// http://karma-runner.github.io/0.13/config/configuration-file.html
// we are also using it with karma-webpack
@@ -6,7 +7,8 @@
// Necessary for babel to respect the env version of .babelrc which is necessary
// Because inject-loader does not work with ["es2015", { modules: false }] that we use
// in order to let webpack2 handle the imports
-process.env.CHROME_BIN = require('puppeteer').executablePath(); // eslint-disable-line no-process-env
+process.env.CHROME_BIN = require('puppeteer').executablePath();
+// eslint-disable-line no-process-env
process.env.BABEL_ENV = process.env.NODE_ENV; // eslint-disable-line no-process-env
const webpackConfig = require('../../../webpack/webpack.test.conf');
diff --git a/test/common/count.js b/test/common/count.js
index fd44d04b7d..e834d03cb1 100644
--- a/test/common/count.js
+++ b/test/common/count.js
@@ -1,64 +1,64 @@
/* eslint-disable camelcase */
-let count = require('../../website/common/script/count');
+import * as count from '../../website/common/script/count';
describe('count', () => {
describe('beastMasterProgress', () => {
it('returns 0 if no pets', () => {
- let pets = {};
- let beastMasterTotal = count.beastMasterProgress(pets);
+ const pets = {};
+ const beastMasterTotal = count.beastMasterProgress(pets);
expect(beastMasterTotal).to.eql(0);
});
it('counts drop pets', () => {
- let pets = { 'Dragon-Red': 1, 'Wolf-Base': 2 };
- let beastMasterTotal = count.beastMasterProgress(pets);
+ const pets = { 'Dragon-Red': 1, 'Wolf-Base': 2 };
+ const beastMasterTotal = count.beastMasterProgress(pets);
expect(beastMasterTotal).to.eql(2);
});
it('does not count quest pets', () => {
- let pets = { 'Dragon-Red': 1, 'Gryphon-Base': 1 };
- let beastMasterTotal = count.beastMasterProgress(pets);
+ const pets = { 'Dragon-Red': 1, 'Gryphon-Base': 1 };
+ const beastMasterTotal = count.beastMasterProgress(pets);
expect(beastMasterTotal).to.eql(1);
});
it('does not count pets hatched with premium potions', () => {
- let pets = {
+ const pets = {
'Wolf-Spooky': 5,
'Dragon-Spooky': 5,
'FlyingPig-Base': 5,
};
- let beastMasterTotal = count.beastMasterProgress(pets);
+ const beastMasterTotal = count.beastMasterProgress(pets);
expect(beastMasterTotal).to.eql(1);
});
it('does not count special pets', () => {
- let pets = {
+ const pets = {
'Wolf-Base': 2,
'Wolf-Veteran': 1,
'Wolf-Cerberus': 1,
'Dragon-Hydra': 1,
};
- let beastMasterTotal = count.beastMasterProgress(pets);
+ const beastMasterTotal = count.beastMasterProgress(pets);
expect(beastMasterTotal).to.eql(1);
});
it('counts drop pets that have been raised to a mount', () => {
- let raisedToMount = -1;
- let pets = { 'Dragon-Red': 1, 'Wolf-Base': raisedToMount };
- let beastMasterTotal = count.beastMasterProgress(pets);
+ const raisedToMount = -1;
+ const pets = { 'Dragon-Red': 1, 'Wolf-Base': raisedToMount };
+ const beastMasterTotal = count.beastMasterProgress(pets);
expect(beastMasterTotal).to.eql(2);
});
it('does not counts drop pets that have been released', () => {
- let releasedPet = 0;
- let pets = { 'Dragon-Red': 1, 'Wolf-Base': releasedPet };
- let beastMasterTotal = count.beastMasterProgress(pets);
+ const releasedPet = 0;
+ const pets = { 'Dragon-Red': 1, 'Wolf-Base': releasedPet };
+ const beastMasterTotal = count.beastMasterProgress(pets);
expect(beastMasterTotal).to.eql(1);
});
@@ -66,47 +66,47 @@ describe('count', () => {
describe('mountMasterProgress', () => {
it('returns 0 if no mounts', () => {
- let mounts = {};
- let mountMasterTotal = count.mountMasterProgress(mounts);
+ const mounts = {};
+ const mountMasterTotal = count.mountMasterProgress(mounts);
expect(mountMasterTotal).to.eql(0);
});
it('counts drop mounts', () => {
- let mounts = { 'Dragon-Red': true, 'Wolf-Base': true };
- let mountMasterTotal = count.mountMasterProgress(mounts);
+ const mounts = { 'Dragon-Red': true, 'Wolf-Base': true };
+ const mountMasterTotal = count.mountMasterProgress(mounts);
expect(mountMasterTotal).to.eql(2);
});
it('does not count premium mounts', () => {
- let mounts = {
+ const mounts = {
'Dragon-Red': true,
'FlyingPig-Spooky': true,
};
- let mountMasterTotal = count.mountMasterProgress(mounts);
+ const mountMasterTotal = count.mountMasterProgress(mounts);
expect(mountMasterTotal).to.eql(1);
});
it('does not count quest mounts', () => {
- let mounts = { 'Dragon-Red': true, 'Gryphon-Base': true };
- let mountMasterTotal = count.mountMasterProgress(mounts);
+ const mounts = { 'Dragon-Red': true, 'Gryphon-Base': true };
+ const mountMasterTotal = count.mountMasterProgress(mounts);
expect(mountMasterTotal).to.eql(1);
});
it('does not count special mounts', () => {
- let mounts = { 'Wolf-Base': true, 'BearCub-Polar': true};
- let mountMasterTotal = count.mountMasterProgress(mounts);
+ const mounts = { 'Wolf-Base': true, 'BearCub-Polar': true };
+ const mountMasterTotal = count.mountMasterProgress(mounts);
expect(mountMasterTotal).to.eql(1);
});
it('only counts drop mounts that are currently owned', () => {
- let notCurrentlyOwned = false;
- let mounts = { 'Dragon-Red': true, 'Wolf-Base': notCurrentlyOwned };
- let mountMasterTotal = count.mountMasterProgress(mounts);
+ const notCurrentlyOwned = false;
+ const mounts = { 'Dragon-Red': true, 'Wolf-Base': notCurrentlyOwned };
+ const mountMasterTotal = count.mountMasterProgress(mounts);
expect(mountMasterTotal).to.eql(1);
});
@@ -114,7 +114,7 @@ describe('count', () => {
describe('remainingGearInSet', () => {
it('counts remaining gear based on set', () => {
- let gear = {
+ const gear = {
weapon_wizard_0: true,
weapon_wizard_1: true,
weapon_warrior_0: true,
@@ -123,20 +123,20 @@ describe('count', () => {
weapon_armor_1: true,
};
- let armoireCount = count.remainingGearInSet(gear, 'warrior');
+ const armoireCount = count.remainingGearInSet(gear, 'warrior');
expect(armoireCount).to.eql(20);
});
it.skip('includes previously owned items in count (https: //github.com/HabitRPG/habitrpg/issues/5624#issuecomment-124018717)', () => {
- let gear = {
+ const gear = {
weapon_warrior_0: false,
weapon_warrior_1: false,
weapon_armor_0: true,
weapon_armor_1: true,
};
- let armoireCount = count.remainingGearInSet(gear, 'warrior');
+ const armoireCount = count.remainingGearInSet(gear, 'warrior');
expect(armoireCount).to.eql(20);
});
@@ -144,45 +144,45 @@ describe('count', () => {
describe('dropPetsCurrentlyOwned', () => {
it('counts drop pets owned', () => {
- let pets = {
+ const pets = {
'Wolf-Base': 2,
'Wolf-Red': 4,
};
- let dropPets = count.dropPetsCurrentlyOwned(pets);
+ const dropPets = count.dropPetsCurrentlyOwned(pets);
expect(dropPets).to.eql(2);
});
it('does not count pets that have been raised to mounts', () => {
- let pets = {
+ const pets = {
'Wolf-Base': -1,
'Wolf-Red': 4,
'Wolf-Veteran': 1,
'Gryphon-Base': 1,
};
- let dropPets = count.dropPetsCurrentlyOwned(pets);
+ const dropPets = count.dropPetsCurrentlyOwned(pets);
expect(dropPets).to.eql(1);
});
it('does not count quest pets', () => {
- let pets = {
+ const pets = {
'Wolf-Base': 2,
'Wolf-Red': 4,
'Gryphon-Base': 1,
};
- let dropPets = count.dropPetsCurrentlyOwned(pets);
+ const dropPets = count.dropPetsCurrentlyOwned(pets);
expect(dropPets).to.eql(2);
});
it('does not count special pets', () => {
- let pets = {
+ const pets = {
'Wolf-Base': 2,
'Wolf-Red': 4,
'Wolf-Veteran': 1,
};
- let dropPets = count.dropPetsCurrentlyOwned(pets);
+ const dropPets = count.dropPetsCurrentlyOwned(pets);
expect(dropPets).to.eql(2);
});
@@ -190,16 +190,16 @@ describe('count', () => {
describe('questsOfCategory', () => {
it('counts user quest scrolls of a particular category', () => {
- let quests = {
+ const quests = {
atom1: 2,
whale: 4,
kraken: 2,
sheep: 1,
goldenknight2: 1,
};
- let petQuestCount = count.questsOfCategory(quests, 'pet');
- let unlockableQuestCount = count.questsOfCategory(quests, 'unlockable');
- let goldQuestCount = count.questsOfCategory(quests, 'gold');
+ const petQuestCount = count.questsOfCategory(quests, 'pet');
+ const unlockableQuestCount = count.questsOfCategory(quests, 'unlockable');
+ const goldQuestCount = count.questsOfCategory(quests, 'gold');
expect(petQuestCount).to.eql(3);
expect(unlockableQuestCount).to.eql(2);
diff --git a/test/common/fns/autoAllocate.test.js b/test/common/fns/autoAllocate.test.js
index 7db6f0d371..89d2859c1d 100644
--- a/test/common/fns/autoAllocate.test.js
+++ b/test/common/fns/autoAllocate.test.js
@@ -9,8 +9,8 @@ describe('shared.fns.autoAllocate', () => {
beforeEach(() => {
user = generateUser();
// necessary to test task training reset behavior
- user.stats.toObject = function () {
- let obj = JSON.parse(JSON.stringify(this));
+ user.stats.toObject = function toObject () {
+ const obj = JSON.parse(JSON.stringify(this));
return obj;
};
diff --git a/test/common/fns/crit.test.js b/test/common/fns/crit.test.js
index c4925c48c8..70261ebdef 100644
--- a/test/common/fns/crit.test.js
+++ b/test/common/fns/crit.test.js
@@ -11,7 +11,7 @@ describe('crit', () => {
});
it('computes', () => {
- let result = crit.crit(user);
+ const result = crit.crit(user);
expect(result).to.eql(1);
});
});
diff --git a/test/common/fns/handleTwoHanded.js b/test/common/fns/handleTwoHanded.js
index b45594fd12..03ae38f3de 100644
--- a/test/common/fns/handleTwoHanded.js
+++ b/test/common/fns/handleTwoHanded.js
@@ -13,11 +13,11 @@ describe('shared.fns.handleTwoHanded', () => {
});
it('uses "messageTwoHandedUnequip" message if item is a shield and current weapon is two handed (and sets the user\'s weapon to the base one)', () => {
- let item = content.gear.tree.shield.warrior['2'];
- let currentWeapon = content.gear.tree.weapon.armoire.rancherLasso;
+ const item = content.gear.tree.shield.warrior['2'];
+ const currentWeapon = content.gear.tree.weapon.armoire.rancherLasso;
user.items.gear.equipped.weapon = 'weapon_armoire_rancherLasso';
- let message = handleTwoHanded(user, item);
+ const message = handleTwoHanded(user, item);
expect(message).to.equal(i18n.t('messageTwoHandedUnequip', {
twoHandedText: currentWeapon.text(), offHandedText: item.text(),
}));
@@ -25,11 +25,11 @@ describe('shared.fns.handleTwoHanded', () => {
});
it('uses "messageTwoHandedEquip" message if item is two handed and currentShield exists but is not "shield_base_0" (and sets the user\'s shield to the base one)', () => {
- let item = content.gear.tree.weapon.armoire.rancherLasso;
- let currentShield = content.gear.tree.shield.armoire.gladiatorShield;
+ const item = content.gear.tree.weapon.armoire.rancherLasso;
+ const currentShield = content.gear.tree.shield.armoire.gladiatorShield;
user.items.gear.equipped.shield = 'shield_armoire_gladiatorShield';
- let message = handleTwoHanded(user, item);
+ const message = handleTwoHanded(user, item);
expect(message).to.equal(i18n.t('messageTwoHandedEquip', {
twoHandedText: item.text(), offHandedText: currentShield.text(),
}));
diff --git a/test/common/fns/predictableRandom.test.js b/test/common/fns/predictableRandom.test.js
index a4c726699e..5a4eeb9a05 100644
--- a/test/common/fns/predictableRandom.test.js
+++ b/test/common/fns/predictableRandom.test.js
@@ -18,8 +18,8 @@ describe('shared.fns.predictableRandom', () => {
user.stats.hp = 43;
user.stats.gp = 34;
- let val1 = predictableRandom(user);
- let val2 = predictableRandom(user);
+ const val1 = predictableRandom(user);
+ const val2 = predictableRandom(user);
expect(val2).to.equal(val1);
});
@@ -27,24 +27,24 @@ describe('shared.fns.predictableRandom', () => {
it('returns a different value when user.stats is not the same and no seed is passed', () => {
user.stats.hp = 43;
user.stats.gp = 34;
- let val1 = predictableRandom(user);
+ const val1 = predictableRandom(user);
user.stats.gp = 35;
- let val2 = predictableRandom(user);
+ const val2 = predictableRandom(user);
expect(val2).to.not.equal(val1);
});
it('returns the same value when the same seed is passed', () => {
- let val1 = predictableRandom(user, 4452673762);
- let val2 = predictableRandom(user, 4452673762);
+ const val1 = predictableRandom(user, 4452673762);
+ const val2 = predictableRandom(user, 4452673762);
expect(val2).to.equal(val1);
});
it('returns a different value when a different seed is passed', () => {
- let val1 = predictableRandom(user, 4452673761);
- let val2 = predictableRandom(user, 4452673762);
+ const val1 = predictableRandom(user, 4452673761);
+ const val2 = predictableRandom(user, 4452673762);
expect(val2).to.not.equal(val1);
});
diff --git a/test/common/fns/randomDrop.test.js b/test/common/fns/randomDrop.test.js
index c04bddacb7..6ebc31d2df 100644
--- a/test/common/fns/randomDrop.test.js
+++ b/test/common/fns/randomDrop.test.js
@@ -113,8 +113,9 @@ describe('common.fns.randomDrop', () => {
randomDrop(user, { task, predictableRandom });
expect(user._tmp.drop.type).to.eql('HatchingPotion');
expect(user._tmp.drop.value).to.eql(4);
- let acceptableDrops = ['Zombie', 'CottonCandyPink', 'CottonCandyBlue'];
- expect(acceptableDrops).to.contain(user._tmp.drop.key); // deterministically 'CottonCandyBlue'
+ const acceptableDrops = ['Zombie', 'CottonCandyPink', 'CottonCandyBlue'];
+ // deterministically 'CottonCandyBlue'
+ expect(acceptableDrops).to.contain(user._tmp.drop.key);
});
it('drops an uncommon potion', () => {
@@ -123,7 +124,7 @@ describe('common.fns.randomDrop', () => {
randomDrop(user, { task, predictableRandom });
expect(user._tmp.drop.type).to.eql('HatchingPotion');
expect(user._tmp.drop.value).to.eql(3);
- let acceptableDrops = ['Red', 'Shade', 'Skeleton'];
+ const acceptableDrops = ['Red', 'Shade', 'Skeleton'];
expect(acceptableDrops).to.contain(user._tmp.drop.key); // always skeleton
});
@@ -133,7 +134,7 @@ describe('common.fns.randomDrop', () => {
randomDrop(user, { task, predictableRandom });
expect(user._tmp.drop.type).to.eql('HatchingPotion');
expect(user._tmp.drop.value).to.eql(2);
- let acceptableDrops = ['Base', 'White', 'Desert'];
+ const acceptableDrops = ['Base', 'White', 'Desert'];
expect(acceptableDrops).to.contain(user._tmp.drop.key); // always Desert
});
});
diff --git a/test/common/fns/statsComputed.test.js b/test/common/fns/statsComputed.test.js
index 2fad55b349..2dce64dfd6 100644
--- a/test/common/fns/statsComputed.test.js
+++ b/test/common/fns/statsComputed.test.js
@@ -11,7 +11,7 @@ describe('common.fns.statsComputed', () => {
});
it('returns default values', () => {
- let result = statsComputed(user);
+ const result = statsComputed(user);
expect(result.per).to.eql(0);
expect(result.con).to.eql(0);
expect(result.str).to.eql(0);
@@ -20,7 +20,7 @@ describe('common.fns.statsComputed', () => {
it('calculates stat bonuses for equipment', () => {
user.items.gear.equipped.weapon = 'weapon_rogue_1';
- let result = statsComputed(user);
+ const result = statsComputed(user);
expect(result.str).to.eql(2);
expect(result.gearBonus.str).to.eql(2);
@@ -28,7 +28,7 @@ describe('common.fns.statsComputed', () => {
it('calculates stat bonuses for class', () => {
user.items.gear.equipped.weapon = 'weapon_warrior_1';
- let result = statsComputed(user);
+ const result = statsComputed(user);
expect(result.str).to.eql(4.5);
expect(result.gearBonus.str).to.eql(3);
@@ -37,7 +37,7 @@ describe('common.fns.statsComputed', () => {
it('calculates stat bonuses for level', () => {
user.stats.lvl = 25;
- let result = statsComputed(user);
+ const result = statsComputed(user);
expect(result.str).to.eql(12);
expect(result.levelBonus.str).to.eql(12);
@@ -45,7 +45,7 @@ describe('common.fns.statsComputed', () => {
it('correctly caps level stat bonuses', () => {
user.stats.lvl = 150;
- let result = statsComputed(user);
+ const result = statsComputed(user);
expect(result.str).to.eql(50);
expect(result.levelBonus.str).to.eql(50);
@@ -53,7 +53,7 @@ describe('common.fns.statsComputed', () => {
it('sets baseStat field', () => {
user.stats.str = 20;
- let result = statsComputed(user);
+ const result = statsComputed(user);
expect(result.str).to.eql(20);
expect(result.baseStat.str).to.eql(20);
@@ -61,7 +61,7 @@ describe('common.fns.statsComputed', () => {
it('sets buffs field', () => {
user.stats.buffs.str = 150;
- let result = statsComputed(user);
+ const result = statsComputed(user);
expect(result.str).to.eql(150);
expect(result.buff.str).to.eql(150);
@@ -70,14 +70,14 @@ describe('common.fns.statsComputed', () => {
it('calculates mp from intelligence', () => {
user.stats.int = 150;
user.stats.buffs.int = 50;
- let result = statsComputed(user);
+ const result = statsComputed(user);
expect(result.maxMP).to.eql(430);
});
it('calculates stat bonuses for back equipment', () => {
user.items.gear.equipped.back = 'back_special_takeThis';
- let result = statsComputed(user);
+ const result = statsComputed(user);
expect(result.int).to.eql(1);
expect(result.per).to.eql(1);
diff --git a/test/common/fns/ultimateGear.js b/test/common/fns/ultimateGear.js
index 06530dd938..e5d35f4cba 100644
--- a/test/common/fns/ultimateGear.js
+++ b/test/common/fns/ultimateGear.js
@@ -8,24 +8,22 @@ describe('shared.fns.ultimateGear', () => {
beforeEach(() => {
user = generateUser();
- user.achievements.ultimateGearSets.toObject = function () {
+ user.achievements.ultimateGearSets.toObject = function toIbject () {
return this;
};
user.addNotification = sinon.spy();
});
it('sets armoirEnabled when partial achievement already achieved', () => {
- let items = {
+ const items = {
gear: {
owned: {
- toObject: () => {
- return {
- armor_warrior_5: true, // eslint-disable-line camelcase
- shield_warrior_5: true, // eslint-disable-line camelcase
- head_warrior_5: true, // eslint-disable-line camelcase
- weapon_warrior_6: true, // eslint-disable-line camelcase
- };
- },
+ toObject: () => ({
+ armor_warrior_5: true, // eslint-disable-line camelcase
+ shield_warrior_5: true, // eslint-disable-line camelcase
+ head_warrior_5: true, // eslint-disable-line camelcase
+ weapon_warrior_6: true, // eslint-disable-line camelcase
+ }),
},
},
};
@@ -40,17 +38,15 @@ describe('shared.fns.ultimateGear', () => {
it('does not set armoireEnabled when gear is not owned', () => {
user.flags.armoireEnabled = false;
- let items = {
+ const items = {
gear: {
owned: {
- toObject: () => {
- return {
- armor_warrior_5: true, // eslint-disable-line camelcase
- shield_warrior_5: true, // eslint-disable-line camelcase
- head_warrior_5: true, // eslint-disable-line camelcase
- weapon_warrior_6: false, // eslint-disable-line camelcase
- };
- },
+ toObject: () => ({
+ armor_warrior_5: true, // eslint-disable-line camelcase
+ shield_warrior_5: true, // eslint-disable-line camelcase
+ head_warrior_5: true, // eslint-disable-line camelcase
+ weapon_warrior_6: false, // eslint-disable-line camelcase
+ }),
},
},
};
diff --git a/test/common/fns/updateStats.test.js b/test/common/fns/updateStats.test.js
index de14a8ffff..d98f23341d 100644
--- a/test/common/fns/updateStats.test.js
+++ b/test/common/fns/updateStats.test.js
@@ -12,8 +12,8 @@ describe('common.fns.updateStats', () => {
});
context('No Hp', () => {
- it('updates user\s hp', () => {
- let stats = { hp: 0 };
+ it('updates user\'s hp', () => {
+ const stats = { hp: 0 };
expect(user.stats.hp).to.not.eql(0);
updateStats(user, stats);
expect(user.stats.hp).to.eql(0);
@@ -22,7 +22,7 @@ describe('common.fns.updateStats', () => {
});
it('does not lower hp below 0', () => {
- let stats = {
+ const stats = {
hp: -5,
};
updateStats(user, stats);
@@ -32,7 +32,7 @@ describe('common.fns.updateStats', () => {
context('Stat Allocation', () => {
it('adds only attribute points up to user\'s level', () => {
- let stats = {
+ const stats = {
exp: 261,
};
expect(user.stats.points).to.eql(0);
@@ -45,7 +45,7 @@ describe('common.fns.updateStats', () => {
});
it('adds an attibute point when user\'s stat points are less than max level', () => {
- let stats = {
+ const stats = {
exp: 3581,
};
@@ -61,7 +61,7 @@ describe('common.fns.updateStats', () => {
});
it('does not add an attibute point when user\'s stat points are equal to max level', () => {
- let stats = {
+ const stats = {
exp: 3581,
};
@@ -77,7 +77,7 @@ describe('common.fns.updateStats', () => {
});
it('does not add an attibute point when user\'s stat points + unallocated points are equal to max level', () => {
- let stats = {
+ const stats = {
exp: 3581,
};
@@ -94,7 +94,7 @@ describe('common.fns.updateStats', () => {
});
it('only awards stat points up to level 100 if user is missing unallocated stat points and is over level 100', () => {
- let stats = {
+ const stats = {
exp: 5581,
};
@@ -182,7 +182,7 @@ describe('common.fns.updateStats', () => {
xit('auto allocates stats if automaticAllocation is turned on', () => {
sandbox.stub(user.fns, 'autoAllocate');
- let stats = {
+ const stats = {
exp: 261,
};
diff --git a/test/common/libs/achievements.test.js b/test/common/libs/achievements.test.js
index 784e27b993..e3e356ff1b 100644
--- a/test/common/libs/achievements.test.js
+++ b/test/common/libs/achievements.test.js
@@ -5,11 +5,11 @@ import {
describe('achievements', () => {
describe('general well-formedness', () => {
- let user = generateUser();
- let achievements = shared.achievements.getAchievementsForProfile(user);
+ const user = generateUser();
+ const achievements = shared.achievements.getAchievementsForProfile(user);
it('each category has \'label\' and \'achievements\' fields', () => {
- _.each(achievements, (category) => {
+ _.each(achievements, category => {
expect(category).to.have.property('label')
.that.is.a('string');
expect(category).to.have.property('achievements')
@@ -18,8 +18,8 @@ describe('achievements', () => {
});
it('each achievement has all required fields of correct types', () => {
- _.each(achievements, (category) => {
- _.each(category.achievements, (achiev) => {
+ _.each(achievements, category => {
+ _.each(category.achievements, achiev => {
// May have additional fields (such as 'value' and 'optionalCount').
expect(achiev).to.contain.all.keys(['title', 'text', 'icon', 'earned', 'index']);
expect(achiev.title).to.be.a('string');
@@ -32,18 +32,18 @@ describe('achievements', () => {
});
it('categories have unique labels', () => {
- let achievementsArray = _.values(achievements).map(cat => cat.label);
- let labels = _.uniq(achievementsArray);
+ const achievementsArray = _.values(achievements).map(cat => cat.label);
+ const labels = _.uniq(achievementsArray);
expect(labels.length).to.be.greaterThan(0);
expect(labels.length).to.eql(_.size(achievements));
});
it('achievements have unique keys', () => {
- let keysSoFar = {};
+ const keysSoFar = {};
- _.each(achievements, (category) => {
- _.keys(category.achievements).forEach((key) => {
+ _.each(achievements, category => {
+ _.keys(category.achievements).forEach(key => {
expect(keysSoFar[key]).to.be.undefined;
keysSoFar[key] = key;
});
@@ -51,11 +51,11 @@ describe('achievements', () => {
});
it('achievements have unique indices', () => {
- let indicesSoFar = {};
+ const indicesSoFar = {};
- _.each(achievements, (category) => {
- _.each(category.achievements, (achiev) => {
- let i = achiev.index;
+ _.each(achievements, category => {
+ _.each(category.achievements, achiev => {
+ const i = achiev.index;
expect(indicesSoFar[i]).to.be.undefined;
indicesSoFar[i] = i;
});
@@ -63,19 +63,19 @@ describe('achievements', () => {
});
it('all categories have at least 1 achievement', () => {
- _.each(achievements, (category) => {
+ _.each(achievements, category => {
expect(_.size(category.achievements)).to.be.greaterThan(0);
});
});
});
describe('unearned basic achievements', () => {
- let user = generateUser();
- let basicAchievs = shared.achievements.getAchievementsForProfile(user).basic.achievements;
+ const user = generateUser();
+ const basicAchievs = shared.achievements.getAchievementsForProfile(user).basic.achievements;
it('streak and perfect day achievements exist with counts', () => {
- let streak = basicAchievs.streak;
- let perfect = basicAchievs.perfect;
+ const { streak } = basicAchievs;
+ const { perfect } = basicAchievs;
expect(streak).to.exist;
expect(streak).to.have.property('optionalCount')
@@ -86,8 +86,8 @@ describe('achievements', () => {
});
it('party up/on achievements exist with no counts', () => {
- let partyUp = basicAchievs.partyUp;
- let partyOn = basicAchievs.partyOn;
+ const { partyUp } = basicAchievs;
+ const { partyOn } = basicAchievs;
expect(partyUp).to.exist;
expect(partyUp.optionalCount).to.be.undefined;
@@ -96,9 +96,9 @@ describe('achievements', () => {
});
it('pet/mount master and triad bingo achievements exist with counts', () => {
- let beastMaster = basicAchievs.beastMaster;
- let mountMaster = basicAchievs.mountMaster;
- let triadBingo = basicAchievs.triadBingo;
+ const { beastMaster } = basicAchievs;
+ const { mountMaster } = basicAchievs;
+ const { triadBingo } = basicAchievs;
expect(beastMaster).to.exist;
expect(beastMaster).to.have.property('optionalCount')
@@ -112,9 +112,9 @@ describe('achievements', () => {
});
it('ultimate gear achievements exist with no counts', () => {
- let gearTypes = ['healer', 'rogue', 'warrior', 'mage'];
- gearTypes.forEach((gear) => {
- let gearAchiev = basicAchievs[`${gear}UltimateGear`];
+ const gearTypes = ['healer', 'rogue', 'warrior', 'mage'];
+ gearTypes.forEach(gear => {
+ const gearAchiev = basicAchievs[`${gear}UltimateGear`];
expect(gearAchiev).to.exist;
expect(gearAchiev.optionalCount).to.be.undefined;
@@ -122,9 +122,9 @@ describe('achievements', () => {
});
it('card achievements exist with counts', () => {
- let cardTypes = ['greeting', 'thankyou', 'birthday', 'congrats', 'getwell', 'goodluck'];
- cardTypes.forEach((card) => {
- let cardAchiev = basicAchievs[`${card}Cards`];
+ const cardTypes = ['greeting', 'thankyou', 'birthday', 'congrats', 'getwell', 'goodluck'];
+ cardTypes.forEach(card => {
+ const cardAchiev = basicAchievs[`${card}Cards`];
expect(cardAchiev).to.exist;
expect(cardAchiev).to.have.property('optionalCount')
@@ -133,7 +133,7 @@ describe('achievements', () => {
});
it('rebirth achievement exists with no count', () => {
- let rebirth = basicAchievs.rebirth;
+ const { rebirth } = basicAchievs;
expect(rebirth).to.exist;
expect(rebirth.optionalCount).to.be.undefined;
@@ -141,12 +141,13 @@ describe('achievements', () => {
});
describe('unearned seasonal achievements', () => {
- let user = generateUser();
- let seasonalAchievs = shared.achievements.getAchievementsForProfile(user).seasonal.achievements;
+ const user = generateUser();
+ const userAchievements = shared.achievements.getAchievementsForProfile(user);
+ const seasonalAchievs = userAchievements.seasonal.achievements;
it('habiticaDays and habitBirthdays achievements exist with counts', () => {
- let habiticaDays = seasonalAchievs.habiticaDays;
- let habitBirthdays = seasonalAchievs.habitBirthdays;
+ const { habiticaDays } = seasonalAchievs;
+ const { habitBirthdays } = seasonalAchievs;
expect(habiticaDays).to.exist;
expect(habiticaDays).to.have.property('optionalCount')
@@ -157,9 +158,9 @@ describe('achievements', () => {
});
it('spell achievements exist with counts', () => {
- let spellTypes = ['snowball', 'spookySparkles', 'shinySeed', 'seafoam'];
- spellTypes.forEach((spell) => {
- let spellAchiev = seasonalAchievs[spell];
+ const spellTypes = ['snowball', 'spookySparkles', 'shinySeed', 'seafoam'];
+ spellTypes.forEach(spell => {
+ const spellAchiev = seasonalAchievs[spell];
expect(spellAchiev).to.exist;
expect(spellAchiev).to.have.property('optionalCount')
@@ -168,16 +169,16 @@ describe('achievements', () => {
});
it('quest achievements do not exist', () => {
- let quests = ['dilatory', 'stressbeast', 'burnout', 'bewilder'];
- quests.forEach((quest) => {
- let questAchiev = seasonalAchievs[`${quest}Quest`];
+ const quests = ['dilatory', 'stressbeast', 'burnout', 'bewilder'];
+ quests.forEach(quest => {
+ const questAchiev = seasonalAchievs[`${quest}Quest`];
expect(questAchiev).to.not.exist;
});
});
it('costumeContests achievement exists with count', () => {
- let costumeContests = seasonalAchievs.costumeContests;
+ const { costumeContests } = seasonalAchievs;
expect(costumeContests).to.exist;
expect(costumeContests).to.have.property('optionalCount')
@@ -185,9 +186,9 @@ describe('achievements', () => {
});
it('card achievements exist with counts', () => {
- let cardTypes = ['nye', 'valentine'];
- cardTypes.forEach((card) => {
- let cardAchiev = seasonalAchievs[`${card}Cards`];
+ const cardTypes = ['nye', 'valentine'];
+ cardTypes.forEach(card => {
+ const cardAchiev = seasonalAchievs[`${card}Cards`];
expect(cardAchiev).to.exist;
expect(cardAchiev).to.have.property('optionalCount')
@@ -197,11 +198,11 @@ describe('achievements', () => {
});
describe('unearned special achievements', () => {
- let user = generateUser();
- let specialAchievs = shared.achievements.getAchievementsForProfile(user).special.achievements;
+ const user = generateUser();
+ const specialAchievs = shared.achievements.getAchievementsForProfile(user).special.achievements;
it('habitSurveys achievement exists with count', () => {
- let habitSurveys = specialAchievs.habitSurveys;
+ const { habitSurveys } = specialAchievs;
expect(habitSurveys).to.exist;
expect(habitSurveys).to.have.property('optionalCount')
@@ -209,7 +210,7 @@ describe('achievements', () => {
});
it('contributor achievement exists with value and no count', () => {
- let contributor = specialAchievs.contributor;
+ const { contributor } = specialAchievs;
expect(contributor).to.exist;
expect(contributor).to.have.property('value')
@@ -218,37 +219,38 @@ describe('achievements', () => {
});
it('npc achievement is hidden if unachieved', () => {
- let npc = specialAchievs.npc;
+ const { npc } = specialAchievs;
expect(npc).to.not.exist;
});
it('kickstarter achievement is hidden if unachieved', () => {
- let kickstarter = specialAchievs.kickstarter;
+ const { kickstarter } = specialAchievs;
expect(kickstarter).to.not.exist;
});
it('veteran achievement is hidden if unachieved', () => {
- let veteran = specialAchievs.veteran;
+ const { veteran } = specialAchievs;
expect(veteran).to.not.exist;
});
it('originalUser achievement is hidden if unachieved', () => {
- let originalUser = specialAchievs.originalUser;
+ const { originalUser } = specialAchievs;
expect(originalUser).to.not.exist;
});
});
describe('earned seasonal achievements', () => {
- let user = generateUser();
- let quests = ['dilatory', 'stressbeast', 'burnout', 'bewilder'];
- quests.forEach((quest) => {
+ const user = generateUser();
+ const quests = ['dilatory', 'stressbeast', 'burnout', 'bewilder'];
+ quests.forEach(quest => {
user.achievements.quests[quest] = 1;
});
- let seasonalAchievs = shared.achievements.getAchievementsForProfile(user).seasonal.achievements;
+ const userAchievements = shared.achievements.getAchievementsForProfile(user);
+ const seasonalAchievs = userAchievements.seasonal.achievements;
it('quest achievements exist', () => {
- quests.forEach((quest) => {
- let questAchiev = seasonalAchievs[`${quest}Quest`];
+ quests.forEach(quest => {
+ const questAchiev = seasonalAchievs[`${quest}Quest`];
expect(questAchiev).to.exist;
expect(questAchiev.optionalCount).to.be.undefined;
@@ -257,19 +259,19 @@ describe('achievements', () => {
});
describe('earned special achievements', () => {
- let user = generateUser({
+ const user = generateUser({
achievements: {
habitSurveys: 2,
veteran: true,
originalUser: true,
},
- backer: {tier: 3},
- contributor: {level: 1},
+ backer: { tier: 3 },
+ contributor: { level: 1 },
});
- let specialAchievs = shared.achievements.getAchievementsForProfile(user).special.achievements;
+ const specialAchievs = shared.achievements.getAchievementsForProfile(user).special.achievements;
it('habitSurveys achievement is earned with correct value', () => {
- let habitSurveys = specialAchievs.habitSurveys;
+ const { habitSurveys } = specialAchievs;
expect(habitSurveys).to.exist;
expect(habitSurveys.earned).to.eql(true);
@@ -277,7 +279,7 @@ describe('achievements', () => {
});
it('contributor achievement is earned with correct value', () => {
- let contributor = specialAchievs.contributor;
+ const { contributor } = specialAchievs;
expect(contributor).to.exist;
expect(contributor.earned).to.eql(true);
@@ -285,10 +287,10 @@ describe('achievements', () => {
});
it('npc achievement is earned with correct value', () => {
- let npcUser = generateUser({
- backer: {npc: 'test'},
+ const npcUser = generateUser({
+ backer: { npc: 'test' },
});
- let npc = shared.achievements.getAchievementsForProfile(npcUser).special.achievements.npc;
+ const { npc } = shared.achievements.getAchievementsForProfile(npcUser).special.achievements;
expect(npc).to.exist;
expect(npc.earned).to.eql(true);
@@ -296,7 +298,7 @@ describe('achievements', () => {
});
it('kickstarter achievement is earned with correct value', () => {
- let kickstarter = specialAchievs.kickstarter;
+ const { kickstarter } = specialAchievs;
expect(kickstarter).to.exist;
expect(kickstarter.earned).to.eql(true);
@@ -304,14 +306,14 @@ describe('achievements', () => {
});
it('veteran achievement is earned', () => {
- let veteran = specialAchievs.veteran;
+ const { veteran } = specialAchievs;
expect(veteran).to.exist;
expect(veteran.earned).to.eql(true);
});
it('originalUser achievement is earned', () => {
- let originalUser = specialAchievs.originalUser;
+ const { originalUser } = specialAchievs;
expect(originalUser).to.exist;
expect(originalUser.earned).to.eql(true);
@@ -320,12 +322,12 @@ describe('achievements', () => {
describe('mountMaster, beastMaster, and triadBingo achievements', () => {
it('master and triad bingo achievements do not include *Text2 strings if no keys have been used', () => {
- let user = generateUser();
- let basicAchievs = shared.achievements.getAchievementsForProfile(user).basic.achievements;
+ const user = generateUser();
+ const basicAchievs = shared.achievements.getAchievementsForProfile(user).basic.achievements;
- let beastMaster = basicAchievs.beastMaster;
- let mountMaster = basicAchievs.mountMaster;
- let triadBingo = basicAchievs.triadBingo;
+ const { beastMaster } = basicAchievs;
+ const { mountMaster } = basicAchievs;
+ const { triadBingo } = basicAchievs;
expect(beastMaster.text).to.not.match(/released/);
expect(beastMaster.text).to.not.match(/0 time\(s\)/);
@@ -336,18 +338,18 @@ describe('achievements', () => {
});
it('master and triad bingo achievements includes *Text2 strings if keys have been used', () => {
- let user = generateUser({
+ const user = generateUser({
achievements: {
beastMasterCount: 1,
mountMasterCount: 2,
triadBingoCount: 3,
},
});
- let basicAchievs = shared.achievements.getAchievementsForProfile(user).basic.achievements;
+ const basicAchievs = shared.achievements.getAchievementsForProfile(user).basic.achievements;
- let beastMaster = basicAchievs.beastMaster;
- let mountMaster = basicAchievs.mountMaster;
- let triadBingo = basicAchievs.triadBingo;
+ const { beastMaster } = basicAchievs;
+ const { mountMaster } = basicAchievs;
+ const { triadBingo } = basicAchievs;
expect(beastMaster.text).to.match(/released/);
expect(beastMaster.text).to.match(/1 time\(s\)/);
@@ -360,13 +362,13 @@ describe('achievements', () => {
describe('ultimateGear achievements', () => {
it('title and text contain localized class info', () => {
- let user = generateUser();
- let basicAchievs = shared.achievements.getAchievementsForProfile(user).basic.achievements;
- let gearTypes = ['healer', 'rogue', 'warrior', 'mage'];
+ const user = generateUser();
+ const basicAchievs = shared.achievements.getAchievementsForProfile(user).basic.achievements;
+ const gearTypes = ['healer', 'rogue', 'warrior', 'mage'];
- gearTypes.forEach((gear) => {
- let gearAchiev = basicAchievs[`${gear}UltimateGear`];
- let classNameRegex = new RegExp(gear.charAt(0).toUpperCase() + gear.slice(1));
+ gearTypes.forEach(gear => {
+ const gearAchiev = basicAchievs[`${gear}UltimateGear`];
+ const classNameRegex = new RegExp(gear.charAt(0).toUpperCase() + gear.slice(1));
expect(gearAchiev.title).to.match(classNameRegex);
expect(gearAchiev.text).to.match(classNameRegex);
diff --git a/test/common/libs/appliedTags.test.js b/test/common/libs/appliedTags.test.js
index b40b0ed232..313e89e6e3 100644
--- a/test/common/libs/appliedTags.test.js
+++ b/test/common/libs/appliedTags.test.js
@@ -2,9 +2,9 @@ import appliedTags from '../../../website/common/script/libs/appliedTags';
describe('appliedTags', () => {
it('returns the tasks', () => {
- let userTags = [{ id: 'tag1', name: 'tag 1' }, { id: 'tag2', name: 'tag 2' }, { id: 'tag3', name: 'tag 3' }];
- let taskTags = ['tag2', 'tag3'];
- let result = appliedTags(userTags, taskTags);
+ const userTags = [{ id: 'tag1', name: 'tag 1' }, { id: 'tag2', name: 'tag 2' }, { id: 'tag3', name: 'tag 3' }];
+ const taskTags = ['tag2', 'tag3'];
+ const result = appliedTags(userTags, taskTags);
expect(result).to.eql('tag 2, tag 3');
});
});
diff --git a/test/common/libs/hasClass.test.js b/test/common/libs/hasClass.test.js
index 1b7f9cc6c2..42f17653a6 100644
--- a/test/common/libs/hasClass.test.js
+++ b/test/common/libs/hasClass.test.js
@@ -3,49 +3,49 @@ import { generateUser } from '../../helpers/common.helper';
describe('hasClass', () => {
it('returns false for user with level below 10', () => {
- let userLvl9 = generateUser({
+ const userLvl9 = generateUser({
'stats.lvl': 9,
'flags.classSelected': true,
'preferences.disableClasses': false,
});
- let result = hasClass(userLvl9);
+ const result = hasClass(userLvl9);
expect(result).to.eql(false);
});
it('returns false for user with class not selected', () => {
- let userClassNotSelected = generateUser({
+ const userClassNotSelected = generateUser({
'stats.lvl': 10,
'flags.classSelected': false,
'preferences.disableClasses': false,
});
- let result = hasClass(userClassNotSelected);
+ const result = hasClass(userClassNotSelected);
expect(result).to.eql(false);
});
it('returns false for user with classes disabled', () => {
- let userClassesDisabled = generateUser({
+ const userClassesDisabled = generateUser({
'stats.lvl': 10,
'flags.classSelected': true,
'preferences.disableClasses': true,
});
- let result = hasClass(userClassesDisabled);
+ const result = hasClass(userClassesDisabled);
expect(result).to.eql(false);
});
it('returns true for user with class', () => {
- let userClassSelected = generateUser({
+ const userClassSelected = generateUser({
'stats.lvl': 10,
'flags.classSelected': true,
'preferences.disableClasses': false,
});
- let result = hasClass(userClassSelected);
+ const result = hasClass(userClassSelected);
expect(result).to.eql(true);
});
diff --git a/test/common/libs/inAppRewards.js b/test/common/libs/inAppRewards.js
index 43369f4307..a6093a63e8 100644
--- a/test/common/libs/inAppRewards.js
+++ b/test/common/libs/inAppRewards.js
@@ -1,7 +1,7 @@
import {
generateUser,
} from '../../helpers/common.helper';
-import getOfficialPinnedItems from '../../../website/common/script/libs/getOfficialPinnedItems.js';
+import getOfficialPinnedItems from '../../../website/common/script/libs/getOfficialPinnedItems';
import inAppRewards from '../../../website/common/script/libs/inAppRewards';
describe('inAppRewards', () => {
@@ -16,7 +16,8 @@ describe('inAppRewards', () => {
officialPinnedItems = getOfficialPinnedItems(user);
officialPinnedItemPaths = [];
- // officialPinnedItems are returned in { type: ..., path:... } format but we just need the paths for testPinnedItemsOrder
+ // officialPinnedItems are returned in { type: ..., path:... } format
+ // but we just need the paths for testPinnedItemsOrder
if (officialPinnedItems.length > 0) {
officialPinnedItemPaths = officialPinnedItems.map(item => item.path);
}
@@ -56,7 +57,7 @@ describe('inAppRewards', () => {
user.pinnedItems = testPinnedItems;
user.pinnedItemsOrder = testPinnedItemsOrder;
- let result = inAppRewards(user);
+ const result = inAppRewards(user);
expect(result[2].path).to.eql('armoire');
expect(result[9].path).to.eql('potion');
@@ -68,7 +69,7 @@ describe('inAppRewards', () => {
user.pinnedItems.push(undefined);
user.pinnedItemsOrder = testPinnedItemsOrder;
- let result = inAppRewards(user);
+ const result = inAppRewards(user);
expect(result[2].path).to.eql('armoire');
expect(result[9].path).to.eql('potion');
@@ -79,18 +80,18 @@ describe('inAppRewards', () => {
return; // if no seasonal items, this test is not applicable
}
- let testUnpinnedItem = officialPinnedItems[0];
- let testUnpinnedPath = testUnpinnedItem.path;
- let testUnpinnedItems = [
- { type: testUnpinnedItem.type, path: testUnpinnedPath},
+ const testUnpinnedItem = officialPinnedItems[0];
+ const testUnpinnedPath = testUnpinnedItem.path;
+ const testUnpinnedItems = [
+ { type: testUnpinnedItem.type, path: testUnpinnedPath },
];
user.pinnedItems = testPinnedItems;
user.pinnedItemsOrder = testPinnedItemsOrder;
user.unpinnedItems = testUnpinnedItems;
- let result = inAppRewards(user);
- let itemPaths = result.map(item => item.path);
+ const result = inAppRewards(user);
+ const itemPaths = result.map(item => item.path);
expect(itemPaths).to.not.include(testUnpinnedPath);
});
});
diff --git a/test/common/libs/noTags.test.js b/test/common/libs/noTags.test.js
index 6c50108e04..ebd24579f1 100644
--- a/test/common/libs/noTags.test.js
+++ b/test/common/libs/noTags.test.js
@@ -2,12 +2,12 @@ import noTags from '../../../website/common/script/libs/noTags';
describe('noTags', () => {
it('returns true for no tags', () => {
- let result = noTags([]);
+ const result = noTags([]);
expect(result).to.eql(true);
});
it('returns false for some tags', () => {
- let result = noTags(['a', 'b', 'c']);
+ const result = noTags(['a', 'b', 'c']);
expect(result).to.eql(false);
});
});
diff --git a/test/common/libs/pickDeep.js b/test/common/libs/pickDeep.js
index 70fc1904b9..0601a5120a 100644
--- a/test/common/libs/pickDeep.js
+++ b/test/common/libs/pickDeep.js
@@ -6,7 +6,7 @@ describe('pickDeep', () => {
});
it('returns an object of properties taken from the input object', () => {
- let obj = {
+ const obj = {
a: true,
b: [1, 2, 3],
c: {
@@ -19,7 +19,7 @@ describe('pickDeep', () => {
d: false,
};
- let res = pickDeep(obj, ['a', 'b[0]', 'c.nested.two.times']);
+ const res = pickDeep(obj, ['a', 'b[0]', 'c.nested.two.times']);
expect(res.a).to.be.true;
expect(res.b).to.eql([1]);
expect(res.c).to.eql({
diff --git a/test/common/libs/randomVal.js b/test/common/libs/randomVal.js
index 3a46938f76..4cbaceb820 100644
--- a/test/common/libs/randomVal.js
+++ b/test/common/libs/randomVal.js
@@ -1,5 +1,5 @@
+import { times } from 'lodash';
import randomVal from '../../../website/common/script/libs/randomVal';
-import {times} from 'lodash';
describe('randomVal', () => {
let obj;
@@ -18,7 +18,7 @@ describe('randomVal', () => {
});
it('returns a random value from an object', () => {
- let result = randomVal(obj);
+ const result = randomVal(obj);
expect(result).to.be.oneOf([1, 2, 3, 4]);
});
@@ -31,7 +31,7 @@ describe('randomVal', () => {
});
it('returns a random key when the key option is passed in', () => {
- let result = randomVal(obj, { key: true });
+ const result = randomVal(obj, { key: true });
expect(result).to.be.oneOf(['a', 'b', 'c', 'd']);
});
});
diff --git a/test/common/libs/refPush.js b/test/common/libs/refPush.js
index f4470fccb6..4212a36b17 100644
--- a/test/common/libs/refPush.js
+++ b/test/common/libs/refPush.js
@@ -1,10 +1,10 @@
-import shared from '../../../website/common';
import { v4 as generateUUID } from 'uuid';
+import shared from '../../../website/common';
describe('refPush', () => {
it('it hashes one object into another by its id', () => {
- let referenceObject = {};
- let objectToHash = {
+ const referenceObject = {};
+ const objectToHash = {
a: 1,
id: generateUUID(),
};
@@ -17,16 +17,14 @@ describe('refPush', () => {
});
it('it hashes one object into another by a uuid when object does not have an id', () => {
- let referenceObject = {};
- let objectToHash = {
+ const referenceObject = {};
+ const objectToHash = {
a: 1,
};
shared.refPush(referenceObject, objectToHash);
- let hashedObject = _.find(referenceObject, (hashedItem) => {
- return objectToHash.a === hashedItem.a;
- });
+ const hashedObject = _.find(referenceObject, hashedItem => objectToHash.a === hashedItem.a);
expect(hashedObject.a).to.equal(objectToHash.a);
expect(hashedObject.id).to.equal(objectToHash.id);
@@ -34,17 +32,15 @@ describe('refPush', () => {
});
it('it hashes one object into another by a id and gives it the highest sort value', () => {
- let referenceObject = {};
+ const referenceObject = {};
referenceObject[generateUUID()] = { b: 2, sort: 1 };
- let objectToHash = {
+ const objectToHash = {
a: 1,
};
shared.refPush(referenceObject, objectToHash);
- let hashedObject = _.find(referenceObject, (hashedItem) => {
- return objectToHash.a === hashedItem.a;
- });
+ const hashedObject = _.find(referenceObject, hashedItem => objectToHash.a === hashedItem.a);
expect(hashedObject.a).to.equal(objectToHash.a);
expect(hashedObject.id).to.equal(objectToHash.id);
diff --git a/test/common/libs/shops.js b/test/common/libs/shops.js
index 1da334dae0..b46f32f366 100644
--- a/test/common/libs/shops.js
+++ b/test/common/libs/shops.js
@@ -4,31 +4,31 @@ import {
} from '../../helpers/common.helper';
describe('shops', () => {
- let user = generateUser();
+ const user = generateUser();
describe('market', () => {
- let shopCategories = shared.shops.getMarketCategories(user);
+ const shopCategories = shared.shops.getMarketCategories(user);
it('contains at least the 3 default categories', () => {
expect(shopCategories.length).to.be.greaterThan(2);
});
it('does not contain an empty category', () => {
- _.each(shopCategories, (category) => {
+ _.each(shopCategories, category => {
expect(category.items.length).to.be.greaterThan(0);
});
});
it('does not duplicate identifiers', () => {
- let identifiers = Array.from(new Set(shopCategories.map(cat => cat.identifier)));
+ const identifiers = Array.from(new Set(shopCategories.map(cat => cat.identifier)));
expect(identifiers.length).to.eql(shopCategories.length);
});
it('items contain required fields', () => {
- _.each(shopCategories, (category) => {
- _.each(category.items, (item) => {
- _.each(['key', 'text', 'notes', 'value', 'currency', 'locked', 'purchaseType', 'class'], (key) => {
+ _.each(shopCategories, category => {
+ _.each(category.items, item => {
+ _.each(['key', 'text', 'notes', 'value', 'currency', 'locked', 'purchaseType', 'class'], key => {
expect(_.has(item, key)).to.eql(true);
});
});
@@ -36,7 +36,7 @@ describe('shops', () => {
});
it('shows relevant non class gear in special category', () => {
- let contributor = generateUser({
+ const contributor = generateUser({
contributor: {
level: 7,
critical: true,
@@ -50,18 +50,18 @@ describe('shops', () => {
},
});
- let gearCategories = shared.shops.getMarketGearCategories(contributor);
- let specialCategory = gearCategories.find(o => o.identifier === 'none');
- expect(specialCategory.items.find((item) => item.key === 'weapon_special_1'));
- expect(specialCategory.items.find((item) => item.key === 'armor_special_1'));
- expect(specialCategory.items.find((item) => item.key === 'head_special_1'));
- expect(specialCategory.items.find((item) => item.key === 'shield_special_1'));
- expect(specialCategory.items.find((item) => item.key === 'weapon_special_critical'));
- expect(specialCategory.items.find((item) => item.key === 'weapon_armoire_basicCrossbow'));// eslint-disable-line camelcase
+ const gearCategories = shared.shops.getMarketGearCategories(contributor);
+ const specialCategory = gearCategories.find(o => o.identifier === 'none');
+ expect(specialCategory.items.find(item => item.key === 'weapon_special_1'));
+ expect(specialCategory.items.find(item => item.key === 'armor_special_1'));
+ expect(specialCategory.items.find(item => item.key === 'head_special_1'));
+ expect(specialCategory.items.find(item => item.key === 'shield_special_1'));
+ expect(specialCategory.items.find(item => item.key === 'weapon_special_critical'));
+ expect(specialCategory.items.find(item => item.key === 'weapon_armoire_basicCrossbow'));// eslint-disable-line camelcase
});
it('does not show gear when it is all owned', () => {
- let userWithItems = generateUser({
+ const userWithItems = generateUser({
stats: {
class: 'wizard',
},
@@ -91,12 +91,12 @@ describe('shops', () => {
});
- let shopWizardItems = shared.shops.getMarketGearCategories(userWithItems).find(x => x.identifier === 'wizard').items.filter(x => x.klass === 'wizard' && (x.owned === false || x.owned === undefined));
+ const shopWizardItems = shared.shops.getMarketGearCategories(userWithItems).find(x => x.identifier === 'wizard').items.filter(x => x.klass === 'wizard' && (x.owned === false || x.owned === undefined));
expect(shopWizardItems.length).to.eql(0);
});
it('shows available gear not yet purchased and previously owned', () => {
- let userWithItems = generateUser({
+ const userWithItems = generateUser({
stats: {
class: 'wizard',
},
@@ -123,7 +123,7 @@ describe('shops', () => {
});
- let shopWizardItems = shared.shops.getMarketGearCategories(userWithItems).find(x => x.identifier === 'wizard').items.filter(x => x.klass === 'wizard' && (x.owned === false || x.owned === undefined));
+ const shopWizardItems = shared.shops.getMarketGearCategories(userWithItems).find(x => x.identifier === 'wizard').items.filter(x => x.klass === 'wizard' && (x.owned === false || x.owned === undefined));
expect(shopWizardItems.find(item => item.key === 'weapon_wizard_5').locked).to.eql(false);
expect(shopWizardItems.find(item => item.key === 'weapon_wizard_6').locked).to.eql(true);
expect(shopWizardItems.find(item => item.key === 'armor_wizard_3').locked).to.eql(false);
@@ -134,31 +134,31 @@ describe('shops', () => {
});
describe('questShop', () => {
- let shopCategories = shared.shops.getQuestShopCategories(user);
+ const shopCategories = shared.shops.getQuestShopCategories(user);
it('does not contain an empty category', () => {
- _.each(shopCategories, (category) => {
+ _.each(shopCategories, category => {
expect(category.items.length).to.be.greaterThan(0);
});
});
it('does not duplicate identifiers', () => {
- let identifiers = Array.from(new Set(shopCategories.map(cat => cat.identifier)));
+ const identifiers = Array.from(new Set(shopCategories.map(cat => cat.identifier)));
expect(identifiers.length).to.eql(shopCategories.length);
});
it('items contain required fields', () => {
- _.each(shopCategories, (category) => {
+ _.each(shopCategories, category => {
if (category.identifier === 'bundle') {
- _.each(category.items, (item) => {
- _.each(['key', 'text', 'notes', 'value', 'currency', 'purchaseType', 'class'], (key) => {
+ _.each(category.items, item => {
+ _.each(['key', 'text', 'notes', 'value', 'currency', 'purchaseType', 'class'], key => {
expect(_.has(item, key)).to.eql(true);
});
});
} else {
- _.each(category.items, (item) => {
- _.each(['key', 'text', 'notes', 'value', 'currency', 'locked', 'purchaseType', 'boss', 'class', 'collect', 'drop', 'unlockCondition', 'lvl'], (key) => {
+ _.each(category.items, item => {
+ _.each(['key', 'text', 'notes', 'value', 'currency', 'locked', 'purchaseType', 'boss', 'class', 'collect', 'drop', 'unlockCondition', 'lvl'], key => {
expect(_.has(item, key)).to.eql(true);
});
});
@@ -168,24 +168,24 @@ describe('shops', () => {
});
describe('timeTravelers', () => {
- let shopCategories = shared.shops.getTimeTravelersCategories(user);
+ const shopCategories = shared.shops.getTimeTravelersCategories(user);
it('does not contain an empty category', () => {
- _.each(shopCategories, (category) => {
+ _.each(shopCategories, category => {
expect(category.items.length).to.be.greaterThan(0);
});
});
it('does not duplicate identifiers', () => {
- let identifiers = Array.from(new Set(shopCategories.map(cat => cat.identifier)));
+ const identifiers = Array.from(new Set(shopCategories.map(cat => cat.identifier)));
expect(identifiers.length).to.eql(shopCategories.length);
});
it('items contain required fields', () => {
- _.each(shopCategories, (category) => {
- _.each(category.items, (item) => {
- _.each(['key', 'text', 'value', 'currency', 'locked', 'purchaseType', 'class', 'notes', 'class'], (key) => {
+ _.each(shopCategories, category => {
+ _.each(category.items, item => {
+ _.each(['key', 'text', 'value', 'currency', 'locked', 'purchaseType', 'class', 'notes', 'class'], key => {
expect(_.has(item, key)).to.eql(true);
});
});
@@ -194,24 +194,24 @@ describe('shops', () => {
});
describe('seasonalShop', () => {
- let shopCategories = shared.shops.getSeasonalShopCategories(user);
+ const shopCategories = shared.shops.getSeasonalShopCategories(user);
it('does not contain an empty category', () => {
- _.each(shopCategories, (category) => {
+ _.each(shopCategories, category => {
expect(category.items.length).to.be.greaterThan(0);
});
});
it('does not duplicate identifiers', () => {
- let identifiers = Array.from(new Set(shopCategories.map(cat => cat.identifier)));
+ const identifiers = Array.from(new Set(shopCategories.map(cat => cat.identifier)));
expect(identifiers.length).to.eql(shopCategories.length);
});
it('items contain required fields', () => {
- _.each(shopCategories, (category) => {
- _.each(category.items, (item) => {
- _.each(['key', 'text', 'notes', 'value', 'currency', 'locked', 'purchaseType', 'type'], (key) => {
+ _.each(shopCategories, category => {
+ _.each(category.items, item => {
+ _.each(['key', 'text', 'notes', 'value', 'currency', 'locked', 'purchaseType', 'type'], key => {
expect(_.has(item, key)).to.eql(true);
});
});
diff --git a/test/common/libs/taskDefaults.test.js b/test/common/libs/taskDefaults.test.js
index 1ec59b562c..e69bafa45d 100644
--- a/test/common/libs/taskDefaults.test.js
+++ b/test/common/libs/taskDefaults.test.js
@@ -5,7 +5,7 @@ import { generateUser } from '../../helpers/common.helper';
describe('taskDefaults', () => {
it('applies defaults to undefined type or habit', () => {
- let task = taskDefaults({}, generateUser());
+ const task = taskDefaults({}, generateUser());
expect(task.type).to.eql('habit');
expect(task._id).to.exist;
expect(task.text).to.eql(task._id);
@@ -21,7 +21,7 @@ describe('taskDefaults', () => {
});
it('applies defaults to a daily', () => {
- let task = taskDefaults({ type: 'daily' }, generateUser());
+ const task = taskDefaults({ type: 'daily' }, generateUser());
expect(task.type).to.eql('daily');
expect(task._id).to.exist;
expect(task.text).to.eql(task._id);
@@ -45,7 +45,7 @@ describe('taskDefaults', () => {
});
it('applies defaults a reward', () => {
- let task = taskDefaults({ type: 'reward' }, generateUser());
+ const task = taskDefaults({ type: 'reward' }, generateUser());
expect(task.type).to.eql('reward');
expect(task._id).to.exist;
expect(task.text).to.eql(task._id);
@@ -55,7 +55,7 @@ describe('taskDefaults', () => {
});
it('applies defaults a todo', () => {
- let task = taskDefaults({ type: 'todo' }, generateUser());
+ const task = taskDefaults({ type: 'todo' }, generateUser());
expect(task.type).to.eql('todo');
expect(task._id).to.exist;
expect(task.text).to.eql(task._id);
@@ -67,15 +67,15 @@ describe('taskDefaults', () => {
it('starts a task yesterday if user cron is later today', () => {
// Configure to have a day start that's *always* tomorrow.
- let user = generateUser({'preferences.dayStart': 25});
- let task = taskDefaults({ type: 'daily' }, user);
+ const user = generateUser({ 'preferences.dayStart': 25 });
+ const task = taskDefaults({ type: 'daily' }, user);
expect(task.startDate).to.eql(
moment()
.zone(user.preferences.timezoneOffset, 'hour')
.startOf('day')
.subtract(1, 'day')
- .toDate()
+ .toDate(),
);
});
});
diff --git a/test/common/libs/updateStore.js b/test/common/libs/updateStore.js
index e0e856adca..bc096fc21b 100644
--- a/test/common/libs/updateStore.js
+++ b/test/common/libs/updateStore.js
@@ -6,52 +6,36 @@ import i18n from '../../../website/common/script/i18n';
describe('updateStore', () => {
context('returns a list of gear items available for purchase', () => {
- let user = generateUser();
+ const user = generateUser();
user.items.gear.owned.armor_armoire_lunarArmor = false; // eslint-disable-line camelcase
user.contributor.level = 2;
user.purchased.plan.mysteryItems = ['armor_mystery_201402'];
user.items.gear.owned.armor_mystery_201402 = false; // eslint-disable-line camelcase
- let list = shared.updateStore(user);
+ const list = shared.updateStore(user);
it('contains the first item not purchased for each gear type', () => {
- expect(_.find(list, item => {
- return item.text() === i18n.t('armorWarrior1Text');
- })).to.exist;
+ expect(_.find(list, item => item.text() === i18n.t('armorWarrior1Text'))).to.exist;
- expect(_.find(list, item => {
- return item.text() === i18n.t('armorWarrior2Text');
- })).to.not.exist;
+ expect(_.find(list, item => item.text() === i18n.t('armorWarrior2Text'))).to.not.exist;
});
it('contains mystery items the user can own', () => {
- expect(_.find(list, item => {
- return item.text() === i18n.t('armorMystery201402Text');
- })).to.exist;
+ expect(_.find(list, item => item.text() === i18n.t('armorMystery201402Text'))).to.exist;
- expect(_.find(list, item => {
- return item.text() === i18n.t('armorMystery201403Text');
- })).to.not.exist;
+ expect(_.find(list, item => item.text() === i18n.t('armorMystery201403Text'))).to.not.exist;
});
it('contains special items the user can own', () => {
- expect(_.find(list, item => {
- return item.text() === i18n.t('armorSpecial1Text');
- })).to.exist;
+ expect(_.find(list, item => item.text() === i18n.t('armorSpecial1Text'))).to.exist;
- expect(_.find(list, item => {
- return item.text() === i18n.t('headSpecial1Text');
- })).to.not.exist;
+ expect(_.find(list, item => item.text() === i18n.t('headSpecial1Text'))).to.not.exist;
});
it('contains armoire items the user can own', () => {
- expect(_.find(list, item => {
- return item.text() === i18n.t('armorArmoireLunarArmorText');
- })).to.exist;
+ expect(_.find(list, item => item.text() === i18n.t('armorArmoireLunarArmorText'))).to.exist;
- expect(_.find(list, item => {
- return item.text() === i18n.t('armorArmoireGladiatorArmorText');
- })).to.not.exist;
+ expect(_.find(list, item => item.text() === i18n.t('armorArmoireGladiatorArmorText'))).to.not.exist;
});
});
});
diff --git a/test/common/ops/addTask.js b/test/common/ops/addTask.js
index 9d5e1d7a8e..6f02f47fdc 100644
--- a/test/common/ops/addTask.js
+++ b/test/common/ops/addTask.js
@@ -15,7 +15,7 @@ describe('shared.ops.addTask', () => {
});
it('adds an habit', () => {
- let habit = addTask(user, {
+ const habit = addTask(user, {
body: {
type: 'habit',
text: 'habit',
@@ -39,7 +39,7 @@ describe('shared.ops.addTask', () => {
});
it('adds a habit when type is invalid', () => {
- let habit = addTask(user, {
+ const habit = addTask(user, {
body: {
type: 'invalid',
text: 'habit',
@@ -60,7 +60,7 @@ describe('shared.ops.addTask', () => {
});
it('adds a daily', () => {
- let daily = addTask(user, {
+ const daily = addTask(user, {
body: {
type: 'daily',
text: 'daily',
@@ -80,7 +80,7 @@ describe('shared.ops.addTask', () => {
});
it('adds a todo', () => {
- let todo = addTask(user, {
+ const todo = addTask(user, {
body: {
type: 'todo',
text: 'todo',
@@ -99,7 +99,7 @@ describe('shared.ops.addTask', () => {
});
it('adds a reward', () => {
- let reward = addTask(user, {
+ const reward = addTask(user, {
body: {
type: 'reward',
text: 'reward',
diff --git a/test/common/ops/armoireCanOwn.js b/test/common/ops/armoireCanOwn.js
index 7511fdb4b3..a0dd802aa0 100644
--- a/test/common/ops/armoireCanOwn.js
+++ b/test/common/ops/armoireCanOwn.js
@@ -1,9 +1,9 @@
-import armoireSet from '../../../website/common/script/content/gear/sets/armoire';
+import * as armoireSet from '../../../website/common/script/content/gear/sets/armoire';
describe('armoireSet items', () => {
it('checks if canOwn has the same id', () => {
- for (const type of Object.keys(armoireSet)) {
- for (const itemKey of Object.keys(armoireSet[type])) {
+ Object.keys(armoireSet).forEach(type => {
+ Object.keys(armoireSet[type]).forEach(itemKey => {
const ownedKey = `${type}_armoire_${itemKey}`;
expect(armoireSet[type][itemKey].canOwn({
@@ -15,7 +15,7 @@ describe('armoireSet items', () => {
},
},
}), `${ownedKey} canOwn is broken`).to.eq(true);
- }
- }
+ });
+ });
});
});
diff --git a/test/common/ops/blockUser.test.js b/test/common/ops/blockUser.test.js
index 16c439c94d..7c871f5b62 100644
--- a/test/common/ops/blockUser.test.js
+++ b/test/common/ops/blockUser.test.js
@@ -16,7 +16,7 @@ describe('shared.ops.blockUser', () => {
expect(user.inbox.blocks).to.eql([]);
});
- it('validates uuid', (done) => {
+ it('validates uuid', done => {
try {
blockUser(user, { params: { uuid: '1' } });
} catch (error) {
@@ -25,7 +25,7 @@ describe('shared.ops.blockUser', () => {
}
});
- it('validates user can\'t block himself', (done) => {
+ it('validates user can\'t block himself', done => {
try {
blockUser(user, { params: { uuid: user._id } });
} catch (error) {
@@ -46,7 +46,7 @@ describe('shared.ops.blockUser', () => {
it('blocks, then unblocks user', () => {
blockUser(user, { params: { uuid: blockedUser._id } });
expect(user.inbox.blocks).to.eql([blockedUser._id]);
- let [result] = blockUser(user, { params: { uuid: blockedUser._id } });
+ const [result] = blockUser(user, { params: { uuid: blockedUser._id } });
expect(user.inbox.blocks).to.eql([]);
expect(result).to.eql([]);
});
diff --git a/test/common/ops/buy/buy.js b/test/common/ops/buy/buy.js
index 582166e9a9..eed601e10a 100644
--- a/test/common/ops/buy/buy.js
+++ b/test/common/ops/buy/buy.js
@@ -1,4 +1,5 @@
/* eslint-disable camelcase */
+import { defaultsDeep } from 'lodash';
import {
generateUser,
} from '../../../helpers/common.helper';
@@ -9,11 +10,10 @@ import {
import i18n from '../../../../website/common/script/i18n';
import content from '../../../../website/common/script/content/index';
import errorMessage from '../../../../website/common/script/libs/errorMessage';
-import { defaultsDeep } from 'lodash';
describe('shared.ops.buy', () => {
let user;
- let analytics = {track () {}};
+ const analytics = { track () {} };
beforeEach(() => {
user = generateUser({
@@ -40,7 +40,7 @@ describe('shared.ops.buy', () => {
analytics.track.restore();
});
- it('returns error when key is not provided', (done) => {
+ it('returns error when key is not provided', done => {
try {
buy(user);
} catch (err) {
@@ -52,7 +52,7 @@ describe('shared.ops.buy', () => {
it('recovers 15 hp', () => {
user.stats.hp = 30;
- buy(user, {params: {key: 'potion'}}, analytics);
+ buy(user, { params: { key: 'potion' } }, analytics);
expect(user.stats.hp).to.eql(45);
expect(analytics.track).to.be.calledOnce;
@@ -61,7 +61,7 @@ describe('shared.ops.buy', () => {
it('adds equipment to inventory', () => {
user.stats.gp = 31;
- buy(user, {params: {key: 'armor_warrior_1'}});
+ buy(user, { params: { key: 'armor_warrior_1' } });
expect(user.items.gear.owned).to.eql({
weapon_warrior_0: true,
@@ -118,15 +118,15 @@ describe('shared.ops.buy', () => {
type: 'quest',
});
- expect(user.items.quests).to.eql({dilatoryDistress1: 1});
+ expect(user.items.quests).to.eql({ dilatoryDistress1: 1 });
expect(user.stats.gp).to.equal(5);
});
it('buys a special item', () => {
user.stats.gp = 11;
- let item = content.special.thankyou;
+ const item = content.special.thankyou;
- let [data, message] = buy(user, {
+ const [data, message] = buy(user, {
params: {
key: 'thankyou',
},
@@ -146,11 +146,11 @@ describe('shared.ops.buy', () => {
it('allows for bulk purchases', () => {
user.stats.hp = 30;
- buy(user, {params: {key: 'potion'}, quantity: 2});
+ buy(user, { params: { key: 'potion' }, quantity: 2 });
expect(user.stats.hp).to.eql(50);
});
- it('errors if user supplies a non-numeric quantity', (done) => {
+ it('errors if user supplies a non-numeric quantity', done => {
try {
buy(user, {
params: {
@@ -166,7 +166,7 @@ describe('shared.ops.buy', () => {
}
});
- it('errors if user supplies a negative quantity', (done) => {
+ it('errors if user supplies a negative quantity', done => {
try {
buy(user, {
params: {
@@ -182,7 +182,7 @@ describe('shared.ops.buy', () => {
}
});
- it('errors if user supplies a decimal quantity', (done) => {
+ it('errors if user supplies a decimal quantity', done => {
try {
buy(user, {
params: {
diff --git a/test/common/ops/buy/buyArmoire.js b/test/common/ops/buy/buyArmoire.js
index 3c58585022..a3a79d8341 100644
--- a/test/common/ops/buy/buyArmoire.js
+++ b/test/common/ops/buy/buyArmoire.js
@@ -3,9 +3,9 @@
import {
generateUser,
} from '../../../helpers/common.helper';
-import count from '../../../../website/common/script/count';
-import {BuyArmoireOperation} from '../../../../website/common/script/ops/buy/buyArmoire';
-import randomVal from '../../../../website/common/script/libs/randomVal';
+import * as count from '../../../../website/common/script/count';
+import { BuyArmoireOperation } from '../../../../website/common/script/ops/buy/buyArmoire';
+import * as randomValFns from '../../../../website/common/script/libs/randomVal';
import content from '../../../../website/common/script/content/index';
import {
NotAuthorized,
@@ -13,11 +13,11 @@ import {
import i18n from '../../../../website/common/script/i18n';
function getFullArmoire () {
- let fullArmoire = {};
+ const fullArmoire = {};
- _.each(content.gearTypes, (type) => {
- _.each(content.gear.tree[type].armoire, (gearObject) => {
- let armoireKey = gearObject.key;
+ _.each(content.gearTypes, type => {
+ _.each(content.gear.tree[type].armoire, gearObject => {
+ const armoireKey = gearObject.key;
fullArmoire[armoireKey] = true;
});
@@ -28,10 +28,10 @@ function getFullArmoire () {
describe('shared.ops.buyArmoire', () => {
let user;
- let YIELD_EQUIPMENT = 0.5;
- let YIELD_FOOD = 0.7;
- let YIELD_EXP = 0.9;
- let analytics = {track () {}};
+ const YIELD_EQUIPMENT = 0.5;
+ const YIELD_FOOD = 0.7;
+ const YIELD_EXP = 0.9;
+ const analytics = { track () {} };
function buyArmoire (_user, _req, _analytics) {
const buyOp = new BuyArmoireOperation(_user, _req, _analytics);
@@ -51,17 +51,17 @@ describe('shared.ops.buyArmoire', () => {
user.stats.exp = 0;
user.items.food = {};
- sandbox.stub(randomVal, 'trueRandom');
+ sandbox.stub(randomValFns, 'trueRandom');
sinon.stub(analytics, 'track');
});
afterEach(() => {
- randomVal.trueRandom.restore();
+ randomValFns.trueRandom.restore();
analytics.track.restore();
});
context('failure conditions', () => {
- it('does not open if user does not have enough gold', (done) => {
+ it('does not open if user does not have enough gold', done => {
user.stats.gp = 50;
try {
@@ -81,39 +81,39 @@ describe('shared.ops.buyArmoire', () => {
context('non-gear awards', () => {
it('gives Experience', () => {
- let previousExp = user.stats.exp;
- randomVal.trueRandom.returns(YIELD_EXP);
+ const previousExp = user.stats.exp;
+ randomValFns.trueRandom.returns(YIELD_EXP);
buyArmoire(user);
- expect(user.items.gear.owned).to.eql({weapon_warrior_0: true});
+ expect(user.items.gear.owned).to.eql({ weapon_warrior_0: true });
expect(user.items.food).to.be.empty;
expect(user.stats.exp).to.be.greaterThan(previousExp);
expect(user.stats.gp).to.equal(100);
});
it('gives food', () => {
- let previousExp = user.stats.exp;
+ const previousExp = user.stats.exp;
- randomVal.trueRandom.returns(YIELD_FOOD);
+ randomValFns.trueRandom.returns(YIELD_FOOD);
buyArmoire(user);
- expect(user.items.gear.owned).to.eql({weapon_warrior_0: true});
+ expect(user.items.gear.owned).to.eql({ weapon_warrior_0: true });
expect(user.items.food).to.not.be.empty;
expect(user.stats.exp).to.equal(previousExp);
expect(user.stats.gp).to.equal(100);
});
it('does not give equipment if all equipment has been found', () => {
- randomVal.trueRandom.returns(YIELD_EQUIPMENT);
+ randomValFns.trueRandom.returns(YIELD_EQUIPMENT);
user.items.gear.owned = getFullArmoire();
user.stats.gp = 150;
buyArmoire(user);
expect(user.items.gear.owned).to.eql(getFullArmoire());
- let armoireCount = count.remainingGearInSet(user.items.gear.owned, 'armoire');
+ const armoireCount = count.remainingGearInSet(user.items.gear.owned, 'armoire');
expect(armoireCount).to.eql(0);
@@ -124,7 +124,7 @@ describe('shared.ops.buyArmoire', () => {
context('gear awards', () => {
it('always drops equipment the first time', () => {
delete user.flags.armoireOpened;
- randomVal.trueRandom.returns(YIELD_EXP);
+ randomValFns.trueRandom.returns(YIELD_EXP);
expect(_.size(user.items.gear.owned)).to.equal(1);
@@ -132,7 +132,7 @@ describe('shared.ops.buyArmoire', () => {
expect(_.size(user.items.gear.owned)).to.equal(2);
- let armoireCount = count.remainingGearInSet(user.items.gear.owned, 'armoire');
+ const armoireCount = count.remainingGearInSet(user.items.gear.owned, 'armoire');
expect(armoireCount).to.eql(_.size(getFullArmoire()) - 1);
expect(user.items.food).to.be.empty;
@@ -141,7 +141,7 @@ describe('shared.ops.buyArmoire', () => {
});
it('gives more equipment', () => {
- randomVal.trueRandom.returns(YIELD_EQUIPMENT);
+ randomValFns.trueRandom.returns(YIELD_EQUIPMENT);
user.items.gear.owned = {
weapon_warrior_0: true,
head_armoire_hornedIronHelm: true,
@@ -154,7 +154,7 @@ describe('shared.ops.buyArmoire', () => {
expect(_.size(user.items.gear.owned)).to.equal(3);
- let armoireCount = count.remainingGearInSet(user.items.gear.owned, 'armoire');
+ const armoireCount = count.remainingGearInSet(user.items.gear.owned, 'armoire');
expect(armoireCount).to.eql(_.size(getFullArmoire()) - 2);
expect(user.stats.gp).to.eql(100);
diff --git a/test/common/ops/buy/buyGem.js b/test/common/ops/buy/buyGem.js
index fc3d00f708..d0a726a86d 100644
--- a/test/common/ops/buy/buyGem.js
+++ b/test/common/ops/buy/buyGem.js
@@ -8,21 +8,21 @@ import {
BadRequest, NotAuthorized,
} from '../../../../website/common/script/libs/errors';
import i18n from '../../../../website/common/script/i18n';
-import {BuyGemOperation} from '../../../../website/common/script/ops/buy/buyGem';
+import { BuyGemOperation } from '../../../../website/common/script/ops/buy/buyGem';
import planGemLimits from '../../../../website/common/script/libs/planGemLimits';
function buyGem (user, req, analytics) {
- let buyOp = new BuyGemOperation(user, req, analytics);
+ const buyOp = new BuyGemOperation(user, req, analytics);
return buyOp.purchase();
}
describe('shared.ops.buyGem', () => {
let user;
- let analytics = {track () {}};
- let goldPoints = 40;
- let gemsBought = 40;
- let userGemAmount = 10;
+ const analytics = { track () {} };
+ const goldPoints = 40;
+ const gemsBought = 40;
+ const userGemAmount = 10;
beforeEach(() => {
user = generateUser({
@@ -45,9 +45,9 @@ describe('shared.ops.buyGem', () => {
context('Gems', () => {
it('purchases gems', () => {
- let [, message] = buyGem(user, {params: {type: 'gems', key: 'gem'}}, analytics);
+ const [, message] = buyGem(user, { params: { type: 'gems', key: 'gem' } }, analytics);
- expect(message).to.equal(i18n.t('plusGem', {count: 1}));
+ expect(message).to.equal(i18n.t('plusGem', { count: 1 }));
expect(user.balance).to.equal(userGemAmount + 0.25);
expect(user.purchased.plan.gemsBought).to.equal(1);
expect(user.stats.gp).to.equal(goldPoints - planGemLimits.convRate);
@@ -55,21 +55,21 @@ describe('shared.ops.buyGem', () => {
});
it('purchases gems with a different language than the default', () => {
- let [, message] = buyGem(user, {params: {type: 'gems', key: 'gem'}, language: 'de'});
+ const [, message] = buyGem(user, { params: { type: 'gems', key: 'gem' }, language: 'de' });
- expect(message).to.equal(i18n.t('plusGem', {count: 1}, 'de'));
+ expect(message).to.equal(i18n.t('plusGem', { count: 1 }, 'de'));
expect(user.balance).to.equal(userGemAmount + 0.25);
expect(user.purchased.plan.gemsBought).to.equal(1);
expect(user.stats.gp).to.equal(goldPoints - planGemLimits.convRate);
});
it('makes bulk purchases of gems', () => {
- let [, message] = buyGem(user, {
- params: {type: 'gems', key: 'gem'},
+ const [, message] = buyGem(user, {
+ params: { type: 'gems', key: 'gem' },
quantity: 2,
});
- expect(message).to.equal(i18n.t('plusGem', {count: 2}));
+ expect(message).to.equal(i18n.t('plusGem', { count: 2 }));
expect(user.balance).to.equal(userGemAmount + 0.50);
expect(user.purchased.plan.gemsBought).to.equal(2);
expect(user.stats.gp).to.equal(goldPoints - planGemLimits.convRate * 2);
@@ -77,9 +77,9 @@ describe('shared.ops.buyGem', () => {
context('Failure conditions', () => {
- it('returns an error when key is not provided', (done) => {
+ it('returns an error when key is not provided', done => {
try {
- buyGem(user, {params: {type: 'gems'}});
+ buyGem(user, { params: { type: 'gems' } });
} catch (err) {
expect(err).to.be.an.instanceof(BadRequest);
expect(err.message).to.equal(i18n.t('missingKeyParam'));
@@ -87,11 +87,11 @@ describe('shared.ops.buyGem', () => {
}
});
- it('prevents unsubscribed user from buying gems', (done) => {
+ it('prevents unsubscribed user from buying gems', done => {
delete user.purchased.plan.customerId;
try {
- buyGem(user, {params: {type: 'gems', key: 'gem'}});
+ buyGem(user, { params: { type: 'gems', key: 'gem' } });
} catch (err) {
expect(err).to.be.an.instanceof(NotAuthorized);
expect(err.message).to.equal(i18n.t('mustSubscribeToPurchaseGems'));
@@ -99,11 +99,11 @@ describe('shared.ops.buyGem', () => {
}
});
- it('prevents user with not enough gold from buying gems', (done) => {
+ it('prevents user with not enough gold from buying gems', done => {
user.stats.gp = 15;
try {
- buyGem(user, {params: {type: 'gems', key: 'gem'}});
+ buyGem(user, { params: { type: 'gems', key: 'gem' } });
} catch (err) {
expect(err).to.be.an.instanceof(NotAuthorized);
expect(err.message).to.equal(i18n.t('messageNotEnoughGold'));
@@ -111,25 +111,25 @@ describe('shared.ops.buyGem', () => {
}
});
- it('prevents user that have reached the conversion cap from buying gems', (done) => {
+ it('prevents user that have reached the conversion cap from buying gems', done => {
user.stats.gp = goldPoints;
user.purchased.plan.gemsBought = gemsBought;
try {
- buyGem(user, {params: {type: 'gems', key: 'gem'}});
+ buyGem(user, { params: { type: 'gems', key: 'gem' } });
} catch (err) {
expect(err).to.be.an.instanceof(NotAuthorized);
- expect(err.message).to.equal(i18n.t('reachedGoldToGemCap', {convCap: planGemLimits.convCap}));
+ expect(err.message).to.equal(i18n.t('reachedGoldToGemCap', { convCap: planGemLimits.convCap }));
done();
}
});
- it('prevents user from buying an invalid quantity', (done) => {
+ it('prevents user from buying an invalid quantity', done => {
user.stats.gp = goldPoints;
user.purchased.plan.gemsBought = gemsBought;
try {
- buyGem(user, {params: {type: 'gems', key: 'gem'}, quantity: 'a'});
+ buyGem(user, { params: { type: 'gems', key: 'gem' }, quantity: 'a' });
} catch (err) {
expect(err).to.be.an.instanceof(BadRequest);
expect(err.message).to.equal(i18n.t('invalidQuantity'));
diff --git a/test/common/ops/buy/buyHealthPotion.js b/test/common/ops/buy/buyHealthPotion.js
index 9f04c4d6bb..5ed2df7e19 100644
--- a/test/common/ops/buy/buyHealthPotion.js
+++ b/test/common/ops/buy/buyHealthPotion.js
@@ -10,7 +10,7 @@ import i18n from '../../../../website/common/script/i18n';
describe('shared.ops.buyHealthPotion', () => {
let user;
- let analytics = {track () {}};
+ const analytics = { track () {} };
function buyHealthPotion (_user, _req, _analytics) {
const buyOp = new BuyHealthPotionOperation(_user, _req, _analytics);
@@ -60,7 +60,7 @@ describe('shared.ops.buyHealthPotion', () => {
expect(user.stats.gp).to.eql(175);
});
- it('does not purchase if not enough gp', (done) => {
+ it('does not purchase if not enough gp', done => {
user.stats.hp = 45;
user.stats.gp = 5;
try {
@@ -75,7 +75,7 @@ describe('shared.ops.buyHealthPotion', () => {
}
});
- it('does not purchase if hp is full', (done) => {
+ it('does not purchase if hp is full', done => {
user.stats.hp = 50;
user.stats.gp = 40;
try {
@@ -90,7 +90,7 @@ describe('shared.ops.buyHealthPotion', () => {
}
});
- it('does not allow potion purchases when hp is zero', (done) => {
+ it('does not allow potion purchases when hp is zero', done => {
user.stats.hp = 0;
user.stats.gp = 40;
try {
@@ -105,7 +105,7 @@ describe('shared.ops.buyHealthPotion', () => {
}
});
- it('does not allow potion purchases when hp is negative', (done) => {
+ it('does not allow potion purchases when hp is negative', done => {
user.stats.hp = -8;
user.stats.gp = 40;
try {
diff --git a/test/common/ops/buy/buyMarketGear.js b/test/common/ops/buy/buyMarketGear.js
index a732afa4e0..3b123d5a6c 100644
--- a/test/common/ops/buy/buyMarketGear.js
+++ b/test/common/ops/buy/buyMarketGear.js
@@ -1,27 +1,27 @@
/* eslint-disable camelcase */
import sinon from 'sinon'; // eslint-disable-line no-shadow
+import { defaultsDeep } from 'lodash';
import {
generateUser,
} from '../../../helpers/common.helper';
-import {BuyMarketGearOperation} from '../../../../website/common/script/ops/buy/buyMarketGear';
+import { BuyMarketGearOperation } from '../../../../website/common/script/ops/buy/buyMarketGear';
import shared from '../../../../website/common/script';
import {
BadRequest, NotAuthorized, NotFound,
} from '../../../../website/common/script/libs/errors';
import i18n from '../../../../website/common/script/i18n';
import errorMessage from '../../../../website/common/script/libs/errorMessage';
-import { defaultsDeep } from 'lodash';
function buyGear (user, req, analytics) {
- let buyOp = new BuyMarketGearOperation(user, req, analytics);
+ const buyOp = new BuyMarketGearOperation(user, req, analytics);
return buyOp.purchase();
}
describe('shared.ops.buyMarketGear', () => {
let user;
- let analytics = {track () {}};
+ const analytics = { track () {} };
beforeEach(() => {
user = generateUser({
@@ -56,7 +56,7 @@ describe('shared.ops.buyMarketGear', () => {
it('adds equipment to inventory', () => {
user.stats.gp = 31;
- buyGear(user, {params: {key: 'armor_warrior_1'}}, analytics);
+ buyGear(user, { params: { key: 'armor_warrior_1' } }, analytics);
expect(user.items.gear.owned).to.eql({
weapon_warrior_0: true,
@@ -89,7 +89,7 @@ describe('shared.ops.buyMarketGear', () => {
it('deducts gold from user', () => {
user.stats.gp = 31;
- buyGear(user, {params: {key: 'armor_warrior_1'}});
+ buyGear(user, { params: { key: 'armor_warrior_1' } });
expect(user.stats.gp).to.eql(1);
});
@@ -98,7 +98,7 @@ describe('shared.ops.buyMarketGear', () => {
user.stats.gp = 31;
user.preferences.autoEquip = true;
- buyGear(user, {params: {key: 'armor_warrior_1'}});
+ buyGear(user, { params: { key: 'armor_warrior_1' } });
expect(user.items.gear.equipped).to.have.property('armor', 'armor_warrior_1');
});
@@ -106,7 +106,7 @@ describe('shared.ops.buyMarketGear', () => {
it('updates the pinnedItems to the next item in the set if one exists', () => {
user.stats.gp = 31;
- buyGear(user, {params: {key: 'armor_warrior_1'}});
+ buyGear(user, { params: { key: 'armor_warrior_1' } });
expect(user.pinnedItems).to.deep.include({
type: 'marketGear',
@@ -118,17 +118,17 @@ describe('shared.ops.buyMarketGear', () => {
user.stats.gp = 31;
user.preferences.autoEquip = false;
- buyGear(user, {params: {key: 'armor_warrior_1'}});
+ buyGear(user, { params: { key: 'armor_warrior_1' } });
expect(user.items.gear.equipped.property).to.not.equal('armor_warrior_1');
});
- it('does not buyGear equipment twice', (done) => {
+ it('does not buyGear equipment twice', done => {
user.stats.gp = 62;
- buyGear(user, {params: {key: 'armor_warrior_1'}});
+ buyGear(user, { params: { key: 'armor_warrior_1' } });
try {
- buyGear(user, {params: {key: 'armor_warrior_1'}});
+ buyGear(user, { params: { key: 'armor_warrior_1' } });
} catch (err) {
expect(err).to.be.an.instanceof(NotAuthorized);
expect(err.message).to.equal(i18n.t('equipmentAlreadyOwned'));
@@ -136,12 +136,12 @@ describe('shared.ops.buyMarketGear', () => {
}
});
- it('does not buy equipment of different class', (done) => {
+ it('does not buy equipment of different class', done => {
user.stats.gp = 82;
user.stats.class = 'warrior';
try {
- buyGear(user, {params: {key: 'weapon_special_winter2018Rogue'}});
+ buyGear(user, { params: { key: 'weapon_special_winter2018Rogue' } });
} catch (err) {
expect(err).to.be.an.instanceof(NotAuthorized);
expect(err.message).to.equal(i18n.t('cannotBuyItem'));
@@ -149,11 +149,11 @@ describe('shared.ops.buyMarketGear', () => {
}
});
- it('does not buy equipment in bulk', (done) => {
+ it('does not buy equipment in bulk', done => {
user.stats.gp = 82;
try {
- buyGear(user, {params: {key: 'armor_warrior_1'}, quantity: 3});
+ buyGear(user, { params: { key: 'armor_warrior_1' }, quantity: 3 });
} catch (err) {
expect(err).to.be.an.instanceof(NotAuthorized);
expect(err.message).to.equal(i18n.t('messageNotAbleToBuyInBulk'));
@@ -165,12 +165,12 @@ describe('shared.ops.buyMarketGear', () => {
xit('removes one-handed weapon and shield if auto-equip is on and a two-hander is bought', () => {
user.stats.gp = 100;
user.preferences.autoEquip = true;
- buyGear(user, {params: {key: 'shield_warrior_1'}});
- user.ops.equip({params: {key: 'shield_warrior_1'}});
- buyGear(user, {params: {key: 'weapon_warrior_1'}});
- user.ops.equip({params: {key: 'weapon_warrior_1'}});
+ buyGear(user, { params: { key: 'shield_warrior_1' } });
+ user.ops.equip({ params: { key: 'shield_warrior_1' } });
+ buyGear(user, { params: { key: 'weapon_warrior_1' } });
+ user.ops.equip({ params: { key: 'weapon_warrior_1' } });
- buyGear(user, {params: {key: 'weapon_wizard_1'}});
+ buyGear(user, { params: { key: 'weapon_wizard_1' } });
expect(user.items.gear.equipped).to.have.property('shield', 'shield_base_0');
expect(user.items.gear.equipped).to.have.property('weapon', 'weapon_wizard_1');
@@ -180,22 +180,22 @@ describe('shared.ops.buyMarketGear', () => {
xit('buyGears two-handed equipment but does not automatically remove sword or shield', () => {
user.stats.gp = 100;
user.preferences.autoEquip = false;
- buyGear(user, {params: {key: 'shield_warrior_1'}});
- user.ops.equip({params: {key: 'shield_warrior_1'}});
- buyGear(user, {params: {key: 'weapon_warrior_1'}});
- user.ops.equip({params: {key: 'weapon_warrior_1'}});
+ buyGear(user, { params: { key: 'shield_warrior_1' } });
+ user.ops.equip({ params: { key: 'shield_warrior_1' } });
+ buyGear(user, { params: { key: 'weapon_warrior_1' } });
+ user.ops.equip({ params: { key: 'weapon_warrior_1' } });
- buyGear(user, {params: {key: 'weapon_wizard_1'}});
+ buyGear(user, { params: { key: 'weapon_wizard_1' } });
expect(user.items.gear.equipped).to.have.property('shield', 'shield_warrior_1');
expect(user.items.gear.equipped).to.have.property('weapon', 'weapon_warrior_1');
});
- it('does not buyGear equipment without enough Gold', (done) => {
+ it('does not buyGear equipment without enough Gold', done => {
user.stats.gp = 20;
try {
- buyGear(user, {params: {key: 'armor_warrior_1'}});
+ buyGear(user, { params: { key: 'armor_warrior_1' } });
} catch (err) {
expect(err).to.be.an.instanceof(NotAuthorized);
expect(err.message).to.equal(i18n.t('messageNotEnoughGold'));
@@ -204,7 +204,7 @@ describe('shared.ops.buyMarketGear', () => {
}
});
- it('returns error when key is not provided', (done) => {
+ it('returns error when key is not provided', done => {
try {
buyGear(user);
} catch (err) {
@@ -214,11 +214,11 @@ describe('shared.ops.buyMarketGear', () => {
}
});
- it('returns error when item is not found', (done) => {
- let params = {key: 'armor_warrior_notExisting'};
+ it('returns error when item is not found', done => {
+ const params = { key: 'armor_warrior_notExisting' };
try {
- buyGear(user, {params});
+ buyGear(user, { params });
} catch (err) {
expect(err).to.be.an.instanceof(NotFound);
expect(err.message).to.equal(errorMessage('itemNotFound', params));
@@ -226,9 +226,9 @@ describe('shared.ops.buyMarketGear', () => {
}
});
- it('does not buyGear equipment without the previous equipment', (done) => {
+ it('does not buyGear equipment without the previous equipment', done => {
try {
- buyGear(user, {params: {key: 'armor_warrior_2'}});
+ buyGear(user, { params: { key: 'armor_warrior_2' } });
} catch (err) {
expect(err).to.be.an.instanceof(NotAuthorized);
expect(err.message).to.equal(i18n.t('previousGearNotOwned'));
@@ -236,11 +236,11 @@ describe('shared.ops.buyMarketGear', () => {
}
});
- it('does not buyGear equipment if user does not own prior item in sequence', (done) => {
+ it('does not buyGear equipment if user does not own prior item in sequence', done => {
user.stats.gp = 200;
try {
- buyGear(user, {params: {key: 'armor_warrior_2'}});
+ buyGear(user, { params: { key: 'armor_warrior_2' } });
} catch (err) {
expect(err).to.be.an.instanceof(NotAuthorized);
expect(err.message).to.equal(i18n.t('previousGearNotOwned'));
@@ -253,7 +253,7 @@ describe('shared.ops.buyMarketGear', () => {
user.stats.gp = 200;
user.items.gear.owned.head_special_2 = false;
- buyGear(user, {params: {key: 'head_special_2'}});
+ buyGear(user, { params: { key: 'head_special_2' } });
expect(user.items.gear.owned).to.have.property('head_special_2', true);
});
@@ -262,7 +262,7 @@ describe('shared.ops.buyMarketGear', () => {
user.stats.gp = 200;
user.items.gear.owned.shield_armoire_ramHornShield = false;
- buyGear(user, {params: {key: 'shield_armoire_ramHornShield'}});
+ buyGear(user, { params: { key: 'shield_armoire_ramHornShield' } });
expect(user.items.gear.owned).to.have.property('shield_armoire_ramHornShield', true);
});
diff --git a/test/common/ops/buy/buyMysterySet.js b/test/common/ops/buy/buyMysterySet.js
index dca60d7489..6db89cf998 100644
--- a/test/common/ops/buy/buyMysterySet.js
+++ b/test/common/ops/buy/buyMysterySet.js
@@ -14,7 +14,7 @@ import errorMessage from '../../../../website/common/script/libs/errorMessage';
describe('shared.ops.buyMysterySet', () => {
let user;
- let analytics = {track () {}};
+ const analytics = { track () {} };
beforeEach(() => {
user = generateUser({
@@ -35,9 +35,9 @@ describe('shared.ops.buyMysterySet', () => {
context('Mystery Sets', () => {
context('failure conditions', () => {
- it('does not grant mystery sets without Mystic Hourglasses', (done) => {
+ it('does not grant mystery sets without Mystic Hourglasses', done => {
try {
- buyMysterySet(user, {params: {key: '201501'}});
+ buyMysterySet(user, { params: { key: '201501' } });
} catch (err) {
expect(err).to.be.an.instanceof(NotAuthorized);
expect(err.message).to.eql(i18n.t('notEnoughHourglasses'));
@@ -46,7 +46,7 @@ describe('shared.ops.buyMysterySet', () => {
}
});
- it('does not grant mystery set that has already been purchased', (done) => {
+ it('does not grant mystery set that has already been purchased', done => {
user.purchased.plan.consecutive.trinkets = 1;
user.items.gear.owned = {
weapon_warrior_0: true,
@@ -57,7 +57,7 @@ describe('shared.ops.buyMysterySet', () => {
};
try {
- buyMysterySet(user, {params: {key: '301404'}});
+ buyMysterySet(user, { params: { key: '301404' } });
} catch (err) {
expect(err).to.be.an.instanceof(NotFound);
expect(err.message).to.eql(i18n.t('mysterySetNotFound'));
@@ -66,7 +66,7 @@ describe('shared.ops.buyMysterySet', () => {
}
});
- it('returns error when key is not provided', (done) => {
+ it('returns error when key is not provided', done => {
try {
buyMysterySet(user);
} catch (err) {
@@ -80,7 +80,7 @@ describe('shared.ops.buyMysterySet', () => {
context('successful purchases', () => {
it('buys Steampunk Accessories Set', () => {
user.purchased.plan.consecutive.trinkets = 1;
- buyMysterySet(user, {params: {key: '301404'}}, analytics);
+ buyMysterySet(user, { params: { key: '301404' } }, analytics);
expect(user.purchased.plan.consecutive.trinkets).to.eql(0);
expect(user.items.gear.owned).to.have.property('weapon_warrior_0', true);
diff --git a/test/common/ops/buy/buyQuestGems.js b/test/common/ops/buy/buyQuestGems.js
index 8e98e1b94d..d1c25b0832 100644
--- a/test/common/ops/buy/buyQuestGems.js
+++ b/test/common/ops/buy/buyQuestGems.js
@@ -1,4 +1,4 @@
-import pinnedGearUtils from '../../../../website/common/script/ops/pinnedGearUtils';
+import * as pinnedGearUtils from '../../../../website/common/script/ops/pinnedGearUtils';
import {
NotAuthorized,
} from '../../../../website/common/script/libs/errors';
@@ -6,12 +6,12 @@ import i18n from '../../../../website/common/script/i18n';
import {
generateUser,
} from '../../../helpers/common.helper';
-import {BuyQuestWithGemOperation} from '../../../../website/common/script/ops/buy/buyQuestGem';
+import { BuyQuestWithGemOperation } from '../../../../website/common/script/ops/buy/buyQuestGem';
describe('shared.ops.buyQuestGems', () => {
let user;
- let goldPoints = 40;
- let analytics = {track () {}};
+ const goldPoints = 40;
+ const analytics = { track () {} };
function buyQuest (_user, _req, _analytics) {
const buyOp = new BuyQuestWithGemOperation(_user, _req, _analytics);
@@ -20,7 +20,7 @@ describe('shared.ops.buyQuestGems', () => {
}
before(() => {
- user = generateUser({'stats.class': 'rogue'});
+ user = generateUser({ 'stats.class': 'rogue' });
});
beforeEach(() => {
@@ -34,29 +34,29 @@ describe('shared.ops.buyQuestGems', () => {
});
context('successful purchase', () => {
- let userGemAmount = 10;
+ const userGemAmount = 10;
before(() => {
user.balance = userGemAmount;
user.stats.gp = goldPoints;
user.purchased.plan.gemsBought = 0;
user.purchased.plan.customerId = 'customer-id';
- user.pinnedItems.push({type: 'quests', key: 'gryphon'});
+ user.pinnedItems.push({ type: 'quests', key: 'gryphon' });
});
it('purchases quests', () => {
- let key = 'gryphon';
+ const key = 'gryphon';
- buyQuest(user, {params: {key}});
+ buyQuest(user, { params: { key } });
expect(user.items.quests[key]).to.equal(1);
expect(pinnedGearUtils.removeItemByPath.notCalled).to.equal(true);
});
it('if a user\'s count of a quest scroll is negative, it will be reset to 0 before incrementing when they buy a new one.', () => {
- let key = 'dustbunnies';
+ const key = 'dustbunnies';
user.items.quests[key] = -1;
- buyQuest(user, {params: {key}});
+ buyQuest(user, { params: { key } });
expect(user.items.quests[key]).to.equal(1);
expect(pinnedGearUtils.removeItemByPath.notCalled).to.equal(true);
@@ -64,7 +64,7 @@ describe('shared.ops.buyQuestGems', () => {
});
context('bulk purchase', () => {
- let userGemAmount = 10;
+ const userGemAmount = 10;
beforeEach(() => {
user.balance = userGemAmount;
@@ -73,13 +73,13 @@ describe('shared.ops.buyQuestGems', () => {
user.purchased.plan.customerId = 'customer-id';
});
- it('errors when user does not have enough gems', (done) => {
+ it('errors when user does not have enough gems', done => {
user.balance = 1;
- let key = 'gryphon';
+ const key = 'gryphon';
try {
buyQuest(user, {
- params: {key},
+ params: { key },
quantity: 2,
});
} catch (err) {
@@ -90,10 +90,10 @@ describe('shared.ops.buyQuestGems', () => {
});
it('makes bulk purchases of quests', () => {
- let key = 'gryphon';
+ const key = 'gryphon';
buyQuest(user, {
- params: {key},
+ params: { key },
quantity: 3,
});
diff --git a/test/common/ops/buy/buyQuestGold.js b/test/common/ops/buy/buyQuestGold.js
index dec213aa54..f2be81495d 100644
--- a/test/common/ops/buy/buyQuestGold.js
+++ b/test/common/ops/buy/buyQuestGold.js
@@ -1,7 +1,7 @@
import {
generateUser,
} from '../../../helpers/common.helper';
-import {BuyQuestWithGoldOperation} from '../../../../website/common/script/ops/buy/buyQuestGold';
+import { BuyQuestWithGoldOperation } from '../../../../website/common/script/ops/buy/buyQuestGold';
import {
BadRequest,
NotAuthorized,
@@ -12,7 +12,7 @@ import errorMessage from '../../../../website/common/script/libs/errorMessage';
describe('shared.ops.buyQuest', () => {
let user;
- let analytics = {track () {}};
+ const analytics = { track () {} };
function buyQuest (_user, _req, _analytics) {
const buyOp = new BuyQuestWithGoldOperation(_user, _req, _analytics);
@@ -45,10 +45,10 @@ describe('shared.ops.buyQuest', () => {
it('if a user\'s count of a quest scroll is negative, it will be reset to 0 before incrementing when they buy a new one.', () => {
user.stats.gp = 205;
- let key = 'dilatoryDistress1';
+ const key = 'dilatoryDistress1';
user.items.quests[key] = -1;
buyQuest(user, {
- params: {key},
+ params: { key },
}, analytics);
expect(user.items.quests[key]).to.equal(1);
expect(user.stats.gp).to.equal(5);
@@ -74,7 +74,7 @@ describe('shared.ops.buyQuest', () => {
});
});
- it('does not buy a Quest scroll when an invalid quantity is passed', (done) => {
+ it('does not buy a Quest scroll when an invalid quantity is passed', done => {
user.stats.gp = 1000;
try {
buyQuest(user, {
@@ -92,7 +92,7 @@ describe('shared.ops.buyQuest', () => {
}
});
- it('does not buy Quests without enough Gold', (done) => {
+ it('does not buy Quests without enough Gold', done => {
user.stats.gp = 1;
try {
buyQuest(user, {
@@ -109,7 +109,7 @@ describe('shared.ops.buyQuest', () => {
}
});
- it('does not buy nonexistent Quests', (done) => {
+ it('does not buy nonexistent Quests', done => {
user.stats.gp = 9999;
try {
buyQuest(user, {
@@ -119,14 +119,14 @@ describe('shared.ops.buyQuest', () => {
});
} catch (err) {
expect(err).to.be.an.instanceof(NotFound);
- expect(err.message).to.equal(errorMessage('questNotFound', {key: 'snarfblatter'}));
+ expect(err.message).to.equal(errorMessage('questNotFound', { key: 'snarfblatter' }));
expect(user.items.quests).to.eql({});
expect(user.stats.gp).to.equal(9999);
done();
}
});
- it('does not buy the Mystery of the Masterclassers', (done) => {
+ it('does not buy the Mystery of the Masterclassers', done => {
try {
buyQuest(user, {
params: {
@@ -142,7 +142,7 @@ describe('shared.ops.buyQuest', () => {
});
- it('does not buy Gem-premium Quests', (done) => {
+ it('does not buy Gem-premium Quests', done => {
user.stats.gp = 9999;
try {
buyQuest(user, {
@@ -152,14 +152,14 @@ describe('shared.ops.buyQuest', () => {
});
} catch (err) {
expect(err).to.be.an.instanceof(NotAuthorized);
- expect(err.message).to.equal(i18n.t('questNotGoldPurchasable', {key: 'kraken'}));
+ expect(err.message).to.equal(i18n.t('questNotGoldPurchasable', { key: 'kraken' }));
expect(user.items.quests).to.eql({});
expect(user.stats.gp).to.equal(9999);
done();
}
});
- it('returns error when key is not provided', (done) => {
+ it('returns error when key is not provided', done => {
try {
buyQuest(user);
} catch (err) {
@@ -169,7 +169,7 @@ describe('shared.ops.buyQuest', () => {
}
});
- it('does not buy a quest without completing previous quests', (done) => {
+ it('does not buy a quest without completing previous quests', done => {
try {
buyQuest(user, {
params: {
@@ -178,7 +178,7 @@ describe('shared.ops.buyQuest', () => {
});
} catch (err) {
expect(err).to.be.an.instanceof(NotAuthorized);
- expect(err.message).to.equal(i18n.t('mustComplete', {quest: 'dilatoryDistress2'}));
+ expect(err.message).to.equal(i18n.t('mustComplete', { quest: 'dilatoryDistress2' }));
expect(user.items.quests).to.eql({});
done();
}
diff --git a/test/common/ops/buy/buySpell.js b/test/common/ops/buy/buySpell.js
index 02d0bda6a4..83b8008756 100644
--- a/test/common/ops/buy/buySpell.js
+++ b/test/common/ops/buy/buySpell.js
@@ -1,4 +1,4 @@
-import {BuySpellOperation} from '../../../../website/common/script/ops/buy/buySpell';
+import { BuySpellOperation } from '../../../../website/common/script/ops/buy/buySpell';
import {
BadRequest,
NotFound,
@@ -13,7 +13,7 @@ import errorMessage from '../../../../website/common/script/libs/errorMessage';
describe('shared.ops.buySpecialSpell', () => {
let user;
- let analytics = {track () {}};
+ const analytics = { track () {} };
function buySpecialSpell (_user, _req, _analytics) {
const buyOp = new BuySpellOperation(_user, _req, _analytics);
@@ -29,7 +29,7 @@ describe('shared.ops.buySpecialSpell', () => {
analytics.track.restore();
});
- it('throws an error if params.key is missing', (done) => {
+ it('throws an error if params.key is missing', done => {
try {
buySpecialSpell(user);
} catch (err) {
@@ -39,7 +39,7 @@ describe('shared.ops.buySpecialSpell', () => {
}
});
- it('throws an error if the spell doesn\'t exists', (done) => {
+ it('throws an error if the spell doesn\'t exists', done => {
try {
buySpecialSpell(user, {
params: {
@@ -48,12 +48,12 @@ describe('shared.ops.buySpecialSpell', () => {
});
} catch (err) {
expect(err).to.be.an.instanceof(NotFound);
- expect(err.message).to.equal(errorMessage('spellNotFound', {spellId: 'notExisting'}));
+ expect(err.message).to.equal(errorMessage('spellNotFound', { spellId: 'notExisting' }));
done();
}
});
- it('throws an error if the user doesn\'t have enough gold', (done) => {
+ it('throws an error if the user doesn\'t have enough gold', done => {
user.stats.gp = 1;
try {
buySpecialSpell(user, {
@@ -70,9 +70,9 @@ describe('shared.ops.buySpecialSpell', () => {
it('buys an item', () => {
user.stats.gp = 11;
- let item = content.special.thankyou;
+ const item = content.special.thankyou;
- let [data, message] = buySpecialSpell(user, {
+ const [data, message] = buySpecialSpell(user, {
params: {
key: 'thankyou',
},
diff --git a/test/common/ops/buy/hourglassPurchase.js b/test/common/ops/buy/hourglassPurchase.js
index 6f9bf50808..a04ad429a3 100644
--- a/test/common/ops/buy/hourglassPurchase.js
+++ b/test/common/ops/buy/hourglassPurchase.js
@@ -9,11 +9,11 @@ import {
generateUser,
} from '../../../helpers/common.helper';
import errorMessage from '../../../../website/common/script/libs/errorMessage';
-import {BuyHourglassMountOperation} from '../../../../website/common/script/ops/buy/buyMount';
+import { BuyHourglassMountOperation } from '../../../../website/common/script/ops/buy/buyMount';
describe('common.ops.hourglassPurchase', () => {
let user;
- let analytics = {track () {}};
+ const analytics = { track () {} };
function buyMount (_user, _req, _analytics) {
const buyOp = new BuyHourglassMountOperation(_user, _req, _analytics);
@@ -31,9 +31,9 @@ describe('common.ops.hourglassPurchase', () => {
});
context('failure conditions', () => {
- it('return error when key is not provided', (done) => {
+ it('return error when key is not provided', done => {
try {
- hourglassPurchase(user, {params: {}});
+ hourglassPurchase(user, { params: {} });
} catch (err) {
expect(err).to.be.an.instanceof(BadRequest);
expect(err.message).to.eql(errorMessage('missingKeyParam'));
@@ -41,9 +41,9 @@ describe('common.ops.hourglassPurchase', () => {
}
});
- it('returns error when type is not provided', (done) => {
+ it('returns error when type is not provided', done => {
try {
- hourglassPurchase(user, {params: {key: 'Base'}});
+ hourglassPurchase(user, { params: { key: 'Base' } });
} catch (err) {
expect(err).to.be.an.instanceof(BadRequest);
expect(err.message).to.eql(errorMessage('missingTypeParam'));
@@ -51,19 +51,19 @@ describe('common.ops.hourglassPurchase', () => {
}
});
- it('returns error when inccorect type is provided', (done) => {
+ it('returns error when inccorect type is provided', done => {
try {
- hourglassPurchase(user, {params: {type: 'notAType', key: 'MantisShrimp-Base'}});
+ hourglassPurchase(user, { params: { type: 'notAType', key: 'MantisShrimp-Base' } });
} catch (err) {
expect(err).to.be.an.instanceof(NotAuthorized);
- expect(err.message).to.eql(i18n.t('typeNotAllowedHourglass', {allowedTypes: _.keys(content.timeTravelStable).toString()}));
+ expect(err.message).to.eql(i18n.t('typeNotAllowedHourglass', { allowedTypes: _.keys(content.timeTravelStable).toString() }));
done();
}
});
- it('does not grant to pets without Mystic Hourglasses', (done) => {
+ it('does not grant to pets without Mystic Hourglasses', done => {
try {
- hourglassPurchase(user, {params: {type: 'pets', key: 'MantisShrimp-Base'}});
+ hourglassPurchase(user, { params: { type: 'pets', key: 'MantisShrimp-Base' } });
} catch (err) {
expect(err).to.be.an.instanceof(NotAuthorized);
expect(err.message).to.eql(i18n.t('notEnoughHourglasses'));
@@ -71,9 +71,9 @@ describe('common.ops.hourglassPurchase', () => {
}
});
- it('does not grant to mounts without Mystic Hourglasses', (done) => {
+ it('does not grant to mounts without Mystic Hourglasses', done => {
try {
- buyMount(user, {params: {key: 'MantisShrimp-Base'}});
+ buyMount(user, { params: { key: 'MantisShrimp-Base' } });
} catch (err) {
expect(err).to.be.an.instanceof(NotAuthorized);
expect(err.message).to.eql(i18n.t('notEnoughHourglasses'));
@@ -81,11 +81,11 @@ describe('common.ops.hourglassPurchase', () => {
}
});
- it('does not grant pet that is not part of the Time Travel Stable', (done) => {
+ it('does not grant pet that is not part of the Time Travel Stable', done => {
user.purchased.plan.consecutive.trinkets = 1;
try {
- hourglassPurchase(user, {params: {type: 'pets', key: 'Wolf-Veteran'}});
+ hourglassPurchase(user, { params: { type: 'pets', key: 'Wolf-Veteran' } });
} catch (err) {
expect(err).to.be.an.instanceof(NotAuthorized);
expect(err.message).to.eql(i18n.t('notAllowedHourglass'));
@@ -93,11 +93,11 @@ describe('common.ops.hourglassPurchase', () => {
}
});
- it('does not grant mount that is not part of the Time Travel Stable', (done) => {
+ it('does not grant mount that is not part of the Time Travel Stable', done => {
user.purchased.plan.consecutive.trinkets = 1;
try {
- buyMount(user, {params: {key: 'Orca-Base'}});
+ buyMount(user, { params: { key: 'Orca-Base' } });
} catch (err) {
expect(err).to.be.an.instanceof(NotAuthorized);
expect(err.message).to.eql(i18n.t('notAllowedHourglass'));
@@ -105,14 +105,14 @@ describe('common.ops.hourglassPurchase', () => {
}
});
- it('does not grant pet that has already been purchased', (done) => {
+ it('does not grant pet that has already been purchased', done => {
user.purchased.plan.consecutive.trinkets = 1;
user.items.pets = {
'MantisShrimp-Base': true,
};
try {
- hourglassPurchase(user, {params: {type: 'pets', key: 'MantisShrimp-Base'}});
+ hourglassPurchase(user, { params: { type: 'pets', key: 'MantisShrimp-Base' } });
} catch (err) {
expect(err).to.be.an.instanceof(NotAuthorized);
expect(err.message).to.eql(i18n.t('petsAlreadyOwned'));
@@ -120,14 +120,14 @@ describe('common.ops.hourglassPurchase', () => {
}
});
- it('does not grant mount that has already been purchased', (done) => {
+ it('does not grant mount that has already been purchased', done => {
user.purchased.plan.consecutive.trinkets = 1;
user.items.mounts = {
'MantisShrimp-Base': true,
};
try {
- buyMount(user, {params: {key: 'MantisShrimp-Base'}});
+ buyMount(user, { params: { key: 'MantisShrimp-Base' } });
} catch (err) {
expect(err).to.be.an.instanceof(NotAuthorized);
expect(err.message).to.eql(i18n.t('mountsAlreadyOwned'));
@@ -140,21 +140,21 @@ describe('common.ops.hourglassPurchase', () => {
it('buys a pet', () => {
user.purchased.plan.consecutive.trinkets = 2;
- let [, message] = hourglassPurchase(user, {params: {type: 'pets', key: 'MantisShrimp-Base'}}, analytics);
+ const [, message] = hourglassPurchase(user, { params: { type: 'pets', key: 'MantisShrimp-Base' } }, analytics);
expect(message).to.eql(i18n.t('hourglassPurchase'));
expect(user.purchased.plan.consecutive.trinkets).to.eql(1);
- expect(user.items.pets).to.eql({'MantisShrimp-Base': 5});
+ expect(user.items.pets).to.eql({ 'MantisShrimp-Base': 5 });
expect(analytics.track).to.be.calledOnce;
});
it('buys a mount', () => {
user.purchased.plan.consecutive.trinkets = 2;
- let [, message] = buyMount(user, {params: {key: 'MantisShrimp-Base'}});
+ const [, message] = buyMount(user, { params: { key: 'MantisShrimp-Base' } });
expect(message).to.eql(i18n.t('hourglassPurchase'));
expect(user.purchased.plan.consecutive.trinkets).to.eql(1);
- expect(user.items.mounts).to.eql({'MantisShrimp-Base': true});
+ expect(user.items.mounts).to.eql({ 'MantisShrimp-Base': true });
});
});
});
diff --git a/test/common/ops/buy/purchase.js b/test/common/ops/buy/purchase.js
index 5266f46c7b..c97a8761eb 100644
--- a/test/common/ops/buy/purchase.js
+++ b/test/common/ops/buy/purchase.js
@@ -1,5 +1,7 @@
+import forEach from 'lodash/forEach';
+import moment from 'moment';
import purchase from '../../../../website/common/script/ops/buy/purchase';
-import pinnedGearUtils from '../../../../website/common/script/ops/pinnedGearUtils';
+import * as pinnedGearUtils from '../../../../website/common/script/ops/pinnedGearUtils';
import {
BadRequest,
NotAuthorized,
@@ -9,17 +11,15 @@ import i18n from '../../../../website/common/script/i18n';
import {
generateUser,
} from '../../../helpers/common.helper';
-import forEach from 'lodash/forEach';
-import moment from 'moment';
describe('shared.ops.purchase', () => {
const SEASONAL_FOOD = 'Meat';
let user;
- let goldPoints = 40;
- let analytics = {track () {}};
+ const goldPoints = 40;
+ const analytics = { track () {} };
before(() => {
- user = generateUser({'stats.class': 'rogue'});
+ user = generateUser({ 'stats.class': 'rogue' });
});
beforeEach(() => {
@@ -33,9 +33,9 @@ describe('shared.ops.purchase', () => {
});
context('failure conditions', () => {
- it('returns an error when type is not provided', (done) => {
+ it('returns an error when type is not provided', done => {
try {
- purchase(user, {params: {}});
+ purchase(user, { params: {} });
} catch (err) {
expect(err).to.be.an.instanceof(BadRequest);
expect(err.message).to.equal(i18n.t('typeRequired'));
@@ -44,9 +44,9 @@ describe('shared.ops.purchase', () => {
});
- it('returns error when unknown type is provided', (done) => {
+ it('returns error when unknown type is provided', done => {
try {
- purchase(user, {params: {type: 'randomType', key: 'gem'}});
+ purchase(user, { params: { type: 'randomType', key: 'gem' } });
} catch (err) {
expect(err).to.be.an.instanceof(NotFound);
expect(err.message).to.equal(i18n.t('notAccteptedType'));
@@ -54,11 +54,11 @@ describe('shared.ops.purchase', () => {
}
});
- it('returns error when user attempts to purchase a piece of gear they own', (done) => {
+ it('returns error when user attempts to purchase a piece of gear they own', done => {
user.items.gear.owned['shield_rogue_1'] = true; // eslint-disable-line dot-notation
try {
- purchase(user, {params: {type: 'gear', key: 'shield_rogue_1'}});
+ purchase(user, { params: { type: 'gear', key: 'shield_rogue_1' } });
} catch (err) {
expect(err).to.be.an.instanceof(NotAuthorized);
expect(err.message).to.equal(i18n.t('alreadyHave'));
@@ -66,19 +66,19 @@ describe('shared.ops.purchase', () => {
}
});
- it('returns error when unknown item is requested', (done) => {
+ it('returns error when unknown item is requested', done => {
try {
- purchase(user, {params: {type: 'gear', key: 'randomKey'}});
+ purchase(user, { params: { type: 'gear', key: 'randomKey' } });
} catch (err) {
expect(err).to.be.an.instanceof(NotFound);
- expect(err.message).to.equal(i18n.t('contentKeyNotFound', {type: 'gear'}));
+ expect(err.message).to.equal(i18n.t('contentKeyNotFound', { type: 'gear' }));
done();
}
});
- it('returns error when user does not have permission to buy an item', (done) => {
+ it('returns error when user does not have permission to buy an item', done => {
try {
- purchase(user, {params: {type: 'gear', key: 'eyewear_mystery_301405'}});
+ purchase(user, { params: { type: 'gear', key: 'eyewear_mystery_301405' } });
} catch (err) {
expect(err).to.be.an.instanceof(NotAuthorized);
expect(err.message).to.equal(i18n.t('messageNotAvailable'));
@@ -86,9 +86,9 @@ describe('shared.ops.purchase', () => {
}
});
- it('returns error when user does not have enough gems to buy an item', (done) => {
+ it('returns error when user does not have enough gems to buy an item', done => {
try {
- purchase(user, {params: {type: 'gear', key: 'headAccessory_special_wolfEars'}});
+ purchase(user, { params: { type: 'gear', key: 'headAccessory_special_wolfEars' } });
} catch (err) {
expect(err).to.be.an.instanceof(NotAuthorized);
expect(err.message).to.equal(i18n.t('notEnoughGems'));
@@ -97,11 +97,11 @@ describe('shared.ops.purchase', () => {
});
- it('returns error when item is not found', (done) => {
- let params = {key: 'notExisting', type: 'food'};
+ it('returns error when item is not found', done => {
+ const params = { key: 'notExisting', type: 'food' };
try {
- purchase(user, {params});
+ purchase(user, { params });
} catch (err) {
expect(err).to.be.an.instanceof(NotFound);
expect(err.message).to.equal(i18n.t('contentKeyNotFound', params));
@@ -109,12 +109,12 @@ describe('shared.ops.purchase', () => {
}
});
- it('returns error when user supplies a non-numeric quantity', (done) => {
- let type = 'eggs';
- let key = 'Wolf';
+ it('returns error when user supplies a non-numeric quantity', done => {
+ const type = 'eggs';
+ const key = 'Wolf';
try {
- purchase(user, {params: {type, key}, quantity: 'jamboree'}, analytics);
+ purchase(user, { params: { type, key }, quantity: 'jamboree' }, analytics);
} catch (err) {
expect(err).to.be.an.instanceof(BadRequest);
expect(err.message).to.equal(i18n.t('invalidQuantity'));
@@ -122,13 +122,13 @@ describe('shared.ops.purchase', () => {
}
});
- it('returns error when user supplies a negative quantity', (done) => {
- let type = 'eggs';
- let key = 'Wolf';
+ it('returns error when user supplies a negative quantity', done => {
+ const type = 'eggs';
+ const key = 'Wolf';
user.balance = 10;
try {
- purchase(user, {params: {type, key}, quantity: -2}, analytics);
+ purchase(user, { params: { type, key }, quantity: -2 }, analytics);
} catch (err) {
expect(err).to.be.an.instanceof(BadRequest);
expect(err.message).to.equal(i18n.t('invalidQuantity'));
@@ -136,13 +136,13 @@ describe('shared.ops.purchase', () => {
}
});
- it('returns error when user supplies a decimal quantity', (done) => {
- let type = 'eggs';
- let key = 'Wolf';
+ it('returns error when user supplies a decimal quantity', done => {
+ const type = 'eggs';
+ const key = 'Wolf';
user.balance = 10;
try {
- purchase(user, {params: {type, key}, quantity: 2.9}, analytics);
+ purchase(user, { params: { type, key }, quantity: 2.9 }, analytics);
} catch (err) {
expect(err).to.be.an.instanceof(BadRequest);
expect(err.message).to.equal(i18n.t('invalidQuantity'));
@@ -152,25 +152,25 @@ describe('shared.ops.purchase', () => {
});
context('successful purchase', () => {
- let userGemAmount = 10;
+ const userGemAmount = 10;
before(() => {
user.balance = userGemAmount;
user.stats.gp = goldPoints;
user.purchased.plan.gemsBought = 0;
user.purchased.plan.customerId = 'customer-id';
- user.pinnedItems.push({type: 'eggs', key: 'Wolf'});
- user.pinnedItems.push({type: 'hatchingPotions', key: 'Base'});
- user.pinnedItems.push({type: 'food', key: SEASONAL_FOOD});
- user.pinnedItems.push({type: 'gear', key: 'headAccessory_special_tigerEars'});
- user.pinnedItems.push({type: 'bundles', key: 'featheredFriends'});
+ user.pinnedItems.push({ type: 'eggs', key: 'Wolf' });
+ user.pinnedItems.push({ type: 'hatchingPotions', key: 'Base' });
+ user.pinnedItems.push({ type: 'food', key: SEASONAL_FOOD });
+ user.pinnedItems.push({ type: 'gear', key: 'headAccessory_special_tigerEars' });
+ user.pinnedItems.push({ type: 'bundles', key: 'featheredFriends' });
});
it('purchases eggs', () => {
- let type = 'eggs';
- let key = 'Wolf';
+ const type = 'eggs';
+ const key = 'Wolf';
- purchase(user, {params: {type, key}}, analytics);
+ purchase(user, { params: { type, key } }, analytics);
expect(user.items[type][key]).to.equal(1);
expect(pinnedGearUtils.removeItemByPath.notCalled).to.equal(true);
@@ -178,50 +178,50 @@ describe('shared.ops.purchase', () => {
});
it('purchases hatchingPotions', () => {
- let type = 'hatchingPotions';
- let key = 'Base';
+ const type = 'hatchingPotions';
+ const key = 'Base';
- purchase(user, {params: {type, key}});
+ purchase(user, { params: { type, key } });
expect(user.items[type][key]).to.equal(1);
expect(pinnedGearUtils.removeItemByPath.notCalled).to.equal(true);
});
it('purchases food', () => {
- let type = 'food';
- let key = SEASONAL_FOOD;
+ const type = 'food';
+ const key = SEASONAL_FOOD;
- purchase(user, {params: {type, key}});
+ purchase(user, { params: { type, key } });
expect(user.items[type][key]).to.equal(1);
expect(pinnedGearUtils.removeItemByPath.notCalled).to.equal(true);
});
it('purchases gear', () => {
- let type = 'gear';
- let key = 'headAccessory_special_tigerEars';
+ const type = 'gear';
+ const key = 'headAccessory_special_tigerEars';
- purchase(user, {params: {type, key}});
+ purchase(user, { params: { type, key } });
expect(user.items.gear.owned[key]).to.be.true;
expect(pinnedGearUtils.removeItemByPath.calledOnce).to.equal(true);
});
it('purchases quest bundles', () => {
- let startingBalance = user.balance;
- let clock = sandbox.useFakeTimers(moment('2019-05-20').valueOf());
- let type = 'bundles';
- let key = 'featheredFriends';
- let price = 1.75;
- let questList = [
+ const startingBalance = user.balance;
+ const clock = sandbox.useFakeTimers(moment('2019-05-20').valueOf());
+ const type = 'bundles';
+ const key = 'featheredFriends';
+ const price = 1.75;
+ const questList = [
'falcon',
'harpy',
'owl',
];
- purchase(user, {params: {type, key}});
+ purchase(user, { params: { type, key } });
- forEach(questList, (bundledKey) => {
+ forEach(questList, bundledKey => {
expect(user.items.quests[bundledKey]).to.equal(1);
});
@@ -233,7 +233,7 @@ describe('shared.ops.purchase', () => {
});
context('bulk purchase', () => {
- let userGemAmount = 10;
+ const userGemAmount = 10;
beforeEach(() => {
user.balance = userGemAmount;
@@ -242,14 +242,14 @@ describe('shared.ops.purchase', () => {
user.purchased.plan.customerId = 'customer-id';
});
- it('errors when user does not have enough gems', (done) => {
+ it('errors when user does not have enough gems', done => {
user.balance = 1;
- let type = 'eggs';
- let key = 'TigerCub';
+ const type = 'eggs';
+ const key = 'TigerCub';
try {
purchase(user, {
- params: {type, key},
+ params: { type, key },
quantity: 2,
});
} catch (err) {
@@ -260,11 +260,11 @@ describe('shared.ops.purchase', () => {
});
it('makes bulk purchases of eggs', () => {
- let type = 'eggs';
- let key = 'TigerCub';
+ const type = 'eggs';
+ const key = 'TigerCub';
purchase(user, {
- params: {type, key},
+ params: { type, key },
quantity: 2,
});
diff --git a/test/common/ops/changeClass.js b/test/common/ops/changeClass.js
index f4a4f9c451..4b1d31ffd7 100644
--- a/test/common/ops/changeClass.js
+++ b/test/common/ops/changeClass.js
@@ -19,10 +19,10 @@ describe('shared.ops.changeClass', () => {
user.stats.flagSelected = false;
});
- it('user is not level 10', (done) => {
+ it('user is not level 10', done => {
user.stats.lvl = 9;
try {
- changeClass(user, {query: {class: 'rogue'}});
+ changeClass(user, { query: { class: 'rogue' } });
} catch (err) {
expect(err).to.be.an.instanceof(NotAuthorized);
expect(err.message).to.equal(i18n.t('lvl10ChangeClass'));
@@ -30,12 +30,12 @@ describe('shared.ops.changeClass', () => {
}
});
- it('req.query.class is an invalid class', (done) => {
+ it('req.query.class is an invalid class', done => {
user.flags.classSelected = false;
user.preferences.disableClasses = false;
try {
- changeClass(user, {query: {class: 'cellist'}});
+ changeClass(user, { query: { class: 'cellist' } });
} catch (err) {
expect(err).to.be.an.instanceof(BadRequest);
expect(err.message).to.equal(i18n.t('invalidClass'));
@@ -44,13 +44,13 @@ describe('shared.ops.changeClass', () => {
});
context('req.query.class is a valid class', () => {
- it('errors if user.stats.flagSelected is true and user.balance < 0.75', (done) => {
+ it('errors if user.stats.flagSelected is true and user.balance < 0.75', done => {
user.flags.classSelected = true;
user.preferences.disableClasses = false;
user.balance = 0;
try {
- changeClass(user, {query: {class: 'rogue'}});
+ changeClass(user, { query: { class: 'rogue' } });
} catch (err) {
expect(err).to.be.an.instanceof(NotAuthorized);
expect(err.message).to.equal(i18n.t('notEnoughGems'));
@@ -63,7 +63,7 @@ describe('shared.ops.changeClass', () => {
user.items.gear.owned.weapon_healer_3 = true;
user.items.gear.equipped.weapon = 'weapon_healer_3';
- let [data] = changeClass(user, {query: {class: 'rogue'}});
+ const [data] = changeClass(user, { query: { class: 'rogue' } });
expect(data).to.eql({
preferences: user.preferences,
stats: user.stats,
@@ -92,7 +92,7 @@ describe('shared.ops.changeClass', () => {
user.stats.int = 4;
user.flags.classSelected = true;
- let [data] = changeClass(user);
+ const [data] = changeClass(user);
expect(data).to.eql({
preferences: user.preferences,
stats: user.stats,
@@ -112,7 +112,7 @@ describe('shared.ops.changeClass', () => {
});
context('has user.preferences.disableClasses !== true', () => {
- it('and less than 3 gems', (done) => {
+ it('and less than 3 gems', done => {
user.balance = 0.5;
try {
changeClass(user);
@@ -132,7 +132,7 @@ describe('shared.ops.changeClass', () => {
user.stats.int = 4;
user.flags.classSelected = true;
- let [data] = changeClass(user);
+ const [data] = changeClass(user);
expect(data).to.eql({
preferences: user.preferences,
stats: user.stats,
diff --git a/test/common/ops/disableClasses.js b/test/common/ops/disableClasses.js
index 60bd3998ab..0f7f6dc5bd 100644
--- a/test/common/ops/disableClasses.js
+++ b/test/common/ops/disableClasses.js
@@ -18,7 +18,7 @@ describe('shared.ops.disableClasses', () => {
user.preferences.autoAllocate = false;
user.stats.points = 2;
- let [data] = disableClasses(user);
+ const [data] = disableClasses(user);
expect(data).to.eql({
preferences: user.preferences,
stats: user.stats,
diff --git a/test/common/ops/equip.js b/test/common/ops/equip.js
index f983891306..c9ac38f15e 100644
--- a/test/common/ops/equip.js
+++ b/test/common/ops/equip.js
@@ -28,58 +28,58 @@ describe('shared.ops.equip', () => {
},
},
},
- stats: {gp: 200},
+ stats: { gp: 200 },
});
});
context('Gear', () => {
it('should not send a message if a weapon is equipped while only having zero or one weapons equipped', () => {
- equip(user, {params: {key: 'weapon_warrior_1'}});
+ equip(user, { params: { key: 'weapon_warrior_1' } });
// one-handed to one-handed
- let [, message] = equip(user, {params: {key: 'weapon_warrior_2'}});
+ let [, message] = equip(user, { params: { key: 'weapon_warrior_2' } });
expect(message).to.not.exist;
// one-handed to two-handed
- [, message] = equip(user, {params: {key: 'weapon_wizard_1'}});
+ [, message] = equip(user, { params: { key: 'weapon_wizard_1' } });
expect(message).to.not.exist;
// two-handed to two-handed
- [, message] = equip(user, {params: {key: 'weapon_wizard_2'}});
+ [, message] = equip(user, { params: { key: 'weapon_wizard_2' } });
expect(message).to.not.exist;
// two-handed to one-handed
- [, message] = equip(user, {params: {key: 'weapon_warrior_2'}});
+ [, message] = equip(user, { params: { key: 'weapon_warrior_2' } });
expect(message).to.not.exist;
});
it('should send messages if equipping a two-hander causes the off-hander to be unequipped', () => {
- equip(user, {params: {key: 'weapon_warrior_1'}});
- equip(user, {params: {key: 'shield_warrior_1'}});
+ equip(user, { params: { key: 'weapon_warrior_1' } });
+ equip(user, { params: { key: 'shield_warrior_1' } });
// equipping two-hander
- let [data, message] = equip(user, {params: {key: 'weapon_wizard_1'}});
- let weapon = content.gear.flat.weapon_wizard_1;
- let item = content.gear.flat.shield_warrior_1;
+ const [data, message] = equip(user, { params: { key: 'weapon_wizard_1' } });
+ const weapon = content.gear.flat.weapon_wizard_1;
+ const item = content.gear.flat.shield_warrior_1;
- let res = {data, message};
+ const res = { data, message };
expect(res).to.eql({
- message: i18n.t('messageTwoHandedEquip', {twoHandedText: weapon.text(), offHandedText: item.text()}),
+ message: i18n.t('messageTwoHandedEquip', { twoHandedText: weapon.text(), offHandedText: item.text() }),
data: user.items,
});
});
it('should send messages if equipping an off-hand item causes a two-handed weapon to be unequipped', () => {
// equipping two-hander
- equip(user, {params: {key: 'weapon_wizard_1'}});
- let weapon = content.gear.flat.weapon_wizard_1;
- let shield = content.gear.flat.shield_warrior_1;
+ equip(user, { params: { key: 'weapon_wizard_1' } });
+ const weapon = content.gear.flat.weapon_wizard_1;
+ const shield = content.gear.flat.shield_warrior_1;
- let [data, message] = equip(user, {params: {key: 'shield_warrior_1'}});
+ const [data, message] = equip(user, { params: { key: 'shield_warrior_1' } });
- let res = {data, message};
+ const res = { data, message };
expect(res).to.eql({
- message: i18n.t('messageTwoHandedUnequip', {twoHandedText: weapon.text(), offHandedText: shield.text()}),
+ message: i18n.t('messageTwoHandedUnequip', { twoHandedText: weapon.text(), offHandedText: shield.text() }),
data: user.items,
});
});
diff --git a/test/common/ops/feed.js b/test/common/ops/feed.js
index 241fe0fbbc..b00e9bdcd7 100644
--- a/test/common/ops/feed.js
+++ b/test/common/ops/feed.js
@@ -19,7 +19,7 @@ describe('shared.ops.feed', () => {
});
context('failure conditions', () => {
- it('does not allow feeding without specifying pet and food', (done) => {
+ it('does not allow feeding without specifying pet and food', done => {
try {
feed(user);
} catch (err) {
@@ -29,9 +29,9 @@ describe('shared.ops.feed', () => {
}
});
- it('does not allow feeding if pet name format is invalid', (done) => {
+ it('does not allow feeding if pet name format is invalid', done => {
try {
- feed(user, {params: {pet: 'invalid', food: 'food'}});
+ feed(user, { params: { pet: 'invalid', food: 'food' } });
} catch (err) {
expect(err).to.be.an.instanceof(BadRequest);
expect(err.message).to.equal(errorMessage('invalidPetName'));
@@ -39,9 +39,9 @@ describe('shared.ops.feed', () => {
}
});
- it('does not allow feeding if food does not exist', (done) => {
+ it('does not allow feeding if food does not exist', done => {
try {
- feed(user, {params: {pet: 'Wolf-Red', food: 'invalid food name'}});
+ feed(user, { params: { pet: 'Wolf-Red', food: 'invalid food name' } });
} catch (err) {
expect(err).to.be.an.instanceof(NotFound);
expect(err.message).to.equal(errorMessage('invalidFoodName'));
@@ -49,9 +49,9 @@ describe('shared.ops.feed', () => {
}
});
- it('does not allow feeding if pet is not owned', (done) => {
+ it('does not allow feeding if pet is not owned', done => {
try {
- feed(user, {params: {pet: 'Wolf-Red', food: 'Meat'}});
+ feed(user, { params: { pet: 'Wolf-Red', food: 'Meat' } });
} catch (err) {
expect(err).to.be.an.instanceof(NotFound);
expect(err.message).to.equal(i18n.t('messagePetNotFound'));
@@ -59,10 +59,10 @@ describe('shared.ops.feed', () => {
}
});
- it('does not allow feeding if food is not owned', (done) => {
+ it('does not allow feeding if food is not owned', done => {
user.items.pets['Wolf-Base'] = 5;
try {
- feed(user, {params: {pet: 'Wolf-Base', food: 'Meat'}});
+ feed(user, { params: { pet: 'Wolf-Base', food: 'Meat' } });
} catch (err) {
expect(err).to.be.an.instanceof(NotFound);
expect(err.message).to.equal(i18n.t('messageFoodNotFound'));
@@ -70,11 +70,11 @@ describe('shared.ops.feed', () => {
}
});
- it('does not allow feeding of special pets', (done) => {
+ it('does not allow feeding of special pets', done => {
user.items.pets['Wolf-Veteran'] = 5;
user.items.food.Meat = 1;
try {
- feed(user, {params: {pet: 'Wolf-Veteran', food: 'Meat'}});
+ feed(user, { params: { pet: 'Wolf-Veteran', food: 'Meat' } });
} catch (err) {
expect(err).to.be.an.instanceof(NotAuthorized);
expect(err.message).to.equal(i18n.t('messageCannotFeedPet'));
@@ -82,12 +82,12 @@ describe('shared.ops.feed', () => {
}
});
- it('does not allow feeding of mounts', (done) => {
+ it('does not allow feeding of mounts', done => {
user.items.pets['Wolf-Base'] = -1;
user.items.mounts['Wolf-Base'] = true;
user.items.food.Meat = 1;
try {
- feed(user, {params: {pet: 'Wolf-Base', food: 'Meat'}});
+ feed(user, { params: { pet: 'Wolf-Base', food: 'Meat' } });
} catch (err) {
expect(err).to.be.an.instanceof(NotAuthorized);
expect(err.message).to.equal(i18n.t('messageAlreadyMount'));
@@ -101,9 +101,9 @@ describe('shared.ops.feed', () => {
user.items.pets['Wolf-Base'] = 5;
user.items.food.Saddle = 2;
user.items.currentPet = 'Wolf-Base';
- let pet = content.petInfo['Wolf-Base'];
+ const pet = content.petInfo['Wolf-Base'];
- let [data, message] = feed(user, {params: {pet: 'Wolf-Base', food: 'Saddle'}});
+ const [data, message] = feed(user, { params: { pet: 'Wolf-Base', food: 'Saddle' } });
expect(data).to.eql(user.items.pets['Wolf-Base']);
expect(message).to.eql(i18n.t('messageEvolve', {
egg: pet.text(),
@@ -119,10 +119,10 @@ describe('shared.ops.feed', () => {
user.items.pets['Wolf-Base'] = 5;
user.items.food.Meat = 2;
- let food = content.food.Meat;
- let pet = content.petInfo['Wolf-Base'];
+ const food = content.food.Meat;
+ const pet = content.petInfo['Wolf-Base'];
- let [data, message] = feed(user, {params: {pet: 'Wolf-Base', food: 'Meat'}});
+ const [data, message] = feed(user, { params: { pet: 'Wolf-Base', food: 'Meat' } });
expect(data).to.eql(user.items.pets['Wolf-Base']);
expect(message).to.eql(i18n.t('messageLikesFood', {
egg: pet.text(),
@@ -137,10 +137,10 @@ describe('shared.ops.feed', () => {
user.items.pets['Wolf-Spooky'] = 5;
user.items.food.Milk = 2;
- let food = content.food.Milk;
- let pet = content.petInfo['Wolf-Spooky'];
+ const food = content.food.Milk;
+ const pet = content.petInfo['Wolf-Spooky'];
- let [data, message] = feed(user, {params: {pet: 'Wolf-Spooky', food: 'Milk'}});
+ const [data, message] = feed(user, { params: { pet: 'Wolf-Spooky', food: 'Milk' } });
expect(data).to.eql(user.items.pets['Wolf-Spooky']);
expect(message).to.eql(i18n.t('messageLikesFood', {
egg: pet.text(),
@@ -155,10 +155,10 @@ describe('shared.ops.feed', () => {
user.items.pets['Wolf-Base'] = 5;
user.items.food.Milk = 2;
- let food = content.food.Milk;
- let pet = content.petInfo['Wolf-Base'];
+ const food = content.food.Milk;
+ const pet = content.petInfo['Wolf-Base'];
- let [data, message] = feed(user, {params: {pet: 'Wolf-Base', food: 'Milk'}});
+ const [data, message] = feed(user, { params: { pet: 'Wolf-Base', food: 'Milk' } });
expect(data).to.eql(user.items.pets['Wolf-Base']);
expect(message).to.eql(i18n.t('messageDontEnjoyFood', {
egg: pet.text(),
@@ -183,7 +183,7 @@ describe('shared.ops.feed', () => {
'Cactus-Base': true,
'BearCub-Base': true,
};
- feed(user, {params: {pet: 'Wolf-Spooky', food: 'Milk'}});
+ feed(user, { params: { pet: 'Wolf-Spooky', food: 'Milk' } });
expect(user.achievements.allYourBase).to.eql(true);
});
@@ -201,7 +201,7 @@ describe('shared.ops.feed', () => {
'Cactus-Desert': true,
'BearCub-Desert': true,
};
- feed(user, {params: {pet: 'Wolf-Spooky', food: 'Milk'}});
+ feed(user, { params: { pet: 'Wolf-Spooky', food: 'Milk' } });
expect(user.achievements.aridAuthority).to.eql(true);
});
@@ -210,9 +210,9 @@ describe('shared.ops.feed', () => {
user.items.food.Milk = 2;
user.items.currentPet = 'Wolf-Base';
- let pet = content.petInfo['Wolf-Base'];
+ const pet = content.petInfo['Wolf-Base'];
- let [data, message] = feed(user, {params: {pet: 'Wolf-Base', food: 'Milk'}});
+ const [data, message] = feed(user, { params: { pet: 'Wolf-Base', food: 'Milk' } });
expect(data).to.eql(user.items.pets['Wolf-Base']);
expect(message).to.eql(i18n.t('messageEvolve', {
egg: pet.text(),
diff --git a/test/common/ops/hatch.js b/test/common/ops/hatch.js
index b1459ba9d9..ba57f7e194 100644
--- a/test/common/ops/hatch.js
+++ b/test/common/ops/hatch.js
@@ -30,12 +30,12 @@ describe('shared.ops.hatch', () => {
}
});
- it('does not allow hatching if user lacks specified egg', (done) => {
+ it('does not allow hatching if user lacks specified egg', done => {
user.items.eggs.Wolf = 1;
user.items.hatchingPotions.Base = 1;
user.items.pets = {};
try {
- hatch(user, {params: {egg: 'Dragon', hatchingPotion: 'Base'}});
+ hatch(user, { params: { egg: 'Dragon', hatchingPotion: 'Base' } });
} catch (err) {
expect(err).to.be.an.instanceof(NotFound);
expect(err.message).to.equal(i18n.t('messageMissingEggPotion'));
@@ -46,12 +46,12 @@ describe('shared.ops.hatch', () => {
}
});
- it('does not allow hatching if user lacks specified hatching potion', (done) => {
+ it('does not allow hatching if user lacks specified hatching potion', done => {
user.items.eggs.Wolf = 1;
user.items.hatchingPotions.Base = 1;
user.items.pets = {};
try {
- hatch(user, {params: {egg: 'Wolf', hatchingPotion: 'Golden'}});
+ hatch(user, { params: { egg: 'Wolf', hatchingPotion: 'Golden' } });
} catch (err) {
expect(err).to.be.an.instanceof(NotFound);
expect(err.message).to.equal(i18n.t('messageMissingEggPotion'));
@@ -62,50 +62,50 @@ describe('shared.ops.hatch', () => {
}
});
- it('does not allow hatching if user already owns target pet', (done) => {
- user.items.eggs = {Wolf: 1};
- user.items.hatchingPotions = {Base: 1};
- user.items.pets = {'Wolf-Base': 10};
+ it('does not allow hatching if user already owns target pet', done => {
+ user.items.eggs = { Wolf: 1 };
+ user.items.hatchingPotions = { Base: 1 };
+ user.items.pets = { 'Wolf-Base': 10 };
try {
- hatch(user, {params: {egg: 'Wolf', hatchingPotion: 'Base'}});
+ hatch(user, { params: { egg: 'Wolf', hatchingPotion: 'Base' } });
} catch (err) {
expect(err).to.be.an.instanceof(NotAuthorized);
expect(err.message).to.equal(i18n.t('messageAlreadyPet'));
- expect(user.items.pets).to.eql({'Wolf-Base': 10});
- expect(user.items.eggs).to.eql({Wolf: 1});
- expect(user.items.hatchingPotions).to.eql({Base: 1});
+ expect(user.items.pets).to.eql({ 'Wolf-Base': 10 });
+ expect(user.items.eggs).to.eql({ Wolf: 1 });
+ expect(user.items.hatchingPotions).to.eql({ Base: 1 });
done();
}
});
- it('does not allow hatching quest pet egg using premium potion', (done) => {
- user.items.eggs = {Cheetah: 1};
- user.items.hatchingPotions = {Spooky: 1};
+ it('does not allow hatching quest pet egg using premium potion', done => {
+ user.items.eggs = { Cheetah: 1 };
+ user.items.hatchingPotions = { Spooky: 1 };
user.items.pets = {};
try {
- hatch(user, {params: {egg: 'Cheetah', hatchingPotion: 'Spooky'}});
+ hatch(user, { params: { egg: 'Cheetah', hatchingPotion: 'Spooky' } });
} catch (err) {
expect(err).to.be.an.instanceof(BadRequest);
expect(err.message).to.equal(i18n.t('messageInvalidEggPotionCombo'));
expect(user.items.pets).to.be.empty;
- expect(user.items.eggs).to.eql({Cheetah: 1});
- expect(user.items.hatchingPotions).to.eql({Spooky: 1});
+ expect(user.items.eggs).to.eql({ Cheetah: 1 });
+ expect(user.items.hatchingPotions).to.eql({ Spooky: 1 });
done();
}
});
- it('does not allow hatching quest pet egg using wacky potion', (done) => {
- user.items.eggs = {Bunny: 1};
- user.items.hatchingPotions = {Veggie: 1};
+ it('does not allow hatching quest pet egg using wacky potion', done => {
+ user.items.eggs = { Bunny: 1 };
+ user.items.hatchingPotions = { Veggie: 1 };
user.items.pets = {};
try {
- hatch(user, {params: {egg: 'Bunny', hatchingPotion: 'Veggie'}});
+ hatch(user, { params: { egg: 'Bunny', hatchingPotion: 'Veggie' } });
} catch (err) {
expect(err).to.be.an.instanceof(BadRequest);
expect(err.message).to.equal(i18n.t('messageInvalidEggPotionCombo'));
expect(user.items.pets).to.be.empty;
- expect(user.items.eggs).to.eql({Bunny: 1});
- expect(user.items.hatchingPotions).to.eql({Veggie: 1});
+ expect(user.items.eggs).to.eql({ Bunny: 1 });
+ expect(user.items.hatchingPotions).to.eql({ Veggie: 1 });
done();
}
});
@@ -113,51 +113,51 @@ describe('shared.ops.hatch', () => {
context('successful hatching', () => {
it('hatches a basic pet', () => {
- user.items.eggs = {Wolf: 1};
- user.items.hatchingPotions = {Base: 1};
+ user.items.eggs = { Wolf: 1 };
+ user.items.hatchingPotions = { Base: 1 };
user.items.pets = {};
- let [data, message] = hatch(user, {params: {egg: 'Wolf', hatchingPotion: 'Base'}});
+ const [data, message] = hatch(user, { params: { egg: 'Wolf', hatchingPotion: 'Base' } });
expect(message).to.equal(i18n.t('messageHatched'));
expect(data).to.eql(user.items);
- expect(user.items.pets).to.eql({'Wolf-Base': 5});
- expect(user.items.eggs).to.eql({Wolf: 0});
- expect(user.items.hatchingPotions).to.eql({Base: 0});
+ expect(user.items.pets).to.eql({ 'Wolf-Base': 5 });
+ expect(user.items.eggs).to.eql({ Wolf: 0 });
+ expect(user.items.hatchingPotions).to.eql({ Base: 0 });
});
it('hatches a quest pet', () => {
- user.items.eggs = {Cheetah: 1};
- user.items.hatchingPotions = {Base: 1};
+ user.items.eggs = { Cheetah: 1 };
+ user.items.hatchingPotions = { Base: 1 };
user.items.pets = {};
- let [data, message] = hatch(user, {params: {egg: 'Cheetah', hatchingPotion: 'Base'}});
+ const [data, message] = hatch(user, { params: { egg: 'Cheetah', hatchingPotion: 'Base' } });
expect(message).to.equal(i18n.t('messageHatched'));
expect(data).to.eql(user.items);
- expect(user.items.pets).to.eql({'Cheetah-Base': 5});
- expect(user.items.eggs).to.eql({Cheetah: 0});
- expect(user.items.hatchingPotions).to.eql({Base: 0});
+ expect(user.items.pets).to.eql({ 'Cheetah-Base': 5 });
+ expect(user.items.eggs).to.eql({ Cheetah: 0 });
+ expect(user.items.hatchingPotions).to.eql({ Base: 0 });
});
it('hatches a premium pet', () => {
- user.items.eggs = {Wolf: 1};
- user.items.hatchingPotions = {Spooky: 1};
+ user.items.eggs = { Wolf: 1 };
+ user.items.hatchingPotions = { Spooky: 1 };
user.items.pets = {};
- let [data, message] = hatch(user, {params: {egg: 'Wolf', hatchingPotion: 'Spooky'}});
+ const [data, message] = hatch(user, { params: { egg: 'Wolf', hatchingPotion: 'Spooky' } });
expect(message).to.equal(i18n.t('messageHatched'));
expect(data).to.eql(user.items);
- expect(user.items.pets).to.eql({'Wolf-Spooky': 5});
- expect(user.items.eggs).to.eql({Wolf: 0});
- expect(user.items.hatchingPotions).to.eql({Spooky: 0});
+ expect(user.items.pets).to.eql({ 'Wolf-Spooky': 5 });
+ expect(user.items.eggs).to.eql({ Wolf: 0 });
+ expect(user.items.hatchingPotions).to.eql({ Spooky: 0 });
});
it('hatches a pet previously raised to a mount', () => {
- user.items.eggs = {Wolf: 1};
- user.items.hatchingPotions = {Base: 1};
- user.items.pets = {'Wolf-Base': -1};
- let [data, message] = hatch(user, {params: {egg: 'Wolf', hatchingPotion: 'Base'}});
+ user.items.eggs = { Wolf: 1 };
+ user.items.hatchingPotions = { Base: 1 };
+ user.items.pets = { 'Wolf-Base': -1 };
+ const [data, message] = hatch(user, { params: { egg: 'Wolf', hatchingPotion: 'Base' } });
expect(message).to.eql(i18n.t('messageHatched'));
expect(data).to.eql(user.items);
- expect(user.items.pets).to.eql({'Wolf-Base': 5});
- expect(user.items.eggs).to.eql({Wolf: 0});
- expect(user.items.hatchingPotions).to.eql({Base: 0});
+ expect(user.items.pets).to.eql({ 'Wolf-Base': 5 });
+ expect(user.items.eggs).to.eql({ Wolf: 0 });
+ expect(user.items.hatchingPotions).to.eql({ Base: 0 });
});
it('awards Back to Basics achievement', () => {
@@ -172,9 +172,9 @@ describe('shared.ops.hatch', () => {
'Cactus-Base': 15,
'BearCub-Base': 5,
};
- user.items.eggs = {Wolf: 1};
- user.items.hatchingPotions = {Spooky: 1};
- hatch(user, {params: {egg: 'Wolf', hatchingPotion: 'Spooky'}});
+ user.items.eggs = { Wolf: 1 };
+ user.items.hatchingPotions = { Spooky: 1 };
+ hatch(user, { params: { egg: 'Wolf', hatchingPotion: 'Spooky' } });
expect(user.achievements.backToBasics).to.eql(true);
});
@@ -190,9 +190,9 @@ describe('shared.ops.hatch', () => {
'Cactus-Desert': 15,
'BearCub-Desert': 5,
};
- user.items.eggs = {Wolf: 1};
- user.items.hatchingPotions = {Spooky: 1};
- hatch(user, {params: {egg: 'Wolf', hatchingPotion: 'Spooky'}});
+ user.items.eggs = { Wolf: 1 };
+ user.items.hatchingPotions = { Spooky: 1 };
+ hatch(user, { params: { egg: 'Wolf', hatchingPotion: 'Spooky' } });
expect(user.achievements.dustDevil).to.eql(true);
});
});
diff --git a/test/common/ops/openMysteryItem.js b/test/common/ops/openMysteryItem.js
index e828129457..511c2e52b8 100644
--- a/test/common/ops/openMysteryItem.js
+++ b/test/common/ops/openMysteryItem.js
@@ -15,7 +15,7 @@ describe('shared.ops.openMysteryItem', () => {
user = generateUser();
});
- it('returns error when item key is empty', (done) => {
+ it('returns error when item key is empty', done => {
try {
openMysteryItem(user);
} catch (err) {
@@ -26,17 +26,17 @@ describe('shared.ops.openMysteryItem', () => {
});
it('opens mystery item', () => {
- let mysteryItemKey = 'eyewear_special_summerRogue';
+ const mysteryItemKey = 'eyewear_special_summerRogue';
user.purchased.plan.mysteryItems = [mysteryItemKey];
- user.notifications.push({type: 'NEW_MYSTERY_ITEMS', data: {items: [mysteryItemKey]}});
+ user.notifications.push({ type: 'NEW_MYSTERY_ITEMS', data: { items: [mysteryItemKey] } });
expect(user.notifications.length).to.equal(1);
- let [data, message] = openMysteryItem(user);
+ const [data, message] = openMysteryItem(user);
expect(user.items.gear.owned[mysteryItemKey]).to.be.true;
expect(message).to.equal(i18n.t('mysteryItemOpened'));
- let item = _.cloneDeep(content.gear.flat[mysteryItemKey]);
+ const item = _.cloneDeep(content.gear.flat[mysteryItemKey]);
item.text = content.gear.flat[mysteryItemKey].text();
expect(data).to.eql(item);
expect(user.notifications.length).to.equal(0);
diff --git a/test/common/ops/pinnedGearUtils.js b/test/common/ops/pinnedGearUtils.js
index e45e60a729..b6ea4e0758 100644
--- a/test/common/ops/pinnedGearUtils.js
+++ b/test/common/ops/pinnedGearUtils.js
@@ -1,7 +1,7 @@
import {
generateUser,
} from '../../helpers/common.helper';
-import {addPinnedGear} from '../../../website/common/script/ops/pinnedGearUtils';
+import { addPinnedGear } from '../../../website/common/script/ops/pinnedGearUtils';
describe('shared.ops.pinnedGearUtils.addPinnedGear', () => {
let user;
diff --git a/test/common/ops/readCard.js b/test/common/ops/readCard.js
index d6d249e1f4..261708c2cb 100644
--- a/test/common/ops/readCard.js
+++ b/test/common/ops/readCard.js
@@ -10,7 +10,7 @@ import {
describe('shared.ops.readCard', () => {
let user;
- let cardType = 'greeting';
+ const cardType = 'greeting';
beforeEach(() => {
user = generateUser();
@@ -18,7 +18,7 @@ describe('shared.ops.readCard', () => {
user.flags.cardReceived = true;
});
- it('returns an error when cardType is not provided', (done) => {
+ it('returns an error when cardType is not provided', done => {
try {
readCard(user);
} catch (err) {
@@ -28,9 +28,9 @@ describe('shared.ops.readCard', () => {
}
});
- it('returns an error when unknown cardType is provided', (done) => {
+ it('returns an error when unknown cardType is provided', done => {
try {
- readCard(user, {params: {cardType: 'randomCardType'}});
+ readCard(user, { params: { cardType: 'randomCardType' } });
} catch (err) {
expect(err).to.be.an.instanceof(NotAuthorized);
expect(err.message).to.equal(i18n.t('cardTypeNotAllowed'));
@@ -41,13 +41,13 @@ describe('shared.ops.readCard', () => {
it('reads a card', () => {
user.notifications.push({
type: 'CARD_RECEIVED',
- data: {card: cardType},
+ data: { card: cardType },
});
const initialNotificationNuber = user.notifications.length;
- let [, message] = readCard(user, {params: {cardType: 'greeting'}});
+ const [, message] = readCard(user, { params: { cardType: 'greeting' } });
- expect(message).to.equal(i18n.t('readCard', {cardType}));
+ expect(message).to.equal(i18n.t('readCard', { cardType }));
expect(user.items.special[`${cardType}Received`]).to.be.empty;
expect(user.flags.cardReceived).to.be.false;
expect(user.notifications.length).to.equal(initialNotificationNuber - 1);
diff --git a/test/common/ops/rebirth.js b/test/common/ops/rebirth.js
index 65014e3cb4..0cc9218daa 100644
--- a/test/common/ops/rebirth.js
+++ b/test/common/ops/rebirth.js
@@ -14,8 +14,8 @@ import {
describe('shared.ops.rebirth', () => {
let user;
- let animal = 'Wolf-Base';
- let userStats = ['per', 'int', 'con', 'str', 'points', 'gp', 'exp', 'mp'];
+ const animal = 'Wolf-Base';
+ const userStats = ['per', 'int', 'con', 'str', 'points', 'gp', 'exp', 'mp'];
let tasks = [];
beforeEach(() => {
@@ -24,7 +24,7 @@ describe('shared.ops.rebirth', () => {
tasks = [generateHabit(), generateDaily(), generateTodo(), generateReward()];
});
- it('returns an error when user balance is too low and user is less than max level', (done) => {
+ it('returns an error when user balance is too low and user is less than max level', done => {
user.balance = 0;
try {
@@ -37,7 +37,7 @@ describe('shared.ops.rebirth', () => {
});
it('rebirths a user with enough gems', () => {
- let [, message] = rebirth(user);
+ const [, message] = rebirth(user);
expect(message).to.equal(i18n.t('rebirthComplete'));
});
@@ -46,7 +46,7 @@ describe('shared.ops.rebirth', () => {
user.balance = 0;
user.stats.lvl = MAX_LEVEL;
- let [, message] = rebirth(user);
+ const [, message] = rebirth(user);
expect(message).to.equal(i18n.t('rebirthComplete'));
expect(user.flags.lastFreeRebirth).to.exist;
@@ -56,7 +56,7 @@ describe('shared.ops.rebirth', () => {
user.balance = 0;
user.stats.lvl = MAX_LEVEL + 1;
- let [, message] = rebirth(user);
+ const [, message] = rebirth(user);
expect(message).to.equal(i18n.t('rebirthComplete'));
});
@@ -65,7 +65,7 @@ describe('shared.ops.rebirth', () => {
user.stats.lvl = MAX_LEVEL + 1;
user.flags.lastFreeRebirth = new Date();
- let [, message] = rebirth(user);
+ const [, message] = rebirth(user);
expect(message).to.equal(i18n.t('rebirthComplete'));
expect(user.balance).to.equal(0);
@@ -98,7 +98,7 @@ describe('shared.ops.rebirth', () => {
});
it('resets a user\'s buffs', () => {
- user.stats.buffs = {test: 'test'};
+ user.stats.buffs = { test: 'test' };
rebirth(user);
@@ -123,21 +123,21 @@ describe('shared.ops.rebirth', () => {
it('resets a user\'s stats', () => {
user.stats.class = 'rouge';
- _.each(userStats, function setUsersStats (value) {
+ _.each(userStats, value => {
user.stats[value] = 10;
});
rebirth(user);
- _.each(userStats, function resetUserStats (value) {
+ _.each(userStats, value => {
user.stats[value] = 0;
});
});
it('retains a user\'s gear', () => {
- let prevGearEquipped = user.items.gear.equipped;
- let prevGearCostume = user.items.gear.costume;
- let prevPrefCostume = user.preferences.costume;
+ const prevGearEquipped = user.items.gear.equipped;
+ const prevGearCostume = user.items.gear.costume;
+ const prevPrefCostume = user.preferences.costume;
rebirth(user);
@@ -148,7 +148,7 @@ describe('shared.ops.rebirth', () => {
it('retains a user\'s gear owned', () => {
user.items.gear.owned.weapon_warrior_1 = true; // eslint-disable-line camelcase
- let prevGearOwned = user.items.gear.owned;
+ const prevGearOwned = user.items.gear.owned;
rebirth(user);
@@ -176,7 +176,7 @@ describe('shared.ops.rebirth', () => {
user.flags.dropsEnabled = true;
user.flags.classSelected = true;
user.flags.rebirthEnabled = true;
- user.flags.levelDrops = {test: 'test'};
+ user.flags.levelDrops = { test: 'test' };
rebirth(user);
@@ -228,7 +228,8 @@ describe('shared.ops.rebirth', () => {
it('always increments rebirth achievements when level is MAX_LEVEL', () => {
user.stats.lvl = MAX_LEVEL;
user.achievements.rebirths = 1;
- user.achievements.rebirthLevel = MAX_LEVEL + 1; // this value is not actually possible (actually capped at MAX_LEVEL) but makes a good test
+ // this value is not actually possible (actually capped at MAX_LEVEL) but makes a good test
+ user.achievements.rebirthLevel = MAX_LEVEL + 1;
rebirth(user);
@@ -239,7 +240,8 @@ describe('shared.ops.rebirth', () => {
it('always increments rebirth achievements when level is greater than MAX_LEVEL', () => {
user.stats.lvl = MAX_LEVEL + 1;
user.achievements.rebirths = 1;
- user.achievements.rebirthLevel = MAX_LEVEL + 2; // this value is not actually possible (actually capped at MAX_LEVEL) but makes a good test
+ // this value is not actually possible (actually capped at MAX_LEVEL) but makes a good test
+ user.achievements.rebirthLevel = MAX_LEVEL + 2;
rebirth(user);
diff --git a/test/common/ops/releaseBoth.js b/test/common/ops/releaseBoth.js
index 3d2c910075..006a467b3d 100644
--- a/test/common/ops/releaseBoth.js
+++ b/test/common/ops/releaseBoth.js
@@ -10,19 +10,19 @@ import {
describe('shared.ops.releaseBoth', () => {
let user;
- let animal = 'Wolf-Base';
+ const animal = 'Wolf-Base';
beforeEach(() => {
user = generateUser();
- for (let p in content.pets) {
+ Object.keys(content.pets).forEach(p => {
user.items.pets[p] = content.pets[p];
user.items.pets[p] = 5;
- }
+ });
- for (let m in content.pets) {
+ Object.keys(content.pets).forEach(m => {
user.items.mounts[m] = content.pets[m];
user.items.mounts[m] = true;
- }
+ });
user.items.currentMount = animal;
user.items.currentPet = animal;
@@ -30,7 +30,7 @@ describe('shared.ops.releaseBoth', () => {
user.achievements.triadBingo = true;
});
- xit('returns an error when user balance is too low and user does not have triadBingo', (done) => {
+ xit('returns an error when user balance is too low and user does not have triadBingo', done => {
user.balance = 0;
try {
@@ -42,7 +42,7 @@ describe('shared.ops.releaseBoth', () => {
}
});
- it('returns an error when user does not have all pets', (done) => {
+ it('returns an error when user does not have all pets', done => {
const petKeys = Object.keys(user.items.pets);
delete user.items.pets[petKeys[0]];
@@ -59,7 +59,7 @@ describe('shared.ops.releaseBoth', () => {
});
it('grants triad bingo with gems', () => {
- let message = releaseBoth(user)[1];
+ const message = releaseBoth(user)[1];
expect(message).to.equal(i18n.t('mountsAndPetsReleased'));
expect(user.achievements.triadBingoCount).to.equal(1);
@@ -70,23 +70,23 @@ describe('shared.ops.releaseBoth', () => {
user.achievements.triadBingo = 1;
user.achievements.triadBingoCount = 1;
- let message = releaseBoth(user)[1];
+ const message = releaseBoth(user)[1];
expect(message).to.equal(i18n.t('mountsAndPetsReleased'));
expect(user.achievements.triadBingoCount).to.equal(2);
});
it('does not grant triad bingo if any pet has not been previously found', () => {
- let triadBingoCountBeforeRelease = user.achievements.triadBingoCount;
+ const triadBingoCountBeforeRelease = user.achievements.triadBingoCount;
user.items.pets[animal] = -1;
- let message = releaseBoth(user)[1];
+ const message = releaseBoth(user)[1];
expect(message).to.equal(i18n.t('mountsAndPetsReleased'));
expect(user.achievements.triadBingoCount).to.equal(triadBingoCountBeforeRelease);
});
it('releases pets', () => {
- let message = releaseBoth(user)[1];
+ const message = releaseBoth(user)[1];
expect(message).to.equal(i18n.t('mountsAndPetsReleased'));
expect(user.items.pets[animal]).to.equal(0);
@@ -94,7 +94,7 @@ describe('shared.ops.releaseBoth', () => {
});
it('does not increment beastMasterCount if any pet is level 0 (released)', () => {
- let beastMasterCountBeforeRelease = user.achievements.beastMasterCount;
+ const beastMasterCountBeforeRelease = user.achievements.beastMasterCount;
user.items.pets[animal] = 0;
try {
releaseBoth(user);
@@ -104,7 +104,7 @@ describe('shared.ops.releaseBoth', () => {
});
it('does not increment beastMasterCount if any pet is missing (null)', () => {
- let beastMasterCountBeforeRelease = user.achievements.beastMasterCount;
+ const beastMasterCountBeforeRelease = user.achievements.beastMasterCount;
user.items.pets[animal] = null;
try {
@@ -115,7 +115,7 @@ describe('shared.ops.releaseBoth', () => {
});
it('does not increment beastMasterCount if any pet is missing (undefined)', () => {
- let beastMasterCountBeforeRelease = user.achievements.beastMasterCount;
+ const beastMasterCountBeforeRelease = user.achievements.beastMasterCount;
delete user.items.pets[animal];
try {
@@ -126,14 +126,14 @@ describe('shared.ops.releaseBoth', () => {
});
it('releases mounts', () => {
- let message = releaseBoth(user)[1];
+ const message = releaseBoth(user)[1];
expect(message).to.equal(i18n.t('mountsAndPetsReleased'));
expect(user.items.mounts[animal]).to.equal(null);
});
it('does not increase mountMasterCount achievement if mount is missing (null)', () => {
- let mountMasterCountBeforeRelease = user.achievements.mountMasterCount;
+ const mountMasterCountBeforeRelease = user.achievements.mountMasterCount;
user.items.mounts[animal] = null;
try {
@@ -144,7 +144,7 @@ describe('shared.ops.releaseBoth', () => {
});
it('does not increase mountMasterCount achievement if mount is missing (undefined)', () => {
- let mountMasterCountBeforeRelease = user.achievements.mountMasterCount;
+ const mountMasterCountBeforeRelease = user.achievements.mountMasterCount;
delete user.items.mounts[animal];
try {
@@ -155,7 +155,7 @@ describe('shared.ops.releaseBoth', () => {
});
it('removes drop currentPet', () => {
- let petInfo = content.petInfo[user.items.currentPet];
+ const petInfo = content.petInfo[user.items.currentPet];
expect(petInfo.type).to.equal('drop');
releaseBoth(user);
@@ -164,7 +164,7 @@ describe('shared.ops.releaseBoth', () => {
});
it('removes drop currentMount', () => {
- let mountInfo = content.mountInfo[user.items.currentMount];
+ const mountInfo = content.mountInfo[user.items.currentMount];
expect(mountInfo.type).to.equal('drop');
releaseBoth(user);
@@ -172,15 +172,15 @@ describe('shared.ops.releaseBoth', () => {
});
it('leaves non-drop pets and mounts equipped', () => {
- let questAnimal = 'Gryphon-Base';
+ const questAnimal = 'Gryphon-Base';
user.items.currentMount = questAnimal;
user.items.currentPet = questAnimal;
user.items.pets[questAnimal] = 5;
user.items.mounts[questAnimal] = true;
- let petInfo = content.petInfo[user.items.currentPet];
+ const petInfo = content.petInfo[user.items.currentPet];
expect(petInfo.type).to.not.equal('drop');
- let mountInfo = content.mountInfo[user.items.currentMount];
+ const mountInfo = content.mountInfo[user.items.currentMount];
expect(mountInfo.type).to.not.equal('drop');
releaseBoth(user);
diff --git a/test/common/ops/releaseMounts.js b/test/common/ops/releaseMounts.js
index 816d5f035d..10ec71f23b 100644
--- a/test/common/ops/releaseMounts.js
+++ b/test/common/ops/releaseMounts.js
@@ -10,20 +10,20 @@ import {
describe('shared.ops.releaseMounts', () => {
let user;
- let animal = 'Wolf-Base';
+ const animal = 'Wolf-Base';
beforeEach(() => {
user = generateUser();
- for (let k in content.pets) {
+ Object.keys(content.pets).forEach(k => {
user.items.mounts[k] = content.pets[k];
user.items.mounts[k] = true;
- }
+ });
user.items.currentMount = animal;
user.balance = 1;
});
- it('returns an error when user balance is too low', (done) => {
+ it('returns an error when user balance is too low', done => {
user.balance = 0;
try {
@@ -35,7 +35,7 @@ describe('shared.ops.releaseMounts', () => {
}
});
- it('returns an error when user does not have all pets', (done) => {
+ it('returns an error when user does not have all pets', done => {
const mountsKeys = Object.keys(user.items.mounts);
delete user.items.mounts[mountsKeys[0]];
@@ -49,14 +49,14 @@ describe('shared.ops.releaseMounts', () => {
});
it('releases mounts', () => {
- let message = releaseMounts(user)[1];
+ const message = releaseMounts(user)[1];
expect(message).to.equal(i18n.t('mountsReleased'));
expect(user.items.mounts[animal]).to.equal(null);
});
it('removes drop currentMount', () => {
- let mountInfo = content.mountInfo[user.items.currentMount];
+ const mountInfo = content.mountInfo[user.items.currentMount];
expect(mountInfo.type).to.equal('drop');
releaseMounts(user);
@@ -64,11 +64,11 @@ describe('shared.ops.releaseMounts', () => {
});
it('leaves non-drop mount equipped', () => {
- let questAnimal = 'Gryphon-Base';
+ const questAnimal = 'Gryphon-Base';
user.items.currentMount = questAnimal;
user.items.mounts[questAnimal] = true;
- let mountInfo = content.mountInfo[user.items.currentMount];
+ const mountInfo = content.mountInfo[user.items.currentMount];
expect(mountInfo.type).to.not.equal('drop');
releaseMounts(user);
@@ -81,7 +81,7 @@ describe('shared.ops.releaseMounts', () => {
});
it('does not increase mountMasterCount achievement if mount is missing (null)', () => {
- let mountMasterCountBeforeRelease = user.achievements.mountMasterCount;
+ const mountMasterCountBeforeRelease = user.achievements.mountMasterCount;
user.items.mounts[animal] = null;
try {
@@ -92,7 +92,7 @@ describe('shared.ops.releaseMounts', () => {
});
it('does not increase mountMasterCount achievement if mount is missing (undefined)', () => {
- let mountMasterCountBeforeRelease = user.achievements.mountMasterCount;
+ const mountMasterCountBeforeRelease = user.achievements.mountMasterCount;
delete user.items.mounts[animal];
try {
diff --git a/test/common/ops/releasePets.js b/test/common/ops/releasePets.js
index 97089607d3..a333fc41ab 100644
--- a/test/common/ops/releasePets.js
+++ b/test/common/ops/releasePets.js
@@ -10,20 +10,20 @@ import {
describe('shared.ops.releasePets', () => {
let user;
- let animal = 'Wolf-Base';
+ const animal = 'Wolf-Base';
beforeEach(() => {
user = generateUser();
- for (let k in content.pets) {
+ Object.keys(content.pets).forEach(k => {
user.items.pets[k] = content.pets[k];
user.items.pets[k] = 5;
- }
+ });
user.items.currentPet = animal;
user.balance = 1;
});
- it('returns an error when user balance is too low', (done) => {
+ it('returns an error when user balance is too low', done => {
user.balance = 0;
try {
@@ -35,7 +35,7 @@ describe('shared.ops.releasePets', () => {
}
});
- it('returns an error when user does not have all pets', (done) => {
+ it('returns an error when user does not have all pets', done => {
const petKeys = Object.keys(user.items.pets);
delete user.items.pets[petKeys[0]];
@@ -49,14 +49,14 @@ describe('shared.ops.releasePets', () => {
});
it('releases pets', () => {
- let message = releasePets(user)[1];
+ const message = releasePets(user)[1];
expect(message).to.equal(i18n.t('petsReleased'));
expect(user.items.pets[animal]).to.equal(0);
});
it('removes drop currentPet', () => {
- let petInfo = content.petInfo[user.items.currentPet];
+ const petInfo = content.petInfo[user.items.currentPet];
expect(petInfo.type).to.equal('drop');
releasePets(user);
@@ -64,11 +64,11 @@ describe('shared.ops.releasePets', () => {
});
it('leaves non-drop pets equipped', () => {
- let questAnimal = 'Gryphon-Base';
+ const questAnimal = 'Gryphon-Base';
user.items.currentPet = questAnimal;
user.items.pets[questAnimal] = 5;
- let petInfo = content.petInfo[user.items.currentPet];
+ const petInfo = content.petInfo[user.items.currentPet];
expect(petInfo.type).to.not.equal('drop');
releasePets(user);
@@ -99,7 +99,7 @@ describe('shared.ops.releasePets', () => {
});
it('does not increment beastMasterCount if any pet is missing (null)', () => {
- let beastMasterCountBeforeRelease = user.achievements.beastMasterCount;
+ const beastMasterCountBeforeRelease = user.achievements.beastMasterCount;
user.items.pets[animal] = null;
try {
@@ -110,7 +110,7 @@ describe('shared.ops.releasePets', () => {
});
it('does not increment beastMasterCount if any pet is missing (undefined)', () => {
- let beastMasterCountBeforeRelease = user.achievements.beastMasterCount;
+ const beastMasterCountBeforeRelease = user.achievements.beastMasterCount;
delete user.items.pets[animal];
try {
diff --git a/test/common/ops/reroll.js b/test/common/ops/reroll.js
index 8cf7123d11..15020c8aa4 100644
--- a/test/common/ops/reroll.js
+++ b/test/common/ops/reroll.js
@@ -19,7 +19,7 @@ describe('shared.ops.reroll', () => {
tasks = [generateDaily(), generateReward()];
});
- it('returns an error when user balance is too low', (done) => {
+ it('returns an error when user balance is too low', done => {
user.balance = 0;
try {
@@ -32,7 +32,7 @@ describe('shared.ops.reroll', () => {
});
it('rerolls a user with enough gems', () => {
- let [, message] = reroll(user);
+ const [, message] = reroll(user);
expect(message).to.equal(i18n.t('fortifyComplete'));
});
diff --git a/test/common/ops/reset.js b/test/common/ops/reset.js
index 17dea701c2..7ba6c117c4 100644
--- a/test/common/ops/reset.js
+++ b/test/common/ops/reset.js
@@ -16,10 +16,10 @@ describe('shared.ops.reset', () => {
user = generateUser();
user.balance = 2;
- let habit = generateHabit();
- let todo = generateTodo();
- let daily = generateDaily();
- let reward = generateReward();
+ const habit = generateHabit();
+ const todo = generateTodo();
+ const daily = generateDaily();
+ const reward = generateReward();
user.tasksOrder.habits = [habit._id];
user.tasksOrder.todos = [todo._id];
@@ -31,7 +31,7 @@ describe('shared.ops.reset', () => {
it('resets a user', () => {
- let [, message] = reset(user);
+ const [, message] = reset(user);
expect(message).to.equal(i18n.t('resetComplete'));
});
diff --git a/test/common/ops/revive.js b/test/common/ops/revive.js
index b4e0ce2846..5000687076 100644
--- a/test/common/ops/revive.js
+++ b/test/common/ops/revive.js
@@ -18,7 +18,7 @@ describe('shared.ops.revive', () => {
user.stats.hp = 0;
});
- it('returns an error when user is not dead', (done) => {
+ it('returns an error when user is not dead', done => {
user.stats.hp = 10;
try {
@@ -56,28 +56,26 @@ describe('shared.ops.revive', () => {
});
it('it decreases a random stat from str, con, per, int by one', () => {
- let stats = ['str', 'con', 'per', 'int'];
+ const stats = ['str', 'con', 'per', 'int'];
- _.each(stats, (s) => {
+ _.each(stats, s => {
user.stats[s] = 1;
});
revive(user);
- let statSum = _.reduce(stats, (m, k) => {
- return m + user.stats[k];
- }, 0);
+ const statSum = _.reduce(stats, (m, k) => m + user.stats[k], 0);
expect(statSum).to.equal(3);
});
it('removes a random item from user gear owned', () => {
- let weaponKey = 'weapon_warrior_0';
+ const weaponKey = 'weapon_warrior_0';
user.items.gear.owned[weaponKey] = true;
- let [, message] = revive(user);
+ const [, message] = revive(user);
- expect(message).to.equal(i18n.t('messageLostItem', { itemText: content.gear.flat[weaponKey].text()}));
+ expect(message).to.equal(i18n.t('messageLostItem', { itemText: content.gear.flat[weaponKey].text() }));
expect(user.items.gear.owned[weaponKey]).to.be.false;
});
@@ -96,67 +94,67 @@ describe('shared.ops.revive', () => {
weapon_warrior_0: true,
};
- let weaponKey = 'weapon_warrior_0';
+ const weaponKey = 'weapon_warrior_0';
- let [, message] = revive(user);
+ const [, message] = revive(user);
- expect(message).to.equal(i18n.t('messageLostItem', { itemText: content.gear.flat[weaponKey].text()}));
+ expect(message).to.equal(i18n.t('messageLostItem', { itemText: content.gear.flat[weaponKey].text() }));
expect(user.items.gear.owned[weaponKey]).to.be.false;
});
it('does not remove items of a different class', () => {
- let weaponKey = 'weapon_wizard_1';
+ const weaponKey = 'weapon_wizard_1';
user.items.gear.owned[weaponKey] = true;
- let [, message] = revive(user);
+ const [, message] = revive(user);
expect(message).to.equal('');
expect(user.items.gear.owned[weaponKey]).to.be.true;
});
it('removes "special" items', () => {
- let weaponKey = 'weapon_special_1';
+ const weaponKey = 'weapon_special_1';
user.items.gear.owned[weaponKey] = true;
- let [, message] = revive(user);
+ const [, message] = revive(user);
- expect(message).to.equal(i18n.t('messageLostItem', { itemText: content.gear.flat[weaponKey].text()}));
+ expect(message).to.equal(i18n.t('messageLostItem', { itemText: content.gear.flat[weaponKey].text() }));
expect(user.items.gear.owned[weaponKey]).to.be.false;
});
it('removes "armoire" items', () => {
- let weaponKey = 'armor_armoire_goldenToga';
+ const weaponKey = 'armor_armoire_goldenToga';
user.items.gear.owned[weaponKey] = true;
- let [, message] = revive(user);
+ const [, message] = revive(user);
- expect(message).to.equal(i18n.t('messageLostItem', { itemText: content.gear.flat[weaponKey].text()}));
+ expect(message).to.equal(i18n.t('messageLostItem', { itemText: content.gear.flat[weaponKey].text() }));
expect(user.items.gear.owned[weaponKey]).to.be.false;
});
it('dequips lost item from user if user had it equipped', () => {
- let weaponKey = 'weapon_warrior_0';
- let itemToLose = content.gear.flat[weaponKey];
+ const weaponKey = 'weapon_warrior_0';
+ const itemToLose = content.gear.flat[weaponKey];
user.items.gear.owned[weaponKey] = true;
user.items.gear.equipped[itemToLose.type] = itemToLose.key;
- let [, message] = revive(user);
+ const [, message] = revive(user);
- expect(message).to.equal(i18n.t('messageLostItem', { itemText: itemToLose.text()}));
+ expect(message).to.equal(i18n.t('messageLostItem', { itemText: itemToLose.text() }));
expect(user.items.gear.equipped[itemToLose.type]).to.equal(`${itemToLose.type}_base_0`);
});
it('dequips lost item from user costume if user was using it in costume', () => {
- let weaponKey = 'weapon_warrior_0';
- let itemToLose = content.gear.flat[weaponKey];
+ const weaponKey = 'weapon_warrior_0';
+ const itemToLose = content.gear.flat[weaponKey];
user.items.gear.owned[weaponKey] = true;
user.items.gear.costume[itemToLose.type] = itemToLose.key;
- let [, message] = revive(user);
+ const [, message] = revive(user);
- expect(message).to.equal(i18n.t('messageLostItem', { itemText: itemToLose.text()}));
+ expect(message).to.equal(i18n.t('messageLostItem', { itemText: itemToLose.text() }));
expect(user.items.gear.costume[itemToLose.type]).to.equal(`${itemToLose.type}_base_0`);
});
});
diff --git a/test/common/ops/scoreTask.test.js b/test/common/ops/scoreTask.test.js
index c157a929e1..2526a57fc9 100644
--- a/test/common/ops/scoreTask.test.js
+++ b/test/common/ops/scoreTask.test.js
@@ -13,11 +13,11 @@ import {
} from '../../../website/common/script/libs/errors';
import crit from '../../../website/common/script/fns/crit';
-let EPSILON = 0.0001; // negligible distance between datapoints
+const EPSILON = 0.0001; // negligible distance between datapoints
-let beforeAfter = () => {
- let beforeUser = generateUser();
- let afterUser = _.cloneDeep(beforeUser);
+const beforeAfter = () => {
+ const beforeUser = generateUser();
+ const afterUser = _.cloneDeep(beforeUser);
return {
beforeUser,
@@ -25,7 +25,7 @@ let beforeAfter = () => {
};
};
-let expectGainedPoints = (beforeUser, afterUser, beforeTask, afterTask) => {
+const expectGainedPoints = (beforeUser, afterUser, beforeTask, afterTask) => {
expect(afterUser.stats.hp).to.eql(50);
expect(afterUser.stats.exp).to.be.greaterThan(beforeUser.stats.exp);
expect(afterUser.stats.gp).to.be.greaterThan(beforeUser.stats.gp);
@@ -35,15 +35,15 @@ let expectGainedPoints = (beforeUser, afterUser, beforeTask, afterTask) => {
}
};
-let expectClosePoints = (beforeUser, afterUser, beforeTask, task) => {
+const expectClosePoints = (beforeUser, afterUser, beforeTask, task) => {
expect(Math.abs(afterUser.stats.exp - beforeUser.stats.exp)).to.be.lessThan(EPSILON);
expect(Math.abs(afterUser.stats.gp - beforeUser.stats.gp)).to.be.lessThan(EPSILON);
expect(Math.abs(task.value - beforeTask.value)).to.be.lessThan(EPSILON);
};
function expectRoughlyEqualDates (date1, date2) {
- date1 = date1.valueOf();
- date2 = date2.valueOf();
+ date1 = date1.valueOf(); // eslint-disable-line no-param-reassign
+ date2 = date2.valueOf(); // eslint-disable-line no-param-reassign
expect(date1).to.be.within(date2 - 100, date2 + 100);
}
@@ -54,8 +54,8 @@ describe('shared.ops.scoreTask', () => {
ref = beforeAfter();
});
- it('throws an error when scoring a reward if user does not have enough gold', (done) => {
- let reward = generateReward({ userId: ref.afterUser._id, text: 'some reward', value: 100 });
+ it('throws an error when scoring a reward if user does not have enough gold', done => {
+ const reward = generateReward({ userId: ref.afterUser._id, text: 'some reward', value: 100 });
try {
scoreTask({ user: ref.afterUser, task: reward });
} catch (err) {
@@ -66,14 +66,14 @@ describe('shared.ops.scoreTask', () => {
});
it('completes when the task direction is up', () => {
- let task = generateTodo({ userId: ref.afterUser._id, text: 'todo to complete', cron: false });
+ const task = generateTodo({ userId: ref.afterUser._id, text: 'todo to complete', cron: false });
scoreTask({ user: ref.afterUser, task, direction: 'up' });
expect(task.completed).to.eql(true);
expectRoughlyEqualDates(task.dateCompleted, new Date());
});
it('uncompletes when the task direction is down', () => {
- let task = generateTodo({ userId: ref.afterUser._id, text: 'todo to complete', cron: false });
+ const task = generateTodo({ userId: ref.afterUser._id, text: 'todo to complete', cron: false });
scoreTask({ user: ref.afterUser, task, direction: 'down' });
expect(task.completed).to.eql(false);
expect(task.dateCompleted).to.not.exist;
@@ -88,19 +88,23 @@ describe('shared.ops.scoreTask', () => {
});
it('works', () => {
- let delta1, delta2, delta3;
-
- delta1 = scoreTask({ user: ref.afterUser, task: habit, direction: 'up', times: 5, cron: false });
+ const delta1 = scoreTask({
+ user: ref.afterUser, task: habit, direction: 'up', times: 5, cron: false,
+ });
ref = beforeAfter();
habit = generateHabit({ userId: ref.afterUser._id, text: 'some habit' });
- delta2 = scoreTask({ user: ref.afterUser, task: habit, direction: 'up', times: 4, cron: false });
+ const delta2 = scoreTask({
+ user: ref.afterUser, task: habit, direction: 'up', times: 4, cron: false,
+ });
ref = beforeAfter();
habit = generateHabit({ userId: ref.afterUser._id, text: 'some habit' });
- delta3 = scoreTask({ user: ref.afterUser, task: habit, direction: 'up', times: 5, cron: false });
+ const delta3 = scoreTask({
+ user: ref.afterUser, task: habit, direction: 'up', times: 5, cron: false,
+ });
expect(Math.abs(delta1 - delta2)).to.be.greaterThan(EPSILON);
expect(Math.abs(delta1 - delta3)).to.be.lessThan(EPSILON);
@@ -108,58 +112,62 @@ describe('shared.ops.scoreTask', () => {
});
it('checks that the streak parameters affects the score', () => {
- let task = generateDaily({ userId: ref.afterUser._id, text: 'task to check streak' });
- scoreTask({ user: ref.afterUser, task, direction: 'up', cron: false });
- scoreTask({ user: ref.afterUser, task, direction: 'up', cron: false });
+ const task = generateDaily({ userId: ref.afterUser._id, text: 'task to check streak' });
+ scoreTask({
+ user: ref.afterUser, task, direction: 'up', cron: false,
+ });
+ scoreTask({
+ user: ref.afterUser, task, direction: 'up', cron: false,
+ });
expect(task.streak).to.eql(2);
});
describe('verifies that 21-day streak achievements are given/removed correctly', () => {
- let initialStreakCount = 20; // 1 before the streak achievement is awarded
+ const initialStreakCount = 20; // 1 before the streak achievement is awarded
beforeEach(() => {
ref = beforeAfter();
});
it('awards the first streak achievement', () => {
- let task = generateDaily({ userId: ref.afterUser._id, text: 'some daily', streak: initialStreakCount });
+ const task = generateDaily({ userId: ref.afterUser._id, text: 'some daily', streak: initialStreakCount });
scoreTask({ user: ref.afterUser, task, direction: 'up' });
expect(ref.afterUser.achievements.streak).to.equal(1);
});
it('increments the streak achievement for a second streak', () => {
- let task1 = generateDaily({ userId: ref.afterUser._id, text: 'first daily', streak: initialStreakCount });
+ const task1 = generateDaily({ userId: ref.afterUser._id, text: 'first daily', streak: initialStreakCount });
scoreTask({ user: ref.afterUser, task: task1, direction: 'up' });
- let task2 = generateDaily({ userId: ref.afterUser._id, text: 'second daily', streak: initialStreakCount });
+ const task2 = generateDaily({ userId: ref.afterUser._id, text: 'second daily', streak: initialStreakCount });
scoreTask({ user: ref.afterUser, task: task2, direction: 'up' });
expect(ref.afterUser.achievements.streak).to.equal(2);
});
it('removes the first streak achievement when unticking a Daily', () => {
- let task = generateDaily({ userId: ref.afterUser._id, text: 'some daily', streak: initialStreakCount });
+ const task = generateDaily({ userId: ref.afterUser._id, text: 'some daily', streak: initialStreakCount });
scoreTask({ user: ref.afterUser, task, direction: 'up' });
scoreTask({ user: ref.afterUser, task, direction: 'down' });
expect(ref.afterUser.achievements.streak).to.equal(0);
});
it('decrements a multiple streak achievement when unticking a Daily', () => {
- let task1 = generateDaily({ userId: ref.afterUser._id, text: 'first daily', streak: initialStreakCount });
+ const task1 = generateDaily({ userId: ref.afterUser._id, text: 'first daily', streak: initialStreakCount });
scoreTask({ user: ref.afterUser, task: task1, direction: 'up' });
- let task2 = generateDaily({ userId: ref.afterUser._id, text: 'second daily', streak: initialStreakCount });
+ const task2 = generateDaily({ userId: ref.afterUser._id, text: 'second daily', streak: initialStreakCount });
scoreTask({ user: ref.afterUser, task: task2, direction: 'up' });
scoreTask({ user: ref.afterUser, task: task2, direction: 'down' });
expect(ref.afterUser.achievements.streak).to.equal(1);
});
it('does not give a streak achievement for a streak of zero', () => {
- let task = generateDaily({ userId: ref.afterUser._id, text: 'some daily', streak: -1 });
+ const task = generateDaily({ userId: ref.afterUser._id, text: 'some daily', streak: -1 });
scoreTask({ user: ref.afterUser, task, direction: 'up' });
expect(ref.afterUser.achievements.streak).to.equal(0);
});
it('does not remove a streak achievement when unticking a Daily gives a streak of zero', () => {
- let task1 = generateDaily({ userId: ref.afterUser._id, text: 'first daily', streak: initialStreakCount });
+ const task1 = generateDaily({ userId: ref.afterUser._id, text: 'first daily', streak: initialStreakCount });
scoreTask({ user: ref.afterUser, task: task1, direction: 'up' });
- let task2 = generateDaily({ userId: ref.afterUser._id, text: 'second daily', streak: 1 });
+ const task2 = generateDaily({ userId: ref.afterUser._id, text: 'second daily', streak: 1 });
scoreTask({ user: ref.afterUser, task: task2, direction: 'down' });
expect(ref.afterUser.achievements.streak).to.equal(1);
});
@@ -168,8 +176,10 @@ describe('shared.ops.scoreTask', () => {
describe('scores', () => {
let options = {};
let habit;
- let freshDaily, daily;
- let freshTodo, todo;
+ let freshDaily; let
+ daily;
+ let freshTodo; let
+ todo;
beforeEach(() => {
ref = beforeAfter(options);
@@ -190,21 +200,25 @@ describe('shared.ops.scoreTask', () => {
});
it('critical hits', () => {
- let normalUser = ref.beforeUser;
+ const normalUser = ref.beforeUser;
expect(normalUser.party.quest.progress.up).to.eql(0);
normalUser.party.quest.key = 'gryphon';
- let critUser = ref.afterUser;
+ const critUser = ref.afterUser;
expect(critUser.party.quest.progress.up).to.eql(0);
critUser.party.quest.key = 'gryphon';
- let normalTask = todo;
- let critTask = freshTodo;
+ const normalTask = todo;
+ const critTask = freshTodo;
- scoreTask({ user: normalUser, task: normalTask, direction: 'up', cron: false });
- let normalTaskDelta = normalUser.party.quest.progress.up;
+ scoreTask({
+ user: normalUser, task: normalTask, direction: 'up', cron: false,
+ });
+ const normalTaskDelta = normalUser.party.quest.progress.up;
sandbox.stub(crit, 'crit').returns(1.5);
- scoreTask({ user: critUser, task: critTask, direction: 'up', cron: false });
- let critTaskDelta = critUser.party.quest.progress.up;
+ scoreTask({
+ user: critUser, task: critTask, direction: 'up', cron: false,
+ });
+ const critTaskDelta = critUser.party.quest.progress.up;
crit.crit.restore();
expect(critUser.stats.hp).to.eql(normalUser.stats.hp);
@@ -219,20 +233,26 @@ describe('shared.ops.scoreTask', () => {
expect(ref.afterUser.party.quest.progress.up).to.eql(0);
ref.afterUser.party.quest.key = 'gryphon';
- scoreTask({ user: ref.afterUser, task: habit, direction: 'up', cron: false });
- let firstTaskDelta = ref.afterUser.party.quest.progress.up;
+ scoreTask({
+ user: ref.afterUser, task: habit, direction: 'up', cron: false,
+ });
+ const firstTaskDelta = ref.afterUser.party.quest.progress.up;
expect(firstTaskDelta).to.be.greaterThan(0);
expect(ref.afterUser._tmp.quest.progressDelta).to.eql(firstTaskDelta);
- scoreTask({ user: ref.afterUser, task: habit, direction: 'up', cron: false });
- let secondTaskDelta = ref.afterUser.party.quest.progress.up - firstTaskDelta;
+ scoreTask({
+ user: ref.afterUser, task: habit, direction: 'up', cron: false,
+ });
+ const secondTaskDelta = ref.afterUser.party.quest.progress.up - firstTaskDelta;
expect(secondTaskDelta).to.be.greaterThan(0);
expect(ref.afterUser._tmp.quest.progressDelta).to.eql(secondTaskDelta);
});
it('does not modify stats when task need approval', () => {
todo.group.approval.required = true;
- options = { user: ref.afterUser, task: todo, direction: 'up', times: 5, cron: false };
+ options = {
+ user: ref.afterUser, task: todo, direction: 'up', times: 5, cron: false,
+ };
scoreTask(options);
expect(ref.afterUser.stats.hp).to.eql(50);
@@ -242,7 +262,9 @@ describe('shared.ops.scoreTask', () => {
context('habits', () => {
it('up', () => {
- options = { user: ref.afterUser, task: habit, direction: 'up', times: 5, cron: false };
+ options = {
+ user: ref.afterUser, task: habit, direction: 'up', times: 5, cron: false,
+ };
scoreTask(options);
expect(habit.history.length).to.eql(1);
@@ -256,16 +278,20 @@ describe('shared.ops.scoreTask', () => {
// not supported anymore
it('does not add score notes to task', () => {
- let scoreNotesString = 'scoreNotes';
+ const scoreNotesString = 'scoreNotes';
habit.scoreNotes = scoreNotesString;
- options = { user: ref.afterUser, task: habit, direction: 'up', times: 5, cron: false };
+ options = {
+ user: ref.afterUser, task: habit, direction: 'up', times: 5, cron: false,
+ };
scoreTask(options);
expect(habit.history[0].scoreNotes).to.eql(undefined);
});
it('down', () => {
- scoreTask({user: ref.afterUser, task: habit, direction: 'down', times: 5, cron: false}, {});
+ scoreTask({
+ user: ref.afterUser, task: habit, direction: 'down', times: 5, cron: false,
+ }, {});
expect(habit.history.length).to.eql(1);
expect(habit.value).to.be.lessThan(0);
@@ -280,16 +306,16 @@ describe('shared.ops.scoreTask', () => {
context('dailys', () => {
it('up', () => {
expect(daily.completed).to.not.eql(true);
- scoreTask({user: ref.afterUser, task: daily, direction: 'up'});
+ scoreTask({ user: ref.afterUser, task: daily, direction: 'up' });
expectGainedPoints(ref.beforeUser, ref.afterUser, freshDaily, daily);
expect(daily.completed).to.eql(true);
expect(daily.history.length).to.eql(1);
});
it('up, down', () => {
- scoreTask({user: ref.afterUser, task: daily, direction: 'up'});
+ scoreTask({ user: ref.afterUser, task: daily, direction: 'up' });
expect(daily.history.length).to.eql(1);
- scoreTask({user: ref.afterUser, task: daily, direction: 'down'});
+ scoreTask({ user: ref.afterUser, task: daily, direction: 'down' });
expect(daily.history.length).to.eql(0);
expectClosePoints(ref.beforeUser, ref.afterUser, freshDaily, daily);
});
@@ -297,20 +323,20 @@ describe('shared.ops.scoreTask', () => {
it('sets completed = false on direction = down', () => {
daily.completed = true;
expect(daily.completed).to.not.eql(false);
- scoreTask({user: ref.afterUser, task: daily, direction: 'down'});
+ scoreTask({ user: ref.afterUser, task: daily, direction: 'down' });
expect(daily.completed).to.eql(false);
});
});
context('todos', () => {
it('up', () => {
- scoreTask({user: ref.afterUser, task: todo, direction: 'up'});
+ scoreTask({ user: ref.afterUser, task: todo, direction: 'up' });
expectGainedPoints(ref.beforeUser, ref.afterUser, freshTodo, todo);
});
it('up, down', () => {
- scoreTask({user: ref.afterUser, task: todo, direction: 'up'});
- scoreTask({user: ref.afterUser, task: todo, direction: 'down'});
+ scoreTask({ user: ref.afterUser, task: todo, direction: 'up' });
+ scoreTask({ user: ref.afterUser, task: todo, direction: 'down' });
expectClosePoints(ref.beforeUser, ref.afterUser, freshTodo, todo);
});
});
diff --git a/test/common/ops/sell.js b/test/common/ops/sell.js
index 2f1d9b86d1..fbba69dd48 100644
--- a/test/common/ops/sell.js
+++ b/test/common/ops/sell.js
@@ -12,16 +12,16 @@ import content from '../../../website/common/script/content/index';
describe('shared.ops.sell', () => {
let user;
- let type = 'eggs';
- let key = 'Wolf';
- let acceptedTypes = ['eggs', 'hatchingPotions', 'food'];
+ const type = 'eggs';
+ const key = 'Wolf';
+ const acceptedTypes = ['eggs', 'hatchingPotions', 'food'];
beforeEach(() => {
user = generateUser();
user.items[type][key] = 1;
});
- it('returns an error when type is not provided', (done) => {
+ it('returns an error when type is not provided', done => {
try {
sell(user);
} catch (err) {
@@ -31,9 +31,9 @@ describe('shared.ops.sell', () => {
}
});
- it('returns an error when key is not provided', (done) => {
+ it('returns an error when key is not provided', done => {
try {
- sell(user, {params: { type } });
+ sell(user, { params: { type } });
} catch (err) {
expect(err).to.be.an.instanceof(BadRequest);
expect(err.message).to.equal(i18n.t('missingKeyParam'));
@@ -41,56 +41,56 @@ describe('shared.ops.sell', () => {
}
});
- it('returns an error when non-sellable type is provided', (done) => {
- let nonSellableType = 'nonSellableType';
+ it('returns an error when non-sellable type is provided', done => {
+ const nonSellableType = 'nonSellableType';
try {
- sell(user, {params: { type: nonSellableType, key } });
+ sell(user, { params: { type: nonSellableType, key } });
} catch (err) {
expect(err).to.be.an.instanceof(NotAuthorized);
- expect(err.message).to.equal(i18n.t('typeNotSellable', {acceptedTypes: acceptedTypes.join(', ')}));
+ expect(err.message).to.equal(i18n.t('typeNotSellable', { acceptedTypes: acceptedTypes.join(', ') }));
done();
}
});
- it('returns an error when key is not found with type provided', (done) => {
- let fakeKey = 'fakeKey';
+ it('returns an error when key is not found with type provided', done => {
+ const fakeKey = 'fakeKey';
try {
- sell(user, {params: { type, key: fakeKey } });
+ sell(user, { params: { type, key: fakeKey } });
} catch (err) {
expect(err).to.be.an.instanceof(NotFound);
- expect(err.message).to.equal(i18n.t('userItemsKeyNotFound', {type}));
+ expect(err.message).to.equal(i18n.t('userItemsKeyNotFound', { type }));
done();
}
});
- it('returns an error when the requested amount is above the available amount', (done) => {
+ it('returns an error when the requested amount is above the available amount', done => {
try {
- sell(user, {params: { type, key }, query: {amount: 2} });
+ sell(user, { params: { type, key }, query: { amount: 2 } });
} catch (err) {
expect(err).to.be.an.instanceof(NotFound);
- expect(err.message).to.equal(i18n.t('userItemsNotEnough', {type}));
+ expect(err.message).to.equal(i18n.t('userItemsNotEnough', { type }));
done();
}
});
- it('returns an error when the requested amount is negative', (done) => {
+ it('returns an error when the requested amount is negative', done => {
try {
- sell(user, {params: { type, key }, query: {amount: -42} });
+ sell(user, { params: { type, key }, query: { amount: -42 } });
} catch (err) {
expect(err).to.be.an.instanceof(BadRequest);
- expect(err.message).to.equal(i18n.t('positiveAmountRequired', {type}));
+ expect(err.message).to.equal(i18n.t('positiveAmountRequired', { type }));
done();
}
});
- it('returns error when trying to sell Saddle', (done) => {
+ it('returns error when trying to sell Saddle', done => {
const foodType = 'food';
const saddleKey = 'Saddle';
user.items[foodType][saddleKey] = 1;
try {
- sell(user, {params: {type: foodType, key: saddleKey}});
+ sell(user, { params: { type: foodType, key: saddleKey } });
} catch (err) {
expect(err).to.be.an.instanceof(NotAuthorized);
expect(err.message).to.equal(i18n.t('foodSaddleSellWarningNote'));
@@ -99,13 +99,13 @@ describe('shared.ops.sell', () => {
});
it('reduces item count from user', () => {
- sell(user, {params: { type, key } });
+ sell(user, { params: { type, key } });
expect(user.items[type][key]).to.equal(0);
});
it('increases user\'s gold', () => {
- sell(user, {params: { type, key } });
+ sell(user, { params: { type, key } });
expect(user.stats.gp).to.equal(content[type][key].value);
});
diff --git a/test/common/ops/sleep.js b/test/common/ops/sleep.js
index 0a0ef835f7..9926a6ea4e 100644
--- a/test/common/ops/sleep.js
+++ b/test/common/ops/sleep.js
@@ -5,13 +5,13 @@ import {
describe('shared.ops.sleep', () => {
it('toggles user.preferences.sleep', () => {
- let user = generateUser();
+ const user = generateUser();
- let [res] = sleep(user);
+ const [res] = sleep(user);
expect(res).to.eql(true);
expect(user.preferences.sleep).to.equal(true);
- let [res2] = sleep(user);
+ const [res2] = sleep(user);
expect(res2).to.eql(false);
expect(user.preferences.sleep).to.equal(false);
});
diff --git a/test/common/ops/spells.js b/test/common/ops/spells.js
index 58d3965a7f..939b7caab5 100644
--- a/test/common/ops/spells.js
+++ b/test/common/ops/spells.js
@@ -16,13 +16,13 @@ describe('shared.ops.spells', () => {
user = generateUser();
});
- it('returns an error when healer tries to cast Healing Light with full health', (done) => {
+ it('returns an error when healer tries to cast Healing Light with full health', done => {
user.stats.class = 'healer';
user.stats.lvl = 11;
user.stats.hp = 50;
user.stats.mp = 200;
- let spell = spells.healer.heal;
+ const spell = spells.healer.heal;
try {
spell.cast(user);
@@ -35,4 +35,4 @@ describe('shared.ops.spells', () => {
done();
}
});
-});
\ No newline at end of file
+});
diff --git a/test/common/ops/stats/allocate.js b/test/common/ops/stats/allocate.js
index 62e162f55a..568b0500ce 100644
--- a/test/common/ops/stats/allocate.js
+++ b/test/common/ops/stats/allocate.js
@@ -20,19 +20,19 @@ describe('shared.ops.allocate', () => {
});
});
- it('throws an error if an invalid attribute is supplied', (done) => {
+ it('throws an error if an invalid attribute is supplied', done => {
try {
allocate(user, {
- query: {stat: 'notValid'},
+ query: { stat: 'notValid' },
});
} catch (err) {
expect(err).to.be.an.instanceof(BadRequest);
- expect(err.message).to.equal(errorMessage('invalidAttribute', {attr: 'notValid'}));
+ expect(err.message).to.equal(errorMessage('invalidAttribute', { attr: 'notValid' }));
done();
}
});
- it('throws an error if the user is below lvl 10', (done) => {
+ it('throws an error if the user is below lvl 10', done => {
user.stats.lvl = 9;
try {
allocate(user);
@@ -43,7 +43,7 @@ describe('shared.ops.allocate', () => {
}
});
- it('throws an error if the user hasn\'t selected class', (done) => {
+ it('throws an error if the user hasn\'t selected class', done => {
user.flags.classSelected = false;
try {
allocate(user);
@@ -54,7 +54,7 @@ describe('shared.ops.allocate', () => {
}
});
- it('throws an error if the user has disabled classes', (done) => {
+ it('throws an error if the user has disabled classes', done => {
user.preferences.disableClasses = true;
try {
allocate(user);
@@ -65,7 +65,7 @@ describe('shared.ops.allocate', () => {
}
});
- it('throws an error if the user doesn\'t have attribute points', (done) => {
+ it('throws an error if the user doesn\'t have attribute points', done => {
try {
allocate(user);
} catch (err) {
@@ -85,7 +85,7 @@ describe('shared.ops.allocate', () => {
it('allocates attribute points', () => {
expect(user.stats.con).to.equal(0);
user.stats.points = 1;
- allocate(user, {query: {stat: 'con'}});
+ allocate(user, { query: { stat: 'con' } });
expect(user.stats.con).to.equal(1);
expect(user.stats.points).to.equal(0);
});
@@ -94,7 +94,7 @@ describe('shared.ops.allocate', () => {
expect(user.stats.int).to.equal(0);
expect(user.stats.mp).to.equal(10);
user.stats.points = 1;
- allocate(user, {query: {stat: 'int'}});
+ allocate(user, { query: { stat: 'int' } });
expect(user.stats.int).to.equal(1);
expect(user.stats.mp).to.equal(11);
});
diff --git a/test/common/ops/stats/allocateBulk.js b/test/common/ops/stats/allocateBulk.js
index 1a46c82214..7a81d37ce1 100644
--- a/test/common/ops/stats/allocateBulk.js
+++ b/test/common/ops/stats/allocateBulk.js
@@ -20,7 +20,7 @@ describe('shared.ops.allocateBulk', () => {
});
});
- it('throws an error if an invalid attribute is supplied', (done) => {
+ it('throws an error if an invalid attribute is supplied', done => {
try {
allocateBulk(user, {
body: {
@@ -32,12 +32,12 @@ describe('shared.ops.allocateBulk', () => {
});
} catch (err) {
expect(err).to.be.an.instanceof(BadRequest);
- expect(err.message).to.equal(errorMessage('invalidAttribute', {attr: 'invalid'}));
+ expect(err.message).to.equal(errorMessage('invalidAttribute', { attr: 'invalid' }));
done();
}
});
- it('throws an error if the stats are not supplied', (done) => {
+ it('throws an error if the stats are not supplied', done => {
try {
allocateBulk(user);
} catch (err) {
@@ -47,7 +47,7 @@ describe('shared.ops.allocateBulk', () => {
}
});
- it('throws an error if the user is below lvl 10', (done) => {
+ it('throws an error if the user is below lvl 10', done => {
user.stats.lvl = 9;
try {
allocateBulk(user, {
@@ -65,7 +65,7 @@ describe('shared.ops.allocateBulk', () => {
}
});
- it('throws an error if the user hasn\'t selected class', (done) => {
+ it('throws an error if the user hasn\'t selected class', done => {
user.flags.classSelected = false;
try {
allocateBulk(user, {
@@ -83,7 +83,7 @@ describe('shared.ops.allocateBulk', () => {
}
});
- it('throws an error if the user has disabled classes', (done) => {
+ it('throws an error if the user has disabled classes', done => {
user.preferences.disableClasses = true;
try {
allocateBulk(user, {
@@ -101,7 +101,7 @@ describe('shared.ops.allocateBulk', () => {
}
});
- it('throws an error if the user doesn\'t have attribute points', (done) => {
+ it('throws an error if the user doesn\'t have attribute points', done => {
try {
allocateBulk(user, {
body: {
@@ -118,7 +118,7 @@ describe('shared.ops.allocateBulk', () => {
}
});
- it('throws an error if the user doesn\'t have enough attribute points', (done) => {
+ it('throws an error if the user doesn\'t have enough attribute points', done => {
user.stats.points = 1;
try {
allocateBulk(user, {
diff --git a/test/common/ops/stats/allocateNow.js b/test/common/ops/stats/allocateNow.js
index d9f1baacb3..746646120e 100644
--- a/test/common/ops/stats/allocateNow.js
+++ b/test/common/ops/stats/allocateNow.js
@@ -18,7 +18,7 @@ describe('shared.ops.allocateNow', () => {
user.stats.str = 9;
user.preferences.allocationMode = 'flat';
- let [data] = allocateNow(user);
+ const [data] = allocateNow(user);
expect(user.stats.points).to.equal(0);
expect(user.stats.con).to.equal(9);
diff --git a/test/common/ops/unlock.js b/test/common/ops/unlock.js
index 0ea3cb9b8c..5087534b48 100644
--- a/test/common/ops/unlock.js
+++ b/test/common/ops/unlock.js
@@ -10,18 +10,18 @@ import {
describe('shared.ops.unlock', () => {
let user;
- let unlockPath = 'shirt.convict,shirt.cross,shirt.fire,shirt.horizon,shirt.ocean,shirt.purple,shirt.rainbow,shirt.redblue,shirt.thunder,shirt.tropical,shirt.zombie';
- let unlockGearSetPath = 'items.gear.owned.headAccessory_special_bearEars,items.gear.owned.headAccessory_special_cactusEars,items.gear.owned.headAccessory_special_foxEars,items.gear.owned.headAccessory_special_lionEars,items.gear.owned.headAccessory_special_pandaEars,items.gear.owned.headAccessory_special_pigEars,items.gear.owned.headAccessory_special_tigerEars,items.gear.owned.headAccessory_special_wolfEars';
- let backgroundUnlockPath = 'background.giant_florals';
- let unlockCost = 1.25;
- let usersStartingGems = 5;
+ const unlockPath = 'shirt.convict,shirt.cross,shirt.fire,shirt.horizon,shirt.ocean,shirt.purple,shirt.rainbow,shirt.redblue,shirt.thunder,shirt.tropical,shirt.zombie';
+ const unlockGearSetPath = 'items.gear.owned.headAccessory_special_bearEars,items.gear.owned.headAccessory_special_cactusEars,items.gear.owned.headAccessory_special_foxEars,items.gear.owned.headAccessory_special_lionEars,items.gear.owned.headAccessory_special_pandaEars,items.gear.owned.headAccessory_special_pigEars,items.gear.owned.headAccessory_special_tigerEars,items.gear.owned.headAccessory_special_wolfEars';
+ const backgroundUnlockPath = 'background.giant_florals';
+ const unlockCost = 1.25;
+ const usersStartingGems = 5;
beforeEach(() => {
user = generateUser();
user.balance = usersStartingGems;
});
- it('returns an error when path is not provided', (done) => {
+ it('returns an error when path is not provided', done => {
try {
unlock(user);
} catch (err) {
@@ -31,11 +31,11 @@ describe('shared.ops.unlock', () => {
}
});
- it('returns an error when user balance is too low', (done) => {
+ it('returns an error when user balance is too low', done => {
user.balance = 0;
try {
- unlock(user, {query: {path: unlockPath}});
+ unlock(user, { query: { path: unlockPath } });
} catch (err) {
expect(err).to.be.an.instanceof(NotAuthorized);
expect(err.message).to.equal(i18n.t('notEnoughGems'));
@@ -43,10 +43,10 @@ describe('shared.ops.unlock', () => {
}
});
- it('returns an error when user already owns a full set', (done) => {
+ it('returns an error when user already owns a full set', done => {
try {
- unlock(user, {query: {path: unlockPath}});
- unlock(user, {query: {path: unlockPath}});
+ unlock(user, { query: { path: unlockPath } });
+ unlock(user, { query: { path: unlockPath } });
} catch (err) {
expect(err).to.be.an.instanceof(NotAuthorized);
expect(err.message).to.equal(i18n.t('alreadyUnlocked'));
@@ -55,10 +55,10 @@ describe('shared.ops.unlock', () => {
});
// disabled untill fully implemente
- xit('returns an error when user already owns items in a full set', (done) => {
+ xit('returns an error when user already owns items in a full set', done => {
try {
- unlock(user, {query: {path: unlockPath}});
- unlock(user, {query: {path: unlockPath}});
+ unlock(user, { query: { path: unlockPath } });
+ unlock(user, { query: { path: unlockPath } });
} catch (err) {
expect(err).to.be.an.instanceof(NotAuthorized);
expect(err.message).to.equal(i18n.t('alreadyUnlocked'));
@@ -69,9 +69,9 @@ describe('shared.ops.unlock', () => {
it('equips an item already owned', () => {
expect(user.purchased.background.giant_florals).to.not.exist;
- unlock(user, {query: {path: backgroundUnlockPath}});
- let afterBalance = user.balance;
- let response = unlock(user, {query: {path: backgroundUnlockPath}});
+ unlock(user, { query: { path: backgroundUnlockPath } });
+ const afterBalance = user.balance;
+ const response = unlock(user, { query: { path: backgroundUnlockPath } });
expect(user.balance).to.equal(afterBalance); // do not bill twice
expect(response.message).to.not.exist;
@@ -81,10 +81,10 @@ describe('shared.ops.unlock', () => {
it('un-equips an item already equipped', () => {
expect(user.purchased.background.giant_florals).to.not.exist;
- unlock(user, {query: {path: backgroundUnlockPath}}); // unlock
- let afterBalance = user.balance;
- unlock(user, {query: {path: backgroundUnlockPath}}); // equip
- let response = unlock(user, {query: {path: backgroundUnlockPath}});
+ unlock(user, { query: { path: backgroundUnlockPath } }); // unlock
+ const afterBalance = user.balance;
+ unlock(user, { query: { path: backgroundUnlockPath } }); // equip
+ const response = unlock(user, { query: { path: backgroundUnlockPath } });
expect(user.balance).to.equal(afterBalance); // do not bill twice
expect(response.message).to.not.exist;
@@ -92,28 +92,28 @@ describe('shared.ops.unlock', () => {
});
it('unlocks a full set', () => {
- let [, message] = unlock(user, {query: {path: unlockPath}});
+ const [, message] = unlock(user, { query: { path: unlockPath } });
expect(message).to.equal(i18n.t('unlocked'));
expect(user.purchased.shirt.convict).to.be.true;
});
it('unlocks a full set of gear', () => {
- let [, message] = unlock(user, {query: {path: unlockGearSetPath}});
+ const [, message] = unlock(user, { query: { path: unlockGearSetPath } });
expect(message).to.equal(i18n.t('unlocked'));
expect(user.items.gear.owned.headAccessory_special_wolfEars).to.be.true;
});
it('unlocks a an item', () => {
- let [, message] = unlock(user, {query: {path: backgroundUnlockPath}});
+ const [, message] = unlock(user, { query: { path: backgroundUnlockPath } });
expect(message).to.equal(i18n.t('unlocked'));
expect(user.purchased.background.giant_florals).to.be.true;
});
it('reduces a user\'s balance', () => {
- let [, message] = unlock(user, {query: {path: unlockPath}});
+ const [, message] = unlock(user, { query: { path: unlockPath } });
expect(message).to.equal(i18n.t('unlocked'));
expect(user.balance).to.equal(usersStartingGems - unlockCost);
diff --git a/test/common/ops/updateTask.js b/test/common/ops/updateTask.js
index e9aa88f550..c1fbc7c8e2 100644
--- a/test/common/ops/updateTask.js
+++ b/test/common/ops/updateTask.js
@@ -5,8 +5,8 @@ import {
describe('shared.ops.updateTask', () => {
it('updates a task', () => {
- let now = new Date();
- let habit = generateHabit({
+ const now = new Date();
+ const habit = generateHabit({
tags: [
'123',
'456',
@@ -19,7 +19,7 @@ describe('shared.ops.updateTask', () => {
}],
});
- let [res] = updateTask(habit, {
+ const [res] = updateTask(habit, {
body: {
text: 'updated',
id: '123',
diff --git a/test/common/shouldDo.test.js b/test/common/shouldDo.test.js
index dedcaa4951..f7505d20f3 100644
--- a/test/common/shouldDo.test.js
+++ b/test/common/shouldDo.test.js
@@ -1,9 +1,10 @@
-import { shouldDo, DAY_MAPPING } from '../../website/common/script/cron';
import moment from 'moment';
+import { shouldDo, DAY_MAPPING } from '../../website/common/script/cron';
import 'moment-recur';
describe('shouldDo', () => {
- let day, dailyTask;
+ let day; let
+ dailyTask;
let options = {};
let nextDue = [];
@@ -29,9 +30,9 @@ describe('shouldDo', () => {
});
it('returns false if task type is not a daily', () => {
- expect(shouldDo(day, {type: 'todo'})).to.equal(false);
- expect(shouldDo(day, {type: 'habit'})).to.equal(false);
- expect(shouldDo(day, {type: 'reward'})).to.equal(false);
+ expect(shouldDo(day, { type: 'todo' })).to.equal(false);
+ expect(shouldDo(day, { type: 'habit' })).to.equal(false);
+ expect(shouldDo(day, { type: 'reward' })).to.equal(false);
});
it('returns false if startDate is in the future', () => {
@@ -51,12 +52,12 @@ describe('shouldDo', () => {
expect(shouldDo(day, dailyTask, options)).to.equal(true);
});
- it('returns true if Start Date is today', () => {
+ it('returns true if Start Date is today', () => {
dailyTask.startDate = moment().toDate();
expect(shouldDo(day, dailyTask, options)).to.equal(true);
});
- it('returns false if Start Date is after today', () => {
+ it('returns false if Start Date is after today', () => {
dailyTask.startDate = moment().add(1, 'days').toDate();
expect(shouldDo(day, dailyTask, options)).to.equal(false);
});
@@ -79,14 +80,16 @@ describe('shouldDo', () => {
it('returns true if the user\'s current time is after start date and Custom Day Start', () => {
options.dayStart = 4;
- day = moment().zone(options.timezoneOffset).startOf('day').add(6, 'hours').toDate();
+ day = moment().zone(options.timezoneOffset).startOf('day').add(6, 'hours')
+ .toDate();
dailyTask.startDate = moment().zone(options.timezoneOffset).startOf('day').toDate();
expect(shouldDo(day, dailyTask, options)).to.equal(true);
});
it('returns false if the user\'s current time is before Custom Day Start', () => {
options.dayStart = 8;
- day = moment().zone(options.timezoneOffset).startOf('day').add(2, 'hours').toDate();
+ day = moment().zone(options.timezoneOffset).startOf('day').add(2, 'hours')
+ .toDate();
dailyTask.startDate = moment().zone(options.timezoneOffset).startOf('day').toDate();
expect(shouldDo(day, dailyTask, options)).to.equal(false);
});
@@ -102,20 +105,22 @@ describe('shouldDo', () => {
expect(shouldDo(day, dailyTask, options)).to.equal(true);
});
- it('returns true if Start Date is today', () => {
+ it('returns true if Start Date is today', () => {
dailyTask.startDate = moment().startOf('day').toDate();
expect(shouldDo(day, dailyTask, options)).to.equal(true);
});
it('returns true if the user\'s current time is after Custom Day Start', () => {
options.dayStart = 4;
- day = moment().zone(options.timezoneOffset).startOf('day').add(6, 'hours').toDate();
+ day = moment().zone(options.timezoneOffset).startOf('day').add(6, 'hours')
+ .toDate();
expect(shouldDo(day, dailyTask, options)).to.equal(true);
});
it('returns false if the user\'s current time is before Custom Day Start', () => {
options.dayStart = 8;
- day = moment().zone(options.timezoneOffset).startOf('day').add(2, 'hours').toDate();
+ day = moment().zone(options.timezoneOffset).startOf('day').add(2, 'hours')
+ .toDate();
expect(shouldDo(day, dailyTask, options)).to.equal(false);
});
});
@@ -335,11 +340,11 @@ describe('shouldDo', () => {
m: false,
};
- for (let weekday of [0, 1, 2, 3, 4, 5, 6]) {
+ [0, 1, 2, 3, 4, 5, 6].forEach(weekday => {
day = moment().day(weekday).toDate();
expect(shouldDo(day, dailyTask, options)).to.equal(false);
- }
+ });
});
it('returns false and ignore malformed repeat object', () => {
@@ -354,11 +359,11 @@ describe('shouldDo', () => {
errors: 'errors',
};
- for (let weekday of [0, 1, 2, 3, 4, 5, 6]) {
+ [0, 1, 2, 3, 4, 5, 6].forEach(weekday => {
day = moment().day(weekday).toDate();
expect(shouldDo(day, dailyTask, options)).to.equal(false);
- }
+ });
});
it('returns false if day of the week does not match and active on the day it matches', () => {
@@ -372,7 +377,8 @@ describe('shouldDo', () => {
m: false,
};
- for (let weekday of [0, 1, 2, 3, 4, 5, 6]) {
+
+ [0, 1, 2, 3, 4, 5, 6].forEach(weekday => {
day = moment().add(1, 'weeks').day(weekday).toDate();
if (weekday === 4) {
@@ -380,7 +386,7 @@ describe('shouldDo', () => {
} else {
expect(shouldDo(day, dailyTask, options)).to.equal(false);
}
- }
+ });
});
it('returns true if Daily on matching days of the week', () => {
@@ -599,7 +605,7 @@ describe('shouldDo', () => {
day = moment();
dailyTask.repeat[DAY_MAPPING[day.day()]] = true;
dailyTask.everyX = 3;
- let tomorrow = day.add(2, 'weeks').day(day.day()).toDate();
+ const tomorrow = day.add(2, 'weeks').day(day.day()).toDate();
expect(shouldDo(tomorrow, dailyTask, options)).to.equal(false);
});
@@ -618,14 +624,14 @@ describe('shouldDo', () => {
day = moment();
dailyTask.repeat[DAY_MAPPING[day.day()]] = true;
dailyTask.everyX = 3;
- let threeWeeksFromTodayPlusOne = day.add(1, 'day').add(3, 'weeks').toDate();
+ const threeWeeksFromTodayPlusOne = day.add(1, 'day').add(3, 'weeks').toDate();
expect(shouldDo(threeWeeksFromTodayPlusOne, dailyTask, options)).to.equal(false);
});
it('activates Daily on matching week', () => {
dailyTask.everyX = 3;
- let threeWeeksFromToday = moment().add(3, 'weeks').toDate();
+ const threeWeeksFromToday = moment().add(3, 'weeks').toDate();
expect(shouldDo(threeWeeksFromToday, dailyTask, options)).to.equal(true);
});
@@ -733,9 +739,9 @@ describe('shouldDo', () => {
it('leaves daily inactive if not day of the month', () => {
dailyTask.everyX = 1;
dailyTask.frequency = 'monthly';
- let today = moment();
+ const today = moment();
dailyTask.daysOfMonth = [today.date()];
- let tomorrow = today.add(1, 'day').toDate();
+ const tomorrow = today.add(1, 'day').toDate();
expect(shouldDo(tomorrow, dailyTask, options)).to.equal(false);
});
@@ -753,9 +759,9 @@ describe('shouldDo', () => {
it('leaves daily inactive if not on date of the x month', () => {
dailyTask.everyX = 2;
dailyTask.frequency = 'monthly';
- let today = moment();
+ const today = moment();
dailyTask.daysOfMonth = [today.date()];
- let tomorrow = today.add(2, 'months').add(1, 'day').toDate();
+ const tomorrow = today.add(2, 'months').add(1, 'day').toDate();
expect(shouldDo(tomorrow, dailyTask, options)).to.equal(false);
});
@@ -920,9 +926,9 @@ describe('shouldDo', () => {
m: false,
};
- let today = moment('2017-01-27');
- let week = today.monthWeek();
- let dayOfWeek = today.day();
+ const today = moment('2017-01-27');
+ const week = today.monthWeek();
+ const dayOfWeek = today.day();
dailyTask.startDate = today.toDate();
dailyTask.weeksOfMonth = [week];
dailyTask.repeat[DAY_MAPPING[dayOfWeek]] = true;
@@ -944,8 +950,8 @@ describe('shouldDo', () => {
m: false,
};
- let today = moment('2017-05-27T17:34:40.000Z');
- let week = today.monthWeek();
+ const today = moment('2017-05-27T17:34:40.000Z');
+ const week = today.monthWeek();
dailyTask.startDate = today.toDate();
dailyTask.weeksOfMonth = [week];
dailyTask.everyX = 1;
@@ -966,9 +972,9 @@ describe('shouldDo', () => {
m: false,
};
- let today = moment('2017-01-27:00:00.000-00:00');
- let week = today.monthWeek();
- let dayOfWeek = today.day();
+ const today = moment('2017-01-27:00:00.000-00:00');
+ const week = today.monthWeek();
+ const dayOfWeek = today.day();
dailyTask.startDate = today.toDate();
dailyTask.weeksOfMonth = [week];
dailyTask.repeat[DAY_MAPPING[dayOfWeek]] = true;
@@ -990,9 +996,9 @@ describe('shouldDo', () => {
m: false,
};
- let today = moment('2017-01-26:00:00.000-00:00');
- let week = today.monthWeek();
- let dayOfWeek = today.day();
+ const today = moment('2017-01-26:00:00.000-00:00');
+ const week = today.monthWeek();
+ const dayOfWeek = today.day();
dailyTask.startDate = today.toDate();
dailyTask.weeksOfMonth = [week];
dailyTask.repeat[DAY_MAPPING[dayOfWeek]] = true;
@@ -1015,9 +1021,9 @@ describe('shouldDo', () => {
m: false,
};
- let today = moment('2017-01-27:00:00.000-00:00');
- let week = today.monthWeek();
- let dayOfWeek = today.day();
+ const today = moment('2017-01-27:00:00.000-00:00');
+ const week = today.monthWeek();
+ const dayOfWeek = today.day();
dailyTask.startDate = today.toDate();
dailyTask.weeksOfMonth = [week];
dailyTask.repeat[DAY_MAPPING[dayOfWeek]] = true;
@@ -1040,9 +1046,9 @@ describe('shouldDo', () => {
m: false,
};
- let today = moment('2017-01-27:00:00.000-00:00');
- let week = today.monthWeek();
- let dayOfWeek = today.day();
+ const today = moment('2017-01-27:00:00.000-00:00');
+ const week = today.monthWeek();
+ const dayOfWeek = today.day();
dailyTask.startDate = today.toDate();
dailyTask.weeksOfMonth = [week];
dailyTask.repeat[DAY_MAPPING[dayOfWeek]] = true;
@@ -1066,9 +1072,9 @@ describe('shouldDo', () => {
m: false,
};
- let today = moment('2017-01-27');
- let week = today.monthWeek();
- let dayOfWeek = today.day();
+ const today = moment('2017-01-27');
+ const week = today.monthWeek();
+ const dayOfWeek = today.day();
dailyTask.startDate = today.toDate();
dailyTask.weeksOfMonth = [week];
dailyTask.repeat[DAY_MAPPING[dayOfWeek]] = true;
diff --git a/test/common/statHelpers.test.js b/test/common/statHelpers.test.js
index 7db2c6494f..0e8ee24a03 100644
--- a/test/common/statHelpers.test.js
+++ b/test/common/statHelpers.test.js
@@ -1,10 +1,12 @@
-import {
+import api from '../../website/common/script/index';
+
+const {
maxHealth,
maxLevel,
capByLevel,
tnl,
diminishingReturns,
-} from '../../website/common/script/index';
+} = api;
describe('helper functions used in stat calculations', () => {
describe('maxHealth', () => {
@@ -40,7 +42,7 @@ describe('helper functions used in stat calculations', () => {
describe('toNextLevel', () => {
it('increases Experience target from one level to the next', () => {
- _.times(110, (level) => {
+ _.times(110, level => {
expect(tnl(level + 1)).to.be.greaterThan(tnl(level));
});
});
@@ -60,7 +62,8 @@ describe('helper functions used in stat calculations', () => {
});
it('provides a different curve if a halfway point is defined', () => {
- expect(diminishingReturns(BONUS, MAXIMUM, HALFWAY)).to.not.eql(diminishingReturns(BONUS, MAXIMUM));
+ expect(diminishingReturns(BONUS, MAXIMUM, HALFWAY))
+ .to.not.eql(diminishingReturns(BONUS, MAXIMUM));
});
});
});
diff --git a/test/common/test_helper.js b/test/common/test_helper.js
index 7b9ba2beff..c04e76f478 100644
--- a/test/common/test_helper.js
+++ b/test/common/test_helper.js
@@ -1,59 +1,27 @@
-/* eslint-disable prefer-template, no-shadow, func-names */
+/* eslint-disable prefer-template, no-shadow, func-names, import/no-commonjs */
-let expect = require('expect.js');
+const expect = require('expect.js');
module.exports.addCustomMatchers = function () {
- let Assertion;
-
- Assertion = expect.Assertion;
+ const { Assertion } = expect;
Assertion.prototype.toHaveGP = function (gp) {
- let actual;
-
- actual = this.obj.stats.gp;
- return this.assert(actual === gp, () => {
- return 'expected user to have ' + gp + ' gp, but got ' + actual;
- }, () => {
- return 'expected user to not have ' + gp + ' gp';
- });
+ const actual = this.obj.stats.gp;
+ return this.assert(actual === gp, () => 'expected user to have ' + gp + ' gp, but got ' + actual, () => 'expected user to not have ' + gp + ' gp');
};
Assertion.prototype.toHaveHP = function (hp) {
- let actual;
-
- actual = this.obj.stats.hp;
- return this.assert(actual === hp, () => {
- return 'expected user to have ' + hp + ' hp, but got ' + actual;
- }, () => {
- return 'expected user to not have ' + hp + ' hp';
- });
+ const actual = this.obj.stats.hp;
+ return this.assert(actual === hp, () => 'expected user to have ' + hp + ' hp, but got ' + actual, () => 'expected user to not have ' + hp + ' hp');
};
Assertion.prototype.toHaveExp = function (exp) {
- let actual;
-
- actual = this.obj.stats.exp;
- return this.assert(actual === exp, () => {
- return 'expected user to have ' + exp + ' experience points, but got ' + actual;
- }, () => {
- return 'expected user to not have ' + exp + ' experience points';
- });
+ const actual = this.obj.stats.exp;
+ return this.assert(actual === exp, () => 'expected user to have ' + exp + ' experience points, but got ' + actual, () => 'expected user to not have ' + exp + ' experience points');
};
Assertion.prototype.toHaveLevel = function (lvl) {
- let actual;
-
- actual = this.obj.stats.lvl;
- return this.assert(actual === lvl, () => {
- return 'expected user to be level ' + lvl + ', but got ' + actual;
- }, () => {
- return 'expected user to not be level ' + lvl;
- });
+ const actual = this.obj.stats.lvl;
+ return this.assert(actual === lvl, () => 'expected user to be level ' + lvl + ', but got ' + actual, () => 'expected user to not be level ' + lvl);
};
Assertion.prototype.toHaveMaxMP = function (mp) {
- let actual;
-
- actual = this.obj._statsComputed.maxMP;
- return this.assert(actual === mp, () => {
- return 'expected user to have ' + mp + ' max mp, but got ' + actual;
- }, () => {
- return 'expected user to not have ' + mp + ' max mp';
- });
+ const actual = this.obj._statsComputed.maxMP;
+ return this.assert(actual === mp, () => 'expected user to have ' + mp + ' max mp, but got ' + actual, () => 'expected user to not have ' + mp + ' max mp');
};
};
diff --git a/test/content/eggs.test.js b/test/content/eggs.test.js
index 374efab1fd..cb0e173579 100644
--- a/test/content/eggs.test.js
+++ b/test/content/eggs.test.js
@@ -5,14 +5,14 @@ import {
expectValidTranslationString,
} from '../helpers/content.helper';
-import eggs from '../../website/common/script/content/eggs';
+import * as eggs from '../../website/common/script/content/eggs';
-describe('eggs', () => {
- describe('all', () => {
+describe('eggs', () => {
+ describe('all', () => {
it('is a combination of drop and quest eggs', () => {
- let dropNumber = Object.keys(eggs.drops).length;
- let questNumber = Object.keys(eggs.quests).length;
- let allNumber = Object.keys(eggs.all).length;
+ const dropNumber = Object.keys(eggs.drops).length;
+ const questNumber = Object.keys(eggs.quests).length;
+ const allNumber = Object.keys(eggs.all).length;
expect(allNumber).to.be.greaterThan(0);
expect(allNumber).to.equal(dropNumber + questNumber);
diff --git a/test/content/faq.js b/test/content/faq.js
index 75e79a0dbe..96df559f55 100644
--- a/test/content/faq.js
+++ b/test/content/faq.js
@@ -3,24 +3,26 @@ import {
expectValidTranslationString,
} from '../helpers/content.helper';
-import {questions, stillNeedHelp} from '../../website/common/script/content/faq';
+import faq from '../../website/common/script/content/faq';
+
+const { questions, stillNeedHelp } = faq;
describe('FAQ Locales', () => {
describe('Questions', () => {
it('has a valid questions', () => {
- each(questions, (question) => {
+ each(questions, question => {
expectValidTranslationString(question.question);
});
});
it('has a valid ios answers', () => {
- each(questions, (question) => {
+ each(questions, question => {
expectValidTranslationString(question.ios);
});
});
it('has a valid web answers', () => {
- each(questions, (question) => {
+ each(questions, question => {
expectValidTranslationString(question.web);
});
});
diff --git a/test/content/gear.js b/test/content/gear.js
index 3b94d98053..49c6fe0e87 100644
--- a/test/content/gear.js
+++ b/test/content/gear.js
@@ -1,12 +1,14 @@
/* eslint-disable camelcase */
+import { each, camelCase } from 'lodash';
import {
expectValidTranslationString,
} from '../helpers/content.helper';
-import { each, camelCase } from 'lodash';
-import { tree as allGear } from '../../website/common/script/content/gear';
-import backerGear from '../../website/common/script/content/gear/sets/special/special-backer';
-import contributorGear from '../../website/common/script/content/gear/sets/special/special-contributor';
+import gearData from '../../website/common/script/content/gear';
+import * as backerGear from '../../website/common/script/content/gear/sets/special/special-backer';
+import * as contributorGear from '../../website/common/script/content/gear/sets/special/special-contributor';
+
+const allGear = gearData.tree;
describe('Gear', () => {
each(allGear, (piece, gearType) => {
@@ -14,7 +16,7 @@ describe('Gear', () => {
each(piece, (items, klass) => {
context(`${klass} ${gearType}s`, () => {
it('have a value of at least 0 for each stat', () => {
- each(items, (gear) => {
+ each(items, gear => {
expect(gear.con).to.be.at.least(0);
expect(gear.int).to.be.at.least(0);
expect(gear.per).to.be.at.least(0);
@@ -23,26 +25,26 @@ describe('Gear', () => {
});
it('have a purchase value of at least 0', () => {
- each(items, (gear) => {
+ each(items, gear => {
expect(gear.value).to.be.at.least(0);
});
});
it('has a canBuy function', () => {
- each(items, (gear) => {
+ each(items, gear => {
expect(gear.canBuy).to.be.a('function');
});
});
it('have valid translation strings for text and notes', () => {
- each(items, (gear) => {
+ each(items, gear => {
expectValidTranslationString(gear.text);
expectValidTranslationString(gear.notes);
});
});
it('has a set attribue', () => {
- each(items, (gear) => {
+ each(items, gear => {
expect(gear.set).to.exist;
});
});
@@ -61,7 +63,7 @@ describe('Gear', () => {
};
});
- let cases = {
+ const cases = {
armor_special_0: 45,
armor_special_2: 300,
head_special_0: 45,
@@ -73,7 +75,7 @@ describe('Gear', () => {
each(cases, (tierRequirement, key) => {
context(key, () => {
- let camelCaseKey = camelCase(key);
+ const camelCaseKey = camelCase(key);
it(`canOwn returns true if user has a backer tier of ${tierRequirement} or higher`, () => {
user.backer.tier = tierRequirement;
@@ -110,7 +112,7 @@ describe('Gear', () => {
};
});
- let cases = {
+ const cases = {
armor_special_1: 2,
head_special_1: 3,
shield_special_1: 5,
@@ -119,7 +121,7 @@ describe('Gear', () => {
each(cases, (tierRequirement, key) => {
context(key, () => {
- let camelCaseKey = camelCase(key);
+ const camelCaseKey = camelCase(key);
it(`canOwn returns true if user has a contributor tier of ${tierRequirement} or higher`, () => {
user.contributor.level = tierRequirement;
diff --git a/test/content/hatching-potions.test.js b/test/content/hatching-potions.test.js
index 918d88a67c..a4e31d7b91 100644
--- a/test/content/hatching-potions.test.js
+++ b/test/content/hatching-potions.test.js
@@ -5,15 +5,15 @@ import {
expectValidTranslationString,
} from '../helpers/content.helper';
-import hatchingPotions from '../../website/common/script/content/hatching-potions';
+import * as hatchingPotions from '../../website/common/script/content/hatching-potions';
-describe('hatchingPotions', () => {
- describe('all', () => {
+describe('hatchingPotions', () => {
+ describe('all', () => {
it('is a combination of drop, premium, and wacky potions', () => {
- let dropNumber = Object.keys(hatchingPotions.drops).length;
- let premiumNumber = Object.keys(hatchingPotions.premium).length;
- let wackyNumber = Object.keys(hatchingPotions.wacky).length;
- let allNumber = Object.keys(hatchingPotions.all).length;
+ const dropNumber = Object.keys(hatchingPotions.drops).length;
+ const premiumNumber = Object.keys(hatchingPotions.premium).length;
+ const wackyNumber = Object.keys(hatchingPotions.wacky).length;
+ const allNumber = Object.keys(hatchingPotions.all).length;
expect(allNumber).to.be.greaterThan(0);
expect(allNumber).to.equal(dropNumber + premiumNumber + wackyNumber);
diff --git a/test/content/mysterySets.test.js b/test/content/mysterySets.test.js
index 97e9c31be8..777a6e2bbb 100644
--- a/test/content/mysterySets.test.js
+++ b/test/content/mysterySets.test.js
@@ -1,4 +1,4 @@
-import {each} from 'lodash';
+import { each } from 'lodash';
import {
expectValidTranslationString,
} from '../helpers/content.helper';
@@ -7,7 +7,7 @@ import mysterySets from '../../website/common/script/content/mystery-sets';
describe('Mystery Sets', () => {
it('has a valid text string', () => {
- each(mysterySets, (set) => {
+ each(mysterySets, set => {
expectValidTranslationString(set.text);
});
});
diff --git a/test/content/stable.test.js b/test/content/stable.test.js
index 34802c31fc..3266cb7f47 100644
--- a/test/content/stable.test.js
+++ b/test/content/stable.test.js
@@ -6,17 +6,17 @@ import {
} from '../helpers/content.helper';
import t from '../../website/common/script/content/translation';
-import stable from '../../website/common/script/content/stable';
-import eggs from '../../website/common/script/content/eggs';
-import potions from '../../website/common/script/content/hatching-potions';
+import * as stable from '../../website/common/script/content/stable';
+import * as eggs from '../../website/common/script/content/eggs';
+import * as potions from '../../website/common/script/content/hatching-potions';
-describe('stable', () => {
+describe('stable', () => {
describe('dropPets', () => {
it('contains a pet for each drop potion * each drop egg', () => {
- let numberOfDropPotions = Object.keys(potions.drops).length;
- let numberOfDropEggs = Object.keys(eggs.drops).length;
- let numberOfDropPets = Object.keys(stable.dropPets).length;
- let expectedTotal = numberOfDropPotions * numberOfDropEggs;
+ const numberOfDropPotions = Object.keys(potions.drops).length;
+ const numberOfDropEggs = Object.keys(eggs.drops).length;
+ const numberOfDropPets = Object.keys(stable.dropPets).length;
+ const expectedTotal = numberOfDropPotions * numberOfDropEggs;
expect(numberOfDropPets).to.be.greaterThan(0);
expect(numberOfDropPets).to.equal(expectedTotal);
@@ -25,10 +25,10 @@ describe('stable', () => {
describe('questPets', () => {
it('contains a pet for each drop potion * each quest egg', () => {
- let numberOfDropPotions = Object.keys(potions.drops).length;
- let numberOfQuestEggs = Object.keys(eggs.quests).length;
- let numberOfQuestPets = Object.keys(stable.questPets).length;
- let expectedTotal = numberOfDropPotions * numberOfQuestEggs;
+ const numberOfDropPotions = Object.keys(potions.drops).length;
+ const numberOfQuestEggs = Object.keys(eggs.quests).length;
+ const numberOfQuestPets = Object.keys(stable.questPets).length;
+ const expectedTotal = numberOfDropPotions * numberOfQuestEggs;
expect(numberOfQuestPets).to.be.greaterThan(0);
expect(numberOfQuestPets).to.equal(expectedTotal);
@@ -37,10 +37,10 @@ describe('stable', () => {
describe('premiumPets', () => {
it('contains a pet for each premium potion * each drop egg', () => {
- let numberOfPremiumPotions = Object.keys(potions.premium).length;
- let numberOfDropEggs = Object.keys(eggs.drops).length;
- let numberOfPremiumPets = Object.keys(stable.premiumPets).length;
- let expectedTotal = numberOfPremiumPotions * numberOfDropEggs;
+ const numberOfPremiumPotions = Object.keys(potions.premium).length;
+ const numberOfDropEggs = Object.keys(eggs.drops).length;
+ const numberOfPremiumPets = Object.keys(stable.premiumPets).length;
+ const expectedTotal = numberOfPremiumPotions * numberOfDropEggs;
expect(numberOfPremiumPets).to.be.greaterThan(0);
expect(numberOfPremiumPets).to.equal(expectedTotal);
@@ -49,10 +49,10 @@ describe('stable', () => {
describe('wackyPets', () => {
it('contains a pet for each wacky potion * each drop egg', () => {
- let numberOfWackyPotions = Object.keys(potions.wacky).length;
- let numberOfDropEggs = Object.keys(eggs.drops).length;
- let numberOfWackyPets = Object.keys(stable.wackyPets).length;
- let expectedTotal = numberOfWackyPotions * numberOfDropEggs;
+ const numberOfWackyPotions = Object.keys(potions.wacky).length;
+ const numberOfDropEggs = Object.keys(eggs.drops).length;
+ const numberOfWackyPets = Object.keys(stable.wackyPets).length;
+ const expectedTotal = numberOfWackyPotions * numberOfDropEggs;
expect(numberOfWackyPets).to.be.greaterThan(0);
expect(numberOfWackyPets).to.equal(expectedTotal);
@@ -61,8 +61,8 @@ describe('stable', () => {
describe('specialPets', () => {
it('each value is a valid translation string', () => {
- each(stable.specialPets, (pet) => {
- let string = t(pet);
+ each(stable.specialPets, pet => {
+ const string = t(pet);
expectValidTranslationString(string);
});
});
@@ -70,10 +70,10 @@ describe('stable', () => {
describe('dropMounts', () => {
it('contains a mount for each drop potion * each drop egg', () => {
- let numberOfDropPotions = Object.keys(potions.drops).length;
- let numberOfDropEggs = Object.keys(eggs.drops).length;
- let numberOfDropMounts = Object.keys(stable.dropMounts).length;
- let expectedTotal = numberOfDropPotions * numberOfDropEggs;
+ const numberOfDropPotions = Object.keys(potions.drops).length;
+ const numberOfDropEggs = Object.keys(eggs.drops).length;
+ const numberOfDropMounts = Object.keys(stable.dropMounts).length;
+ const expectedTotal = numberOfDropPotions * numberOfDropEggs;
expect(numberOfDropMounts).to.be.greaterThan(0);
expect(numberOfDropMounts).to.equal(expectedTotal);
@@ -82,10 +82,10 @@ describe('stable', () => {
describe('questMounts', () => {
it('contains a mount for each drop potion * each quest egg', () => {
- let numberOfDropPotions = Object.keys(potions.drops).length;
- let numberOfQuestEggs = Object.keys(eggs.quests).length;
- let numberOfQuestMounts = Object.keys(stable.questMounts).length;
- let expectedTotal = numberOfDropPotions * numberOfQuestEggs;
+ const numberOfDropPotions = Object.keys(potions.drops).length;
+ const numberOfQuestEggs = Object.keys(eggs.quests).length;
+ const numberOfQuestMounts = Object.keys(stable.questMounts).length;
+ const expectedTotal = numberOfDropPotions * numberOfQuestEggs;
expect(numberOfQuestMounts).to.be.greaterThan(0);
expect(numberOfQuestMounts).to.equal(expectedTotal);
@@ -94,10 +94,10 @@ describe('stable', () => {
describe('premiumMounts', () => {
it('contains a mount for each premium potion * each drop egg', () => {
- let numberOfPremiumPotions = Object.keys(potions.premium).length;
- let numberOfDropEggs = Object.keys(eggs.drops).length;
- let numberOfPremiumMounts = Object.keys(stable.premiumMounts).length;
- let expectedTotal = numberOfPremiumPotions * numberOfDropEggs;
+ const numberOfPremiumPotions = Object.keys(potions.premium).length;
+ const numberOfDropEggs = Object.keys(eggs.drops).length;
+ const numberOfPremiumMounts = Object.keys(stable.premiumMounts).length;
+ const expectedTotal = numberOfPremiumPotions * numberOfDropEggs;
expect(numberOfPremiumMounts).to.be.greaterThan(0);
expect(numberOfPremiumMounts).to.equal(expectedTotal);
@@ -106,24 +106,26 @@ describe('stable', () => {
describe('specialMounts', () => {
it('each value is a valid translation string', () => {
- each(stable.specialMounts, (mount) => {
- let string = t(mount);
+ each(stable.specialMounts, mount => {
+ const string = t(mount);
expectValidTranslationString(string);
});
});
});
- describe('petInfo', () => {
+ describe('petInfo', () => {
it('contains an entry for all pets', () => {
- let dropNumber = Object.keys(stable.dropPets).length;
- let questNumber = Object.keys(stable.questPets).length;
- let specialNumber = Object.keys(stable.specialPets).length;
- let premiumNumber = Object.keys(stable.premiumPets).length;
- let wackyNumber = Object.keys(stable.wackyPets).length;
- let allNumber = Object.keys(stable.petInfo).length;
+ const dropNumber = Object.keys(stable.dropPets).length;
+ const questNumber = Object.keys(stable.questPets).length;
+ const specialNumber = Object.keys(stable.specialPets).length;
+ const premiumNumber = Object.keys(stable.premiumPets).length;
+ const wackyNumber = Object.keys(stable.wackyPets).length;
+ const allNumber = Object.keys(stable.petInfo).length;
expect(allNumber).to.be.greaterThan(0);
- expect(allNumber).to.equal(dropNumber + questNumber + specialNumber + premiumNumber + wackyNumber);
+ expect(allNumber).to.equal(
+ dropNumber + questNumber + specialNumber + premiumNumber + wackyNumber,
+ );
});
it('contains basic information about each pet', () => {
@@ -135,13 +137,13 @@ describe('stable', () => {
});
});
- describe('mountInfo', () => {
+ describe('mountInfo', () => {
it('contains an entry for all mounts', () => {
- let dropNumber = Object.keys(stable.dropMounts).length;
- let questNumber = Object.keys(stable.questMounts).length;
- let specialNumber = Object.keys(stable.specialMounts).length;
- let premiumNumber = Object.keys(stable.premiumMounts).length;
- let allNumber = Object.keys(stable.mountInfo).length;
+ const dropNumber = Object.keys(stable.dropMounts).length;
+ const questNumber = Object.keys(stable.questMounts).length;
+ const specialNumber = Object.keys(stable.specialMounts).length;
+ const premiumNumber = Object.keys(stable.premiumMounts).length;
+ const allNumber = Object.keys(stable.mountInfo).length;
expect(allNumber).to.be.greaterThan(0);
expect(allNumber).to.equal(dropNumber + questNumber + specialNumber + premiumNumber);
diff --git a/test/content/translator.js b/test/content/translator.js
index fee9d37672..9bb0e87ed3 100644
--- a/test/content/translator.js
+++ b/test/content/translator.js
@@ -1,14 +1,14 @@
-import {STRING_ERROR_MSG, STRING_DOES_NOT_EXIST_MSG} from '../helpers/content.helper';
+import { STRING_ERROR_MSG, STRING_DOES_NOT_EXIST_MSG } from '../helpers/content.helper';
import translator from '../../website/common/script/content/translation';
describe('Translator', () => {
it('returns error message if string is not properly formatted', () => {
- let improperlyFormattedString = translator('petName', {attr: 0})();
+ const improperlyFormattedString = translator('petName', { attr: 0 })();
expect(improperlyFormattedString).to.match(STRING_ERROR_MSG);
});
it('returns an error message if string does not exist', () => {
- let stringDoesNotExist = translator('stringDoesNotExist')();
+ const stringDoesNotExist = translator('stringDoesNotExist')();
expect(stringDoesNotExist).to.match(STRING_DOES_NOT_EXIST_MSG);
});
});
diff --git a/test/helpers/api-integration/api-classes.js b/test/helpers/api-integration/api-classes.js
index f914d0d3a5..83f458f23d 100644
--- a/test/helpers/api-integration/api-classes.js
+++ b/test/helpers/api-integration/api-classes.js
@@ -1,17 +1,18 @@
/* eslint-disable no-use-before-define */
+/* eslint-disable max-classes-per-file */
import moment from 'moment';
-import { requester } from './requester';
-import {
- getDocument as getDocumentFromMongo,
- updateDocument as updateDocumentInMongo,
- unsetDocument as unsetDocumentInMongo,
-} from '../mongo';
import {
assign,
each,
isEmpty,
set,
} from 'lodash';
+import { requester } from './requester';
+import {
+ getDocument as getDocumentFromMongo,
+ updateDocument as updateDocumentInMongo,
+ unsetDocument as unsetDocumentInMongo,
+} from '../mongo';
class ApiObject {
constructor (options) {
@@ -20,7 +21,7 @@ class ApiObject {
async update (options) {
if (isEmpty(options)) {
- return;
+ return null;
}
await updateDocumentInMongo(this._docType, this, options);
@@ -32,7 +33,7 @@ class ApiObject {
async unset (options) {
if (isEmpty(options)) {
- return;
+ return null;
}
await unsetDocumentInMongo(this._docType, this, options);
@@ -43,7 +44,7 @@ class ApiObject {
}
async sync () {
- let updatedDoc = await getDocumentFromMongo(this._docType, this);
+ const updatedDoc = await getDocumentFromMongo(this._docType, this);
assign(this, updatedDoc);
@@ -57,7 +58,7 @@ export class ApiUser extends ApiObject {
this._docType = 'users';
- let _requester = requester(this);
+ const _requester = requester(this);
this.get = _requester.get;
this.post = _requester.post;
@@ -74,10 +75,10 @@ export class ApiGroup extends ApiObject {
}
async addChat (chat) {
- let group = this;
+ const group = this;
if (!chat) {
- chat = {
+ chat = { // eslint-disable-line no-param-reassign
id: 'Test_ID',
text: 'Test message',
flagCount: 0,
@@ -91,13 +92,13 @@ export class ApiGroup extends ApiObject {
};
}
- let update = { chat };
+ const update = { chat };
- return await this.update(update);
+ return this.update(update);
}
async createCancelledSubscription () {
- let update = {
+ const update = {
purchased: {
plan: {
customerId: 'example-customer',
@@ -106,7 +107,7 @@ export class ApiGroup extends ApiObject {
},
};
- return await this.update(update);
+ return this.update(update);
}
}
diff --git a/test/helpers/api-integration/external-server.js b/test/helpers/api-integration/external-server.js
index 33991240f8..4a84855301 100644
--- a/test/helpers/api-integration/external-server.js
+++ b/test/helpers/api-integration/external-server.js
@@ -1,22 +1,21 @@
-'use strict';
+import express from 'express';
+import uuid from 'uuid';
+import bodyParser from 'body-parser';
-let express = require('express');
-let uuid = require('uuid');
-let bodyParser = require('body-parser');
-let app = express();
-let server = require('http').createServer(app);
+const app = express();
+const server = require('http').createServer(app);
const PORT = process.env.TEST_WEBHOOK_APP_PORT || 3099; // eslint-disable-line no-process-env
-let webhookData = {};
+const webhookData = {};
app.use(bodyParser.urlencoded({
extended: true,
}));
app.use(bodyParser.json());
-app.post('/webhooks/:id', function (req, res) {
- let id = req.params.id;
+app.post('/webhooks/:id', (req, res) => {
+ const { id } = req.params;
if (!webhookData[id]) {
webhookData[id] = [];
@@ -29,9 +28,9 @@ app.post('/webhooks/:id', function (req, res) {
// Helps close down server from within mocha test
// See http://stackoverflow.com/a/37054753/2601552
-let sockets = {};
-server.on('connection', (socket) => {
- let id = uuid.v4();
+const sockets = {};
+server.on('connection', socket => {
+ const id = uuid.v4();
sockets[id] = socket;
socket.once('close', () => {
@@ -40,16 +39,16 @@ server.on('connection', (socket) => {
});
function start () {
- return new Promise((resolve) => {
+ return new Promise(resolve => {
server.listen(PORT, resolve);
});
}
function close () {
- return new Promise((resolve) => {
+ return new Promise(resolve => {
server.close(resolve);
- Object.keys(sockets).forEach((socket) => {
+ Object.keys(sockets).forEach(socket => {
sockets[socket].end();
});
});
@@ -62,7 +61,7 @@ function getWebhookData (id) {
return webhookData[id].pop();
}
-module.exports = {
+export default {
start,
close,
getWebhookData,
diff --git a/test/helpers/api-integration/requester.js b/test/helpers/api-integration/requester.js
index 2b18de8bac..a01aa1e227 100644
--- a/test/helpers/api-integration/requester.js
+++ b/test/helpers/api-integration/requester.js
@@ -10,8 +10,9 @@ let apiVersion;
// Sets up an object that can make all REST requests
// If a user is passed in, the uuid and api token of
// the user are used to make the requests
-export function requester (user = {}, additionalSets = {}) {
- additionalSets = cloneDeep(additionalSets); // cloning because it could be modified later to set cookie
+export function requester (user = {}, additionalSets = {}) { // eslint-disable-line import/prefer-default-export, max-len
+ // cloning because it could be modified later to set cookie
+ additionalSets = cloneDeep(additionalSets); // eslint-disable-line no-param-reassign
return {
get: _requestMaker(user, 'get', additionalSets),
@@ -21,58 +22,64 @@ export function requester (user = {}, additionalSets = {}) {
};
}
-requester.setApiVersion = (version) => {
+requester.setApiVersion = version => {
apiVersion = version;
};
function _requestMaker (user, method, additionalSets = {}) {
if (!apiVersion) throw new Error('apiVersion not set');
- return (route, send, query) => {
- return new Promise((resolve, reject) => {
- let url = `http://localhost:${API_TEST_SERVER_PORT}`;
+ return (route, send, query) => new Promise((resolve, reject) => {
+ let url = `http://localhost:${API_TEST_SERVER_PORT}`;
- // do not prefix with api/apiVersion requests to top level routes like dataexport, payments and emails
- if (route.indexOf('/email') === 0 || route.indexOf('/export') === 0 || route.indexOf('/paypal') === 0 || route.indexOf('/amazon') === 0 || route.indexOf('/stripe') === 0 || route.indexOf('/qr-code') === 0) {
- url += `${route}`;
- } else {
- url += `/api/${apiVersion}${route}`;
- }
+ // do not prefix with api/apiVersion requests to top level routes
+ // like dataexport, payments and emails
+ if (
+ route.indexOf('/email') === 0
+ || route.indexOf('/export') === 0
+ || route.indexOf('/paypal') === 0
+ || route.indexOf('/amazon') === 0
+ || route.indexOf('/stripe') === 0
+ || route.indexOf('/qr-code') === 0
+ ) {
+ url += `${route}`;
+ } else {
+ url += `/api/${apiVersion}${route}`;
+ }
- let request = superagent[method](url)
- .accept('application/json');
-
- if (user && user._id && user.apiToken) {
- request
- .set('x-api-user', user._id)
- .set('x-api-key', user.apiToken);
- }
-
- if (!isEmpty(additionalSets)) {
- request.set(additionalSets);
- }
+ const request = superagent[method](url)
+ .accept('application/json');
+ if (user && user._id && user.apiToken) {
request
- .query(query)
- .send(send)
- .end((err, response) => {
- if (err) {
- if (!err.response) return reject(err);
+ .set('x-api-user', user._id)
+ .set('x-api-key', user.apiToken);
+ }
- let parsedError = _parseError(err);
+ if (!isEmpty(additionalSets)) {
+ request.set(additionalSets);
+ }
- return reject(parsedError);
- }
+ request
+ .query(query)
+ .send(send)
+ .end((err, response) => {
+ if (err) {
+ if (!err.response) return reject(err);
- resolve(_parseRes(response));
- });
- });
- };
+ const parsedError = _parseError(err);
+
+ return reject(parsedError);
+ }
+
+ return resolve(_parseRes(response));
+ });
+ });
}
function _parseRes (res) {
- let contentType = res.headers['content-type'] || '';
- let contentDisposition = res.headers['content-disposition'] || '';
+ const contentType = res.headers['content-type'] || '';
+ const contentDisposition = res.headers['content-disposition'] || '';
if (contentType.indexOf('json') === -1) { // not a json response
return res.text;
@@ -84,16 +91,17 @@ function _parseRes (res) {
if (apiVersion === 'v2') {
return res.body;
- } else if (apiVersion === 'v3' || apiVersion === 'v4') {
+ } if (apiVersion === 'v3' || apiVersion === 'v4') {
if (res.body.message) {
return {
data: res.body.data,
message: res.body.message,
};
- } else {
- return res.body.data;
}
+ return res.body.data;
}
+
+ return null;
}
function _parseError (err) {
diff --git a/test/helpers/api-integration/v3/index.js b/test/helpers/api-integration/v3/index.js
index 8ec89f9313..44f6dd179d 100644
--- a/test/helpers/api-integration/v3/index.js
+++ b/test/helpers/api-integration/v3/index.js
@@ -1,13 +1,14 @@
/* eslint-disable no-use-before-define */
// Import requester function, set it up for v3, export it
import { requester } from '../requester';
-requester.setApiVersion('v3');
-export { requester };
import server from '../external-server';
+
+requester.setApiVersion('v3');
+export { requester };
export { server };
export { translate } from '../../translate';
export { checkExistence, getProperty, resetHabiticaDB } from '../../mongo';
-export * from './object-generators';
+export * from './object-generators';
export { sleep } from '../../sleep';
diff --git a/test/helpers/api-integration/v3/object-generators.js b/test/helpers/api-integration/v3/object-generators.js
index fc06344c9e..e713c1084c 100644
--- a/test/helpers/api-integration/v3/object-generators.js
+++ b/test/helpers/api-integration/v3/object-generators.js
@@ -20,18 +20,18 @@ import * as Tasks from '../../../../website/server/models/task';
// Example: generateUser({}, { username: 'TestName' }) adds user
// with the 'TestName' username.
export async function generateUser (update = {}, overrides = {}) {
- let username = overrides.username || (Date.now() + generateUUID()).substring(0, 20);
- let password = overrides.password || 'password';
- let email = overrides.email || `${username}@example.com`;
+ const username = overrides.username || (Date.now() + generateUUID()).substring(0, 20);
+ const password = overrides.password || 'password';
+ const email = overrides.email || `${username}@example.com`;
- let user = await requester().post('/user/auth/local/register', {
+ const user = await requester().post('/user/auth/local/register', {
username,
email,
password,
confirmPassword: password,
});
- let apiUser = new ApiUser(user);
+ const apiUser = new ApiUser(user);
await apiUser.update(update);
@@ -39,29 +39,29 @@ export async function generateUser (update = {}, overrides = {}) {
}
export async function generateHabit (update = {}) {
- let type = 'habit';
- let task = new Tasks[type](update);
+ const type = 'habit';
+ const task = new Tasks[type](update);
await task.save({ validateBeforeSave: false });
return task;
}
export async function generateDaily (update = {}) {
- let type = 'daily';
- let task = new Tasks[type](update);
+ const type = 'daily';
+ const task = new Tasks[type](update);
await task.save({ validateBeforeSave: false });
return task;
}
export async function generateReward (update = {}) {
- let type = 'reward';
- let task = new Tasks[type](update);
+ const type = 'reward';
+ const task = new Tasks[type](update);
await task.save({ validateBeforeSave: false });
return task;
}
export async function generateTodo (update = {}) {
- let type = 'todo';
- let task = new Tasks[type](update);
+ const type = 'todo';
+ const task = new Tasks[type](update);
await task.save({ validateBeforeSave: false });
return task;
}
@@ -75,8 +75,8 @@ export async function generateGroup (leader, details = {}, update = {}) {
details.privacy = details.privacy || 'private';
details.name = details.name || 'test group';
- let group = await leader.post('/groups', details);
- let apiGroup = new ApiGroup(group);
+ const group = await leader.post('/groups', details);
+ const apiGroup = new ApiGroup(group);
await apiGroup.update(update);
@@ -86,7 +86,8 @@ export async function generateGroup (leader, details = {}, update = {}) {
// This is generate group + the ability to create
// real users to populate it. The settings object
// takes in:
-// members: Number - the number of group members to create. Defaults to 0. Does not include group leader.
+// members: Number - the number of group members to create.
+// Defaults to 0. Does not include group leader.
// inivtes: Number - the number of users to create and invite to the group. Defaults to 0.
// groupDetails: Object - how to initialize the group
// leaderDetails: Object - defaults for the leader, defaults with a gem balance so the user
@@ -98,42 +99,36 @@ export async function generateGroup (leader, details = {}, update = {}) {
// leader: the leader user object
// group: the group object
export async function createAndPopulateGroup (settings = {}) {
- let numberOfMembers = settings.members || 0;
- let numberOfInvites = settings.invites || 0;
- let groupDetails = settings.groupDetails;
- let leaderDetails = settings.leaderDetails || { balance: 10 };
+ const numberOfMembers = settings.members || 0;
+ const numberOfInvites = settings.invites || 0;
+ const { groupDetails } = settings;
+ const leaderDetails = settings.leaderDetails || { balance: 10 };
- let groupLeader = await generateUser(leaderDetails);
- let group = await generateGroup(groupLeader, groupDetails);
+ const groupLeader = await generateUser(leaderDetails);
+ const group = await generateGroup(groupLeader, groupDetails);
const groupMembershipTypes = {
- party: { 'party._id': group._id},
+ party: { 'party._id': group._id },
guild: { guilds: [group._id] },
};
- let members = await Promise.all(
- times(numberOfMembers, () => {
- return generateUser(groupMembershipTypes[group.type]);
- })
+ const members = await Promise.all(
+ times(numberOfMembers, () => generateUser(groupMembershipTypes[group.type])),
);
- await group.update({ memberCount: numberOfMembers + 1});
+ await group.update({ memberCount: numberOfMembers + 1 });
- let invitees = await Promise.all(
- times(numberOfInvites, () => {
- return generateUser();
- })
+ const invitees = await Promise.all(
+ times(numberOfInvites, () => generateUser()),
);
- let invitationPromises = invitees.map((invitee) => {
- return groupLeader.post(`/groups/${group._id}/invite`, {
- uuids: [invitee._id],
- });
- });
+ const invitationPromises = invitees.map(invitee => groupLeader.post(`/groups/${group._id}/invite`, {
+ uuids: [invitee._id],
+ }));
await Promise.all(invitationPromises);
- await Promise.all(invitees.map((invitee) => invitee.sync()));
+ await Promise.all(invitees.map(invitee => invitee.sync()));
return {
groupLeader,
@@ -155,8 +150,8 @@ export async function generateChallenge (challengeCreator, group, details = {},
details.prize = details.prize || 0;
details.official = details.official || false;
- let challenge = await challengeCreator.post('/challenges', details);
- let apiChallenge = new ApiChallenge(challenge);
+ const challenge = await challengeCreator.post('/challenges', details);
+ const apiChallenge = new ApiChallenge(challenge);
await apiChallenge.update(update);
diff --git a/test/helpers/api-integration/v4/index.js b/test/helpers/api-integration/v4/index.js
index ff8d48e5ec..fad9fe4556 100644
--- a/test/helpers/api-integration/v4/index.js
+++ b/test/helpers/api-integration/v4/index.js
@@ -1,13 +1,14 @@
/* eslint-disable no-use-before-define */
// Import requester function, set it up for v4, export it
import { requester } from '../requester';
-requester.setApiVersion('v4');
-export { requester };
import server from '../external-server';
+
+requester.setApiVersion('v4');
+export { requester };
export { server };
export { translate } from '../../translate';
export { checkExistence, getProperty, resetHabiticaDB } from '../../mongo';
-export * from './object-generators';
+export * from './object-generators';
export { sleep } from '../../sleep';
diff --git a/test/helpers/api-integration/v4/object-generators.js b/test/helpers/api-integration/v4/object-generators.js
index 1c215de361..99030f834f 100644
--- a/test/helpers/api-integration/v4/object-generators.js
+++ b/test/helpers/api-integration/v4/object-generators.js
@@ -14,18 +14,18 @@ import * as Tasks from '../../../../website/server/models/task';
// , you can do so by passing in the full path as a string:
// { 'items.eggs.Wolf': 10 }
export async function generateUser (update = {}) {
- let username = (Date.now() + generateUUID()).substring(0, 20);
- let password = 'password';
- let email = `${username}@example.com`;
+ const username = (Date.now() + generateUUID()).substring(0, 20);
+ const password = 'password';
+ const email = `${username}@example.com`;
- let user = await requester().post('/user/auth/local/register', {
+ const user = await requester().post('/user/auth/local/register', {
username,
email,
password,
confirmPassword: password,
});
- let apiUser = new ApiUser(user);
+ const apiUser = new ApiUser(user);
await apiUser.update(update);
@@ -33,29 +33,29 @@ export async function generateUser (update = {}) {
}
export async function generateHabit (update = {}) {
- let type = 'habit';
- let task = new Tasks[type](update);
+ const type = 'habit';
+ const task = new Tasks[type](update);
await task.save({ validateBeforeSave: false });
return task;
}
export async function generateDaily (update = {}) {
- let type = 'daily';
- let task = new Tasks[type](update);
+ const type = 'daily';
+ const task = new Tasks[type](update);
await task.save({ validateBeforeSave: false });
return task;
}
export async function generateReward (update = {}) {
- let type = 'reward';
- let task = new Tasks[type](update);
+ const type = 'reward';
+ const task = new Tasks[type](update);
await task.save({ validateBeforeSave: false });
return task;
}
export async function generateTodo (update = {}) {
- let type = 'todo';
- let task = new Tasks[type](update);
+ const type = 'todo';
+ const task = new Tasks[type](update);
await task.save({ validateBeforeSave: false });
return task;
}
@@ -69,8 +69,8 @@ export async function generateGroup (leader, details = {}, update = {}) {
details.privacy = details.privacy || 'private';
details.name = details.name || 'test group';
- let group = await leader.post('/groups', details);
- let apiGroup = new ApiGroup(group);
+ const group = await leader.post('/groups', details);
+ const apiGroup = new ApiGroup(group);
await apiGroup.update(update);
@@ -80,7 +80,8 @@ export async function generateGroup (leader, details = {}, update = {}) {
// This is generate group + the ability to create
// real users to populate it. The settings object
// takes in:
-// members: Number - the number of group members to create. Defaults to 0. Does not include group leader.
+// members: Number - the number of group members to create.
+// Defaults to 0. Does not include group leader.
// inivtes: Number - the number of users to create and invite to the group. Defaults to 0.
// groupDetails: Object - how to initialize the group
// leaderDetails: Object - defaults for the leader, defaults with a gem balance so the user
@@ -92,42 +93,36 @@ export async function generateGroup (leader, details = {}, update = {}) {
// leader: the leader user object
// group: the group object
export async function createAndPopulateGroup (settings = {}) {
- let numberOfMembers = settings.members || 0;
- let numberOfInvites = settings.invites || 0;
- let groupDetails = settings.groupDetails;
- let leaderDetails = settings.leaderDetails || { balance: 10 };
+ const numberOfMembers = settings.members || 0;
+ const numberOfInvites = settings.invites || 0;
+ const { groupDetails } = settings;
+ const leaderDetails = settings.leaderDetails || { balance: 10 };
- let groupLeader = await generateUser(leaderDetails);
- let group = await generateGroup(groupLeader, groupDetails);
+ const groupLeader = await generateUser(leaderDetails);
+ const group = await generateGroup(groupLeader, groupDetails);
const groupMembershipTypes = {
- party: { 'party._id': group._id},
+ party: { 'party._id': group._id },
guild: { guilds: [group._id] },
};
- let members = await Promise.all(
- times(numberOfMembers, () => {
- return generateUser(groupMembershipTypes[group.type]);
- })
+ const members = await Promise.all(
+ times(numberOfMembers, () => generateUser(groupMembershipTypes[group.type])),
);
- await group.update({ memberCount: numberOfMembers + 1});
+ await group.update({ memberCount: numberOfMembers + 1 });
- let invitees = await Promise.all(
- times(numberOfInvites, () => {
- return generateUser();
- })
+ const invitees = await Promise.all(
+ times(numberOfInvites, () => generateUser()),
);
- let invitationPromises = invitees.map((invitee) => {
- return groupLeader.post(`/groups/${group._id}/invite`, {
- uuids: [invitee._id],
- });
- });
+ const invitationPromises = invitees.map(invitee => groupLeader.post(`/groups/${group._id}/invite`, {
+ uuids: [invitee._id],
+ }));
await Promise.all(invitationPromises);
- await Promise.all(invitees.map((invitee) => invitee.sync()));
+ await Promise.all(invitees.map(invitee => invitee.sync()));
return {
groupLeader,
@@ -149,8 +144,8 @@ export async function generateChallenge (challengeCreator, group, details = {},
details.prize = details.prize || 0;
details.official = details.official || false;
- let challenge = await challengeCreator.post('/challenges', details);
- let apiChallenge = new ApiChallenge(challenge);
+ const challenge = await challengeCreator.post('/challenges', details);
+ const apiChallenge = new ApiChallenge(challenge);
await apiChallenge.update(update);
diff --git a/test/helpers/api-unit.helper.js b/test/helpers/api-unit.helper.js
index b43389bf21..6ca56abb5c 100644
--- a/test/helpers/api-unit.helper.js
+++ b/test/helpers/api-unit.helper.js
@@ -1,16 +1,17 @@
import '../../website/server/libs/i18n';
import mongoose from 'mongoose';
import defaultsDeep from 'lodash/defaultsDeep';
+import moment from 'moment';
import { model as User } from '../../website/server/models/user';
import { model as Group } from '../../website/server/models/group';
import { model as Challenge } from '../../website/server/models/challenge';
import mongo from './mongo'; // eslint-disable-line
-import moment from 'moment';
import i18n from '../../website/common/script/i18n';
import * as Tasks from '../../website/server/models/task';
+
export { translationCheck } from './translate';
-afterEach((done) => {
+afterEach(done => {
sandbox.restore();
mongoose.connection.dropDatabase(done);
});
@@ -30,7 +31,7 @@ export function generateChallenge (options = {}) {
}
export function generateRes (options = {}) {
- let defaultRes = {
+ const defaultRes = {
json: sandbox.stub(),
locals: {
user: generateUser(options.localsUser),
@@ -51,7 +52,7 @@ export function generateRes (options = {}) {
}
export function generateReq (options = {}) {
- let defaultReq = {
+ const defaultReq = {
body: {},
query: {},
headers: {},
@@ -71,43 +72,43 @@ export function generateNext (func) {
}
export function generateHistory (days) {
- let history = [];
- let now = Number(moment().toDate());
+ const history = [];
+ const now = Number(moment().toDate());
while (days > 0) {
history.push({
value: days,
date: Number(moment(now).subtract(days, 'days').toDate()),
});
- days--;
+ days -= 1; // eslint-disable-line no-param-reassign
}
return history;
}
export function generateTodo (user) {
- let todo = {
+ const todo = {
text: 'test todo',
type: 'todo',
value: 0,
completed: false,
};
- let task = new Tasks.todo(Tasks.Task.sanitize(todo)); // eslint-disable-line new-cap
+ const task = new Tasks.todo(Tasks.Task.sanitize(todo)); // eslint-disable-line new-cap
task.userId = user._id;
return task;
}
export function generateDaily (user) {
- let daily = {
+ const daily = {
text: 'test daily',
type: 'daily',
value: 0,
completed: false,
};
- let task = new Tasks.daily(Tasks.Task.sanitize(daily)); // eslint-disable-line new-cap
+ const task = new Tasks.daily(Tasks.Task.sanitize(daily)); // eslint-disable-line new-cap
task.userId = user._id;
return task;
@@ -117,7 +118,7 @@ export function defer () {
let resolve;
let reject;
- let promise = new Promise((resolveParam, rejectParam) => {
+ const promise = new Promise((resolveParam, rejectParam) => {
resolve = resolveParam;
reject = rejectParam;
});
diff --git a/test/helpers/common.helper.js b/test/helpers/common.helper.js
index f594e15cd0..4a079a5530 100644
--- a/test/helpers/common.helper.js
+++ b/test/helpers/common.helper.js
@@ -7,35 +7,36 @@ import {
RewardSchema,
TodoSchema,
} from '../../website/server/models/task';
-export {translate} from './translate';
+
+export { translate } from './translate';
export function generateUser (options = {}) {
- let user = new User(options).toObject();
+ const user = new User(options).toObject();
return user;
}
export function generateDaily (options = {}) {
- let Daily = mongoose.model('Daily', DailySchema);
+ const Daily = mongoose.model('Daily', DailySchema);
return new Daily(options).toObject();
}
export function generateHabit (options = {}) {
- let Habit = mongoose.model('Habit', HabitSchema);
+ const Habit = mongoose.model('Habit', HabitSchema);
return new Habit(options).toObject();
}
export function generateReward (options = {}) {
- let Reward = mongoose.model('Reward', RewardSchema);
+ const Reward = mongoose.model('Reward', RewardSchema);
return new Reward(options).toObject();
}
export function generateTodo (options = {}) {
- let Todo = mongoose.model('Todo', TodoSchema);
+ const Todo = mongoose.model('Todo', TodoSchema);
return new Todo(options).toObject();
}
diff --git a/test/helpers/content.helper.js b/test/helpers/content.helper.js
index 0470f04114..93ceb51922 100644
--- a/test/helpers/content.helper.js
+++ b/test/helpers/content.helper.js
@@ -1,6 +1,8 @@
-require('./globals.helper');
import i18n from '../../website/common/script/i18n';
-i18n.translations = require('../../website/server/libs/i18n').translations;
+import './globals.helper';
+import { translations } from '../../website/server/libs/i18n';
+
+i18n.translations = translations;
export const STRING_ERROR_MSG = /^Error processing the string ".*". Please see Help > Report a Bug.$/;
export const STRING_DOES_NOT_EXIST_MSG = /^String '.*' not found.$/;
@@ -8,7 +10,7 @@ export const STRING_DOES_NOT_EXIST_MSG = /^String '.*' not found.$/;
export function expectValidTranslationString (attribute) {
expect(attribute).to.be.a('function');
- let translatedString = attribute();
+ const translatedString = attribute();
expect(translatedString.trim()).to.not.be.empty;
expect(translatedString).to.not.contain('function func(lang)');
diff --git a/test/helpers/globals.helper.js b/test/helpers/globals.helper.js
index 5dc151cb94..bca96eac2c 100644
--- a/test/helpers/globals.helper.js
+++ b/test/helpers/globals.helper.js
@@ -1,3 +1,4 @@
+/* eslint-disable import/no-commonjs */
/* eslint-disable no-undef */
/* eslint-disable global-require */
/* eslint-disable no-process-env */
@@ -9,11 +10,14 @@ global._ = require('lodash');
global.chai = require('chai');
chai.use(require('sinon-chai'));
chai.use(require('chai-as-promised'));
+
global.expect = chai.expect;
global.sinon = require('sinon');
-let sinonStubPromise = require('sinon-stub-promise');
+const sinonStubPromise = require('sinon-stub-promise');
+
sinonStubPromise(global.sinon);
global.sandbox = sinon.createSandbox();
-import setupNconf from '../../website/server/libs/setupNconf';
+const setupNconf = require('../../website/server/libs/setupNconf');
+
setupNconf('./config.json.example');
diff --git a/test/helpers/mongo.js b/test/helpers/mongo.js
index ca2af9ce45..701f553ece 100644
--- a/test/helpers/mongo.js
+++ b/test/helpers/mongo.js
@@ -1,20 +1,20 @@
import mongoose from 'mongoose';
-import { TAVERN_ID } from '../../website/server/models/group';
import { get } from 'lodash';
+import { TAVERN_ID } from '../../website/server/models/group';
// Useful for checking things that have been deleted,
// but you no longer have access to,
// like private parties or users
export async function checkExistence (collectionName, id) {
return new Promise((resolve, reject) => {
- let collection = mongoose.connection.db.collection(collectionName);
+ const collection = mongoose.connection.db.collection(collectionName);
- collection.find({_id: id}, {_id: 1}).limit(1).toArray((findError, docs) => {
+ collection.find({ _id: id }, { _id: 1 }).limit(1).toArray((findError, docs) => {
if (findError) return reject(findError);
- let exists = docs.length > 0;
+ const exists = docs.length > 0;
- resolve(exists);
+ return resolve(exists);
});
});
}
@@ -23,12 +23,12 @@ export async function checkExistence (collectionName, id) {
// and thus unavailable to the client
export async function getProperty (collectionName, id, path) {
return new Promise((resolve, reject) => {
- let collection = mongoose.connection.db.collection(collectionName);
+ const collection = mongoose.connection.db.collection(collectionName);
- collection.find({_id: id}, {[path]: 1}).limit(1).toArray((findError, docs) => {
+ collection.find({ _id: id }, { [path]: 1 }).limit(1).toArray((findError, docs) => {
if (findError) return reject(findError);
- resolve(get(docs[0], path));
+ return resolve(get(docs[0], path));
});
});
}
@@ -37,17 +37,17 @@ export async function getProperty (collectionName, id, path) {
// resets the db to an empty state and creates a tavern document
export async function resetHabiticaDB () {
return new Promise((resolve, reject) => {
- mongoose.connection.dropDatabase((dbErr) => {
+ mongoose.connection.dropDatabase(dbErr => {
if (dbErr) return reject(dbErr);
- let groups = mongoose.connection.db.collection('groups');
- let users = mongoose.connection.db.collection('users');
+ const groups = mongoose.connection.db.collection('groups');
+ const users = mongoose.connection.db.collection('users');
- users.count({_id: '7bde7864-ebc5-4ee2-a4b7-1070d464cdb0'}, (err, count) => {
+ return users.count({ _id: '7bde7864-ebc5-4ee2-a4b7-1070d464cdb0' }, (err, count) => {
if (err) return reject(err);
if (count > 0) return resolve();
// create the leader for the tavern
- users.insertOne({
+ return users.insertOne({
_id: '7bde7864-ebc5-4ee2-a4b7-1070d464cdb0',
apiToken: TAVERN_ID,
auth: {
@@ -59,15 +59,15 @@ export async function resetHabiticaDB () {
passwordHashMethod: 'bcrypt',
},
},
- }, (insertErr) => {
+ }, insertErr => {
if (insertErr) return reject(insertErr);
// For some mysterious reason after a dropDatabase there can still be a group...
- groups.count({_id: TAVERN_ID}, (err2, count2) => {
+ return groups.count({ _id: TAVERN_ID }, (err2, count2) => {
if (err2) return reject(err2);
if (count2 > 0) return resolve();
- groups.insertOne({
+ return groups.insertOne({
_id: TAVERN_ID,
chat: [],
leader: '7bde7864-ebc5-4ee2-a4b7-1070d464cdb0', // Siena Leslie
@@ -75,10 +75,10 @@ export async function resetHabiticaDB () {
type: 'guild',
privacy: 'public',
memberCount: 0,
- }, (insertErr2) => {
+ }, insertErr2 => {
if (insertErr2) return reject(insertErr2);
- resolve();
+ return resolve();
});
});
});
@@ -88,10 +88,10 @@ export async function resetHabiticaDB () {
}
export async function updateDocument (collectionName, doc, update) {
- let collection = mongoose.connection.db.collection(collectionName);
+ const collection = mongoose.connection.db.collection(collectionName);
- return new Promise((resolve) => {
- collection.updateOne({ _id: doc._id }, { $set: update }, (updateErr) => {
+ return new Promise(resolve => {
+ collection.updateOne({ _id: doc._id }, { $set: update }, updateErr => {
if (updateErr) throw new Error(`Error updating ${collectionName}: ${updateErr}`);
resolve();
});
@@ -101,10 +101,10 @@ export async function updateDocument (collectionName, doc, update) {
// Unset a property in the database.
// Useful for testing.
export async function unsetDocument (collectionName, doc, update) {
- let collection = mongoose.connection.db.collection(collectionName);
+ const collection = mongoose.connection.db.collection(collectionName);
- return new Promise((resolve) => {
- collection.updateOne({ _id: doc._id }, { $unset: update }, (updateErr) => {
+ return new Promise(resolve => {
+ collection.updateOne({ _id: doc._id }, { $unset: update }, updateErr => {
if (updateErr) throw new Error(`Error updating ${collectionName}: ${updateErr}`);
resolve();
});
@@ -112,9 +112,9 @@ export async function unsetDocument (collectionName, doc, update) {
}
export async function getDocument (collectionName, doc) {
- let collection = mongoose.connection.db.collection(collectionName);
+ const collection = mongoose.connection.db.collection(collectionName);
- return new Promise((resolve) => {
+ return new Promise(resolve => {
collection.findOne({ _id: doc._id }, (lookupErr, found) => {
if (lookupErr) throw new Error(`Error looking up ${collectionName}: ${lookupErr}`);
resolve(found);
@@ -122,18 +122,16 @@ export async function getDocument (collectionName, doc) {
});
}
-before((done) => {
- mongoose.connection.on('open', (err) => {
+before(done => {
+ mongoose.connection.on('open', err => {
if (err) return done(err);
- resetHabiticaDB()
+ return resetHabiticaDB()
.then(() => done())
.catch(done);
});
});
-after((done) => {
- mongoose.connection.dropDatabase((err) => {
- if (err) return done(err);
- mongoose.connection.close(done);
- });
-});
+after(done => mongoose.connection.dropDatabase(err => {
+ if (err) return done(err);
+ return mongoose.connection.close(done);
+}));
diff --git a/test/helpers/sleep.js b/test/helpers/sleep.js
index 74acac27a9..deafe66fbb 100644
--- a/test/helpers/sleep.js
+++ b/test/helpers/sleep.js
@@ -1 +1 @@
-export { default as sleep } from '../../website/server/libs/sleep';
\ No newline at end of file
+export { default as sleep } from '../../website/server/libs/sleep'; // eslint-disable-line import/prefer-default-export
diff --git a/test/helpers/translate.js b/test/helpers/translate.js
index c12e97c147..1e2eab2b99 100644
--- a/test/helpers/translate.js
+++ b/test/helpers/translate.js
@@ -1,4 +1,5 @@
import i18n from '../../website/common/script/i18n';
+
i18n.translations = require('../../website/server/libs/i18n').translations;
const STRING_ERROR_MSG = 'Error processing the string. Please see Help > Report a Bug.';
@@ -8,7 +9,7 @@ const STRING_DOES_NOT_EXIST_MSG = /^String '.*' not found.$/;
// That way, if the translated string changes, the test
// will not break. NOTE: it checks against errors with string as well.
export function translate (key, variables, language) {
- let translatedString = i18n.t(key, variables, language);
+ const translatedString = i18n.t(key, variables, language);
expect(translatedString).to.not.be.empty;
expect(translatedString).to.not.eql(STRING_ERROR_MSG);
diff --git a/test/mocha.opts b/test/mocha.opts
index 28345d5049..3f4155608a 100644
--- a/test/mocha.opts
+++ b/test/mocha.opts
@@ -2,7 +2,6 @@
--reporter spec
--timeout 8000
--check-leaks
---globals io
---require babel-register
+--require @babel/register
--require ./test/helpers/globals.helper
--exit
diff --git a/test/sanity/no-duplicate-translation-keys.js b/test/sanity/no-duplicate-translation-keys.js
index c5fff4ecff..eafa09db90 100644
--- a/test/sanity/no-duplicate-translation-keys.js
+++ b/test/sanity/no-duplicate-translation-keys.js
@@ -1,21 +1,20 @@
-'use strict';
-let glob = require('glob').sync;
+const glob = require('glob').sync;
describe('Locales files', () => {
it('do not contain duplicates of any keys', () => {
- let translationFiles = glob('./website/common/locales/en/*.json');
+ const translationFiles = glob('./website/common/locales/en/*.json');
if (translationFiles.length === 0) {
throw new Error('Could not find any files in ./website/common/locales/en/*.json');
}
- let keys = {};
+ const keys = {};
- translationFiles.forEach((file) => {
- let json = require(`../.${file}`); // eslint-disable-line global-require
+ translationFiles.forEach(file => {
+ const json = require(`../.${file}`); // eslint-disable-line global-require, import/no-dynamic-require
- Object.keys(json).forEach((key) => {
+ Object.keys(json).forEach(key => {
if (keys[key]) {
throw new Error(`${key} in ${file} already exists in ${keys[key]}.`);
}
diff --git a/test/sanity/use-proper-babel-path.js b/test/sanity/use-proper-babel-path.js
index b70403bece..3388b0a528 100644
--- a/test/sanity/use-proper-babel-path.js
+++ b/test/sanity/use-proper-babel-path.js
@@ -1,20 +1,19 @@
-'use strict';
-let glob = require('glob').sync;
-let readFile = require('fs').readFileSync;
+const glob = require('glob').sync;
+const readFile = require('fs').readFileSync;
const IMPORT_REGEX = /(import|require).*common\/script/;
describe('Use Proper Babel Paths', () => {
it('uses proper babel files in website/server', () => {
- let websiteServerPaths = glob('./website/server/**/*.js');
+ const websiteServerPaths = glob('./website/server/**/*.js');
if (websiteServerPaths.length === 0) {
throw new Error('Could not find any files in website/server/**/*.js');
}
- websiteServerPaths.forEach((filePath) => {
- let file = readFile(filePath, {encoding: 'utf8'});
+ websiteServerPaths.forEach(filePath => {
+ const file = readFile(filePath, { encoding: 'utf8' });
try {
expect(file).to.not.match(IMPORT_REGEX);
diff --git a/webpack/build.js b/webpack/build.js
deleted file mode 100644
index 793784e55b..0000000000
--- a/webpack/build.js
+++ /dev/null
@@ -1,47 +0,0 @@
-/* global env:true, rm:true, mkdir:true, cp:true */
-
-// https://github.com/shelljs/shelljs
-require('shelljs/global');
-
-const path = require('path');
-const config = require('./config');
-const ora = require('ora');
-const webpack = require('webpack');
-const webpackConfig = require('./webpack.prod.conf');
-
-module.exports = function webpackProductionBuild (callback) {
- env.NODE_ENV = 'production';
-
- console.log( // eslint-disable-line no-console
- ' Tip:\n' +
- ' Built files are meant to be served over an HTTP server.\n' +
- ' Opening index.html over file:// won\'t work.\n'
- );
-
- const spinner = ora('building for production...');
- spinner.start();
-
- const assetsPath = path.join(config.build.assetsRoot, config.build.assetsSubDirectory);
- rm('-rf', assetsPath);
- mkdir('-p', assetsPath);
- cp('-R', config.build.staticAssetsDirectory, assetsPath);
-
- webpack(webpackConfig, (err, stats) => {
- spinner.stop();
-
- const output = `${stats.toString({
- colors: true,
- modules: false,
- children: false,
- chunks: false,
- chunkModules: false,
- })}\n`;
-
- if (callback) {
- return err ? callback(err) : callback(null, output);
- } else {
- if (err) throw err;
- process.stdout.write(output);
- }
- });
-};
diff --git a/webpack/config/dev.env.js b/webpack/config/dev.env.js
deleted file mode 100644
index 6c18ee1767..0000000000
--- a/webpack/config/dev.env.js
+++ /dev/null
@@ -1,6 +0,0 @@
-const merge = require('webpack-merge');
-const prodEnv = require('./prod.env');
-
-module.exports = merge(prodEnv, {
- NODE_ENV: '"development"',
-});
diff --git a/webpack/config/index.js b/webpack/config/index.js
deleted file mode 100644
index ca098d0a95..0000000000
--- a/webpack/config/index.js
+++ /dev/null
@@ -1,81 +0,0 @@
-// see http://vuejs-templates.github.io/webpack for documentation.
-const path = require('path');
-const staticAssetsDirectory = './website/static/.'; // The folder where static files (not processed) live
-const prodEnv = require('./prod.env');
-const devEnv = require('./dev.env');
-const nconf = require('nconf');
-const setupNconf = require('../../website/server/libs/setupNconf');
-
-let configFile = path.join(path.resolve(__dirname, '../../config.json'));
-
-setupNconf(configFile);
-
-const DEV_BASE_URL = nconf.get('BASE_URL');
-
-module.exports = {
- build: {
- env: prodEnv,
- index: path.resolve(__dirname, '../../dist-client/index.html'),
- assetsRoot: path.resolve(__dirname, '../../dist-client'),
- assetsSubDirectory: 'static',
- assetsPublicPath: '/',
- staticAssetsDirectory,
- productionSourceMap: true,
- // Gzip off by default as many popular static hosts such as
- // Surge or Netlify already gzip all static assets for you.
- // Before setting to `true`, make sure to:
- // npm install --save-dev compression-webpack-plugin
- productionGzip: false,
- productionGzipExtensions: ['js', 'css'],
- // Run the build command with an extra argument to
- // View the bundle analyzer report after build finishes:
- // `npm run client:build --report`
- // Set to `true` or `false` to always turn it on or off
- bundleAnalyzerReport: process.env.npm_config_report, // eslint-disable-line no-process-env
- },
- dev: {
- env: devEnv,
- port: 8080,
- autoOpenBrowser: true,
- assetsSubDirectory: 'static',
- assetsPublicPath: '/',
- staticAssetsDirectory,
- proxyTable: {
- // proxy all requests to the server at IP:PORT as specified in the top-level config
- '/api/v3': {
- target: DEV_BASE_URL,
- changeOrigin: true,
- },
- '/api/v4': {
- target: DEV_BASE_URL,
- changeOrigin: true,
- },
- '/stripe': {
- target: DEV_BASE_URL,
- changeOrigin: true,
- },
- '/amazon': {
- target: DEV_BASE_URL,
- changeOrigin: true,
- },
- '/paypal': {
- target: DEV_BASE_URL,
- changeOrigin: true,
- },
- '/logout-server': {
- target: DEV_BASE_URL,
- changeOrigin: true,
- },
- '/export': {
- target: DEV_BASE_URL,
- changeOrigin: true,
- },
- },
- // CSS Sourcemaps off by default because relative paths are "buggy"
- // with this option, according to the CSS-Loader README
- // (https://github.com/webpack/css-loader#sourcemaps)
- // In our experience, they generally work as expected,
- // just be aware of this issue when enabling this option.
- cssSourceMap: false,
- },
-};
diff --git a/webpack/config/prod.env.js b/webpack/config/prod.env.js
deleted file mode 100644
index 7b89084678..0000000000
--- a/webpack/config/prod.env.js
+++ /dev/null
@@ -1,45 +0,0 @@
-const nconf = require('nconf');
-const { join, resolve } = require('path');
-const setupNconf = require('../../website/server/libs/setupNconf');
-
-const PATH_TO_CONFIG = join(resolve(__dirname, '../../config.json'));
-let configFile = PATH_TO_CONFIG;
-
-setupNconf(configFile);
-
-// @TODO: Check if we can import from client. Items like admin emails can be imported
-// and that should be prefered
-
-// To avoid stringifying more data then we need,
-// items from `env` used on the client will have to be specified in this array
-// @TODO: Do we need? const CLIENT_VARS = ['language', 'isStaticPage', 'availableLanguages', 'translations',
-// 'FACEBOOK_KEY', 'GOOGLE_CLIENT_ID', 'NODE_ENV', 'BASE_URL', 'GA_ID',
-// 'AMAZON_PAYMENTS', 'STRIPE_PUB_KEY', 'AMPLITUDE_KEY',
-// 'worldDmg', 'mods', 'IS_MOBILE'];
-
-const AMAZON_SELLER_ID = nconf.get('AMAZON_PAYMENTS_SELLER_ID');
-const AMAZON_CLIENT_ID = nconf.get('AMAZON_PAYMENTS_CLIENT_ID');
-const AMAZON_MODE = nconf.get('AMAZON_PAYMENTS_MODE');
-
-let env = {
- NODE_ENV: '"production"',
- // clientVars: CLIENT_VARS,
- AMAZON_PAYMENTS: {
- SELLER_ID: `"${AMAZON_SELLER_ID}"`,
- CLIENT_ID: `"${AMAZON_CLIENT_ID}"`,
- MODE: `"${AMAZON_MODE}"`,
- },
- EMAILS: {
- COMMUNITY_MANAGER_EMAIL: `"${nconf.get('EMAILS_COMMUNITY_MANAGER_EMAIL')}"`,
- TECH_ASSISTANCE_EMAIL: `"${nconf.get('EMAILS_TECH_ASSISTANCE_EMAIL')}"`,
- PRESS_ENQUIRY_EMAIL: `"${nconf.get('EMAILS_PRESS_ENQUIRY_EMAIL')}"`,
- },
-};
-
-'NODE_ENV BASE_URL GA_ID STRIPE_PUB_KEY FACEBOOK_KEY GOOGLE_CLIENT_ID AMPLITUDE_KEY LOGGLY_CLIENT_TOKEN'
- .split(' ')
- .forEach(key => {
- env[key] = `"${nconf.get(key)}"`;
- });
-
-module.exports = env;
diff --git a/webpack/config/test.env.js b/webpack/config/test.env.js
deleted file mode 100644
index 42e6329b71..0000000000
--- a/webpack/config/test.env.js
+++ /dev/null
@@ -1,6 +0,0 @@
-const merge = require('webpack-merge');
-const devEnv = require('./dev.env');
-
-module.exports = merge(devEnv, {
- NODE_ENV: '"test"',
-});
diff --git a/webpack/dev-client.js b/webpack/dev-client.js
deleted file mode 100644
index e81faee24c..0000000000
--- a/webpack/dev-client.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/* global window:true */
-
-require('eventsource-polyfill');
-const hotClient = require('webpack-hot-middleware/client?noInfo=true&reload=true&overlay=false');
-
-hotClient.subscribe(event => {
- if (event.action === 'reload') {
- window.location.reload();
- }
-});
diff --git a/webpack/dev-server.js b/webpack/dev-server.js
deleted file mode 100644
index aee1529044..0000000000
--- a/webpack/dev-server.js
+++ /dev/null
@@ -1,72 +0,0 @@
-/* eslint-disable no-process-env, no-console */
-
-const path = require('path');
-const express = require('express');
-const webpack = require('webpack');
-const config = require('./config');
-
-if (!process.env.NODE_ENV) {
- process.env.NODE_ENV = JSON.parse(config.dev.env.NODE_ENV);
-}
-
-const proxyMiddleware = require('http-proxy-middleware');
-const webpackConfig = process.env.NODE_ENV === 'test' ?
- require('./webpack.prod.conf') :
- require('./webpack.dev.conf');
-
-// default port where dev server listens for incoming traffic
-const port = process.env.PORT || config.dev.port;
-// Define HTTP proxies to your custom API backend
-// https://github.com/chimurai/http-proxy-middleware
-const proxyTable = config.dev.proxyTable;
-
-const app = express();
-const compiler = webpack(webpackConfig);
-
-const devMiddleware = require('webpack-dev-middleware')(compiler, {
- publicPath: webpackConfig.output.publicPath,
- stats: {
- colors: true,
- chunks: false,
- },
-});
-
-const hotMiddleware = require('webpack-hot-middleware')(compiler);
-// force page reload when html-webpack-plugin template changes
-compiler.plugin('compilation', (compilation) => {
- compilation.plugin('html-webpack-plugin-after-emit', (data, cb) => {
- hotMiddleware.publish({ action: 'reload' });
- cb();
- });
-});
-
-// proxy api requests
-Object.keys(proxyTable).forEach((context) => {
- let options = proxyTable[context];
- if (typeof options === 'string') {
- options = { target: options };
- }
- app.use(proxyMiddleware(options.filter || context, options));
-});
-
-// handle fallback for HTML5 history API
-app.use(require('connect-history-api-fallback')());
-
-// serve webpack bundle output
-app.use(devMiddleware);
-
-// enable hot-reload and state-preserving
-// compilation error display
-app.use(hotMiddleware);
-
-// serve pure static assets
-const staticPath = path.posix.join(config.dev.assetsPublicPath, config.dev.assetsSubDirectory);
-app.use(staticPath, express.static(config.dev.staticAssetsDirectory));
-
-module.exports = app.listen(port, (err) => {
- if (err) {
- console.log(err);
- return;
- }
- console.log(`Listening at http://localhost:${port}\n`);
-});
diff --git a/webpack/utils.js b/webpack/utils.js
deleted file mode 100644
index 5bf7fabe28..0000000000
--- a/webpack/utils.js
+++ /dev/null
@@ -1,66 +0,0 @@
-/* eslint-disable no-process-env, no-console */
-
-const path = require('path');
-const config = require('./config');
-const ExtractTextPlugin = require('extract-text-webpack-plugin');
-
-exports.assetsPath = (_path) => {
- const assetsSubDirectory = process.env.NODE_ENV === 'production' ?
- config.build.assetsSubDirectory :
- config.dev.assetsSubDirectory;
- return path.posix.join(assetsSubDirectory, _path);
-};
-
-exports.cssLoaders = function cssLoaders (options) {
- options = options || {};
- // generate loader string to be used with extract text plugin
- function generateLoaders (loaders) {
- let sourceLoader = loaders.map((loader) => {
- let extraParamChar;
- if (/\?/.test(loader)) {
- loader = loader.replace(/\?/, '-loader?');
- extraParamChar = '&';
- } else {
- loader = `${loader}-loader`;
- extraParamChar = '?';
- }
- return loader + (options.sourceMap ? `${extraParamChar}sourceMap` : '');
- }).join('!');
-
- // Extract CSS when that option is specified
- // (which is the case during production build)
- if (options.extract) {
- return ExtractTextPlugin.extract({
- use: sourceLoader,
- fallback: 'vue-style-loader',
- });
- } else {
- return ['vue-style-loader', sourceLoader].join('!');
- }
- }
-
- // http://vuejs.github.io/vue-loader/en/configurations/extract-css.html
- return {
- css: generateLoaders(['css']),
- postcss: generateLoaders(['css']),
- less: generateLoaders(['css', 'less']),
- sass: generateLoaders(['css', 'sass?indentedSyntax']),
- scss: generateLoaders(['css', 'sass']),
- stylus: generateLoaders(['css', 'stylus']),
- styl: generateLoaders(['css', 'stylus']),
- };
-};
-
-// Generate loaders for standalone style files (outside of .vue)
-exports.styleLoaders = (options) => {
- const output = [];
- const loaders = exports.cssLoaders(options);
- for (let extension in loaders) {
- const loader = loaders[extension];
- output.push({
- test: new RegExp(`\\.${extension}$`),
- loader,
- });
- }
- return output;
-};
diff --git a/webpack/webpack.base.conf.js b/webpack/webpack.base.conf.js
deleted file mode 100644
index fcc86bc21b..0000000000
--- a/webpack/webpack.base.conf.js
+++ /dev/null
@@ -1,154 +0,0 @@
-/* eslint-disable no-process-env, no-console */
-
-const path = require('path');
-const config = require('./config');
-const utils = require('./utils');
-const webpack = require('webpack');
-const projectRoot = path.resolve(__dirname, '../');
-const autoprefixer = require('autoprefixer');
-const postcssEasyImport = require('postcss-easy-import');
-const IS_PROD = process.env.NODE_ENV === 'production';
-
-const baseConfig = {
- entry: {
- app: ['babel-polyfill', './website/client/main.js'],
- },
- output: {
- path: config.build.assetsRoot,
- publicPath: IS_PROD ? config.build.assetsPublicPath : config.dev.assetsPublicPath,
- filename: '[name].js',
- devtoolModuleFilenameTemplate (info) {
- // Fix source maps, code from
- // https://github.com/Darkside73/bbsmile.com.ua/commit/3596d3c42ef91b69d8380359c3e8908edc08acdb
- let filename = info.resourcePath;
- if (info.resource.match(/\.vue$/) && !info.allLoaders.match(/type=script/)) {
- filename = 'generated';
- }
-
- return filename;
- },
- },
- resolve: {
- extensions: ['*', '.js', '.vue', '.json'],
- modules: [
- path.join(projectRoot, 'website'),
- path.join(projectRoot, 'test/client/unit'),
- path.join(projectRoot, 'node_modules'),
- ],
- alias: {
- website: path.resolve(projectRoot, 'website'),
- common: path.resolve(projectRoot, 'website/common'),
- client: path.resolve(projectRoot, 'website/client'),
- assets: path.resolve(projectRoot, 'website/client/assets'),
- components: path.resolve(projectRoot, 'website/client/components'),
- },
- },
- plugins: [
- new webpack.ContextReplacementPlugin(/moment[\\\/]locale$/, /^\.\/(NOT_EXISTING)$/),
- ],
- module: {
- rules: [
- {
- test: /\.vue$/,
- loader: 'vue-loader',
- options: {
- loaders: utils.cssLoaders({
- sourceMap: IS_PROD ?
- config.build.productionSourceMap :
- config.dev.cssSourceMap,
- extract: IS_PROD,
- }),
- postcss: [
- autoprefixer({
- overrideBrowserslist: ['last 2 versions'],
- }),
- postcssEasyImport(),
- ],
- },
- },
- {
- test: /\.js$/,
- loader: 'babel-loader',
- include: [
- path.join(projectRoot, 'test'),
- path.join(projectRoot, 'website'),
- path.join(projectRoot, 'node_modules', 'bootstrap-vue'),
- ],
- options: {
- cacheDirectory: true,
- },
- },
- {
- test: /\.(png|jpe?g|gif)(\?.*)?$/,
- loader: 'url-loader',
- query: {
- limit: 10000,
- name: utils.assetsPath('images/[name].[hash:7].[ext]'),
- },
- },
- {
- test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
- loader: 'url-loader',
- query: {
- limit: 10000,
- name: utils.assetsPath('fonts/[name].[hash:7].[ext]'),
- },
- },
- {
- test: /\.svg$/,
- use: [
- { loader: 'svg-inline-loader' },
- {
- loader: 'svgo-loader',
- options: {
- plugins: [
- {removeViewBox: false},
- {convertPathData: {noSpaceAfterFlags: false}},
- ],
- },
- },
- ],
- exclude: [path.resolve(projectRoot, 'website/client/assets/svg/for-css')],
- },
- {
- test: /\.svg$/,
- use: [
- {
- loader: 'svg-url-loader',
- options: {
- limit: 10000,
- name: utils.assetsPath('svg/[name].[hash:7].[ext]'),
- },
- },
- {
- loader: 'svgo-loader',
- options: {
- plugins: [
- {removeViewBox: false},
- {convertPathData: {noSpaceAfterFlags: false}},
- ],
- },
- },
- ],
- include: [path.resolve(projectRoot, 'website/client/assets/svg/for-css')],
- },
- ],
- },
-};
-
-if (!IS_PROD) {
- const eslintFriendlyFormatter = require('eslint-friendly-formatter'); // eslint-disable-line global-require
-
- baseConfig.module.rules.unshift({
- test: /\.(js|vue)$/,
- loader: 'eslint-loader',
- enforce: 'pre',
- include: projectRoot,
- options: {
- formatter: eslintFriendlyFormatter,
- emitWarning: true,
- },
- exclude: /node_modules/,
- });
-}
-module.exports = baseConfig;
\ No newline at end of file
diff --git a/webpack/webpack.dev.conf.js b/webpack/webpack.dev.conf.js
deleted file mode 100644
index 75d6741d08..0000000000
--- a/webpack/webpack.dev.conf.js
+++ /dev/null
@@ -1,32 +0,0 @@
-const config = require('./config');
-const webpack = require('webpack');
-const merge = require('webpack-merge');
-const utils = require('./utils');
-const baseWebpackConfig = require('./webpack.base.conf');
-const HtmlWebpackPlugin = require('html-webpack-plugin');
-
-// add hot-reload related code to entry chunks
-Object.keys(baseWebpackConfig.entry).forEach((name) => {
- baseWebpackConfig.entry[name] = baseWebpackConfig.entry[name].concat('./webpack/dev-client');
-});
-
-module.exports = merge(baseWebpackConfig, {
- module: {
- rules: utils.styleLoaders({ sourceMap: config.dev.cssSourceMap }),
- },
- // cheap-module-eval-source-map is faster for development
- devtool: '#cheap-module-eval-source-map',
- plugins: [
- new webpack.DefinePlugin({
- 'process.env': config.dev.env,
- }),
- // https://github.com/glenjamin/webpack-hot-middleware#installation--usage
- new webpack.HotModuleReplacementPlugin(),
- // https://github.com/ampedandwired/html-webpack-plugin
- new HtmlWebpackPlugin({
- filename: 'index.html',
- template: './website/client/index.html',
- inject: true,
- }),
- ],
-});
diff --git a/webpack/webpack.prod.conf.js b/webpack/webpack.prod.conf.js
deleted file mode 100644
index 5ee916508e..0000000000
--- a/webpack/webpack.prod.conf.js
+++ /dev/null
@@ -1,101 +0,0 @@
-/* eslint-disable no-process-env, no-console */
-
-const path = require('path');
-const config = require('./config');
-const utils = require('./utils');
-const webpack = require('webpack');
-const merge = require('webpack-merge');
-const baseWebpackConfig = require('./webpack.base.conf');
-const ExtractTextPlugin = require('extract-text-webpack-plugin');
-const HtmlWebpackPlugin = require('html-webpack-plugin');
-const env = process.env.NODE_ENV === 'test' ?
- require('./config/test.env') :
- config.build.env;
-
-const webpackConfig = merge(baseWebpackConfig, {
- module: {
- rules: utils.styleLoaders({ sourceMap: config.build.productionSourceMap, extract: true }),
- },
- devtool: config.build.productionSourceMap ? '#source-map' : false,
- output: {
- path: config.build.assetsRoot,
- filename: utils.assetsPath('js/[name].[chunkhash].js'),
- chunkFilename: utils.assetsPath('js/[id].[chunkhash].js'),
- },
- plugins: [
- // http://vuejs.github.io/vue-loader/workflow/production.html
- new webpack.DefinePlugin({
- 'process.env': env,
- }),
- new webpack.optimize.UglifyJsPlugin({
- compress: {
- warnings: false,
- },
- sourceMap: true,
- }),
- // extract css into its own file
- new ExtractTextPlugin({
- filename: utils.assetsPath('css/[name].[contenthash].css'),
- }),
- // generate dist index.html with correct asset hash for caching.
- // you can customize output by editing /index.html
- // see https://github.com/ampedandwired/html-webpack-plugin
- new HtmlWebpackPlugin({
- filename: process.env.NODE_ENV === 'test' ?
- 'index.html' :
- config.build.index,
- template: './website/client/index.html',
- inject: true,
- minify: {
- removeComments: true,
- collapseWhitespace: true,
- removeAttributeQuotes: true,
- // more options:
- // https://github.com/kangax/html-minifier#options-quick-reference
- },
- // necessary to consistently work with multiple chunks via CommonsChunkPlugin
- chunksSortMode: 'dependency',
- }),
- // split vendor js into its own file
- new webpack.optimize.CommonsChunkPlugin({
- name: 'vendor',
- minChunks (scriptModule) {
- // any required modules inside node_modules are extracted to vendor
- return (
- scriptModule.resource &&
- /\.js$/.test(scriptModule.resource) &&
- scriptModule.resource.indexOf(
- path.join(__dirname, '../node_modules')
- ) === 0
- );
- },
- }),
- // extract webpack runtime and module manifest to its own file in order to
- // prevent vendor hash from being updated whenever app bundle is updated
- new webpack.optimize.CommonsChunkPlugin({
- name: 'manifest',
- chunks: ['vendor'],
- }),
- ],
-});
-
-if (config.build.productionGzip) {
- const CompressionWebpackPlugin = require('compression-webpack-plugin'); // eslint-disable-line global-require
-
- webpackConfig.plugins.push(
- new CompressionWebpackPlugin({
- asset: '[path].gz[query]',
- algorithm: 'gzip',
- test: new RegExp(`\\.(${config.build.productionGzipExtensions.join('|')})$`),
- threshold: 10240,
- minRatio: 0.8,
- })
- );
-}
-
-if (config.build.bundleAnalyzerReport) {
- const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin; // eslint-disable-line global-require
- webpackConfig.plugins.push(new BundleAnalyzerPlugin());
-}
-
-module.exports = webpackConfig;
diff --git a/webpack/webpack.test.conf.js b/webpack/webpack.test.conf.js
deleted file mode 100644
index 16327ea609..0000000000
--- a/webpack/webpack.test.conf.js
+++ /dev/null
@@ -1,24 +0,0 @@
-// This is the webpack config used for unit tests.
-const merge = require('webpack-merge');
-const baseConfig = require('./webpack.base.conf');
-const utils = require('./utils');
-const webpack = require('webpack');
-const testEnv = require('./config/test.env');
-
-const webpackConfig = merge(baseConfig, {
- // use inline sourcemap for karma-sourcemap-loader
- module: {
- rules: utils.styleLoaders(),
- },
- devtool: '#inline-source-map',
- plugins: [
- new webpack.DefinePlugin({
- 'process.env': testEnv,
- }),
- ],
-});
-
-// no need for app entry during tests
-delete webpackConfig.entry;
-
-module.exports = webpackConfig;
diff --git a/website/client/.babelrc b/website/client/.babelrc
deleted file mode 100644
index 9f639b0b76..0000000000
--- a/website/client/.babelrc
+++ /dev/null
@@ -1,21 +0,0 @@
-{
- "env": {
- "test": {
- "presets": [
- ["es2015"],
- ],
- plugins: [
- ["istanbul"],
- ],
- },
- },
- "presets": [
- ["es2015", { modules: false }]
- ],
- "plugins": [
- "transform-object-rest-spread",
- "syntax-async-functions",
- "syntax-dynamic-import",
- "transform-regenerator",
- ],
-}
\ No newline at end of file
diff --git a/website/client/.browserslistrc b/website/client/.browserslistrc
new file mode 100644
index 0000000000..d6471a38cc
--- /dev/null
+++ b/website/client/.browserslistrc
@@ -0,0 +1,2 @@
+> 1%
+last 2 versions
diff --git a/website/client/.eslintrc b/website/client/.eslintrc
deleted file mode 100644
index 124afd6036..0000000000
--- a/website/client/.eslintrc
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "extends": [
- "habitrpg/browser",
- "habitrpg/esnext"
- ],
- "plugins": [
- "html"
- ],
- "parser": "babel-eslint",
- "rules": {
- "strict": 0
- }
-}
\ No newline at end of file
diff --git a/website/client/.eslintrc.js b/website/client/.eslintrc.js
new file mode 100644
index 0000000000..c2c98055e6
--- /dev/null
+++ b/website/client/.eslintrc.js
@@ -0,0 +1,30 @@
+/* eslint-disable import/no-commonjs */
+module.exports = {
+ root: true,
+ env: {
+ node: true,
+ },
+ extends: [
+ 'habitrpg/lib/vue',
+ ],
+ rules: {
+ 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',
+ 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
+ // TODO find a way to let eslint understand webpack aliases
+ 'import/no-unresolved': 'off',
+ 'vue/no-v-html': 'off',
+ 'vue/html-self-closing': ['error', {
+ html: {
+ void: 'never',
+ // Otherwise it results in self closing span(s) and div(s)
+ normal: 'never',
+ component: 'always',
+ },
+ svg: 'never',
+ math: 'never',
+ }],
+ },
+ parserOptions: {
+ parser: 'babel-eslint',
+ },
+};
diff --git a/website/client/README.md b/website/client/README.md
index 435b1f5c1e..ce696e5f20 100644
--- a/website/client/README.md
+++ b/website/client/README.md
@@ -1,21 +1,29 @@
-# Running
-For information about installing and running Habitica locally, see [Setting up Habitica Locally](http://habitica.fandom.com/wiki/Setting_up_Habitica_Locally).
+# new_client
-# Preparation Reading
-- Vue 2 (https://vuejs.org)
+## Project setup
+```
+npm install
+```
-- Webpack (https://webpack.github.io/) is the build system and it includes plugins for code transformation, right now we have: BabelJS for ES6 transpilation, eslint for code style, less and postcss for css compilation. The code comes from https://github.com/vuejs-templates/webpack which is a Webpack template for Vue, with some small modifications to adapt it to our use case. Docs http://vuejs-templates.github.io/webpack/
+### Compiles and hot-reloads for development
+```
+npm run serve
+```
-- We're using `.vue` files that make it possible to have HTML, JS and CSS for each component together in a single location. They're implemented as a webpack plugin and the docs can be found here http://vue-loader.vuejs.org/en/
+### Compiles and minifies for production
+```
+npm run build
+```
-- SemanticUI is the UI framework http://semantic-ui.com/. So far I've only used the CSS part, it also has JS plugins but I've yet to use them. It supports theming so if it's not too difficult we'll want to customize the base theme with our own styles instead of writing CSS rules to override the original styling.
+### Run your unit tests
+```
+npm run test:unit
+```
-The code is in `/website/client`. We're using something very similar to Vuex (equivalent of React's Redux) for state management http://vuex.vuejs.org/en/index.html
+### Lints and fixes files
+```
+npm run lint
+```
-The API is almost the same except that we don't use mutations but only actions because it would make it difficult to work with common code
-
-The project is developed directly in the `develop` branch as long as we'll be able to avoid splitting it into a different branch.
-
-So far most of the work has been on the template, so there's no complex logic to understand. The only thing I would suggest you to read about is Vuex for data management: it's basically a Flux implementation: there's a central store that hold the data for the entire app, and every change to the data must happen through an action, the data cannot be mutated directly.
-
-For further resources, see [Guidance for Blacksmiths](http://habitica.fandom.com/wiki/Guidance_for_Blacksmiths), and in particular the ["Website Technology Stack" section](http://habitica.fandom.com/wiki/Guidance_for_Blacksmiths#Website_Technology_Stack).
+### Customize configuration
+See [Configuration Reference](https://cli.vuejs.org/config/).
diff --git a/website/client/assets/css/sprites/spritesmith-largeSprites-0.css b/website/client/assets/css/sprites/spritesmith-largeSprites-0.css
deleted file mode 100644
index e7b7f8b300..0000000000
--- a/website/client/assets/css/sprites/spritesmith-largeSprites-0.css
+++ /dev/null
@@ -1,78 +0,0 @@
-.promo_armoire_backgrounds_201910 {
- background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png');
- background-position: 0px -389px;
- width: 423px;
- height: 147px;
-}
-.promo_costume_achievement {
- background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png');
- background-position: -698px -426px;
- width: 144px;
- height: 156px;
-}
-.promo_desert_pet_achievements {
- background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png');
- background-position: -891px -296px;
- width: 204px;
- height: 102px;
-}
-.promo_fall_festival_2018 {
- background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png');
- background-position: 0px -208px;
- width: 372px;
- height: 180px;
-}
-.promo_fall_festival_2019 {
- background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png');
- background-position: -337px 0px;
- width: 360px;
- height: 189px;
-}
-.promo_fall_skins {
- background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png');
- background-position: 0px 0px;
- width: 336px;
- height: 207px;
-}
-.customize-option.promo_fall_skins {
- background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png');
- background-position: -25px -15px;
- width: 60px;
- height: 60px;
-}
-.promo_mystery_201909 {
- background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png');
- background-position: -698px -148px;
- width: 282px;
- height: 147px;
-}
-.promo_seasonal_shop_fall {
- background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png');
- background-position: -843px -426px;
- width: 162px;
- height: 138px;
-}
-.promo_shadow_spooky_potions {
- background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png');
- background-position: -698px 0px;
- width: 423px;
- height: 147px;
-}
-.promo_spooky_sparkles {
- background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png');
- background-position: 0px -537px;
- width: 423px;
- height: 147px;
-}
-.promo_take_this {
- background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png');
- background-position: -981px -148px;
- width: 96px;
- height: 69px;
-}
-.scene_strength {
- background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png');
- background-position: -698px -296px;
- width: 192px;
- height: 129px;
-}
diff --git a/website/client/assets/css/sprites/spritesmith-main-10.css b/website/client/assets/css/sprites/spritesmith-main-10.css
deleted file mode 100644
index 29a13cc081..0000000000
--- a/website/client/assets/css/sprites/spritesmith-main-10.css
+++ /dev/null
@@ -1,2232 +0,0 @@
-.broad_armor_special_summer2019Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: 0px 0px;
- width: 116px;
- height: 119px;
-}
-.broad_armor_special_summer2019Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -230px -890px;
- width: 114px;
- height: 90px;
-}
-.broad_armor_special_summer2019Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -234px -120px;
- width: 116px;
- height: 119px;
-}
-.broad_armor_special_summer2019Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -575px -890px;
- width: 114px;
- height: 90px;
-}
-.broad_armor_special_summerHealer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1237px 0px;
- width: 90px;
- height: 105px;
-}
-.broad_armor_special_summerMage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1146px -212px;
- width: 90px;
- height: 105px;
-}
-.broad_armor_special_summerRogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1034px -637px;
- width: 111px;
- height: 90px;
-}
-.broad_armor_special_summerWarrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1034px -273px;
- width: 111px;
- height: 90px;
-}
-.eyewear_special_summerRogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -690px -708px;
- width: 111px;
- height: 90px;
-}
-.eyewear_special_summerWarrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1034px -546px;
- width: 111px;
- height: 90px;
-}
-.head_special_summer2015Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1419px -91px;
- width: 90px;
- height: 90px;
-}
-.head_special_summer2015Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1274px -1251px;
- width: 90px;
- height: 90px;
-}
-.head_special_summer2015Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: 0px -602px;
- width: 102px;
- height: 105px;
-}
-.head_special_summer2015Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1237px -318px;
- width: 90px;
- height: 105px;
-}
-.head_special_summer2016Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -910px -1251px;
- width: 90px;
- height: 90px;
-}
-.head_special_summer2016Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -728px -1251px;
- width: 90px;
- height: 90px;
-}
-.head_special_summer2016Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -343px -240px;
- width: 108px;
- height: 108px;
-}
-.head_special_summer2016Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -546px -1251px;
- width: 90px;
- height: 90px;
-}
-.head_special_summer2017Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -115px -481px;
- width: 114px;
- height: 102px;
-}
-.head_special_summer2017Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -819px -1160px;
- width: 90px;
- height: 90px;
-}
-.head_special_summer2017Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -698px -212px;
- width: 105px;
- height: 105px;
-}
-.head_special_summer2017Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -575px -481px;
- width: 114px;
- height: 90px;
-}
-.head_special_summer2018Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -583px 0px;
- width: 114px;
- height: 120px;
-}
-.head_special_summer2018Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -583px -121px;
- width: 114px;
- height: 120px;
-}
-.head_special_summer2018Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -115px -890px;
- width: 114px;
- height: 90px;
-}
-.head_special_summer2018Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -115px -360px;
- width: 114px;
- height: 120px;
-}
-.head_special_summer2019Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -117px 0px;
- width: 116px;
- height: 119px;
-}
-.head_special_summer2019Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -919px 0px;
- width: 114px;
- height: 90px;
-}
-.head_special_summer2019Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -351px 0px;
- width: 116px;
- height: 119px;
-}
-.head_special_summer2019Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: 0px -799px;
- width: 114px;
- height: 90px;
-}
-.head_special_summerHealer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1146px -530px;
- width: 90px;
- height: 105px;
-}
-.head_special_summerMage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1146px -424px;
- width: 90px;
- height: 105px;
-}
-.head_special_summerRogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1034px -182px;
- width: 111px;
- height: 90px;
-}
-.head_special_summerWarrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -805px -799px;
- width: 111px;
- height: 90px;
-}
-.shield_special_summer2015Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -273px -1251px;
- width: 90px;
- height: 90px;
-}
-.shield_special_summer2015Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -412px -602px;
- width: 102px;
- height: 105px;
-}
-.shield_special_summer2015Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1146px -318px;
- width: 90px;
- height: 105px;
-}
-.shield_special_summer2016Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -455px -1251px;
- width: 90px;
- height: 90px;
-}
-.shield_special_summer2016Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -234px -240px;
- width: 108px;
- height: 108px;
-}
-.shield_special_summer2016Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -698px -424px;
- width: 102px;
- height: 105px;
-}
-.shield_special_summer2017Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -345px -481px;
- width: 114px;
- height: 102px;
-}
-.shield_special_summer2017Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -698px -106px;
- width: 105px;
- height: 105px;
-}
-.shield_special_summer2017Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -690px -799px;
- width: 114px;
- height: 90px;
-}
-.shield_special_summer2018Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -230px -360px;
- width: 114px;
- height: 120px;
-}
-.shield_special_summer2018Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -919px -637px;
- width: 114px;
- height: 90px;
-}
-.shield_special_summer2018Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -583px -242px;
- width: 114px;
- height: 120px;
-}
-.shield_special_summer2019Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: 0px -120px;
- width: 116px;
- height: 119px;
-}
-.shield_special_summer2019Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -618px -602px;
- width: 114px;
- height: 90px;
-}
-.shield_special_summer2019Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -117px -120px;
- width: 116px;
- height: 119px;
-}
-.shield_special_summer2019Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: 0px -708px;
- width: 114px;
- height: 90px;
-}
-.shield_special_summerHealer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1237px -212px;
- width: 90px;
- height: 105px;
-}
-.shield_special_summerRogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1034px -455px;
- width: 111px;
- height: 90px;
-}
-.shield_special_summerWarrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1034px -728px;
- width: 111px;
- height: 90px;
-}
-.shop_armor_special_summer2015Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1173px -1480px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_summer2015Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1104px -1480px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_summer2015Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1035px -1480px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_summer2015Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -966px -1480px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_summer2016Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -897px -1480px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_summer2016Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -828px -1480px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_summer2016Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -759px -1480px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_summer2016Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -690px -1480px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_summer2017Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1419px -1001px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_summer2017Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -552px -1480px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_summer2017Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -483px -1480px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_summer2017Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -414px -1480px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_summer2018Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -345px -1480px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_summer2018Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -276px -1480px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_summer2018Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -207px -1480px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_summer2018Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -138px -1480px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_summer2019Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -69px -1480px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_summer2019Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: 0px -1480px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_summer2019Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1510px -1380px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_summer2019Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1510px -1311px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_summerHealer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1510px -1242px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_summerMage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1510px -1173px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_summerRogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1510px -1104px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_summerWarrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1510px -1035px;
- width: 68px;
- height: 68px;
-}
-.shop_body_special_summer2015Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1510px -966px;
- width: 68px;
- height: 68px;
-}
-.shop_body_special_summer2015Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1510px -897px;
- width: 68px;
- height: 68px;
-}
-.shop_body_special_summer2015Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1510px -828px;
- width: 68px;
- height: 68px;
-}
-.shop_body_special_summer2015Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1510px -759px;
- width: 68px;
- height: 68px;
-}
-.shop_body_special_summerHealer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1510px -690px;
- width: 68px;
- height: 68px;
-}
-.shop_body_special_summerMage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1510px -621px;
- width: 68px;
- height: 68px;
-}
-.shop_eyewear_special_summerRogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1510px -552px;
- width: 68px;
- height: 68px;
-}
-.shop_eyewear_special_summerWarrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1510px -483px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_summer2015Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1510px -414px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_summer2015Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1510px -345px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_summer2015Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1510px -276px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_summer2015Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1510px -207px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_summer2016Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1510px -138px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_summer2016Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1510px -69px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_summer2016Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1510px 0px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_summer2016Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1380px -1411px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_summer2017Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1311px -1411px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_summer2017Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1242px -1411px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_summer2017Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1173px -1411px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_summer2017Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1104px -1411px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_summer2018Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1035px -1411px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_summer2018Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -966px -1411px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_summer2018Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -897px -1411px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_summer2018Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -828px -1411px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_summer2019Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -759px -1411px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_summer2019Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -690px -1411px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_summer2019Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -621px -1411px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_summer2019Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -552px -1411px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_summerHealer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -483px -1411px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_summerMage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -414px -1411px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_summerRogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -345px -1411px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_summerWarrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -276px -1411px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_summer2015Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -207px -1411px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_summer2015Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -138px -1411px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_summer2015Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -69px -1411px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_summer2016Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: 0px -1411px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_summer2016Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1380px -1342px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_summer2016Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1311px -1342px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_summer2017Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1242px -1342px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_summer2017Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1173px -1342px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_summer2017Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1104px -1342px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_summer2018Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1035px -1342px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_summer2018Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -966px -1342px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_summer2018Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -897px -1342px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_summer2019Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -828px -1342px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_summer2019Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -759px -1342px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_summer2019Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -690px -1342px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_summer2019Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -621px -1342px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_summerHealer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -552px -1342px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_summerRogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -483px -1342px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_summerWarrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: 0px -1342px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_summer2015Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1157px -1069px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_summer2015Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1012px -981px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_summer2015Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -943px -981px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_summer2015Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -874px -981px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_summer2016Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -805px -981px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_summer2016Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -736px -981px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_summer2016Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -667px -981px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_summer2016Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -598px -981px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_summer2017Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -529px -981px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_summer2017Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -460px -981px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_summer2017Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -391px -981px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_summer2017Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -322px -981px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_summer2018Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -253px -981px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_summer2018Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -184px -981px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_summer2018Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -115px -981px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_summer2018Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -733px -602px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_summer2019Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -698px -530px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_summer2019Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -804px -728px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_summer2019Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -919px -819px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_summer2019Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1237px -1076px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_summerHealer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1419px -1208px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_summerMage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1419px -1139px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_summerRogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -621px -1480px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_summerWarrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1419px -1070px;
- width: 68px;
- height: 68px;
-}
-.slim_armor_special_summer2015Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1328px -1001px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_special_summer2015Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1328px -1092px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_special_summer2015Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -309px -602px;
- width: 102px;
- height: 105px;
-}
-.slim_armor_special_summer2015Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1146px -742px;
- width: 90px;
- height: 105px;
-}
-.slim_armor_special_summer2016Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1146px -848px;
- width: 90px;
- height: 105px;
-}
-.slim_armor_special_summer2016Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1146px -954px;
- width: 90px;
- height: 105px;
-}
-.slim_armor_special_summer2016Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1034px -819px;
- width: 90px;
- height: 105px;
-}
-.slim_armor_special_summer2016Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -206px -602px;
- width: 102px;
- height: 105px;
-}
-.slim_armor_special_summer2017Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -583px -363px;
- width: 114px;
- height: 105px;
-}
-.slim_armor_special_summer2017Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -637px -1251px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_special_summer2017Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -698px 0px;
- width: 105px;
- height: 105px;
-}
-.slim_armor_special_summer2017Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -804px -455px;
- width: 114px;
- height: 90px;
-}
-.slim_armor_special_summer2018Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: 0px -481px;
- width: 114px;
- height: 120px;
-}
-.slim_armor_special_summer2018Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -468px -121px;
- width: 114px;
- height: 120px;
-}
-.slim_armor_special_summer2018Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -804px -364px;
- width: 114px;
- height: 90px;
-}
-.slim_armor_special_summer2018Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -460px -360px;
- width: 114px;
- height: 120px;
-}
-.slim_armor_special_summer2019Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: 0px -240px;
- width: 116px;
- height: 119px;
-}
-.slim_armor_special_summer2019Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -804px -182px;
- width: 114px;
- height: 90px;
-}
-.slim_armor_special_summer2019Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -351px -120px;
- width: 116px;
- height: 119px;
-}
-.slim_armor_special_summer2019Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -115px -708px;
- width: 114px;
- height: 90px;
-}
-.slim_armor_special_summerHealer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1237px -106px;
- width: 90px;
- height: 105px;
-}
-.slim_armor_special_summerMage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1146px -636px;
- width: 90px;
- height: 105px;
-}
-.slim_armor_special_summerRogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1034px -364px;
- width: 111px;
- height: 90px;
-}
-.slim_armor_special_summerWarrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -920px -890px;
- width: 111px;
- height: 90px;
-}
-.weapon_special_summer2015Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1419px -637px;
- width: 90px;
- height: 90px;
-}
-.weapon_special_summer2015Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1419px -728px;
- width: 90px;
- height: 90px;
-}
-.weapon_special_summer2015Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -103px -602px;
- width: 102px;
- height: 105px;
-}
-.weapon_special_summer2015Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1237px -424px;
- width: 90px;
- height: 105px;
-}
-.weapon_special_summer2016Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1328px -910px;
- width: 90px;
- height: 90px;
-}
-.weapon_special_summer2016Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1328px -819px;
- width: 90px;
- height: 90px;
-}
-.weapon_special_summer2016Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -468px -242px;
- width: 108px;
- height: 108px;
-}
-.weapon_special_summer2016Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -515px -602px;
- width: 102px;
- height: 105px;
-}
-.weapon_special_summer2017Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -230px -481px;
- width: 114px;
- height: 102px;
-}
-.weapon_special_summer2017Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: 0px -1069px;
- width: 105px;
- height: 90px;
-}
-.weapon_special_summer2017Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -698px -318px;
- width: 105px;
- height: 105px;
-}
-.weapon_special_summer2017Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -345px -890px;
- width: 114px;
- height: 90px;
-}
-.weapon_special_summer2018Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: 0px -360px;
- width: 114px;
- height: 120px;
-}
-.weapon_special_summer2018Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -345px -360px;
- width: 114px;
- height: 120px;
-}
-.weapon_special_summer2018Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -805px -890px;
- width: 114px;
- height: 90px;
-}
-.weapon_special_summer2018Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -468px 0px;
- width: 114px;
- height: 120px;
-}
-.weapon_special_summer2019Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -234px 0px;
- width: 116px;
- height: 119px;
-}
-.weapon_special_summer2019Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -690px -890px;
- width: 114px;
- height: 90px;
-}
-.weapon_special_summer2019Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -117px -240px;
- width: 116px;
- height: 119px;
-}
-.weapon_special_summer2019Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -460px -890px;
- width: 114px;
- height: 90px;
-}
-.weapon_special_summerHealer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1146px 0px;
- width: 90px;
- height: 105px;
-}
-.weapon_special_summerMage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1146px -106px;
- width: 90px;
- height: 105px;
-}
-.weapon_special_summerRogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1034px -91px;
- width: 111px;
- height: 90px;
-}
-.weapon_special_summerWarrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1034px 0px;
- width: 111px;
- height: 90px;
-}
-.back_special_takeThis {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: 0px -981px;
- width: 114px;
- height: 87px;
-}
-.body_special_takeThis {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -273px -1160px;
- width: 90px;
- height: 90px;
-}
-.broad_armor_special_takeThis {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1419px -819px;
- width: 90px;
- height: 90px;
-}
-.head_special_takeThis {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -91px -1160px;
- width: 90px;
- height: 90px;
-}
-.shield_special_takeThis {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -881px -1069px;
- width: 93px;
- height: 90px;
-}
-.shop_armor_special_takeThis {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -69px -1342px;
- width: 68px;
- height: 68px;
-}
-.shop_back_special_takeThis {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -138px -1342px;
- width: 68px;
- height: 68px;
-}
-.shop_body_special_takeThis {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -207px -1342px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_takeThis {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -276px -1342px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_takeThis {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -345px -1342px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_takeThis {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -414px -1342px;
- width: 68px;
- height: 68px;
-}
-.slim_armor_special_takeThis {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1066px -1069px;
- width: 90px;
- height: 90px;
-}
-.weapon_special_takeThis {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -975px -1069px;
- width: 90px;
- height: 90px;
-}
-.broad_armor_special_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1237px -985px;
- width: 90px;
- height: 90px;
-}
-.broad_armor_special_ski {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1237px -894px;
- width: 90px;
- height: 90px;
-}
-.broad_armor_special_snowflake {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1237px -803px;
- width: 90px;
- height: 90px;
-}
-.broad_armor_special_winter2015Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1237px -712px;
- width: 90px;
- height: 90px;
-}
-.broad_armor_special_winter2015Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1237px -621px;
- width: 90px;
- height: 90px;
-}
-.broad_armor_special_winter2015Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -502px -1069px;
- width: 96px;
- height: 90px;
-}
-.broad_armor_special_winter2015Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1419px -910px;
- width: 90px;
- height: 90px;
-}
-.broad_armor_special_winter2016Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -787px -1069px;
- width: 93px;
- height: 90px;
-}
-.broad_armor_special_winter2016Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1419px -546px;
- width: 90px;
- height: 90px;
-}
-.broad_armor_special_winter2016Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1419px -455px;
- width: 90px;
- height: 90px;
-}
-.broad_armor_special_winter2016Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1419px -364px;
- width: 90px;
- height: 90px;
-}
-.broad_armor_special_winter2017Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1419px -273px;
- width: 90px;
- height: 90px;
-}
-.broad_armor_special_winter2017Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1419px -182px;
- width: 90px;
- height: 90px;
-}
-.broad_armor_special_winter2017Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1419px 0px;
- width: 90px;
- height: 90px;
-}
-.broad_armor_special_winter2017Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1183px -1251px;
- width: 90px;
- height: 90px;
-}
-.broad_armor_special_winter2018Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: 0px -890px;
- width: 114px;
- height: 90px;
-}
-.broad_armor_special_winter2018Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -919px -728px;
- width: 114px;
- height: 90px;
-}
-.broad_armor_special_winter2018Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -804px -273px;
- width: 114px;
- height: 90px;
-}
-.broad_armor_special_winter2018Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -919px -546px;
- width: 114px;
- height: 90px;
-}
-.broad_armor_special_winter2019Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -919px -455px;
- width: 114px;
- height: 90px;
-}
-.broad_armor_special_winter2019Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -919px -364px;
- width: 114px;
- height: 90px;
-}
-.broad_armor_special_winter2019Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -919px -273px;
- width: 114px;
- height: 90px;
-}
-.broad_armor_special_winter2019Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -919px -182px;
- width: 114px;
- height: 90px;
-}
-.broad_armor_special_yeti {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: 0px -1251px;
- width: 90px;
- height: 90px;
-}
-.head_special_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1328px -728px;
- width: 90px;
- height: 90px;
-}
-.head_special_nye {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1328px -637px;
- width: 90px;
- height: 90px;
-}
-.head_special_nye2014 {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1328px -546px;
- width: 90px;
- height: 90px;
-}
-.head_special_nye2015 {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1328px -455px;
- width: 90px;
- height: 90px;
-}
-.head_special_nye2016 {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1328px -364px;
- width: 90px;
- height: 90px;
-}
-.head_special_nye2017 {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1328px -273px;
- width: 90px;
- height: 90px;
-}
-.head_special_nye2018 {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -919px -91px;
- width: 114px;
- height: 90px;
-}
-.head_special_ski {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1328px -91px;
- width: 90px;
- height: 90px;
-}
-.head_special_snowflake {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1328px 0px;
- width: 90px;
- height: 90px;
-}
-.head_special_winter2015Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1183px -1160px;
- width: 90px;
- height: 90px;
-}
-.head_special_winter2015Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1092px -1160px;
- width: 90px;
- height: 90px;
-}
-.head_special_winter2015Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -405px -1069px;
- width: 96px;
- height: 90px;
-}
-.head_special_winter2015Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -910px -1160px;
- width: 90px;
- height: 90px;
-}
-.head_special_winter2016Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -693px -1069px;
- width: 93px;
- height: 90px;
-}
-.head_special_winter2016Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -728px -1160px;
- width: 90px;
- height: 90px;
-}
-.head_special_winter2016Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -637px -1160px;
- width: 90px;
- height: 90px;
-}
-.head_special_winter2016Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -546px -1160px;
- width: 90px;
- height: 90px;
-}
-.head_special_winter2017Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -455px -1160px;
- width: 90px;
- height: 90px;
-}
-.head_special_winter2017Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -364px -1160px;
- width: 90px;
- height: 90px;
-}
-.head_special_winter2017Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -182px -1160px;
- width: 90px;
- height: 90px;
-}
-.head_special_winter2017Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: 0px -1160px;
- width: 90px;
- height: 90px;
-}
-.head_special_winter2018Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -575px -799px;
- width: 114px;
- height: 90px;
-}
-.head_special_winter2018Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -460px -799px;
- width: 114px;
- height: 90px;
-}
-.head_special_winter2018Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -345px -799px;
- width: 114px;
- height: 90px;
-}
-.head_special_winter2018Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -230px -799px;
- width: 114px;
- height: 90px;
-}
-.head_special_winter2019Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -115px -799px;
- width: 114px;
- height: 90px;
-}
-.head_special_winter2019Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -460px -481px;
- width: 114px;
- height: 90px;
-}
-.head_special_winter2019Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -804px -637px;
- width: 114px;
- height: 90px;
-}
-.head_special_winter2019Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -804px -546px;
- width: 114px;
- height: 90px;
-}
-.head_special_yeti {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -182px -1251px;
- width: 90px;
- height: 90px;
-}
-.shield_special_ski {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -106px -1069px;
- width: 104px;
- height: 90px;
-}
-.shield_special_snowflake {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1328px -182px;
- width: 90px;
- height: 90px;
-}
-.shield_special_winter2015Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1001px -1160px;
- width: 90px;
- height: 90px;
-}
-.shield_special_winter2015Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -211px -1069px;
- width: 96px;
- height: 90px;
-}
-.shield_special_winter2015Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1237px -530px;
- width: 90px;
- height: 90px;
-}
-.shield_special_winter2016Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -599px -1069px;
- width: 93px;
- height: 90px;
-}
-.shield_special_winter2016Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1092px -1251px;
- width: 90px;
- height: 90px;
-}
-.shield_special_winter2016Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1001px -1251px;
- width: 90px;
- height: 90px;
-}
-.shield_special_winter2017Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -819px -1251px;
- width: 90px;
- height: 90px;
-}
-.shield_special_winter2017Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -308px -1069px;
- width: 96px;
- height: 90px;
-}
-.shield_special_winter2017Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -364px -1251px;
- width: 90px;
- height: 90px;
-}
-.shield_special_winter2018Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -804px -91px;
- width: 114px;
- height: 90px;
-}
-.shield_special_winter2018Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -804px 0px;
- width: 114px;
- height: 90px;
-}
-.shield_special_winter2018Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -575px -708px;
- width: 114px;
- height: 90px;
-}
-.shield_special_winter2019Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -460px -708px;
- width: 114px;
- height: 90px;
-}
-.shield_special_winter2019Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -345px -708px;
- width: 114px;
- height: 90px;
-}
-.shield_special_winter2019Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -230px -708px;
- width: 114px;
- height: 90px;
-}
-.shield_special_yeti {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -91px -1251px;
- width: 90px;
- height: 90px;
-}
-.shop_armor_special_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1242px -1480px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_ski {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1311px -1480px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_snowflake {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1380px -1480px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_winter2015Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1449px -1480px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_winter2015Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1579px 0px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_winter2015Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1579px -69px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_winter2015Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1579px -138px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_winter2016Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1579px -207px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_winter2016Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1579px -276px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_winter2016Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1579px -345px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_winter2016Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1579px -414px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_winter2017Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1579px -483px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_winter2017Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1579px -552px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_winter2017Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1579px -621px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_winter2017Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1579px -690px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_winter2018Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1579px -759px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_winter2018Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1579px -828px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_winter2018Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1579px -897px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_winter2018Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1579px -966px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_winter2019Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1579px -1035px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_winter2019Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1579px -1104px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_winter2019Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1579px -1173px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_winter2019Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1579px -1242px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_yeti {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1579px -1311px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1579px -1380px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_nye {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1579px -1449px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_nye2014 {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: 0px -1549px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_nye2015 {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -69px -1549px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_nye2016 {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -138px -1549px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_nye2017 {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -207px -1549px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_nye2018 {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -276px -1549px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_ski {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -345px -1549px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_snowflake {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -414px -1549px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_winter2015Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -483px -1549px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_winter2015Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -552px -1549px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_winter2015Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -621px -1549px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_winter2015Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -690px -1549px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_winter2016Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -759px -1549px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_winter2016Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -828px -1549px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_winter2016Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -897px -1549px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_winter2016Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -966px -1549px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_winter2017Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1035px -1549px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_winter2017Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1104px -1549px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_winter2017Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1173px -1549px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_winter2017Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1242px -1549px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_winter2018Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1311px -1549px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_winter2018Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1380px -1549px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_winter2018Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1449px -1549px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_winter2018Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1518px -1549px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_winter2019Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1648px 0px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_winter2019Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1648px -69px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_winter2019Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1648px -138px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_winter2019Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1648px -207px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_yeti {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1648px -276px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_ski {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1648px -345px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_snowflake {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1648px -414px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_winter2015Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1648px -483px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_winter2015Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1648px -552px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_winter2015Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1648px -621px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_winter2016Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1648px -690px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_winter2016Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1648px -759px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_winter2016Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1648px -828px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_winter2017Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1648px -897px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_winter2017Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1648px -966px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_winter2017Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1648px -1035px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_winter2018Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1648px -1104px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_winter2018Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1648px -1173px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_winter2018Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1648px -1242px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_winter2019Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1648px -1311px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_winter2019Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1648px -1380px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_winter2019Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1648px -1449px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_yeti {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -1648px -1518px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: 0px -1618px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_ski {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -69px -1618px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_snowflake {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -138px -1618px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_winter2015Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -207px -1618px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_winter2015Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -276px -1618px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_winter2015Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -345px -1618px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_winter2015Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -414px -1618px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_winter2016Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -483px -1618px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_winter2016Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -552px -1618px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_winter2016Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -621px -1618px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_winter2016Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -690px -1618px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_winter2017Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -759px -1618px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_winter2017Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -828px -1618px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_winter2017Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -897px -1618px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_winter2017Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-10.png');
- background-position: -966px -1618px;
- width: 68px;
- height: 68px;
-}
diff --git a/website/client/assets/images/sprites/spritesmith-largeSprites-0.png b/website/client/assets/images/sprites/spritesmith-largeSprites-0.png
deleted file mode 100644
index cc19a43485..0000000000
Binary files a/website/client/assets/images/sprites/spritesmith-largeSprites-0.png and /dev/null differ
diff --git a/website/client/assets/images/sprites/spritesmith-main-0.png b/website/client/assets/images/sprites/spritesmith-main-0.png
deleted file mode 100644
index 8498b1abed..0000000000
Binary files a/website/client/assets/images/sprites/spritesmith-main-0.png and /dev/null differ
diff --git a/website/client/assets/images/sprites/spritesmith-main-1.png b/website/client/assets/images/sprites/spritesmith-main-1.png
deleted file mode 100644
index 165c50b7d0..0000000000
Binary files a/website/client/assets/images/sprites/spritesmith-main-1.png and /dev/null differ
diff --git a/website/client/assets/images/sprites/spritesmith-main-10.png b/website/client/assets/images/sprites/spritesmith-main-10.png
deleted file mode 100644
index 0854346999..0000000000
Binary files a/website/client/assets/images/sprites/spritesmith-main-10.png and /dev/null differ
diff --git a/website/client/assets/images/sprites/spritesmith-main-11.png b/website/client/assets/images/sprites/spritesmith-main-11.png
deleted file mode 100644
index ed1e3cce91..0000000000
Binary files a/website/client/assets/images/sprites/spritesmith-main-11.png and /dev/null differ
diff --git a/website/client/assets/images/sprites/spritesmith-main-12.png b/website/client/assets/images/sprites/spritesmith-main-12.png
deleted file mode 100644
index 631d88d911..0000000000
Binary files a/website/client/assets/images/sprites/spritesmith-main-12.png and /dev/null differ
diff --git a/website/client/assets/images/sprites/spritesmith-main-13.png b/website/client/assets/images/sprites/spritesmith-main-13.png
deleted file mode 100644
index 7140dbd740..0000000000
Binary files a/website/client/assets/images/sprites/spritesmith-main-13.png and /dev/null differ
diff --git a/website/client/assets/images/sprites/spritesmith-main-14.png b/website/client/assets/images/sprites/spritesmith-main-14.png
deleted file mode 100644
index 9aa7fb70f5..0000000000
Binary files a/website/client/assets/images/sprites/spritesmith-main-14.png and /dev/null differ
diff --git a/website/client/assets/images/sprites/spritesmith-main-15.png b/website/client/assets/images/sprites/spritesmith-main-15.png
deleted file mode 100644
index 67e29f5cd9..0000000000
Binary files a/website/client/assets/images/sprites/spritesmith-main-15.png and /dev/null differ
diff --git a/website/client/assets/images/sprites/spritesmith-main-16.png b/website/client/assets/images/sprites/spritesmith-main-16.png
deleted file mode 100644
index 9361bbd96d..0000000000
Binary files a/website/client/assets/images/sprites/spritesmith-main-16.png and /dev/null differ
diff --git a/website/client/assets/images/sprites/spritesmith-main-17.png b/website/client/assets/images/sprites/spritesmith-main-17.png
deleted file mode 100644
index d77e99198f..0000000000
Binary files a/website/client/assets/images/sprites/spritesmith-main-17.png and /dev/null differ
diff --git a/website/client/assets/images/sprites/spritesmith-main-18.png b/website/client/assets/images/sprites/spritesmith-main-18.png
deleted file mode 100644
index ffe044db58..0000000000
Binary files a/website/client/assets/images/sprites/spritesmith-main-18.png and /dev/null differ
diff --git a/website/client/assets/images/sprites/spritesmith-main-19.png b/website/client/assets/images/sprites/spritesmith-main-19.png
deleted file mode 100644
index 44a03f616c..0000000000
Binary files a/website/client/assets/images/sprites/spritesmith-main-19.png and /dev/null differ
diff --git a/website/client/assets/images/sprites/spritesmith-main-2.png b/website/client/assets/images/sprites/spritesmith-main-2.png
deleted file mode 100644
index b41711be12..0000000000
Binary files a/website/client/assets/images/sprites/spritesmith-main-2.png and /dev/null differ
diff --git a/website/client/assets/images/sprites/spritesmith-main-20.png b/website/client/assets/images/sprites/spritesmith-main-20.png
deleted file mode 100644
index c2587af46f..0000000000
Binary files a/website/client/assets/images/sprites/spritesmith-main-20.png and /dev/null differ
diff --git a/website/client/assets/images/sprites/spritesmith-main-21.png b/website/client/assets/images/sprites/spritesmith-main-21.png
deleted file mode 100644
index 9abd45b765..0000000000
Binary files a/website/client/assets/images/sprites/spritesmith-main-21.png and /dev/null differ
diff --git a/website/client/assets/images/sprites/spritesmith-main-22.png b/website/client/assets/images/sprites/spritesmith-main-22.png
deleted file mode 100644
index 0a036a8400..0000000000
Binary files a/website/client/assets/images/sprites/spritesmith-main-22.png and /dev/null differ
diff --git a/website/client/assets/images/sprites/spritesmith-main-23.png b/website/client/assets/images/sprites/spritesmith-main-23.png
deleted file mode 100644
index 611db000db..0000000000
Binary files a/website/client/assets/images/sprites/spritesmith-main-23.png and /dev/null differ
diff --git a/website/client/assets/images/sprites/spritesmith-main-24.png b/website/client/assets/images/sprites/spritesmith-main-24.png
deleted file mode 100644
index ce4ffbda61..0000000000
Binary files a/website/client/assets/images/sprites/spritesmith-main-24.png and /dev/null differ
diff --git a/website/client/assets/images/sprites/spritesmith-main-25.png b/website/client/assets/images/sprites/spritesmith-main-25.png
deleted file mode 100644
index 913f0d0b69..0000000000
Binary files a/website/client/assets/images/sprites/spritesmith-main-25.png and /dev/null differ
diff --git a/website/client/assets/images/sprites/spritesmith-main-26.png b/website/client/assets/images/sprites/spritesmith-main-26.png
deleted file mode 100644
index d90767b2ba..0000000000
Binary files a/website/client/assets/images/sprites/spritesmith-main-26.png and /dev/null differ
diff --git a/website/client/assets/images/sprites/spritesmith-main-3.png b/website/client/assets/images/sprites/spritesmith-main-3.png
deleted file mode 100644
index 6a8e977a22..0000000000
Binary files a/website/client/assets/images/sprites/spritesmith-main-3.png and /dev/null differ
diff --git a/website/client/assets/images/sprites/spritesmith-main-4.png b/website/client/assets/images/sprites/spritesmith-main-4.png
deleted file mode 100644
index 646f383f69..0000000000
Binary files a/website/client/assets/images/sprites/spritesmith-main-4.png and /dev/null differ
diff --git a/website/client/assets/images/sprites/spritesmith-main-5.png b/website/client/assets/images/sprites/spritesmith-main-5.png
deleted file mode 100644
index d4e1f924ba..0000000000
Binary files a/website/client/assets/images/sprites/spritesmith-main-5.png and /dev/null differ
diff --git a/website/client/assets/images/sprites/spritesmith-main-6.png b/website/client/assets/images/sprites/spritesmith-main-6.png
deleted file mode 100644
index 72a840645e..0000000000
Binary files a/website/client/assets/images/sprites/spritesmith-main-6.png and /dev/null differ
diff --git a/website/client/assets/images/sprites/spritesmith-main-7.png b/website/client/assets/images/sprites/spritesmith-main-7.png
deleted file mode 100644
index 90f47fb4c3..0000000000
Binary files a/website/client/assets/images/sprites/spritesmith-main-7.png and /dev/null differ
diff --git a/website/client/assets/images/sprites/spritesmith-main-8.png b/website/client/assets/images/sprites/spritesmith-main-8.png
deleted file mode 100644
index d8b38b5aaf..0000000000
Binary files a/website/client/assets/images/sprites/spritesmith-main-8.png and /dev/null differ
diff --git a/website/client/assets/images/sprites/spritesmith-main-9.png b/website/client/assets/images/sprites/spritesmith-main-9.png
deleted file mode 100644
index 6e2f2d35f6..0000000000
Binary files a/website/client/assets/images/sprites/spritesmith-main-9.png and /dev/null differ
diff --git a/website/client/babel.config.js b/website/client/babel.config.js
new file mode 100644
index 0000000000..b90a77f6e8
--- /dev/null
+++ b/website/client/babel.config.js
@@ -0,0 +1,6 @@
+/* eslint-disable import/no-commonjs */
+module.exports = {
+ presets: [
+ '@vue/cli-plugin-babel/preset',
+ ],
+};
diff --git a/website/client/components/404.vue b/website/client/components/404.vue
deleted file mode 100644
index a02a9e944a..0000000000
--- a/website/client/components/404.vue
+++ /dev/null
@@ -1,55 +0,0 @@
-
-.row
- .col-12.text-center
- // @TODO i18n. How to setup the strings with the router-link inside?
- img.not-found-img(src='~assets/images/404.png')
- h1.not-found Sometimes even the bravest adventurer gets lost.
- h2.not-found Looks like this link is broken or the page may have moved, sorry!
- h2.not-found Head back to the Homepage or Contact Us about the issue.
-
-
-
-
-
\ No newline at end of file
diff --git a/website/client/components/achievements/achievementFooter.vue b/website/client/components/achievements/achievementFooter.vue
deleted file mode 100644
index dd899a34b6..0000000000
--- a/website/client/components/achievements/achievementFooter.vue
+++ /dev/null
@@ -1,79 +0,0 @@
-
-.modal-footer(style='margin-top:0', ng-init='loadWidgets()')
- .container-fluid.share-buttons
- .row
- .col-12.text-center
- a.twitter-share-button.share-button(:href='twitterLink', target='_blank')
- .social-icon.twitter.svg-icon(v-html='icons.twitter')
- | {{ $t('tweet') }}
- a.fb-share-button.share-button(:href='facebookLink', target='_blank')
- .social-icon.facebook.svg-icon(v-html='icons.facebook')
- | {{ $t('share') }}
- // @TODO: Still want this? .col-4
- a.tumblr-share-button(:data-href='socialLevelLink', data-notes='none')
-
-
-
-
-
diff --git a/website/client/components/achievements/armoireEmpty.vue b/website/client/components/achievements/armoireEmpty.vue
deleted file mode 100644
index dca69af311..0000000000
--- a/website/client/components/achievements/armoireEmpty.vue
+++ /dev/null
@@ -1,28 +0,0 @@
-
- b-modal#armoire-empty(:title="$t('armoireText')", size='lg', :hide-footer="true")
- .modal-body
- .row
- .col-6.offset-3
- .shop_armoire
- p {{$t('armoireLastItem')}}
- p {{$t('armoireNotesEmpty')}}
- .modal-footer
- .col-12.text-center
- button.btn.btn-primary(@click='close()') {{$t('close')}}
-
-
-
-
-
diff --git a/website/client/components/achievements/chooseClass.vue b/website/client/components/achievements/chooseClass.vue
deleted file mode 100644
index 9cd81fa8da..0000000000
--- a/website/client/components/achievements/chooseClass.vue
+++ /dev/null
@@ -1,203 +0,0 @@
-
- b-modal#choose-class(
- size='lg',
- :hide-header='true',
- :hide-footer='true',
- :no-close-on-esc='true',
- :no-close-on-backdrop='true',
- )
- .modal-body.select-class
- h1.header-purple.text-center {{ $t('chooseClass') }}
- .container-fluid
- br
- .row
- .col-md-3(v-for='heroClass in classes')
- div(@click='selectedClass = heroClass')
- avatar(
- :member='user',
- :avatarOnly='true',
- :withBackground='false',
- :overrideAvatarGear='classGear(heroClass)',
- :hideClassBadge='true',
- :spritesMargin='"1.8em 1.5em"',
- :overrideTopPadding='"0px"',
- :showVisualBuffs='false',
- :class='selectionBox(selectedClass, heroClass)',
- )
- br
- .d-flex.justify-content-center(v-for='heroClass in classes')
- .d-inline-flex(v-if='selectedClass === heroClass')
- .class-badge.d-flex.justify-content-center
- .svg-icon.align-self-center(v-html='icons[heroClass]')
- .class-name(:class='`${heroClass}-color`') {{ $t(heroClass) }}
- div(v-for='heroClass in classes')
- .class-explanation.text-center(v-if='selectedClass === heroClass') {{ $t(`${heroClass}Text`) }}
- .text-center(v-markdown='$t("chooseClassLearnMarkdown")')
- .modal-actions.text-center
- button.btn.btn-primary.d-inline-block(v-if='!selectedClass', :disabled='true') {{ $t('select') }}
- button.btn.btn-primary.d-inline-block(v-else, @click='clickSelectClass(selectedClass); close();') {{ $t('selectClass', {heroClass: $t(selectedClass)}) }}
- .opt-out-wrapper
- span#classOptOutBtn.danger(@click='clickDisableClasses(); close();') {{ $t('optOutOfClasses') }}
- span.opt-out-description {{ $t('optOutOfClassesText') }}
-
-
-
-
-
diff --git a/website/client/components/achievements/contributor.vue b/website/client/components/achievements/contributor.vue
deleted file mode 100644
index eba4be3f8b..0000000000
--- a/website/client/components/achievements/contributor.vue
+++ /dev/null
@@ -1,45 +0,0 @@
-
- b-modal#contributor(:title="$t('modalContribAchievement')", size='md', :hide-footer="true")
- .modal-body
- .col-12
- achievement-avatar.avatar
- .col-6.offset-3.text-center
- | {{ $t('contribModal', {name: user.profile.name, level: user.contributor.level}) }}
- br
- a(:href="$t('conRewardsURL')", target='_blank') {{ $t('contribLink') }}
- br
- button.btn.btn-primary(style='margin-top:1em' @click='close()') {{ $t('huzzah') }}
- br
- achievement-footer
-
-
-
-
-
diff --git a/website/client/components/achievements/death.vue b/website/client/components/achievements/death.vue
deleted file mode 100644
index c052a48bbf..0000000000
--- a/website/client/components/achievements/death.vue
+++ /dev/null
@@ -1,75 +0,0 @@
-
- b-modal#death(
- :title="$t('lostAllHealth')",
- size='md',
- :hide-footer="true",
- no-close-on-esc,
- no-close-on-backdrop,
- )
- .row
- .col-12
- .hero-stats
- .meter-label(:tooltip="$t('health')")
- span.glyphicon.glyphicon-heart
- .meter.health(:tooltip='Math.round(user.stats.hp * 100) / 100')
- .bar(:style='barStyle')
- // span.meter-text.value
- | {{Math.ceil(user.stats.hp)}} / {{maxHealth}}
- avatar(:member='user', :sleep='true', :avatarOnly='true', :withBackground='true')
- // @TOOD: Sleep +generatedAvatar({sleep:true})
- span(class='knockout')
- .col-6.offset-3
- h4.dont-despair {{ $t('dontDespair') }}
- p.death-penalty {{ $t('deathPenaltyDetails') }}
- .modal-footer
- .col-12.text-center
- button.btn.btn-danger(@click='revive()') {{ $t('refillHealthTryAgain') }}
- h4.text-center(v-html="$t('dyingOftenTips')")
-
-
-
-
-
diff --git a/website/client/components/achievements/dropsEnabled.vue b/website/client/components/achievements/dropsEnabled.vue
deleted file mode 100644
index dd96965650..0000000000
--- a/website/client/components/achievements/dropsEnabled.vue
+++ /dev/null
@@ -1,47 +0,0 @@
-
- b-modal#drops-enabled(:title="$t('dropsEnabled')", size='lg', :hide-footer="true")
- .modal-body
- .col-6.offset-3.text-center
- p
- .item-drop-icon(class='Pet_Egg_Wolf')
- span(v-html='firstDropText')
- p
- .item-drop-icon(class='Pet_Currency_Gem')
- span(v-html="$t('useGems')")
- .modal-footer
- .col-12.text-center
- button.btn.btn-primary(@click='close()') {{ $t('close') }}
-
-
-
-
-
diff --git a/website/client/components/achievements/genericAchievement.vue b/website/client/components/achievements/genericAchievement.vue
deleted file mode 100644
index 6f1b9042e2..0000000000
--- a/website/client/components/achievements/genericAchievement.vue
+++ /dev/null
@@ -1,42 +0,0 @@
-
- b-modal#generic-achievement(:title='data.message', size='md', :hide-footer='true')
- .modal-body
- .col-12
- achievement-avatar.avatar
- .col-6.offset-3.text-center
- p(v-html='data.modalText')
- button.btn.btn-primary(@click='close()') {{ $t('huzzah') }}
- achievement-footer
-
-
-
-
-
diff --git a/website/client/components/achievements/invitedFriend.vue b/website/client/components/achievements/invitedFriend.vue
deleted file mode 100644
index 24522181c2..0000000000
--- a/website/client/components/achievements/invitedFriend.vue
+++ /dev/null
@@ -1,38 +0,0 @@
-
- b-modal#invited-friend(:title="$t('modalAchievement')", size='md', :hide-footer="true")
- .modal-body
- .col-12
- // @TODO: +achievementAvatar('friends',0)
- achievement-avatar.avatar
- .col-6.offset-3.text-center
- p {{ $t('invitedFriendText') }}
- br
- button.btn.btn-primary(@click='close()') {{ $t('huzzah') }}
- achievement-footer
-
-
-
-
-
diff --git a/website/client/components/achievements/joinedChallenge.vue b/website/client/components/achievements/joinedChallenge.vue
deleted file mode 100644
index 703e3e4c72..0000000000
--- a/website/client/components/achievements/joinedChallenge.vue
+++ /dev/null
@@ -1,38 +0,0 @@
-
- b-modal#joined-challenge(:title="$t('modalAchievement')", size='md', :hide-footer="true")
- .modal-body
- .col-12
- // @TODO: +achievementAvatar('challenge',0)
- achievement-avatar.avatar
- .col-6.offset-3.text-center
- p {{ $t('joinedChallengeText') }}
- br
- button.btn.btn-primary(@click='close()') {{ $t('huzzah') }}
- achievement-footer
-
-
-
-
-
diff --git a/website/client/components/achievements/joinedGuild.vue b/website/client/components/achievements/joinedGuild.vue
deleted file mode 100644
index 2896b617f5..0000000000
--- a/website/client/components/achievements/joinedGuild.vue
+++ /dev/null
@@ -1,38 +0,0 @@
-
- b-modal#joined-guild(:title="$t('modalAchievement')", size='md', :hide-footer="true")
- .modal-body
- .col-12
- // @TODO: +achievementAvatar('guild',0)
- achievement-avatar.avatar
- .col-6.offset-3.text-center
- p {{ $t('joinedGuildText') }}
- br
- button.btn.btn-primary(@click='close()') {{ $t('huzzah') }}
- achievement-footer
-
-
-
-
-
diff --git a/website/client/components/achievements/justAddWater.vue b/website/client/components/achievements/justAddWater.vue
deleted file mode 100644
index c89d252b8b..0000000000
--- a/website/client/components/achievements/justAddWater.vue
+++ /dev/null
@@ -1,46 +0,0 @@
-
- b-modal#just-add-water(:title='title', size='md', :hide-footer='true')
- .modal-body
- .col-12
- achievement-avatar.avatar
- .col-6.offset-3.text-center
- p {{ $t('achievementJustAddWaterModalText') }}
- button.btn.btn-primary(@click='close()') {{ $t('huzzah') }}
- achievement-footer
-
-
-
-
-
diff --git a/website/client/components/achievements/login-incentives.vue b/website/client/components/achievements/login-incentives.vue
deleted file mode 100644
index cb6a9cbc59..0000000000
--- a/website/client/components/achievements/login-incentives.vue
+++ /dev/null
@@ -1,85 +0,0 @@
-
-b-modal#login-incentives(:title="data.message", size='md', :hide-footer="true")
- .modal-body
- .row
- h3.col-12.text-center(v-if='data.rewardText') {{ $t('unlockedReward', {reward: data.rewardText}) }}
- .row.reward-row
- .col-12
- avatar.avatar(:member='user', :avatarOnly='true', :withBackground='true')
- .text-center.col-12(v-if='nextReward')
- .reward-wrap(v-if="!data.rewardText")
- div(v-if="nextReward.rewardKey.length === 1", :class="nextReward.rewardKey[0]")
- .reward(v-for="reward in nextReward.rewardKey", v-if="nextReward.rewardKey.length > 1", :class='reward')
- .reward-wrap(v-if="data.rewardText")
- div(v-if="data.rewardKey.length === 1", :class="data.rewardKey[0]")
- .reward(v-for="reward in data.rewardKey", v-if="data.rewardKey.length > 1", :class='reward')
- .col-12.text-center(v-if="data && data.nextRewardAt")
- h4 {{ $t('countLeft', {count: data.nextRewardAt - user.loginIncentives}) }}
- .row
- .col-12.text-center(v-if='data.rewardText')
- p {{ $t('earnedRewardForDevotion', {reward: data.rewardText}) }}
- .col-12.text-center
- p {{ $t('incentivesDescription') }}
- .col-12.text-center(v-if="data && data.nextRewardAt")
- h3 {{ $t('nextRewardUnlocksIn', {numberOfCheckinsLeft: data.nextRewardAt - user.loginIncentives}) }}
- .modal-footer
- .col-12.text-center
- button.btn.btn-primary(@click='close()') {{ $t('awesome') }}
-
-
-
-
-
diff --git a/website/client/components/achievements/lostMasterclasser.vue b/website/client/components/achievements/lostMasterclasser.vue
deleted file mode 100644
index 8ff6ef6c46..0000000000
--- a/website/client/components/achievements/lostMasterclasser.vue
+++ /dev/null
@@ -1,46 +0,0 @@
-
- b-modal#lost-masterclasser(:title='title', size='md', :hide-footer='true')
- .modal-body
- .col-12
- achievement-avatar.avatar
- .col-6.offset-3.text-center
- p {{ $t('achievementLostMasterclasserModalText') }}
- button.btn.btn-primary(@click='close()') {{ $t('huzzah') }}
- achievement-footer
-
-
-
-
-
diff --git a/website/client/components/achievements/lowHealth.vue b/website/client/components/achievements/lowHealth.vue
deleted file mode 100644
index ccc2938689..0000000000
--- a/website/client/components/achievements/lowHealth.vue
+++ /dev/null
@@ -1,96 +0,0 @@
-
- b-modal#low-health(:title="$t('losingHealthWarning')", size='md', :hide-footer="true")
- .modal-body
- .col-12.text-center
- .meter-label(:tooltip="$t('health')")
- span.glyphicon.glyphicon-heart
- .meter.health(:tooltip='Math.round(user.stats.hp * 100) / 100')
- .bar(:style='barStyle')
- span.meter-text.value
- | {{healthLeft}}
- .col-12
- avatar(:member='user', :avatarOnly='true', :withBackground='true')
- .col-12
- p {{ $t('losingHealthWarning2') }}
- h4 {{ $t('toRegainHealth') }}
- ul
- li.spaced {{ $t('lowHealthTips1') }}
- li.spaced {{ $t('lowHealthTips2') }}
- h4 {{ $t('losingHealthQuickly') }}
- ul
- li.spaced {{ $t('lowHealthTips3') }}
- li.spaced {{ $t('lowHealthTips4') }}
- h4 {{ $t('goodLuck') }}
- .modal-footer
- .col-12.text-center
- button.btn.btn-primary(@click='acknowledgeHealthWarning()') {{ $t('ok') }}
-
-
-
-
-
diff --git a/website/client/components/achievements/mindOverMatter.vue b/website/client/components/achievements/mindOverMatter.vue
deleted file mode 100644
index 013891d5d2..0000000000
--- a/website/client/components/achievements/mindOverMatter.vue
+++ /dev/null
@@ -1,46 +0,0 @@
-
- b-modal#mind-over-matter(:title='title', size='md', :hide-footer='true')
- .modal-body
- .col-12
- achievement-avatar.avatar
- .col-6.offset-3.text-center
- p {{ $t('achievementMindOverMatterModalText') }}
- button.btn.btn-primary(@click='close()') {{ $t('huzzah') }}
- achievement-footer
-
-
-
-
-
diff --git a/website/client/components/achievements/newStuff.vue b/website/client/components/achievements/newStuff.vue
deleted file mode 100644
index b4730855b2..0000000000
--- a/website/client/components/achievements/newStuff.vue
+++ /dev/null
@@ -1,60 +0,0 @@
-
- b-modal#new-stuff(
- size='lg',
- :hide-header='true',
- :hide-footer='true',
- no-close-on-esc,
- no-close-on-backdrop
- )
- .modal-body
- .static-view(v-html='html')
- .modal-footer
- a.btn.btn-info(href='http://habitica.fandom.com/wiki/Whats_New', target='_blank') {{ this.$t('newsArchive') }}
- button.btn.btn-secondary(@click='tellMeLater()') {{ this.$t('tellMeLater') }}
- button.btn.btn-warning(@click='dismissAlert();') {{ this.$t('dismissAlert') }}
-
-
-
-
-
diff --git a/website/client/components/achievements/questCompleted.vue b/website/client/components/achievements/questCompleted.vue
deleted file mode 100644
index 208fa8b298..0000000000
--- a/website/client/components/achievements/questCompleted.vue
+++ /dev/null
@@ -1,69 +0,0 @@
-
- b-modal#quest-completed(v-if='user.party.quest.completed', :title="title",
- size='md', :hide-footer="true", :no-close-on-esc="true", :no-close-on-backdrop="true",
- @hide='hide')
- .modal-body.text-center
- .quest(:class='`quest_${user.party.quest.completed}`')
- p(v-if='questData.completion && typeof questData.completion === "function"', v-html='questData.completion()')
- .quest-rewards.text-center
- h3(v-once) {{ $t('paymentYouReceived') }}
- questDialogDrops(:item="questData")
- .modal-footer
- button.btn.btn-primary(@click='setQuestCompleted()') {{ $t('ok') }}
-
-
-
-
-
diff --git a/website/client/components/achievements/questInvitation.vue b/website/client/components/achievements/questInvitation.vue
deleted file mode 100644
index f8d6b4c840..0000000000
--- a/website/client/components/achievements/questInvitation.vue
+++ /dev/null
@@ -1,74 +0,0 @@
-
- b-modal#quest-invitation(v-if='user.party.quest.key && quests[user.party.quest.key]', :title="$t('questInvitation')", size='lg', :hide-footer="true")
- .modal-header
- h4 {{ $t('questInvitation') }}
- | {{quests[user.party.quest.key].text()}}
- .modal-body
- .pull-right-sm.text-center
- .col-centered(:class='`quest_${quests[user.party.quest.key].key}`')
- div(ng-if='quests[user.party.quest.key].boss')
- h4 {{quests[user.party.quest.key].boss.name()}}
- p
- strong {{ $t('bossHP') }} + ': '
- | {{quests[user.party.quest.key].boss.hp}}
- p
- strong {{ $t('bossStrength') }} + ': '
- | {{quests[user.party.quest.key].boss.str}}
- div(ng-if='quests[user.party.quest.key].collect')
- p(ng-repeat='(k,v) in quests[user.party.quest.key].collect')
- strong {{ $t('collect') }} + ': '
- | {{quests[user.party.quest.key].collect[k].count}} {{quests[user.party.quest.key].collect[k].text()}}
- div(ng-bind-html='quests[user.party.quest.key].notes()')
- .quest-rewards(:key='user.party.quest.key', header-participant="$t('rewardsAllParticipants')", header-quest-owner="$t('rewardsQuestOwner')")
- hr
- h5 {{headerParticipant}}
- table.table.table-striped
- tr(ng-repeat='drop in _.reject(quest.drop.items, \'onlyOwner\')')
- td {{drop.text()}}
- tr(ng-if='quest.drop.exp > 0')
- td {{quest.drop.exp}}
- | {{ $t('experience') }}
- tr(ng-if='quest.drop.gp > 0')
- td {{quest.drop.gp}}
- | {{ $t('gold') }}
- tr(ng-if='quest.drop.unlock()')
- td {{quest.drop.unlock()}}
- div(ng-if='getQuestOwnerRewards(quest).length > 0')
- h5 {{headerQuestOwner}}
- table.table.table-striped
- tr(ng-repeat='drop in getQuestOwnerRewards(quest)')
- td {{drop.text()}}
- .modal-footer
- button.btn.btn-secondary(ng-click='questHold = true; $close()') {{ $t('askLater') }}
- button.btn.btn-secondary(ng-click='questReject(); $close()') {{ $t('reject') }}
- button.btn.btn-primary(ng-click='questAccept(); $close()') {{ $t('accept') }}
-
-
-
diff --git a/website/client/components/achievements/rebirth.vue b/website/client/components/achievements/rebirth.vue
deleted file mode 100644
index 42a1720177..0000000000
--- a/website/client/components/achievements/rebirth.vue
+++ /dev/null
@@ -1,46 +0,0 @@
-
- b-modal#rebirth(:title="$t('modalAchievement')", size='md', :hide-footer="true")
- .modal-body
- .col-12
- // @TODO: +achievementAvatar('sun',0)
- achievement-avatar.avatar
- .col-6.offset-3.text-center
- div(v-if='user.achievements.rebirthLevel < 100')
- | {{ $t('rebirthAchievement', {number: user.achievements.rebirths, level: user.achievements.rebirthLevel}) }}
- div(v-if='user.achievements.rebirthLevel >= 100')
- | {{ $t('rebirthAchievement100', {number: user.achievements.rebirths}) }}
- br
- button.btn.btn-primary(@click='close()') {{ $t('huzzah') }}
- achievement-footer
-
-
-
-
-
diff --git a/website/client/components/achievements/rebirthEnabled.vue b/website/client/components/achievements/rebirthEnabled.vue
deleted file mode 100644
index 012ce14e60..0000000000
--- a/website/client/components/achievements/rebirthEnabled.vue
+++ /dev/null
@@ -1,32 +0,0 @@
-
- b-modal#rebirth-enabled(:title="$t('rebirthNew')", size='md', :hide-footer="true")
- .modal-body
- .col-12
- .rebirth_orb
- p
- span {{ $t('rebirthUnlock') }}
- .modal-footer
- .col-12.text-center
- button.btn.btn-primary(@click='close()') {{ $t('close') }}
-
-
-
-
-
diff --git a/website/client/components/achievements/streak.vue b/website/client/components/achievements/streak.vue
deleted file mode 100644
index 16fe2e043c..0000000000
--- a/website/client/components/achievements/streak.vue
+++ /dev/null
@@ -1,53 +0,0 @@
-
- b-modal#streak(:title="$t('streakAchievement')", size='md', :hide-footer="true")
- .modal-body
- .col-12
- // @TODO: +achievementAvatar('thermometer',2.5)
- achievement-avatar.avatar
- .col-6.offset-3.text-center
- h3(v-if='user.achievements.streak === 1') {{ $t('firstStreakAchievement') }}
- h3(v-if='user.achievements.streak > 1') {{ $t('streakAchievementCount', {streaks: user.achievements.streak}) }}
- p {{ $t('twentyOneDays') }}
- p {{ $t('dontBreakStreak') }}
- br
- button.btn.btn-primary(@click='close()') {{ $t('dontStop') }}
- .checkbox
- input(type='checkbox', v-model='user.preferences.suppressModals.streak', @change='suppressModals')
- label {{ $t('dontShowAgain') }}
- achievement-footer
-
-
-
-
-
diff --git a/website/client/components/achievements/testing.vue b/website/client/components/achievements/testing.vue
deleted file mode 100644
index ab1eda8eb7..0000000000
--- a/website/client/components/achievements/testing.vue
+++ /dev/null
@@ -1,35 +0,0 @@
-
- b-modal#testing(:title="$t('guildReminderTitle')", size='lg', :hide-footer="true")
- .modal-body.text-center
- br
- .scene_guilds
- br
- h4 {{ $t('guildReminderText1') }}
- .modal-footer
- .container-fluid
- .row
- .col-6.text-center
- button.btn.btn-secondary(@click='close()') {{ $t('guildReminderDismiss') }}
- .col-6.text-center(@click='close()')
- .btn.btn-primary(@click='takeMethere()') {{ $t('guildReminderCTA') }}
-
-
-
-
-
diff --git a/website/client/components/achievements/testingletiant.vue b/website/client/components/achievements/testingletiant.vue
deleted file mode 100644
index 0251527d7e..0000000000
--- a/website/client/components/achievements/testingletiant.vue
+++ /dev/null
@@ -1,36 +0,0 @@
-
- b-modal#testingletiant(:title="$t('guildReminderTitle')", size='lg', :hide-footer="true")
- .modal-content
- .modal-body.text-center
- br
- .scene_guilds
- br
- h4 {{ $t('guildReminderText2') }}
- .modal-footer
- .container-fluid
- .row
- .col-6.text-center
- button.btn.btn-secondary(@click='close()') {{ $t('guildReminderDismiss') }}
- .col-6.text-center
- .btn.btn-primary(@click='takeMethere()') {{ $t('guildReminderCTA') }}
-
-
-
-
-
diff --git a/website/client/components/achievements/ultimateGear.vue b/website/client/components/achievements/ultimateGear.vue
deleted file mode 100644
index fdebfa9046..0000000000
--- a/website/client/components/achievements/ultimateGear.vue
+++ /dev/null
@@ -1,67 +0,0 @@
-
- b-modal#ultimate-gear(:title="$t('modalAchievement')", size='md', :hide-footer="true")
- .modal-body
- .col-12
- // @TODO: +achievementAvatar('armor',2.5)
- achievement-avatar.avatar
- .col-12.text-center
- p {{ $t('gearAchievement') }}
- br
- table.multi-achievement
- tr
- td(v-if='user.achievements.ultimateGearSets.healer').multi-achievement
- .achievement-ultimate-healer2x.multi-achievement
- | {{ $t('healer') }}
- td(v-if='user.achievements.ultimateGearSets.wizard').multi-achievement
- .achievement-ultimate-mage2x.multi-achievement
- | {{ $t('mage') }}
- td(v-if='user.achievements.ultimateGearSets.rogue').multi-achievement
- .achievement-ultimate-rogue2x.multi-achievement
- | {{ $t('rogue') }}
- td(v-if='user.achievements.ultimateGearSets.warrior').multi-achievement
- .achievement-ultimate-warrior2x.multi-achievement
- | {{ $t('warrior') }}
- br
- div(v-if='!(user.achievements.ultimateGearSets.healer && user.achievements.ultimateGearSets.wizard && user.achievements.ultimateGearSets.rogue && user.achievements.ultimateGearSets.warrior)')
- p(v-html="$t('moreGearAchievements')")
- br
- .shop_armoire
- p(v-html='$t("armoireUnlocked")')
- br
- button.btn.btn-primary(@click='close()') {{ $t('huzzah') }}
- achievement-footer
-
-
-
-
-
diff --git a/website/client/components/achievements/welcome.vue b/website/client/components/achievements/welcome.vue
deleted file mode 100644
index 62bded79c7..0000000000
--- a/website/client/components/achievements/welcome.vue
+++ /dev/null
@@ -1,43 +0,0 @@
-
- b-modal#welcome(:title="$t('welcomeToHabit')", size='lg', :hide-footer="true")
- .modal-body.container-fluid
- .row
- .col-4.col-centered
- span(style='display:flex')
- h1
- | ①
- h3(style='margin:auto auto auto .5em') {{ $t('welcome1') }}
- .welcome_basic_avatars(style='margin: 1.5em auto 1.5em')
- h4 {{ $t('welcome1notes') }}
- .col-4.col-centered
- span(style='display:flex')
- h1
- | ②
- h3(style='margin:.3em auto auto .5em') {{ $t('welcome2') }}
- .welcome_sample_tasks(style='margin: 2.5em auto 1.5em')
- h4 {{ $t('welcome2notes') }}
- .col-4.col-centered
- span(style='display:flex')
- h1
- | ③
- h3(style='margin:auto auto auto .5em') {{ $t('welcome3') }}
- .welcome_promo_party(style='margin: 1em auto 1em')
- h4 {{ $t('welcome3notes') }}
- .modal-footer.text-center(style='margin-top:0')
- .col-3
- .col-6
- button.btn.btn-primary.btn-lg.flex-column(@click='ready()') {{ $t('imReady') }}
- .col-3
-
-
-
diff --git a/website/client/components/achievements/wonChallenge.vue b/website/client/components/achievements/wonChallenge.vue
deleted file mode 100644
index de65914ea7..0000000000
--- a/website/client/components/achievements/wonChallenge.vue
+++ /dev/null
@@ -1,66 +0,0 @@
-
- b-modal#won-challenge(:title="$t('wonChallenge')", size='md', :hide-footer="true")
- .modal-body.text-center
- h4(v-markdown='user.achievements.challenges[user.achievements.challenges.length - 1]')
- .row
- .col-4
- .achievement-karaoke-2x
- .col-4
- // @TODO: +generatedAvatar({sleep: false})
- avatar.avatar(:member='user', :avatar-only='true')
- .col-4
- .achievement-karaoke-2x
- p {{ $t('congratulations') }}
- br
- button.btn.btn-primary(@click='close()') {{ $t('hurray') }}
- .modal-footer
- .col-3
- a.twitter-share-button(href='https://twitter.com/intent/tweet?text=#{tweet}&via=habitica&url=#{env.BASE_URL}/social/won-challenge&count=none') {{ $t('tweet') }}
- .col-4(style='margin-left:.8em')
- .fb-share-button(data-href='#{env.BASE_URL}/social/won-challenge', data-layout='button')
- .col-4(style='margin-left:.8em')
- a.tumblr-share-button(data-href='#{env.BASE_URL}/social/won-challenge', data-notes='none')
-
-
-
-
-
diff --git a/website/client/components/appFooter.vue b/website/client/components/appFooter.vue
deleted file mode 100644
index 97bcf9b3da..0000000000
--- a/website/client/components/appFooter.vue
+++ /dev/null
@@ -1,401 +0,0 @@
-
-.row.footer-row
- buy-gems-modal(v-if='user')
- //modify-inventory(v-if="isUserLoaded")
- footer.col-12.expanded
- .row
- .col-12.col-md-2
- h3
- a(href='https://itunes.apple.com/us/app/habitica/id994882113?ls=1&mt=8', target='_blank') {{ $t('mobileIOS') }}
- h3
- a(href='https://play.google.com/store/apps/details?id=com.habitrpg.android.habitica', target='_blank') {{ $t('mobileAndroid') }}
- .col-12.col-md-2
- h3 {{ $t('footerCompany') }}
- ul
- li
- router-link(to='/static/features') {{ $t('companyAbout') }}
- li
- a(href='https://habitica.wordpress.com/', target='_blank') {{ $t('companyBlog') }}
- li
- a(href='http://blog.habitrpg.com/', target='_blank') {{ $t('tumblr') }}
- li
- router-link(to='/static/faq') {{ $t('FAQ') }}
- li
- a(href='http://habitica.fandom.com/wiki/Whats_New', target='_blank') {{ $t('oldNews') }}
- li
- router-link(to='/static/merch') {{ $t('merch') }}
- li
- router-link(to='/static/press-kit') {{ $t('presskit') }}
- li
- router-link(to='/static/contact') {{ $t('contactUs') }}
- .col-12.col-md-2
- h3 {{ $t('footerCommunity') }}
- ul
- li
- a(target="_blanck", href="/static/community-guidelines") {{ $t('communityGuidelines') }}
- li
- router-link(to='/hall/contributors') {{ $t('hall') }}
- li
- router-link(to='/groups/guild/a29da26b-37de-4a71-b0c6-48e72a900dac') {{ $t('reportBug') }}
- li
- a(href='https://trello.com/c/odmhIqyW/440-read-first-table-of-contents', target='_blank') {{ $t('requestFeature') }}
- li(v-html='$t("communityExtensions")')
- li(v-html='$t("communityForum")')
- li
- a(href='https://www.facebook.com/Habitica', target='_blank') {{ $t('communityFacebook') }}
- li
- a(href='https://www.instagram.com/habitica', target='_blank') {{ $t('communityInstagram') }}
- .col-12.col-md-6
- .row
- .col-6
- h3 {{ $t('footerDevs') }}
- ul
- li
- a(href='/apidoc', target='_blank') {{ $t('APIv3') }}
- li
- a(:href="getDataDisplayToolUrl", target='_blank') {{ $t('dataDisplayTool') }}
- li
- a(href='http://habitica.fandom.com/wiki/Guidance_for_Blacksmiths', target='_blank') {{ $t('guidanceForBlacksmiths') }}
- .col-6.social
- h3 {{ $t('footerSocial') }}
- .icons
- a.social-circle(href='https://twitter.com/habitica', target='_blank')
- .social-icon.svg-icon(v-html='icons.twitter')
- a.social-circle(href='https://www.instagram.com/habitica/', target='_blank')
- .social-icon.svg-icon.instagram(v-html='icons.instagram')
- a.social-circle(href='https://www.facebook.com/Habitica', target='_blank')
- .social-icon.facebook.svg-icon(v-html='icons.facebook')
- .row
- .col-12.col-md-8 {{ $t('donateText3') }}
- .col-12.col-md-4
- button.btn.btn-contribute.btn-flat(@click="donate()", v-if="user")
- .svg-icon.heart(v-html="icons.heart")
- .text {{ $t('companyDonate') }}
- .btn.btn-contribute.btn-flat(v-else)
- a(href='http://habitica.fandom.com/wiki/Contributing_to_Habitica', target='_blank')
- .svg-icon.heart(v-html="icons.heart")
- .text {{ $t('companyContribute') }}
- .row
- .col-12
- hr
- .row
- .col-12.col-md-5
- | © 2019 Habitica. All rights reserved.
- .debug.float-left(v-if="!IS_PRODUCTION && isUserLoaded")
- button.btn.btn-primary(@click="debugMenuShown = !debugMenuShown") Toggle Debug Menu
- .debug-group(v-if="debugMenuShown")
- a.btn.btn-secondary(@click="setHealthLow()") Health = 1
- a.btn.btn-secondary(@click="addMissedDay(1)") +1 Missed Day
- a.btn.btn-secondary(@click="addMissedDay(2)") +2 Missed Days
- a.btn.btn-secondary(@click="addMissedDay(8)") +8 Missed Days
- a.btn.btn-secondary(@click="addMissedDay(32)") +32 Missed Days
- a.btn.btn-secondary(@click="addTenGems()") +10 Gems
- a.btn.btn-secondary(@click="addHourglass()") +1 Mystic Hourglass
- a.btn.btn-secondary(@click="addGold()") +500GP
- a.btn.btn-secondary(@click="plusTenHealth()") + 10HP
- a.btn.btn-secondary(@click="addMana()") +MP
- a.btn.btn-secondary(@click="addLevelsAndGold()") +Exp +GP +MP
- a.btn.btn-secondary(@click="addExp()") +Exp
- a.btn.btn-secondary(@click="addOneLevel()") +1 Level
- a.btn.btn-secondary(@click="addQuestProgress()", tooltip="+1000 to boss quests. 300 items to collection quests") Quest Progress Up
- a.btn.btn-secondary(@click="makeAdmin()") Make Admin
- a.btn.btn-secondary(@click="openModifyInventoryModal()") Modify Inventory
- .col-12.col-md-2.text-center
- .logo.svg-icon(v-html='icons.gryphon')
- .col-12.col-md-5.text-right
- span.ml-4
- a(target="_blanck", href="/static/privacy") {{ $t('privacy') }}
- span.ml-4
- a(target="_blanck", href="/static/terms") {{ $t('terms') }}
-
-
-
-
-
-
-
diff --git a/website/client/components/auth/authForm.vue b/website/client/components/auth/authForm.vue
deleted file mode 100644
index 5489cf4f10..0000000000
--- a/website/client/components/auth/authForm.vue
+++ /dev/null
@@ -1,221 +0,0 @@
-
-.form
- .form-group.row.text-center
- .col-12.col-md-6
- .btn.btn-secondary.social-button(@click='socialAuth("facebook")')
- .svg-icon.social-icon(v-html="icons.facebookIcon")
- span {{registering ? $t('signUpWithSocial', {social: 'Facebook'}) : $t('loginWithSocial', {social: 'Facebook'})}}
- .col-12.col-md-6
- .btn.btn-secondary.social-button(@click='socialAuth("google")')
- .svg-icon.social-icon(v-html="icons.googleIcon")
- span {{registering ? $t('signUpWithSocial', {social: 'Google'}) : $t('loginWithSocial', {social: 'Google'})}}
- .form-group(v-if='registering')
- label(for='usernameInput', v-once) {{$t('username')}}
- input#usernameInput.form-control(type='text', :placeholder='$t("usernamePlaceholder")', v-model='username', :class='{"input-valid": usernameValid, "input-invalid": usernameInvalid}')
- .form-group(v-if='!registering')
- label(for='usernameInput', v-once) {{$t('emailOrUsername')}}
- input#usernameInput.form-control(type='text', :placeholder='$t("emailOrUsername")', v-model='username')
- .form-group(v-if='registering')
- label(for='emailInput', v-once) {{$t('email')}}
- input#emailInput.form-control(type='email', :placeholder='$t("emailPlaceholder")', v-model='email', :class='{"input-invalid": emailInvalid, "input-valid": emailValid}')
- .form-group
- label(for='passwordInput', v-once) {{$t('password')}}
- a.float-right.forgot-password(v-once, v-if='!registering', @click='forgotPassword = true') {{$t('forgotPassword')}}
- input#passwordInput.form-control(type='password', :placeholder='$t(registering ? "passwordPlaceholder" : "password")', v-model='password')
- .form-group(v-if='registering')
- label(for='confirmPasswordInput', v-once) {{$t('confirmPassword')}}
- input#confirmPasswordInput.form-control(type='password', :placeholder='$t("confirmPasswordPlaceholder")', v-model='passwordConfirm', :class='{"input-invalid": passwordConfirmInvalid, "input-valid": passwordConfirmValid}')
- small.form-text(v-once, v-html="$t('termsAndAgreement')")
- .text-center
- .btn.btn-info(@click='register()', v-if='registering', v-once) {{$t('joinHabitica')}}
- .btn.btn-info(@click='login()', v-if='!registering', v-once) {{$t('login')}}
-
-
-
-
-
diff --git a/website/client/components/auth/logout.vue b/website/client/components/auth/logout.vue
deleted file mode 100644
index b826794272..0000000000
--- a/website/client/components/auth/logout.vue
+++ /dev/null
@@ -1,13 +0,0 @@
-
diff --git a/website/client/components/avatar.vue b/website/client/components/avatar.vue
deleted file mode 100644
index db56336a60..0000000000
--- a/website/client/components/avatar.vue
+++ /dev/null
@@ -1,228 +0,0 @@
-
-.avatar(:style="{width, height, paddingTop}", :class="backgroundClass", @click.prevent='castEnd()')
- .character-sprites(:style='{margin: spritesMargin}')
- template(v-if="!avatarOnly")
- // Mount Body
- span(v-if="member.items.currentMount", :class="'Mount_Body_' + member.items.currentMount")
-
- // Buffs that cause visual changes to avatar: Snowman, Ghost, Flower, etc
- template(v-for="(klass, item) in visualBuffs")
- span(v-if="member.stats.buffs[item] && showVisualBuffs", :class="klass")
-
- // Show flower ALL THE TIME!!!
- // See https://github.com/HabitRPG/habitica/issues/7133
- span(:class="'hair_flower_' + member.preferences.hair.flower")
-
- // Show avatar only if not currently affected by visual buff
- template(v-if="showAvatar()")
- span(:class="['chair_' + member.preferences.chair, specialMountClass]")
- span(:class="[getGearClass('back'), specialMountClass]")
- span(:class="[skinClass, specialMountClass]")
- span(:class="[member.preferences.size + '_shirt_' + member.preferences.shirt, specialMountClass]")
- span(:class="['head_0', specialMountClass]")
- span(:class="[member.preferences.size + '_' + getGearClass('armor'), specialMountClass]")
- span(:class="[getGearClass('back_collar'), specialMountClass]")
- template(v-for="type in ['bangs', 'base', 'mustache', 'beard']")
- span(:class="['hair_' + type + '_' + member.preferences.hair[type] + '_' + member.preferences.hair.color, specialMountClass]")
- span(:class="[getGearClass('body'), specialMountClass]")
- span(:class="[getGearClass('eyewear'), specialMountClass]")
- span(:class="[getGearClass('head'), specialMountClass]")
- span(:class="[getGearClass('headAccessory'), specialMountClass]")
- span(:class="['hair_flower_' + member.preferences.hair.flower, specialMountClass]")
- span(v-if="!hideGear('shield')", :class="[getGearClass('shield'), specialMountClass]")
- span(v-if="!hideGear('weapon')", :class="[getGearClass('weapon'), specialMountClass]")
-
- // Resting
- span.zzz(v-if="member.preferences.sleep")
-
- template(v-if="!avatarOnly")
- // Mount Head
- span(v-if="member.items.currentMount", :class="'Mount_Head_' + member.items.currentMount")
- // Pet
- span.current-pet(v-if="member.items.currentPet", :class="'Pet-' + member.items.currentPet")
- class-badge.under-avatar(v-if="hasClass && !hideClassBadge", :member-class="member.stats.class")
-
-
-
-
-
diff --git a/website/client/components/avatarModal/body-settings.vue b/website/client/components/avatarModal/body-settings.vue
deleted file mode 100644
index cea1b2c7dd..0000000000
--- a/website/client/components/avatarModal/body-settings.vue
+++ /dev/null
@@ -1,92 +0,0 @@
-
- #body.section.customize-section
- sub-menu.text-center(:items="items", :activeSubPage="activeSubPage", @changeSubPage="changeSubPage($event)")
- div(v-if='activeSubPage === "size"')
- customize-options(
- :items="sizes",
- :currentValue="user.preferences.size"
- )
- div(v-if='activeSubPage === "shirt"')
- customize-options(
- :items="freeShirts",
- :currentValue="user.preferences.shirt"
- )
- customize-options(
- v-if='editing',
- :items='specialShirts',
- :currentValue="user.preferences.shirt",
- :fullSet='!userOwnsSet("shirt", specialShirtKeys)',
- @unlock='unlock(`shirt.${specialShirtKeys.join(",shirt.")}`)'
- )
-
-
-
-
-
diff --git a/website/client/components/avatarModal/extra-settings.vue b/website/client/components/avatarModal/extra-settings.vue
deleted file mode 100644
index 406771ebfd..0000000000
--- a/website/client/components/avatarModal/extra-settings.vue
+++ /dev/null
@@ -1,272 +0,0 @@
-
- #extra.section.container.customize-section
- sub-menu.text-center(:items="extraSubMenuItems", :activeSubPage="activeSubPage", @changeSubPage="changeSubPage($event)")
-
- #hair-color(v-if='activeSubPage === "glasses"')
- customize-options(
- :items="eyewear"
- )
-
- #animal-ears(v-if='activeSubPage === "ears"')
- customize-options(
- :items="animalItems('headAccessory')",
- :fullSet='!animalItemsOwned("headAccessory")',
- @unlock='unlock(animalItemsUnlockString("headAccessory"))'
- )
-
- #animal-tails(v-if='activeSubPage === "tails"')
- customize-options(
- :items="animalItems('back')",
- :fullSet='!animalItemsOwned("back")',
- @unlock='unlock(animalItemsUnlockString("back"))'
- )
- #headband(v-if='activeSubPage === "headband"')
- customize-options(
- :items="headbands",
- )
-
- #wheelchairs(v-if='activeSubPage === "wheelchair"')
- customize-options(
- :items="chairs",
- )
- #flowers(v-if='activeSubPage === "flower"')
- customize-options(
- :items="flowers",
- )
-
-
-
-
-
diff --git a/website/client/components/avatarModal/hair-settings.vue b/website/client/components/avatarModal/hair-settings.vue
deleted file mode 100644
index d86f608aba..0000000000
--- a/website/client/components/avatarModal/hair-settings.vue
+++ /dev/null
@@ -1,341 +0,0 @@
-
- #hair.section.customize-section
- sub-menu.text-center(:items="hairSubMenuItems", :activeSubPage="activeSubPage", @changeSubPage="changeSubPage($event)")
-
- #hair-color(v-if='activeSubPage === "color"')
- customize-options(
- :items="freeHairColors",
- :currentValue="user.preferences.hair.color"
- )
-
- div(v-if='editing && set.key !== "undefined"', v-for='set in seasonalHairColors')
- customize-options(
- :items='set.options',
- :currentValue="user.preferences.skin",
- :fullSet='!hideSet(set) && !userOwnsSet("hair", set.keys, "color")',
- @unlock='unlock(`hair.color.${set.keys.join(",hair.color.")}`)'
- )
-
- #style(v-if='activeSubPage === "style"')
- div(v-for='set in styleSets')
- customize-options(
- :items='set.options',
- :fullSet='set.fullSet',
- @unlock='set.unlock()'
- )
- #bangs(v-if='activeSubPage === "bangs"')
- customize-options(
- :items='hairBangs',
- :currentValue="user.preferences.hair.bangs"
- )
- #facialhair(v-if='activeSubPage === "facialhair"')
- customize-options(
- v-if='editing',
- :items='mustacheList'
- )
- customize-options(
- v-if='editing',
- :items='beardList',
- :fullSet='isPurchaseAllNeeded("hair", ["baseHair5", "baseHair6"], ["mustache", "beard"])',
- @unlock='unlock(`hair.mustache.${baseHair5Keys.join(",hair.mustache.")},hair.beard.${baseHair6Keys.join(",hair.beard.")}`)'
- )
-
-
-
-
-
diff --git a/website/client/components/avatarModal/skin-settings.vue b/website/client/components/avatarModal/skin-settings.vue
deleted file mode 100644
index f180b47a3f..0000000000
--- a/website/client/components/avatarModal/skin-settings.vue
+++ /dev/null
@@ -1,114 +0,0 @@
-
- #skin.section.customize-section
- sub-menu.text-center(:items="skinSubMenuItems", :activeSubPage="activeSubPage", @changeSubPage="changeSubPage($event)")
- customize-options(
- :items="freeSkins",
- :currentValue="user.preferences.skin"
- )
-
- div(v-if='editing && set.key !== "undefined"', v-for='set in seasonalSkins')
- customize-options(
- :items='set.options',
- :currentValue="user.preferences.skin",
- :fullSet='!hideSet(set) && !userOwnsSet("skin", set.keys)',
- @unlock='unlock(`skin.${set.keys.join(",skin.")}`)'
- )
-
-
-
-
-
diff --git a/website/client/components/bannedAccountModal.vue b/website/client/components/bannedAccountModal.vue
deleted file mode 100644
index ae6d0cd9ae..0000000000
--- a/website/client/components/bannedAccountModal.vue
+++ /dev/null
@@ -1,42 +0,0 @@
-
- b-modal#banned-account(:title="$t('accountSuspendedTitle')", size='md', :hide-footer="true")
- .modal-body
- .row
- .col-12
- p(v-markdown='bannedMessage')
- .modal-footer
- .col-12.text-center
- button.btn.btn-primary(@click='close()') {{$t('close')}}
-
-
-
-
-
diff --git a/website/client/components/categories/categoryTags.vue b/website/client/components/categories/categoryTags.vue
deleted file mode 100644
index aaa0209db3..0000000000
--- a/website/client/components/categories/categoryTags.vue
+++ /dev/null
@@ -1,34 +0,0 @@
-
- .categories
- span.category-label.category-label-blue(v-if='owner')
- | {{ $t('owned') }}
- span.category-label.category-label-green(v-if='member')
- | {{ $t('joined') }}
- span.category-label(
- v-for='category in categories',
- :class="{'category-label-purple':isOfficial(category)}"
- )
- | {{ $t(category.name) }}
- slot
-
-
-
\ No newline at end of file
diff --git a/website/client/components/challenges/challengeDetail.vue b/website/client/components/challenges/challengeDetail.vue
deleted file mode 100644
index d243af8053..0000000000
--- a/website/client/components/challenges/challengeDetail.vue
+++ /dev/null
@@ -1,401 +0,0 @@
-
-.row
- challenge-modal(@updatedChallenge='updatedChallenge')
- leave-challenge-modal(:challengeId='challenge._id')
- close-challenge-modal(:members='members', :challengeId='challenge._id', :prize='challenge.prize')
- challenge-member-progress-modal(:challengeId='challenge._id')
- .col-12.col-md-8.standard-page
- .row
- .col-12.col-md-6
- h1(v-markdown='challenge.name')
- div
- span.mr-1.ml-0.d-block
- strong(v-once) {{ $t('createdBy') }}:
- user-link.mx-1(:user="challenge.leader")
- span.mr-1.ml-0.d-block(v-if="challenge.group && challenge.group.name !== 'Tavern'")
- strong(v-once) {{ $t(challenge.group.type) }}:
- group-link.mx-1(:group="challenge.group")
- // @TODO: make challenge.author a variable inside the createdBy string (helps with RTL languages)
- // @TODO: Implement in V2 strong.margin-left(v-once)
- .svg-icon.calendar-icon(v-html="icons.calendarIcon")
- | {{$t('endDate')}}
- // "endDate": "End Date: <% endDate %>",
- // span {{challenge.endDate}}
- .tags
- span.tag(v-for='tag in challenge.tags') {{tag}}
- .col-12.col-md-6.text-right
- .box(@click="showMemberModal()")
- .svg-icon.member-icon(v-html="icons.memberIcon")
- | {{challenge.memberCount}}
- .details(v-once) {{$t('participantsTitle')}}
- .box
- .svg-icon.gem-icon(v-html="icons.gemIcon")
- | {{challenge.prize}}
- .details(v-once) {{$t('prize')}}
- .row.challenge-actions
- .col-12.col-md-6
- strong.view-progress {{ $t('viewProgressOf') }}
- member-search-dropdown(:text="$t('selectParticipant')", :members='members', :challengeId='challengeId', @member-selected='openMemberProgressModal')
- .col-12.col-md-6.text-right
- span(v-if='isLeader || isAdmin')
- b-dropdown.create-dropdown(:text="$t('addTaskToChallenge')", :variant="'success'")
- b-dropdown-item(v-for="type in columns", :key="type", @click="createTask(type)")
- | {{$t(type)}}
- task-modal(
- :task="workingTask",
- :purpose="taskFormPurpose",
- @cancel="cancelTaskModal()",
- ref="taskModal",
- :challengeId="challengeId",
- @taskCreated='taskCreated',
- @taskEdited='taskEdited',
- @taskDestroyed='taskDestroyed'
- )
- .row
- task-column.col-12.col-sm-6(
- v-for="column in columns",
- :type="column",
- :key="column",
- :taskListOverride='tasksByType[column]',
- :showOptions="showOptions",
- @editTask="editTask",
- @taskDestroyed="taskDestroyed",
- v-if='tasksByType[column].length > 0')
- .col-12.col-md-4.sidebar.standard-page
- .button-container(v-if='canJoin')
- button.btn.btn-success(v-once, @click='joinChallenge()') {{$t('joinChallenge')}}
- .button-container(v-if='isLeader || isAdmin')
- button.btn.btn-primary(v-once, @click='edit()') {{$t('editChallenge')}}
- .button-container(v-if='isLeader || isAdmin')
- button.btn.btn-primary(v-once, @click='cloneChallenge()') {{$t('clone')}}
- .button-container(v-if='isLeader || isAdmin')
- button.btn.btn-primary(v-once, @click='exportChallengeCsv()') {{$t('exportChallengeCsv')}}
- .button-container(v-if='isLeader || isAdmin')
- button.btn.btn-danger(v-once, @click='closeChallenge()') {{$t('endChallenge')}}
- div
- sidebar-section(:title="$t('challengeSummary')")
- p(v-markdown='challenge.summary')
- sidebar-section(:title="$t('challengeDescription')")
- p(v-markdown='challenge.description')
- .text-center(v-if='isMember')
- button.btn.btn-danger(v-once, @click='leaveChallenge()') {{$t('leaveChallenge')}}
-
-
-
-
-
diff --git a/website/client/components/challenges/closeChallengeModal.vue b/website/client/components/challenges/closeChallengeModal.vue
deleted file mode 100644
index a85779d427..0000000000
--- a/website/client/components/challenges/closeChallengeModal.vue
+++ /dev/null
@@ -1,113 +0,0 @@
-
-div
- b-modal#close-challenge-modal(:title="$t('createGuild')", size='md')
- .header-wrap(slot="modal-header")
- h2.text-center(v-once) {{$t('endChallenge')}}
- .row.text-center
- .col-12
- .support-habitica
- // @TODO: Add challenge achievement badge here
- .col-12
- strong(v-once) {{$t('selectChallengeWinnersDescription')}}
- .col-12
- member-search-dropdown(:text='winnerText', :members='members', :challengeId='challengeId', @member-selected='selectMember')
- .col-12
- button.btn.btn-primary(v-once, @click='closeChallenge') {{$t('awardWinners')}}
- .col-12
- hr
- .or {{$t('or')}}
- .col-12
- strong(v-once) {{$t('doYouWantedToDeleteChallenge')}}
- .col-12
- button.btn.btn-danger(v-once, @click='deleteChallenge()') {{$t('deleteChallenge')}}
- .footer-wrap(slot="modal-footer")
-
-
-
-
-
diff --git a/website/client/components/challenges/groupChallenges.vue b/website/client/components/challenges/groupChallenges.vue
deleted file mode 100644
index 1415b921a9..0000000000
--- a/website/client/components/challenges/groupChallenges.vue
+++ /dev/null
@@ -1,92 +0,0 @@
-
-div
- challenge-modal(:groupId='groupId', v-on:createChallenge='challengeCreated')
- .row.no-quest-section(v-if='challenges.length === 0')
- .col-12.text-center
- .svg-icon.challenge-icon(v-html="icons.challengeIcon")
- h4(v-once) {{ $t('haveNoChallenges') }}
- p(v-once) {{ $t('challengeDetails') }}
- button.btn.btn-secondary(@click='createChallenge()') {{ $t('createChallenge') }}
- template(v-else)
- challenge-item(v-for='challenge in challenges',:challenge='challenge',:key='challenge._id',:fullLayout='false')
- .col-12.text-center
- button.btn.btn-secondary(@click='createChallenge()') {{ $t('createChallenge') }}
-
-
-
-
-
diff --git a/website/client/components/challenges/index.vue b/website/client/components/challenges/index.vue
deleted file mode 100644
index 8a2588ca1b..0000000000
--- a/website/client/components/challenges/index.vue
+++ /dev/null
@@ -1,19 +0,0 @@
-
-.row
- secondary-menu.col-12
- router-link.nav-link(:to="{name: 'myChallenges'}", :class="{'active': $route.name === 'myChallenges'}") {{ $t('myChallenges') }}
- router-link.nav-link(:to="{name: 'findChallenges'}", :class="{'active': $route.name === 'findChallenges'}") {{ $t('findChallenges') }}
-
- .col-12
- router-view
-
-
-
diff --git a/website/client/components/challenges/leaveChallengeModal.vue b/website/client/components/challenges/leaveChallengeModal.vue
deleted file mode 100644
index 0925a4e1d0..0000000000
--- a/website/client/components/challenges/leaveChallengeModal.vue
+++ /dev/null
@@ -1,45 +0,0 @@
-
- b-modal#leave-challenge-modal(:title="$t('leaveChallenge')", size='sm', :hide-footer="true")
- .modal-body
- h2 {{ $t('confirmKeepChallengeTasks') }}
- div
- button.btn.btn-primary(@click='leaveChallenge("keep")') {{ $t('keepThem') }}
- button.btn.btn-danger(@click='leaveChallenge("remove-all")') {{ $t('removeThem') }}
-
-
-
-
-
diff --git a/website/client/components/creatorIntro.vue b/website/client/components/creatorIntro.vue
deleted file mode 100644
index 5ce0cd529b..0000000000
--- a/website/client/components/creatorIntro.vue
+++ /dev/null
@@ -1,963 +0,0 @@
-
-b-modal#avatar-modal(title="", :size='editing ? "lg" : "md"', :hide-header='true', :hide-footer='true', :modal-class="{'page-2':modalPage > 1 && !editing}")
- .section.row.welcome-section(v-if='modalPage === 1 && !editing')
- .col-6.offset-3.text-center
- h3(v-once) {{$t('welcomeTo')}}
- .svg-icon.logo(v-html='icons.logoPurple')
-
- .avatar-section.row(v-if='modalPage > 1', :class='{"page-2": modalPage === 2}')
- .col-6.offset-3
- .user-creation-bg(v-if='!editing')
- avatar(:member='user', :avatarOnly='!editing', :class='{"edit-avatar": editing}')
-
- .section(v-if='modalPage === 2', :class='{"edit-modal": editing}')
- // @TODO Implement in V2 .section.row
- .col-12.text-center
- button.btn.btn-secondary(v-once) {{$t('randomize')}}
- #options-nav.container.section.text-center.customize-menu
- .row
- .menu-container(@click='changeTopPage("body", "size")', :class='{"col-3": !editing, "col-2 offset-1": editing, active: activeTopPage === "body"}')
- .menu-item
- .svg-icon(v-html='icons.bodyIcon')
- strong(v-once) {{$t('bodyBody')}}
- .indicator
- .menu-container(@click='changeTopPage("skin", "color")', :class='{"col-3": !editing, "col-2": editing, active: activeTopPage === "skin"}')
- .menu-item
- .svg-icon(v-html='icons.skinIcon')
- strong(v-once) {{$t('skin')}}
- .indicator
- .menu-container(@click='changeTopPage("hair", "color")', :class='{"col-3": !editing, "col-2": editing, active: activeTopPage === "hair"}')
- .menu-item
- .svg-icon(v-html='icons.hairIcon')
- strong(v-once) {{$t('hair')}}
- .indicator
- .menu-container(@click='changeTopPage("extra", "glasses")', :class='{"col-3": !editing, "col-2": editing, active: activeTopPage === "extra"}')
- .menu-item
- .svg-icon(v-html='icons.accessoriesIcon')
- strong(v-once) {{$t('extra')}}
- .indicator
- .menu-container.col-2(@click='changeTopPage("backgrounds", "2019")', v-if='editing', :class='{active: activeTopPage === "backgrounds"}')
- .menu-item
- .svg-icon(v-html='icons.backgroundsIcon')
- strong(v-once) {{$t('backgrounds')}}
- .indicator
-
- body-settings(
- v-if='activeTopPage === "body"',
- :editing="editing",
- )
-
- skin-settings(
- v-if='activeTopPage === "skin"',
- :editing="editing",
- )
-
- hairSettings(
- v-if='activeTopPage === "hair"',
- :editing="editing"
- )
-
- extraSettings(
- v-if='activeTopPage === "extra"',
- :editing="editing"
- )
-
- #backgrounds.section.container.customize-section(v-if='activeTopPage === "backgrounds"')
- .row.title-row
- toggle-switch.backgroundFilterToggle(:label="'Hide locked backgrounds'", v-model='filterBackgrounds')
- .row.text-center.title-row(v-if='!filterBackgrounds')
- strong {{backgroundShopSets[0].text}}
- .row.title-row(v-if='!filterBackgrounds')
- .col-12(v-if='showPlainBackgroundBlurb(backgroundShopSets[0].identifier, backgroundShopSets[0].items)') {{ $t('incentiveBackgroundsUnlockedWithCheckins') }}
- .col-2(v-for='bg in backgroundShopSets[0].items',
- @click='unlock("background." + bg.key)',
- :popover-title='bg.text',
- :popover='bg.notes',
- popover-trigger='mouseenter')
- .incentive-background(:class='[`background_${bg.key}`]')
- .small-rectangle
- sub-menu.text-center(:items="bgSubMenuItems", :activeSubPage="activeSubPage", @changeSubPage="changeSubPage($event)")
- .row.customize-menu(v-if='!filterBackgrounds' v-for='(sets, key) in backgroundShopSetsByYear')
- .row.background-set(v-for='set in sets', v-if='activeSubPage === key')
- .col-8.offset-2.text-center.set-title
- strong {{set.text}}
- .col-4.text-center.customize-option.background-button(v-for='bg in set.items',
- @click='!user.purchased.background[bg.key] ? backgroundSelected(bg) : unlock("background." + bg.key)',
- :popover-title='bg.text',
- :popover='bg.notes',
- popover-trigger='mouseenter')
- .background(:class='[`background_${bg.key}`, backgroundLockedStatus(bg.key)]')
- i.glyphicon.glyphicon-lock(v-if='!user.purchased.background[bg.key]')
- .purchase-background.single(v-if='!user.purchased.background[bg.key]')
- .svg-icon.gem(v-html='icons.gem')
- span.price 7
- span.badge.badge-pill.badge-item.badge-svg(
- :class="{'item-selected-badge': isBackgroundPinned(bg), 'hide': !isBackgroundPinned(bg)}",
- @click.prevent.stop="togglePinned(bg)",
- v-if='!user.purchased.background[bg.key]'
- )
- span.svg-icon.inline.icon-12.color(v-html="icons.pin")
- .purchase-background.set(v-if='!ownsSet("background", set.items) && set.identifier !== "incentiveBackgrounds"' @click='unlock(setKeys("background", set.items))')
- span.label {{ $t('purchaseAll') }}
- .svg-icon.gem(v-html='icons.gem')
- span.price 15
- .row.customize-menu(v-if='filterBackgrounds')
- .col-4.text-center.customize-option.background-button(v-for='(bg) in ownedBackgrounds'
- @click='unlock("background." + bg.key)',
- :popover-title='bg.text',
- :popover='bg.notes',
- popover-trigger='mouseenter')
- .background(:class='[`background_${bg.key}`, backgroundLockedStatus(bg.key)]'
- )
-
- .container.interests-section(v-if='modalPage === 3 && !editing')
- .section.row
- .col-12.text-center
- h2 {{ $t('wantToWorkOn') }}
- .section.row
- .col-6
- .task-option
- .custom-control.custom-checkbox
- input.custom-control-input#work(type="checkbox", value='work', v-model='taskCategories')
- label.custom-control-label(v-once, for="work") {{ $t('work') }}
- .task-option
- .custom-control.custom-checkbox
- input.custom-control-input#excercise(type="checkbox", value='exercise', v-model='taskCategories')
- label.custom-control-label(v-once, for="excercise") {{ $t('exercise') }}
- .task-option
- .custom-control.custom-checkbox
- input.custom-control-input#health_wellness(type="checkbox", value='health_wellness', v-model='taskCategories')
- label.custom-control-label(v-once, for="health_wellness") {{ $t('health_wellness') }}
- .task-option
- .custom-control.custom-checkbox
- input.custom-control-input#school(type="checkbox", value='school', v-model='taskCategories')
- label.custom-control-label(v-once, for="school") {{ $t('school') }}
- .col-6
- .task-option
- .custom-control.custom-checkbox
- input.custom-control-input#chores(type="checkbox", value='chores', v-model='taskCategories')
- label.custom-control-label(v-once, for="chores") {{ $t('chores') }}
- .task-option
- .custom-control.custom-checkbox
- input.custom-control-input#creativity(type="checkbox", value='creativity', v-model='taskCategories')
- label.custom-control-label(v-once, for="creativity") {{ $t('creativity') }}
- .task-option
- .custom-control.custom-checkbox
- input.custom-control-input#self_care(type="checkbox", value='self_care', v-model='taskCategories')
- label.custom-control-label(v-once, for="self_care") {{ $t('self_care') }}
-
- .section.d-flex.justify-content-center.justin-outer-section(:class='{top: modalPage > 1}', v-if='!editing')
- .justin-section.d-flex.align-items-center
- .featured-label
- span.rectangle
- span.text Justin
- span.rectangle
- .justin-message
- .corner-decoration(:style="{top: '-2px', right: '-2px'}")
- .corner-decoration(:style="{top: '-2px', left: '-2px'}")
- .corner-decoration(:style="{bottom: '-2px', right: '-2px'}")
- .corner-decoration(:style="{bottom: '-2px', left: '-2px'}")
- div(v-if='modalPage === 1')
- p(v-once, v-html='$t("justinIntroMessage1")')
- p(v-once) {{ $t('justinIntroMessageUsername') }}
- div(v-if='modalPage === 2')
- p {{ $t('justinIntroMessageAppearance') }}
- div(v-if='modalPage === 3')
- p(v-once) {{ $t('justinIntroMessage3') }}
- .npc-justin-textbox
- .section.mr-5.ml-5.first-page-footer(v-if='modalPage === 1')
- username-form(@usernameConfirmed='modalPage += 1', :avatarIntro='true')
- .small.text-center(v-html="$t('usernameTOSRequirements')")
-
- .section.container.footer(v-if='!editing && !(modalPage === 1)')
- .footer-left
- div.prev-outer(v-if='modalPage > 1', @click='prev()')
- .prev-arrow.svg-icon(v-html='icons.arrowLeft')
- .prev(v-once) {{ $t('prev') }}
- .footer-center.text-center.circles
- .circle(:class="{active: modalPage === 1}")
- .circle(:class="{active: modalPage === 2}")
- .circle(:class="{active: modalPage === 3}")
- .footer-right
- div.next-outer(v-if='modalPage < 3', @click='next()')
- .next(v-once) {{$t('next')}}
- .next-arrow.svg-icon(v-html='icons.arrowRight')
- div.next-outer(v-if='modalPage === 3 && !loading', @click='done()', :class="{disabled: taskCategories.length === 0}")
- .next(v-once) {{$t('finish')}}
- .next-arrow.svg-icon(v-html='icons.arrowRight')
-
-
-
-
-
diff --git a/website/client/components/emptyView.vue b/website/client/components/emptyView.vue
deleted file mode 100644
index 01274826f4..0000000000
--- a/website/client/components/emptyView.vue
+++ /dev/null
@@ -1,4 +0,0 @@
-
-// Container component used when you only need an empty view to support children routes
-router-view
-
\ No newline at end of file
diff --git a/website/client/components/group-plans/billing.vue b/website/client/components/group-plans/billing.vue
deleted file mode 100644
index 976028f89e..0000000000
--- a/website/client/components/group-plans/billing.vue
+++ /dev/null
@@ -1,93 +0,0 @@
-
-.row.standard-page(v-if='groupIsSubscribed && isLeader')
- .col-12.col-md-6.offset-md-3
- table.table.alert.alert-info
- tr(v-if='group.purchased.plan.dateTerminated')
- td.alert.alert-warning
- span.noninteractive-button.btn-danger {{ $t('canceledGroupPlan') }}
- i.glyphicon.glyphicon-time {{ $t('groupPlanCanceled') }}
- strong {{dateTerminated}}
- tr(v-if='!group.purchased.plan.dateTerminated')
- td
- h3 {{ $t('paymentDetails') }}
- p(v-if='group.purchased.plan.planId') {{ $t('groupSubscriptionPrice') }}
- tr(v-if='group.purchased.plan.extraMonths')
- td
- span.glyphicon.glyphicon-credit-card
- | {{ $t('purchasedGroupPlanPlanExtraMonths', purchasedGroupPlanPlanExtraMonths) }}
- tr(v-if='group.purchased.plan.consecutive.count || group.purchased.plan.consecutive.offset')
- td
- span.glyphicon.glyphicon-forward
- | {{ $t('consecutiveSubscription') }}
- ul.list-unstyled
- li {{ $t('consecutiveMonths') }} {{group.purchased.plan.consecutive.count + group.purchased.plan.consecutive.offset}}
- li {{ $t('gemCapExtra') }} {{group.purchased.plan.consecutive.gemCapExtra}}
- li {{ $t('mysticHourglasses') }} {{group.purchased.plan.consecutive.trinkets}}
- .col-12.col-md-6.offset-md-3
- button.btn.btn-success(class='btn-success', v-if='group.purchased.plan.dateTerminated', @click='upgradeGroup()')
- | {{ $t('upgrade') }}
- .btn.btn-primary(v-if='!group.purchased.plan.dateTerminated && group.purchased.plan.paymentMethod === "Stripe"',
- @click='showStripeEdit({groupId: group.id})') {{ $t('subUpdateCard') }}
- .btn.btn-sm.btn-danger(v-if='!group.purchased.plan.dateTerminated',
- @click='cancelSubscriptionConfirm({group: group})') {{ $t('cancelGroupSub') }}
-
-
-
diff --git a/website/client/components/group-plans/createGroupModalPages.vue b/website/client/components/group-plans/createGroupModalPages.vue
deleted file mode 100644
index 8e480a9c11..0000000000
--- a/website/client/components/group-plans/createGroupModalPages.vue
+++ /dev/null
@@ -1,156 +0,0 @@
-
-.create-group-modal-pages
- .col-12(v-if='activePage === PAGES.CREATE_GROUP')
- h2 {{ $t('nameYourGroup') }}
- .form-group
- label.control-label(for='new-group-name') {{ $t('name') }}
- input.form-control#new-group-name.input-medium.option-content(required, type='text', :placeholder="$t('exampleGroupName')", v-model='newGroup.name')
- .form-group
- label(for='new-group-description') {{ $t('description') }}
- textarea.form-control#new-group-description.option-content(cols='3', :placeholder="$t('exampleGroupDesc')", v-model='newGroup.description')
- .form-group.text-left(v-if='newGroup.type === "guild"')
- .custom-control.custom-radio
- input.custom-control-input(type='radio', name='new-group-privacy', value='private', v-model='newGroup.privacy')
- label.custom-control-label {{ $t('thisGroupInviteOnly') }}
- .form-group.text-left
- .custom-control.custom-checkbox
- input.custom-control-input(type='checkbox', v-model='newGroup.leaderOnly.challenges' id='create-group-leaderOnlyChallenges-checkbox')
- label.custom-control-label(for='create-group-leaderOnlyChallenges-checkbox') {{ $t('leaderOnlyChallenges') }}
- .form-group(v-if='newGroup.type === "party"')
- button.btn.btn-secondary.form-control(@click='createGroup()', :value="$t('createGroupPlan')")
- .form-group
- button.btn.btn-primary.btn-lg.btn-block(@click="createGroup()", :disabled="!newGroupIsReady") {{ $t('createGroupPlan') }}
- .col-12(v-if='activePage === PAGES.PAY')
- h2 {{ $t('choosePaymentMethod') }}
- .payments-column
- button.purchase.btn.btn-primary.payment-button.payment-item(@click='pay(PAYMENTS.STRIPE)')
- .svg-icon.credit-card-icon(v-html="icons.creditCardIcon")
- | {{ $t('card') }}
- amazon-button.payment-item(:amazon-data="pay(PAYMENTS.AMAZON)")
-
-
-
-
-
diff --git a/website/client/components/group-plans/groupPlanOverviewModal.vue b/website/client/components/group-plans/groupPlanOverviewModal.vue
deleted file mode 100644
index 11d28ebfb7..0000000000
--- a/website/client/components/group-plans/groupPlanOverviewModal.vue
+++ /dev/null
@@ -1,235 +0,0 @@
-
-b-modal#group-plan-overview(title="Empty", size='lg', hide-footer=true, @shown='shown()')
- .header-wrap.text-center(slot="modal-header")
- h2(v-once) {{ $t('gettingStarted') }}
- p(v-once) {{ $t('congratsOnGroupPlan') }}
- .row
- .col-12
- .card(:class='{expanded: expandedQuestions.question1}')
- .question-head
- .q Q.
- .title {{ $t('whatsIncludedGroup') }}
- .arrow.float-right(@click='toggle("question1")')
- .svg-icon(v-html="icons.upIcon", v-if='expandedQuestions.question1')
- .svg-icon(v-html="icons.downIcon", v-else)
- .question-body(v-if='expandedQuestions.question1')
- p {{ $t('whatsIncludedGroupDesc') }}
- .col-12
- .card(:class='{expanded: expandedQuestions.question2}')
- .question-head
- .q Q.
- .title {{ $t('howDoesBillingWork') }}
- .arrow.float-right(@click='toggle("question2")')
- .svg-icon(v-html="icons.upIcon", v-if='expandedQuestions.question2')
- .svg-icon(v-html="icons.downIcon", v-else)
- .question-body(v-if='expandedQuestions.question2')
- p {{ $t('howDoesBillingWorkDesc') }}
- .col-12
- .card(:class='{expanded: expandedQuestions.question3}')
- .question-head
- .q Q.
- .title {{ $t('howToAssignTask') }}
- .arrow.float-right(@click='toggle("question3")')
- .svg-icon(v-html="icons.upIcon", v-if='expandedQuestions.question3')
- .svg-icon(v-html="icons.downIcon", v-else)
- .question-body(v-if='expandedQuestions.question3')
- p {{ $t('howToAssignTaskDesc') }}
- .assign-tasks.image-example
- .col-12
- .card(:class='{expanded: expandedQuestions.question4}')
- .question-head
- .q Q.
- .title {{ $t('howToRequireApproval') }}
- .arrow.float-right(@click='toggle("question4")')
- .svg-icon(v-html="icons.upIcon", v-if='expandedQuestions.question4')
- .svg-icon(v-html="icons.downIcon", v-else)
- .question-body(v-if='expandedQuestions.question4')
- p {{ $t('howToRequireApprovalDesc') }}
- .requires-approval.image-example
- p {{ $t('howToRequireApprovalDesc2') }}
- .approval-requested.image-example
- .col-12
- .card(:class='{expanded: expandedQuestions.question5}')
- .question-head
- .q Q.
- .title {{ $t('whatIsGroupManager') }}
- .arrow.float-right(@click='toggle("question5")')
- .svg-icon(v-html="icons.upIcon", v-if='expandedQuestions.question5')
- .svg-icon(v-html="icons.downIcon", v-else)
- .question-body(v-if='expandedQuestions.question5')
- p {{ $t('whatIsGroupManagerDesc') }}
- .promote-leader.image-example
- .col-12.text-center
- button.btn.btn-primary.close-button(@click='close()') {{ $t('goToTaskBoard') }}
-
-
-
-
-
-
-
diff --git a/website/client/components/group-plans/index.vue b/website/client/components/group-plans/index.vue
deleted file mode 100644
index 82a20d244d..0000000000
--- a/website/client/components/group-plans/index.vue
+++ /dev/null
@@ -1,48 +0,0 @@
-
-.row
- group-form-modal
- secondary-menu.col-12
- router-link.nav-link(:to="{name: 'groupPlanDetailTaskInformation', params: {groupId}}",
- exact, :class="{'active': $route.name === 'groupPlanDetailTaskInformation'}") {{ $t('groupTaskBoard') }}
- router-link.nav-link(:to="{name: 'groupPlanDetailInformation', params: {groupId}}",
- exact, :class="{'active': $route.name === 'groupPlanDetailInformation'}") {{ $t('groupInformation') }}
- router-link.nav-link(
- v-if='isLeader',
- :to="{name: 'groupPlanBilling', params: {groupId}}",
- exact,
- :class="{'active': $route.name === 'groupPlanBilling'}") {{ $t('groupBilling') }}
-
- .col-12
- router-view
-
-
-
diff --git a/website/client/components/groupLink.vue b/website/client/components/groupLink.vue
deleted file mode 100644
index e1861565f9..0000000000
--- a/website/client/components/groupLink.vue
+++ /dev/null
@@ -1,25 +0,0 @@
-
- b-link(
- v-if='group',
- @click.prevent='goToGroup'
- ) {{group.name}}
-
-
-
\ No newline at end of file
diff --git a/website/client/components/groups/chat.vue b/website/client/components/groups/chat.vue
deleted file mode 100644
index 424fc71e33..0000000000
--- a/website/client/components/groups/chat.vue
+++ /dev/null
@@ -1,313 +0,0 @@
-
- .row.chat-row
- .col-12
- h3.float-left.label(:class="{accepted: communityGuidelinesAccepted }") {{ label }}
- div.float-right(v-markdown='$t("markdownFormattingHelp")')
-
- .row(v-if="communityGuidelinesAccepted")
- textarea(:placeholder='placeholder',
- v-model='newMessage',
- ref='user-entry',
- :class='{"user-entry": newMessage}',
- @keydown='updateCarretPosition',
- @keyup.ctrl.enter='sendMessageShortcut()',
- @keydown.tab='handleTab($event)',
- @keydown.up='selectPreviousAutocomplete($event)',
- @keydown.down='selectNextAutocomplete($event)',
- @keydown.enter='selectAutocomplete($event)',
- @keydown.esc='handleEscape($event)',
- @paste='disableMessageSendShortcut()',
- maxlength='3000'
- )
- span {{ currentLength }} / 3000
- autocomplete(
- ref='autocomplete',
- :text='newMessage',
- v-on:select="selectedAutocomplete",
- :textbox='textbox',
- :coords='coords',
- :caretPosition = 'caretPosition',
- :chat='group.chat')
-
- community-guidelines
-
- .row.chat-actions
- .col-6.chat-receive-actions
- button.btn.btn-secondary.float-left.fetch(v-once, @click='fetchRecentMessages()') {{ $t('fetchRecentMessages') }}
- button.btn.btn-secondary.float-left(v-once, @click='reverseChat()') {{ $t('reverseChat') }}
- .col-6.chat-send-actions
- button.btn.btn-primary.send-chat.float-right(:disabled="!communityGuidelinesAccepted", @click='sendMessage()') {{ $t('send') }}
-
- slot(
- name="additionRow",
- )
-
- .row
- .hr.col-12
- chat-message(:chat.sync='group.chat', :group-type='group.type', :group-id='group._id', :group-name='group.name')
-
-
-
-
-
diff --git a/website/client/components/groups/createPartyModal.vue b/website/client/components/groups/createPartyModal.vue
deleted file mode 100644
index 6e0ea2956a..0000000000
--- a/website/client/components/groups/createPartyModal.vue
+++ /dev/null
@@ -1,194 +0,0 @@
-
-b-modal#create-party-modal(size='lg', hide-footer=true)
- .header-wrap(slot="modal-header")
- .quest_screen
- .row.heading
- .col-12.text-center.pr-5.pl-5
- h2(v-once) {{ $t('playInPartyTitle') }}
- p.mb-4(v-once) {{ $t('playInPartyDescription') }}
- button.btn.btn-primary(v-once, @click='createParty()') {{ $t('createParty') }}
- .row.grey-row
- .col-12.text-center
- .join-party
- h2(v-once) {{ $t('wantToJoinPartyTitle') }}
- p(v-html='$t("wantToJoinPartyDescription")')
- .form-group(@click='copyUsername')
- .d-flex.align-items-center
- label.mr-3(v-once) {{ $t('username') }}
- .flex-grow-1
- .input-group-prepend.input-group-text @
- .text {{ user.auth.local.username }}
- .svg-icon.copy-icon(v-html='icons.copy')
- .small(v-once) {{ $t('copy') }}
-
-
-
-
-
-
-
diff --git a/website/client/components/groups/groupFormModal.vue b/website/client/components/groups/groupFormModal.vue
deleted file mode 100644
index 55b52da07a..0000000000
--- a/website/client/components/groups/groupFormModal.vue
+++ /dev/null
@@ -1,454 +0,0 @@
-
- b-modal#guild-form(:title="title", :hide-footer="true", size='lg')
- form(@submit.stop.prevent="submit")
- .form-group
- label
- strong(v-once) {{$t('name')}} *
- b-form-input(type="text", :placeholder="$t('newGuildPlaceholder')", v-model="workingGroup.name")
- .form-group
- label
- strong(v-once) {{$t('privacySettings')}} *
- br
- .custom-control.custom-checkbox
- input.custom-control-input#onlyLeaderCreatesChallenges(type="checkbox", v-model="workingGroup.onlyLeaderCreatesChallenges")
- label.custom-control-label(v-once, for="onlyLeaderCreatesChallenges") {{ $t('onlyLeaderCreatesChallenges') }}
- #groupPrivateDescription1.icon(:title="$t('privateDescription')")
- .svg-icon(v-html='icons.information')
- b-tooltip(
- :title="$t('onlyLeaderCreatesChallengesDetail')",
- target="groupPrivateDescription1",
- )
-
- // br
- // @TODO Implement in V2 .custom-control.custom-checkbox
- input.custom-control-input(type="checkbox", v-model="workingGroup.guildLeaderCantBeMessaged")
- label.custom-control-label(v-once) {{ $t('guildLeaderCantBeMessaged') }}
- // "guildLeaderCantBeMessaged": "Leader can not be messaged directly",
- // @TODO discuss the impact of this with moderators before implementing
-
- br
- .custom-control.custom-checkbox(v-if='!isParty && !this.workingGroup.id')
- input.custom-control-input#privateGuild(type="checkbox", v-model="workingGroup.privateGuild")
- label.custom-control-label(v-once, for="privateGuild") {{ $t('privateGuild') }}
- #groupPrivateDescription2.icon(:title="$t('privateDescription')")
- .svg-icon(v-html='icons.information')
- b-tooltip(
- :title="$t('privateDescription')",
- target="groupPrivateDescription2",
- )
-
- // br
- // @TODO: Implement in v2 .custom-control.custom-checkbox(v-if='!creatingParty')
- input.custom-control-input(type="checkbox", v-model="workingGroup.allowGuildInvitationsFromNonMembers")
- label.custom-control-label(v-once) {{ $t('allowGuildInvitationsFromNonMembers') }}
- // "allowGuildInvitationsFromNonMembers": "Allow Guild invitations from non-members",
-
- .form-group(v-if='!isParty')
- label
- strong(v-once) {{$t('guildSummary')}} *
- div.summary-count {{ $t('charactersRemaining', {characters: charactersRemaining}) }}
- textarea.form-control.summary-textarea(:placeholder="isParty ? $t('partyDescriptionPlaceholder') : $t('guildSummaryPlaceholder')", v-model="workingGroup.summary")
- // @TODO: need summary only for PUBLIC GUILDS, not for tavern, private guilds, or party
-
- .form-group
- label
- strong(v-once) {{$t('groupDescription')}} *
- a.float-right(v-markdown='$t("markdownFormattingHelp")')
- textarea.form-control.description-textarea(type="text", textarea, :placeholder="isParty ? $t('partyDescriptionPlaceholder') : $t('guildDescriptionPlaceholder')", v-model="workingGroup.description")
-
- .form-group(v-if='creatingParty && !workingGroup.id')
- span
- toggleSwitch(:label="$t('inviteMembersNow')", v-model='inviteMembers')
-
- .form-group(style='position: relative;', v-if='!creatingParty && !isParty')
- label
- strong(v-once) {{$t('categories')}} *
- div.category-wrap(@click.prevent="toggleCategorySelect")
- span.category-select(v-if='workingGroup.categories.length === 0') {{$t('none')}}
- .category-label(v-for='category in workingGroup.categories') {{$t(categoriesHashByKey[category])}}
- .category-box(v-if="showCategorySelect")
- .form-check(
- v-for="group in categoryOptions",
- :key="group.key",
- v-if='group.key !== "habitica_official" || user.contributor.admin'
- )
- .custom-control.custom-checkbox
- input.custom-control-input(:id="`category-${group.key}`", type="checkbox", :value="group.key", v-model="workingGroup.categories")
- label.custom-control-label(v-once, :for="`category-${group.key}`") {{ $t(group.label) }}
- button.btn.btn-primary(@click.prevent="toggleCategorySelect") {{$t('close')}}
- // @TODO: need categories only for PUBLIC GUILDS, not for tavern, private guilds, or party
-
- .form-group(v-if='inviteMembers && !workingGroup.id')
- label
- strong(v-once) Invite via Email or User ID
- p(v-once) {{$t('inviteMembersHowTo')}} *
-
- div
- div(v-for='(member, index) in membersToInvite')
- input(type='text', v-model='member.value')
- button(@click.prevent='removeMemberToInvite(index)') Remove
- div
- input(type='text', placeholder='Email address or User ID', v-model='newMemberToInvite.value')
- button(@click.prevent='addMemberToInvite()') Add
-
- .form-group.text-center
- div.item-with-icon(v-if='!this.workingGroup.id')
- .svg-icon(v-html="icons.gem")
- span.count 4
- button.btn.btn-primary.btn-md(v-if='!workingGroup.id', :disabled='!workingGroup.name || !workingGroup.description') {{ creatingParty ? $t('createParty') : $t('createGuild') }}
- button.btn.btn-primary.btn-md(v-if='workingGroup.id', :disabled='!workingGroup.name || !workingGroup.description') {{ isParty ? $t('updateParty') : $t('updateGuild') }}
- .gem-description(v-once, v-if='!this.workingGroup.id') {{ $t('guildGemCostInfo') }}
-
-
-
-
-
diff --git a/website/client/components/groups/groupGemsModal.vue b/website/client/components/groups/groupGemsModal.vue
deleted file mode 100644
index 769451d6b9..0000000000
--- a/website/client/components/groups/groupGemsModal.vue
+++ /dev/null
@@ -1,27 +0,0 @@
-
- b-modal#group-gems-modal(:title="$t('groupGems')", size='md', :hide-footer="true")
- .modal-body
- .row
- .col-6.offset-3
- h3 {{ $t('groupGemsDesc') }}
- .modal-footer
- .col-12.text-center
- button.btn.btn-primary(@click='close()') {{$t('close')}}
-
-
-
-
-
diff --git a/website/client/components/groups/groupPlan.vue b/website/client/components/groups/groupPlan.vue
deleted file mode 100644
index 8d30345589..0000000000
--- a/website/client/components/groups/groupPlan.vue
+++ /dev/null
@@ -1,382 +0,0 @@
-
-// @TODO: Move to group plans folder
-div
- div
- .header
- h1.text-center Need more for your Group?
- .row
- .col-8.offset-2.text-center
- h2.sub-text {{ $t('groupBenefitsDescription') }}
- .container.benefits
- .row
- .col-4
- .box
- img.box1(src='~client/assets/images/group-plans/group-14@3x.png')
- hr
- h2 {{ $t('teamBasedTasks') }}
- p Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!
-
- .col-4
- .box
- img.box2(src='~client/assets/images/group-plans/group-12@3x.png')
- hr
- h2 Group Management Controls
- p Use task approvals to verify that a task that was really completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.
-
- .col-4
- .box
- img.box3(src='~client/assets/images/group-plans/group-13@3x.png')
- hr
- h2 In-Game Benefits
- p Group members get an exclusive Jackalope Mount, as well as full subscription benefits, including special monthly equipment sets and the ability to buy gems with gold.
-
- #upgrading-group.container.payment-options(v-if='upgradingGroup._id')
- h1.text-center.purple-header Are you ready to upgrade?
- .row
- .col-12.text-center
- .purple-box
- .amount-section
- .dollar $
- .number 9
- .name Group Owner Subscription
- .plus
- .svg-icon(v-html="icons.positiveIcon")
- .amount-section
- .dollar $
- .number 3
- .name Each Individual Group Member
-
- .box.payment-providers
- h3 Choose your payment method
- .payments-column
- button.purchase.btn.btn-primary.payment-button.payment-item(@click='pay(PAYMENTS.STRIPE)')
- .svg-icon.credit-card-icon(v-html="icons.creditCardIcon")
- | {{ $t('card') }}
- amazon-button.payment-item(:amazon-data="pay(PAYMENTS.AMAZON)")
- .container.col-6.offset-3.create-option(v-if='!upgradingGroup._id')
- .row
- h1.col-12.text-center.purple-header Create your Group today!
- .row
- .col-12.text-center
- button.btn.btn-primary.create-group(@click='launchModal("create")') Create Your New Group
- .row.pricing
- .col-5
- .dollar $
- .number 9
- .name
- div Group Owner
- div Subscription
- .col-1
- .plus +
- .col-6
- .dollar $
- .number 3
- .name
- div Each Additional
- div Member
-
- b-modal#group-plan-modal(title="Select Payment", size='md', hide-footer=true)
- .col-12(v-if='activePage === PAGES.CREATE_GROUP')
- .form-group
- label.control-label(for='new-group-name') Name
- input.form-control#new-group-name.input-medium.option-content(required, type='text', placeholder="Name", v-model='newGroup.name')
- .form-group
- label(for='new-group-description') {{ $t('description') }}
- textarea.form-control#new-group-description.option-content(cols='3', :placeholder="$t('description')", v-model='newGroup.description')
- .form-group(v-if='type === "guild"')
- .custom-control.custom-radio
- input.custom-control-input(type='radio', name='new-group-privacy', value='private', v-model='newGroup.privacy')
- label.custom-control-label {{ $t('inviteOnly') }}
- .form-group
- .custom-control.custom-checkbox
- input.custom-control-input(type='checkbox', v-model='newGroup.leaderOnly.challenges' id='create-group-leaderOnlyChallenges-checkbox')
- label.custom-control-label(for='create-group-leaderOnlyChallenges-checkbox') {{ $t('leaderOnlyChallenges') }}
- .form-group(v-if='type === "party"')
- button.btn.btn-secondary.form-control(@click='createGroup()', :value="$t('createGroupPlan')")
- .form-group
- button.btn.btn-primary.btn-lg.btn-block(@click="createGroup()", :disabled="!newGroupIsReady") {{ $t('createGroupPlan') }}
- .col-12(v-if='activePage === PAGES.PAY')
- .text-center
- h3 Choose your payment method
- .payments-column.mx-auto
- button.purchase.btn.btn-primary.payment-button.payment-item(@click='pay(PAYMENTS.STRIPE)')
- .svg-icon.credit-card-icon(v-html="icons.creditCardIcon")
- | {{ $t('card') }}
- amazon-button.payment-item(:amazon-data="pay(PAYMENTS.AMAZON)")
-
-
-
-
-
diff --git a/website/client/components/groups/index.vue b/website/client/components/groups/index.vue
deleted file mode 100644
index d06e409333..0000000000
--- a/website/client/components/groups/index.vue
+++ /dev/null
@@ -1,24 +0,0 @@
-
-.row
- secondary-menu.col-12
- router-link.nav-link(:to="{name: 'tavern'}", exact, :class="{'active': $route.name === 'tavern'}") {{ $t('tavern') }}
- router-link.nav-link(:to="{name: 'myGuilds'}", :class="{'active': $route.name === 'myGuilds'}") {{ $t('myGuilds') }}
- router-link.nav-link(:to="{name: 'guildsDiscovery'}", :class="{'active': $route.name === 'guildsDiscovery'}") {{ $t('guildsDiscovery') }}
-
- .col-12
- router-view
-
- group-form-modal
-
-
-
diff --git a/website/client/components/groups/inviteModal.vue b/website/client/components/groups/inviteModal.vue
deleted file mode 100644
index a1e8a312eb..0000000000
--- a/website/client/components/groups/inviteModal.vue
+++ /dev/null
@@ -1,199 +0,0 @@
-
- b-modal#invite-modal(:title='$t(`inviteTo${groupType}`)', :hide-footer='true')
- div
- strong {{ $t('inviteEmailUsername') }}
- .small {{ $t('inviteEmailUsernameInfo') }}
- div(v-for='(invite, index) in invites')
- .input-group
- .d-flex.align-items-center.justify-content-center(v-if='index === invites.length - 1 && invite.text.length === 0')
- .svg-icon.positive-icon(v-html='icons.positiveIcon')
- input.form-control(
- type='text',
- :placeholder='$t("emailOrUsernameInvite")',
- v-model='invite.text',
- v-on:keyup='expandInviteList',
- v-on:change='checkInviteList',
- :class='{"input-valid": invite.valid, "is-invalid input-invalid": invite.valid === false}',
- )
- .input-error.text-center.mt-2(v-if="invite.error") {{ invite.error }}
- .modal-footer.d-flex.justify-content-center
- a.mr-3(@click='close()') {{ $t('cancel') }}
- button.btn.btn-primary(@click='sendInvites()', :class='{disabled: cannotSubmit}', :disabled='cannotSubmit') {{ $t('sendInvitations') }}
-
-
-
-
-
-
-
diff --git a/website/client/components/groups/myGuilds.vue b/website/client/components/groups/myGuilds.vue
deleted file mode 100644
index 9cbd87ee79..0000000000
--- a/website/client/components/groups/myGuilds.vue
+++ /dev/null
@@ -1,144 +0,0 @@
-
-.row
- sidebar(v-on:search="updateSearch", v-on:filter="updateFilters")
-
- .standard-page
- .row
- .col-md-8.text-left
- h1.page-header(v-once) {{ $t('myGuilds') }}
- h2(v-if='loading && guilds.length === 0') {{ $t('loading') }}
- .col-4
- button.btn.btn-secondary.create-group-button.float-right(@click='createGroup()')
- .svg-icon.positive-icon(v-html="icons.positiveIcon")
- span(v-once) {{$t('createGuild2')}}
- // @TODO: Add when we implement recent activity .float-right
- span.dropdown-label {{ $t('sortBy') }}
- b-dropdown(:text="$t('sort')", right=true)
- b-dropdown-item(v-for='sortOption in sortOptions', :key="sortOption.value", @click='sort(sortOption.value)') {{sortOption.text}}
-
- .row
- .no-guilds.text-center.col-md-6.offset-md-3(v-if='!loading && guilds.length === 0')
- .svg-icon(v-html='icons.greyBadge')
- h2(v-once) {{$t('noGuildsTitle')}}
- p(v-once) {{$t('noGuildsParagraph1')}}
- p(v-once) {{$t('noGuildsParagraph2')}}
-
- .row
- .no-guilds.text-center.col-md-6.offset-md-3(v-if='!loading && guilds.length > 0 && filteredGuilds.length === 0')
- h2(v-once) {{$t('noGuildsMatchFilters')}}
-
- .row
- .col-md-12
- public-guild-item(v-for="guild in filteredGuilds", :key='guild._id', :guild="guild", :display-gem-bank='true')
-
-
-
-
-
diff --git a/website/client/components/groups/newPartyModal.pug b/website/client/components/groups/newPartyModal.pug
deleted file mode 100644
index 7cecf2c272..0000000000
--- a/website/client/components/groups/newPartyModal.pug
+++ /dev/null
@@ -1,20 +0,0 @@
-
-div
- button.btn.btn-primary(b-btn, @click="$root.$emit('bv::show::modal','new-party-modal')") {{ $t('viewMembers') }}
-
- b-modal#new-party-modal(:title="$t('createGuild')", size='lg')
- .header-wrap(slot="modal-header")
- .row
- .col-6
- h1(v-once) {{$t('members')}}
- .col-6
- button(type="button" aria-label="Close" class="close")
- span(aria-hidden="true") ×
- .row
- .form-group.col-6
- input.form-control.search(type="text", :placeholder="$t('search')", v-model='searchTerm')
- .col-4.offset-2
- span.dropdown-label {{ $t('sortBy') }}
- b-dropdown(:text="$t('sort')", right=true)
- b-dropdown-item(v-for='sortOption in sortOptions', @click='sort(sortOption.value)', :key='sortOption.value') {{sortOption.text}}
-
diff --git a/website/client/components/groups/publicGuildItem.vue b/website/client/components/groups/publicGuildItem.vue
deleted file mode 100644
index 0fb9d5244f..0000000000
--- a/website/client/components/groups/publicGuildItem.vue
+++ /dev/null
@@ -1,195 +0,0 @@
-
-router-link.card-link(:to="{ name: 'guild', params: { groupId: guild._id } }")
- .card
- .card-body
- .row
- .col-md-2.badge-column
- .shield-wrap(:class="{gold: guild.memberCount >= 1000, silver: guild.memberCount >= 100 && guild.memberCount < 1000}")
- .svg-icon.shield(v-html="icons.goldGuildBadge", v-if='guild.memberCount >= 1000')
- .svg-icon.shield(v-html="icons.silverGuildBadgeIcon", v-if='guild.memberCount >= 100 && guild.memberCount < 1000')
- .svg-icon.shield(v-html="icons.bronzeGuildBadgeIcon", v-if='guild.memberCount < 100')
- .member-count {{ guild.memberCount | abbrNum }}
- .col-md-10
- .row
- .col-md-8
- router-link(:to="{ name: 'guild', params: { groupId: guild._id } }")
- h3 {{ guild.name }}
- p.summary(v-if='guild.summary') {{guild.summary.substr(0, MAX_SUMMARY_SIZE_FOR_GUILDS)}}
- p.summary(v-else) {{ guild.name }}
- .col-md-2.cta-container
- button.btn.btn-danger(v-if='isMember && displayLeave' @click.prevent='leave()', v-once) {{ $t('leave') }}
- button.btn.btn-success(v-if='!isMember' @click='join()', v-once) {{ $t('join') }}
- div.item-with-icon.gem-bank(v-if='displayGemBank')
- .svg-icon.gem(v-html="icons.gem")
- span.count {{ guild.balance * 4 }}
- div.guild-bank(v-if='displayGemBank', v-once) {{$t('guildBank')}}
- .row
- category-tags.col-md-12(:categories="guild.categories", :owner="isOwner", v-once)
- span.recommend-text(v-if='showSuggested(guild._id)') {{$t('suggestedGroup')}}
-
-
-
-
-
diff --git a/website/client/components/groups/questDetailsModal.vue b/website/client/components/groups/questDetailsModal.vue
deleted file mode 100644
index e025221025..0000000000
--- a/website/client/components/groups/questDetailsModal.vue
+++ /dev/null
@@ -1,224 +0,0 @@
-
- b-modal#quest-details(title="Empty", size='md', :hide-footer="true", :hide-header="true")
- .left-panel.content
- h3.text-center {{ $t('participantsTitle') }}
- .row
- .col-10.offset-1.text-center
- span.description(v-once) {{ $t('participantDesc') }}
- .row
- .col-12.member(v-for='member in members')
- strong(:class="{'declined-name': member.accepted === false}") {{member.name}}
- .accepted.float-right(v-if='member.accepted === true') {{ $t('accepted') }}
- .declined.float-right(v-if='member.accepted === false') {{ $t('declined') }}
- .pending.float-right(v-if='member.accepted === null') {{ $t('pending') }}
- div(v-if='questData')
- questDialogContent(:item="questData")
- div.text-center.actions(v-if='canEditQuest')
- div
- button.btn.btn-secondary(v-once, @click="questConfirm()") {{ $t('begin') }}
- // @TODO don't allow the party leader to start the quest until the leader has accepted or rejected the invitation (users get confused and think "begin" means "join quest")
- div
- .cancel(v-once, @click="questCancel()") {{ $t('cancel') }}
- .side-panel(v-if='questData')
- questDialogDrops(:item="questData")
-
-
-
-
-
diff --git a/website/client/components/groups/questSidebarSection.vue b/website/client/components/groups/questSidebarSection.vue
deleted file mode 100644
index 66ed19ae56..0000000000
--- a/website/client/components/groups/questSidebarSection.vue
+++ /dev/null
@@ -1,294 +0,0 @@
-
-sidebar-section(:title="$t('questDetailsTitle')")
- .row.no-quest-section(v-if='!onPendingQuest && !onActiveQuest')
- .col-12.text-center
- .svg-icon(v-html="icons.questIcon")
- h4(v-once) {{ $t('youAreNotOnQuest') }}
- p(v-once) {{ $t('questDescription') }}
- button.btn.btn-secondary(v-once, @click="openStartQuestModal()") {{ $t('startAQuest') }}
- .row.quest-active-section(v-if='onPendingQuest && !onActiveQuest')
- .col-2
- .quest(:class='`inventory_quest_scroll_${questData.key}`')
- .col-6.titles
- strong {{ questData.text() }}
- p {{acceptedCount}} / {{group.memberCount}}
- .col-4
- button.btn.btn-secondary(@click="openQuestDetails()") {{ $t('details') }}
- .row.quest-active-section.quest-invite(v-if='user.party.quest && user.party.quest.RSVPNeeded')
- span {{ $t('wouldYouParticipate') }}
- button.btn.btn-primary.accept(@click='questAccept(group._id)') {{$t('accept')}}
- button.btn.btn-primary.reject(@click='questReject(group._id)') {{$t('reject')}}
- .row.quest-active-section(v-if='!onPendingQuest && onActiveQuest')
- .col-12.text-center
- .quest-boss(:class="'quest_' + questData.key")
- h3(v-once) {{ questData.text() }}
- .quest-box
- .collect-info(v-if='questData.collect')
- .row
- .col-12
- a.float-right(@click="openParticipantList()") {{ $t('participantsTitle') }}
- .row(v-for='(value, key) in questData.collect')
- .col-2
- div(:class="'quest_' + questData.key + '_' + key")
- .col-10
- strong {{value.text()}}
- .grey-progress-bar
- .collect-progress-bar(:style="{width: (group.quest.progress.collect[key] / value.count) * 100 + '%'}")
- strong {{group.quest.progress.collect[key]}} / {{value.count}}
- div.text-right(v-if='userIsOnQuest') {{parseFloat(user.party.quest.progress.collectedItems) || 0}} items found
- .boss-info(v-if='questData.boss')
- .row
- .col-6
- h4.float-left(v-once) {{ questData.boss.name() }}
- .col-6
- a.float-right(@click="openParticipantList()") {{ $t('participantsTitle') }}
- .row
- .col-12
- .grey-progress-bar
- .boss-health-bar(:style="{width: bossHpPercent + '%'}")
- .row.boss-details
- .col-6
- span.float-left
- | {{ Math.ceil(parseFloat(group.quest.progress.hp) * 100) / 100 }} / {{ parseFloat(questData.boss.hp).toFixed(2) }}
- // current boss hp uses ceil so you don't underestimate damage needed to end quest
- .col-6(v-if='userIsOnQuest')
- // @TODO: Why do we not sync quest progress on the group doc? Each user could have different progress.
- span.float-right {{ user.party.quest.progress.up | floor(10) }} {{ $t('pendingDamageLabel') }}
- // player's pending damage uses floor so you don't overestimate damage you've already done
- .row.rage-bar-row(v-if='questData.boss.rage')
- .col-12
- .grey-progress-bar
- .boss-health-bar.rage-bar(:style="{width: (group.quest.progress.rage / questData.boss.rage.value) * 100 + '%'}")
- .row.boss-details.rage-details(v-if='questData.boss.rage')
- .col-6
- span.float-left {{ $t('rage') }} {{ parseFloat(group.quest.progress.rage).toFixed(2) }} / {{ questData.boss.rage.value }}
- button.btn.btn-secondary(v-once, @click="questAbort()", v-if='canEditQuest') {{ $t('abort') }}
-
-
-
-
-
diff --git a/website/client/components/groups/tavern.vue b/website/client/components/groups/tavern.vue
deleted file mode 100644
index 86776fb7d9..0000000000
--- a/website/client/components/groups/tavern.vue
+++ /dev/null
@@ -1,550 +0,0 @@
-
-.row
- world-boss-info-modal
- world-boss-rage-modal
- .col-12.col-sm-8.clearfix.standard-page
- .row
- .col-6.title-details
- h1(v-once) {{ $t('welcomeToTavern') }}
-
- chat(
- :label="$t('tavernChat')",
- :group="group",
- :placeholder="$t('tavernCommunityGuidelinesPlaceholder')",
- @fetchRecentMessages="fetchRecentMessages()"
- )
- .col-12.col-sm-4.sidebar
- .section
- .grassy-meadow-backdrop
- .daniel_front
-
- .boss-section
- .world-boss(v-if='group && group.quest && group.quest.active', :style="{background: questData.colors.dark, 'border-color': questData.colors.extralight, 'outline-color': questData.colors.light}")
- .corner-decoration(:style="{top: '-2px', right: '-2px'}")
- .corner-decoration(:style="{top: '-2px', left: '-2px'}")
- .corner-decoration(:style="{bottom: '-2px', right: '-2px'}")
- .corner-decoration(:style="{bottom: '-2px', left: '-2px'}")
- .text-center.float-bar.d-flex.align-items-center
- span.diamond
- span.strong.reduce(:style="{background: questData.colors.dark}") {{ $t('worldBossEvent') }}
- span.diamond
- .boss-gradient.pb-3.pt-3
- p.text-center.reduce(:style="{color: questData.colors.extralight}") {{ $t(`${questData.key}ArtCredit`) }}
- .quest-boss(:class="'background_' + questData.key")
- .quest-boss(:class="'quest_' + questData.key")
- .quest-boss(:class="'phobia_' + questData.key", :style="{display: 'none'}")
- .p-3
- .row.d-flex.align-items-center.mb-2
- .col-sm-6
- strong.float-left {{ questData.boss.name() }}
- .col-sm-6
- span.d-flex.float-right
- .svg-icon.boss-icon(v-html="icons.swordIcon")
- span.ml-1.reduce(:style="{color: questData.colors.extralight}") {{ $t('pendingDamage', {damage: pendingDamage()}) }}
- .grey-progress-bar.mb-1
- .boss-health-bar(:style="{width: (group.quest.progress.hp / questData.boss.hp) * 100 + '%'}")
- span.d-flex.align-items-center
- .svg-icon.boss-icon(v-html="icons.healthIcon")
- span.reduce.ml-1.pt-1 {{ $t('bossHealth', {currentHealth: bossCurrentHealth(), maxHealth: questData.boss.hp.toLocaleString()}) }}
- .mt-3.mb-2
- strong.mr-1 {{ $t('rageAttack') }}
- span {{ questData.boss.rage.title() }}
- .grey-progress-bar.mb-1
- .boss-health-bar.rage-bar(:style="{width: (group.quest.progress.rage / questData.boss.rage.value) * 100 + '%'}")
- span.d-flex.align-items-center
- .svg-icon.boss-icon(v-html="icons.rageIcon")
- span.reduce.ml-1.pt-1 {{ $t('bossRage', {currentRage: bossCurrentRage(), maxRage: questData.boss.rage.value.toLocaleString()}) }}
- .row.d-flex.align-items-center.mb-2.mt-2
- .col-sm-4.d-flex
- strong.mr-2 {{ $t('rageStrikes') }}
- .svg-icon.boss-icon.information-icon.m-auto(v-html="icons.informationIcon", v-b-tooltip.hover.top="questData.boss.rage.description()")
- .col-sm-8.d-flex.align-items-center.justify-content-center
- .m-auto(@click="showWorldBossRage('seasonalShop')")
- img.rage-strike(src="~assets/images/world-boss/rage_strike@2x.png", v-if="!group.quest.extra.worldDmg.seasonalShop")
- img.rage-strike-active(src="~assets/images/world-boss/rage_strike-seasonalShop@2x.png", v-if="group.quest.extra.worldDmg.seasonalShop")
- .m-auto(@click="showWorldBossRage('market')")
- img.rage-strike(src="~assets/images/world-boss/rage_strike@2x.png", v-if="!group.quest.extra.worldDmg.market")
- img.rage-strike-active(src="~assets/images/world-boss/rage_strike-market@2x.png", v-if="group.quest.extra.worldDmg.market")
- .m-auto(@click="showWorldBossRage('quests')")
- img.rage-strike(src="~assets/images/world-boss/rage_strike@2x.png", v-if="!group.quest.extra.worldDmg.quests")
- img.rage-strike-active(src="~assets/images/world-boss/rage_strike-quests@2x.png", v-if="group.quest.extra.worldDmg.quests")
- .boss-description.p-3(:style="{'border-color': questData.colors.extralight}", @click="sections.worldBoss = !sections.worldBoss")
- strong.float-left {{ $t('worldBossDescription') }}
- .float-right
- .toggle-down(v-if="!sections.worldBoss")
- .svg-icon.boss-icon(v-html="icons.chevronIcon")
- .toggle-up(v-if="sections.worldBoss")
- .svg-icon.boss-icon.reverse(v-html="icons.chevronIcon")
- .mt-3(v-if="sections.worldBoss", v-html="questData.notes()")
- // .text-center.mt-4
- .world-boss-info-button(@click="showWorldBossInfo()") {{$t('whatIsWorldBoss') }}
-
- .sleep.below-header-sections
- strong(v-once) {{ $t('sleepDescription') }}
- ul
- li(v-once) {{ $t('sleepBullet1') }}
- li(v-once) {{ $t('sleepBullet2') }}
- li(v-once) {{ $t('sleepBullet3') }}
- li(v-once) {{ $t('sleepBullet4') }}
- button.btn.btn-secondary.pause-button(v-if='!user.preferences.sleep', @click='toggleSleep()', v-once) {{ $t('pauseDailies') }}
- button.btn.btn-secondary.pause-button(v-if='user.preferences.sleep', @click='toggleSleep()', v-once) {{ $t('unpauseDailies') }}
- .px-3
- sidebar-section(:title="$t('staffAndModerators')")
- .row
- .col-4.staff(v-for='user in staff', :class='{staff: user.type === "Staff", moderator: user.type === "Moderator", bailey: user.name === "It\'s Bailey"}')
- div
- router-link.title(:to="{'name': 'userProfile', 'params': {'userId': user.uuid}}") {{user.name}}
- .svg-icon.staff-icon(v-html="icons.tierStaff", v-if='user.type === "Staff"')
- .svg-icon.mod-icon(v-html="icons.tierMod", v-if='user.type === "Moderator" && user.name !== "It\'s Bailey"')
- .svg-icon.npc-icon(v-html="icons.tierNPC", v-if='user.name === "It\'s Bailey"')
- .type {{user.type}}
-
- sidebar-section(:title="$t('helpfulLinks')")
- ul
- li
- a(href='', @click.prevent='modForm()') {{ $t('contactForm') }}
- li
- router-link(to='/static/community-guidelines', v-once) {{ $t('communityGuidelinesLink') }}
- li
- router-link(to="/groups/guild/f2db2a7f-13c5-454d-b3ee-ea1f5089e601") {{ $t('lookingForGroup') }}
- li
- router-link(to='/static/faq', v-once) {{ $t('faq') }}
- li
- a(href='', v-html="$t('glossary')")
- li
- a(href='http://habitica.fandom.com/wiki/Habitica_Wiki' target='_blank', v-once) {{ $t('wiki') }}
- li
- a(href='https://oldgods.net/habitrpg/habitrpg_user_data_display.html', target='_blank', v-once) {{ $t('dataDisplayTool') }}
- li
- router-link(to="/groups/guild/a29da26b-37de-4a71-b0c6-48e72a900dac") {{ $t('reportProblem') }}
- li
- a(href='https://trello.com/c/odmhIqyW/440-read-first-table-of-contents', target='_blank', v-once) {{ $t('requestFeature') }}
- li
- a(href='', v-html="$t('communityForum')")
- li
- router-link(to="/groups/guild/5481ccf3-5d2d-48a9-a871-70a7380cee5a") {{ $t('askQuestionGuild') }}
-
- sidebar-section(:title="$t('playerTiers')")
- .row
- .col-12
- p(v-once) {{ $t('playerTiersDesc') }}
- ul.tier-list
- li.tier1(v-once)
- | {{ $t('tier1') }}
- .svg-icon.tier1-icon(v-html="icons.tier1")
- li.tier2(v-once)
- | {{ $t('tier2') }}
- .svg-icon.tier2-icon(v-html="icons.tier2")
- li.tier3(v-once)
- | {{ $t('tier3') }}
- .svg-icon.tier3-icon(v-html="icons.tier3")
- li.tier4(v-once)
- | {{ $t('tier4') }}
- .svg-icon.tier4-icon(v-html="icons.tier4")
- li.tier5(v-once)
- | {{ $t('tier5') }}
- .svg-icon.tier5-icon(v-html="icons.tier5")
- li.tier6(v-once)
- | {{ $t('tier6') }}
- .svg-icon.tier6-icon(v-html="icons.tier6")
- li.tier7(v-once)
- | {{ $t('tier7') }}
- .svg-icon.tier7-icon(v-html="icons.tier7")
- li.moderator(v-once)
- | {{ $t('tierModerator') }}
- .svg-icon.mod-icon(v-html="icons.tierMod")
- li.staff(v-once)
- | {{ $t('tierStaff') }}
- .svg-icon.staff-icon(v-html="icons.tierStaff")
- li.npc(v-once)
- | {{ $t('tierNPC') }}
- .svg-icon.npc-icon(v-html="icons.tierNPC")
-
-
-
-
-
diff --git a/website/client/components/hall/heroes.vue b/website/client/components/hall/heroes.vue
deleted file mode 100644
index fe13b65723..0000000000
--- a/website/client/components/hall/heroes.vue
+++ /dev/null
@@ -1,210 +0,0 @@
-
-.row.standard-page
- small.muted(v-html="$t('blurbHallContributors')")
- .well
- div(v-if='user.contributor.admin')
- h2 Reward User
-
- .row
- .form.col-6(v-if='!hero.profile')
- .form-group
- input.form-control(type='text', v-model='heroID', :placeholder="'User ID or Username'")
- .form-group
- button.btn.btn-secondary(@click='loadHero(heroID)')
- | Load User
-
- .row
- .form.col-6(v-if='hero && hero.profile', submit='saveHero(hero)')
- router-link(:to="{'name': 'userProfile', 'params': {'userId': hero._id}}")
- h3 @{{hero.auth.local.username}} / {{hero.profile.name}}
- .form-group
- label Contributor Title
- input.form-control(type='text', v-model='hero.contributor.text')
- small Common titles: Ambassador, Artisan, Bard, Blacksmith, Challenger, Comrade, Fletcher, Linguist, Linguistic Scribe, Scribe, Socialite, Storyteller . Rare titles: Advisor, Chamberlain, Designer, Mathematician, Shirtster, Spokesperson, Statistician, Tinker, Transcriber, Troubadour.
- .form-group
- label Contributor Tier
- input.form-control(type='number', v-model='hero.contributor.level')
- small 1-7 for normal contributors, 8 for moderators, 9 for staff. This determines which items, pets, and mounts are available, and name-tag coloring. Tiers 8 and 9 are automatically given admin status.
- |
- a(target='_blank', href='https://trello.com/c/wkFzONhE/277-contributor-gear') More details (1-7)
- |,
- a(target='_blank', href='https://github.com/HabitRPG/habitica/issues/3801') more details (8-9)
- .form-group
- label Contributions
- textarea.form-control(cols=5, v-model='hero.contributor.contributions')
-
- .form-group
- label Balance
- input.form-control(type='number', step="any", v-model='hero.balance')
- small
- span '{{ hero.balance }}' is in USD, not in Gems. E.g., if this number is 1, it means 4 Gems. Only use this option when manually granting Gems to players, don't use it when granting contributor tiers. Contrib tiers will automatically add Gems.
- .accordion
- .accordion-group(heading='Items')
- h4.expand-toggle(:class="{'open': expandItems}", @click="expandItems = !expandItems") Update Item
- .form-group.well(v-if="expandItems")
- input.form-control(type='text',placeholder='Path (eg, items.pets.BearCub-Base)',v-model='hero.itemPath')
- small.muted Enter the item path . E.g., items.pets.BearCub-Zombie or items.gear.owned.head_special_0 or items.gear.equipped.head. You can find all the item paths below.
- br
- input.form-control(type='text',placeholder='Value (eg, 5)',v-model='hero.itemVal')
- small.muted Enter the item value . E.g., 5 or false or head_warrior_3. All values are listed in the All Item Paths section below.
- .accordion
- .accordion-group(heading='All Item Paths')
- pre {{allItemPaths}}
- .accordion-group(heading='Current Items')
- pre {{hero.items}}
- .accordion-group(heading='Auth')
- h4.expand-toggle(:class="{'open': expandAuth}", @click="expandAuth = !expandAuth") Auth
- div(v-if="expandAuth")
- pre {{hero.auth}}
- .form-group
- .checkbox
- label
- input(type='checkbox', v-if='hero.flags', v-model='hero.flags.chatShadowMuted')
- strong Chat Shadow Muting On
- .form-group
- .checkbox
- label
- input(type='checkbox', v-if='hero.flags', v-model='hero.flags.chatRevoked')
- strong Chat Privileges Revoked
- .form-group
- .checkbox
- label
- input(type='checkbox', v-model='hero.auth.blocked')
- | Blocked
-
- // h4 Backer Status
- // Add backer stuff like tier, disable adds, etcs
- .form-group
- button.form-control.btn.btn-primary(@click='saveHero()')
- | Save
-
- .table-responsive
- table.table.table-striped
- thead
- tr
- th {{ $t('name') }}
- th(v-if='user.contributor && user.contributor.admin') {{ $t('UUID') }}
- th {{ $t('contribLevel') }}
- th {{ $t('title') }}
- th {{ $t('contributions') }}
- tbody
- tr(v-for='(hero, index) in heroes')
- td
- user-link(v-if='hero.contributor && hero.contributor.admin', :user='hero', :popover="$t('gamemaster')", popover-trigger='mouseenter', popover-placement='right')
- user-link(v-if='!hero.contributor || !hero.contributor.admin', :user='hero')
- td(v-if='user.contributor.admin', @click='populateContributorInput(hero._id, index)').btn-link {{hero._id}}
- td {{hero.contributor.level}}
- td {{hero.contributor.text}}
- td
- div(v-markdown='hero.contributor.contributions', target='_blank')
-
-
-
-
-
diff --git a/website/client/components/hall/index.vue b/website/client/components/hall/index.vue
deleted file mode 100644
index f420ebfcfd..0000000000
--- a/website/client/components/hall/index.vue
+++ /dev/null
@@ -1,19 +0,0 @@
-
-.row
- secondary-menu.col-12
- router-link.nav-link(:to="{name: 'contributors'}", exact, :class="{'active': $route.name === 'contributors'}") {{ $t('hallContributors') }}
- router-link.nav-link(:to="{name: 'patrons'}", :class="{'active': $route.name === 'patrons'}") {{ $t('hallPatrons') }}
-
- .col-12
- router-view
-
-
-
diff --git a/website/client/components/hall/patrons.vue b/website/client/components/hall/patrons.vue
deleted file mode 100644
index f0f8befa25..0000000000
--- a/website/client/components/hall/patrons.vue
+++ /dev/null
@@ -1,41 +0,0 @@
-
-.row
- small.muted {{ $t('blurbHallPatrons') }}
- .table-responsive
- table.table.table-striped(infinite-scroll="loadMore()")
- thead
- tr
- th {{ $t('name') }}
- th(v-if='user.contributor.admin') {{ $t('UUID') }}
- th {{ $t('backerTier') }}
- tbody
- tr(v-for='patron in patrons')
- td
- a.label.label-default(v-class='userLevelStyle(patron)', @click='clickMember(patron._id, true)')
- | {{patron.profile.name}}
- td(v-if='user.contributor.admin') {{patron._id}}
- td {{patron.backer.tier}}
-
-
-
diff --git a/website/client/components/header/menu.vue b/website/client/components/header/menu.vue
deleted file mode 100644
index a6c2e33a72..0000000000
--- a/website/client/components/header/menu.vue
+++ /dev/null
@@ -1,531 +0,0 @@
-
-div
- inbox-modal
- creator-intro
- profileModal
- report-flag-modal
- send-gems-modal
- b-navbar.topbar.navbar-inverse.static-top(toggleable="lg", type="dark", :class="navbarZIndexClass")
- b-navbar-brand.brand(aria-label="Habitica")
- .logo.svg-icon.d-none.d-xl-block(v-html="icons.logo")
- .svg-icon.gryphon.d-xs-block.d-xl-none
- b-navbar-toggle(target='menu_collapse').menu-toggle
- .quick-menu.mobile-only.form-inline
- a.item-with-icon(@click="sync", v-b-tooltip.hover.bottom="$t('sync')", :aria-label="$t('sync')")
- .top-menu-icon.svg-icon(v-html="icons.sync")
- notification-menu.item-with-icon
- user-dropdown.item-with-icon
- b-collapse#menu_collapse(v-model="menuIsOpen").collapse.navbar-collapse
- b-navbar-nav.menu-list
- b-nav-item.topbar-item(:class="{'active': $route.path === '/'}" tag="li", :to="{name: 'tasks'}", exact) {{ $t('tasks') }}
- li.topbar-item(:class="{'active': $route.path.startsWith('/inventory'), 'down': $route.path.startsWith('/inventory') && this.isDesktop()}").droppable
- .chevron.rotate(@click='dropdownMobile($event)')
- .chevron-icon-down(v-html="icons.chevronDown", v-once)
- router-link.nav-link(:to="{name: 'items'}") {{ $t('inventory') }}
- .topbar-dropdown
- router-link.topbar-dropdown-item.dropdown-item(:to="{name: 'items'}", exact) {{ $t('items') }}
- router-link.topbar-dropdown-item.dropdown-item(:to="{name: 'equipment'}") {{ $t('equipment') }}
- router-link.topbar-dropdown-item.dropdown-item(:to="{name: 'stable'}") {{ $t('stable') }}
- li.topbar-item(:class="{'active': $route.path.startsWith('/shop'), 'down': $route.path.startsWith('/shop') && this.isDesktop()}").droppable
- .chevron.rotate(@click='dropdownMobile($event)')
- .chevron-icon-down(v-html="icons.chevronDown", v-once)
- router-link.nav-link(:to="{name: 'market'}") {{ $t('shops') }}
- .topbar-dropdown
- router-link.topbar-dropdown-item.dropdown-item(:to="{name: 'market'}", exact) {{ $t('market') }}
- router-link.topbar-dropdown-item.dropdown-item(:to="{name: 'quests'}") {{ $t('quests') }}
- router-link.topbar-dropdown-item.dropdown-item(:to="{name: 'seasonal'}") {{ $t('titleSeasonalShop') }}
- router-link.topbar-dropdown-item.dropdown-item(:to="{name: 'time'}") {{ $t('titleTimeTravelers') }}
- b-nav-item.topbar-item(:class="{'active': $route.path.startsWith('/party')}" tag="li", :to="{name: 'party'}", v-if='this.user.party._id') {{ $t('party') }}
- b-nav-item.topbar-item(:class="{'active': $route.path.startsWith('/party')}" @click='openPartyModal()', v-if='!this.user.party._id') {{ $t('party') }}
- li.topbar-item(:class="{'active': $route.path.startsWith('/groups'), 'down': $route.path.startsWith('/groups') && this.isDesktop()}").droppable
- .chevron.rotate(@click='dropdownMobile($event)')
- .chevron-icon-down(v-html="icons.chevronDown", v-once)
- router-link.nav-link(:to="{name: 'tavern'}") {{ $t('guilds') }}
- .topbar-dropdown
- router-link.topbar-dropdown-item.dropdown-item(:to="{name: 'tavern'}") {{ $t('tavern') }}
- router-link.topbar-dropdown-item.dropdown-item(:to="{name: 'myGuilds'}") {{ $t('myGuilds') }}
- router-link.topbar-dropdown-item.dropdown-item(:to="{name: 'guildsDiscovery'}") {{ $t('guildsDiscovery') }}
- li.topbar-item(:class="{'active': $route.path.startsWith('/group-plans'), 'down': $route.path.startsWith('/group-plans') && this.isDesktop()}").droppable
- .chevron.rotate(v-if="groupPlans.length > 0", @click='dropdownMobile($event)')
- .chevron-icon-down(v-html="icons.chevronDown", v-once)
- router-link.nav-link(:to="{name: 'groupPlan'}") {{ $t('group') }}
- .topbar-dropdown
- router-link.topbar-dropdown-item.dropdown-item(v-for='group in groupPlans', :key='group._id', :to="{name: 'groupPlanDetailTaskInformation', params: {groupId: group._id}}") {{ group.name }}
- li.topbar-item(:class="{'active': $route.path.startsWith('/challenges'), 'down': $route.path.startsWith('/challenges') && this.isDesktop()}").droppable
- .chevron.rotate(@click='dropdownMobile($event)')
- .chevron-icon-down(v-html="icons.chevronDown", v-once)
- router-link.nav-link(:to="{name: 'myChallenges'}") {{ $t('challenges') }}
- .topbar-dropdown
- router-link.topbar-dropdown-item.dropdown-item(:to="{name: 'myChallenges'}") {{ $t('myChallenges') }}
- router-link.topbar-dropdown-item.dropdown-item(:to="{name: 'findChallenges'}") {{ $t('findChallenges') }}
- li.topbar-item(:class="{'active': $route.path.startsWith('/help'), 'down': $route.path.startsWith('/help') && this.isDesktop()}").droppable
- .chevron.rotate(@click='dropdownMobile($event)')
- .chevron-icon-down(v-html="icons.chevronDown", v-once)
- router-link.nav-link(:to="{name: 'faq'}") {{ $t('help') }}
- .topbar-dropdown
- router-link.topbar-dropdown-item.dropdown-item(:to="{name: 'faq'}") {{ $t('faq') }}
- router-link.topbar-dropdown-item.dropdown-item(:to="{name: 'overview'}") {{ $t('overview') }}
- router-link.topbar-dropdown-item.dropdown-item(to="/groups/guild/a29da26b-37de-4a71-b0c6-48e72a900dac") {{ $t('reportBug') }}
- router-link.topbar-dropdown-item.dropdown-item(to="/groups/guild/5481ccf3-5d2d-48a9-a871-70a7380cee5a") {{ $t('askAQuestion') }}
- a.topbar-dropdown-item.dropdown-item(href="https://trello.com/c/odmhIqyW/440-read-first-table-of-contents", target='_blank') {{ $t('requestAF') }}
- a.topbar-dropdown-item.dropdown-item(href="http://habitica.fandom.com/wiki/Contributing_to_Habitica", target='_blank') {{ $t('contributing') }}
- a.topbar-dropdown-item.dropdown-item(href="http://habitica.fandom.com/wiki/Habitica_Wiki", target='_blank') {{ $t('wiki') }}
- a.topbar-dropdown-item.dropdown-item(@click='modForm()') {{ $t('contactForm') }}
- .currency-tray.form-inline
- .item-with-icon(v-if="userHourglasses > 0")
- .top-menu-icon.svg-icon(v-html="icons.hourglasses", v-b-tooltip.hover.bottom="$t('mysticHourglassesTooltip')")
- span {{ userHourglasses }}
- .item-with-icon
- a.top-menu-icon.svg-icon.gem(:aria-label="$t('gems')", href="#buy-gems" v-html="icons.gem", @click.prevent='showBuyGemsModal("gems")', v-b-tooltip.hover.bottom="$t('gems')")
- span {{userGems}}
- .item-with-icon.gold
- .top-menu-icon.svg-icon(:aria-label="$t('gold')", v-html="icons.gold", v-b-tooltip.hover.bottom="$t('gold')")
- span {{Math.floor(user.stats.gp * 100) / 100}}
- .form-inline.desktop-only
- a.item-with-icon(@click="sync", @keyup.enter="sync", role="link", :aria-label="$t('sync')", tabindex="0", v-b-tooltip.hover.bottom="$t('sync')")
- .top-menu-icon.svg-icon(v-html="icons.sync")
- notification-menu.item-with-icon
- user-dropdown.item-with-icon
-
-
-
-
-
diff --git a/website/client/components/header/notifications/challengeInvitation.vue b/website/client/components/header/notifications/challengeInvitation.vue
deleted file mode 100644
index 97083da552..0000000000
--- a/website/client/components/header/notifications/challengeInvitation.vue
+++ /dev/null
@@ -1,3 +0,0 @@
-
-div {{ props.notification }}
-
\ No newline at end of file
diff --git a/website/client/components/header/notifications/groupTaskApproved.vue b/website/client/components/header/notifications/groupTaskApproved.vue
deleted file mode 100644
index 35982f3ef9..0000000000
--- a/website/client/components/header/notifications/groupTaskApproved.vue
+++ /dev/null
@@ -1,27 +0,0 @@
-
-base-notification(
- :can-remove="canRemove",
- :has-icon="false",
- :notification="notification",
- :read-after-click="true",
- @click="action",
-)
- .notification-green(slot="content", v-html="notification.data.message")
-
-
-
\ No newline at end of file
diff --git a/website/client/components/header/notifications/groupTaskAssigned.vue b/website/client/components/header/notifications/groupTaskAssigned.vue
deleted file mode 100644
index 5916ba27a6..0000000000
--- a/website/client/components/header/notifications/groupTaskAssigned.vue
+++ /dev/null
@@ -1,26 +0,0 @@
-
- base-notification(
- :can-remove="canRemove",
- :has-icon="false",
- :notification="notification",
- :read-after-click="true",
- @click="action",
- )
- div(slot="content", v-html="notification.data.message")
-
-
-
diff --git a/website/client/components/header/notifications/groupTaskClaimed.vue b/website/client/components/header/notifications/groupTaskClaimed.vue
deleted file mode 100644
index 508177dbb2..0000000000
--- a/website/client/components/header/notifications/groupTaskClaimed.vue
+++ /dev/null
@@ -1,27 +0,0 @@
-
-base-notification(
- :can-remove="canRemove",
- :has-icon="false",
- :notification="notification",
- :read-after-click="true",
- @click="action",
-)
- div(slot="content", v-html="notification.data.message")
-
-
-
diff --git a/website/client/components/header/notifications/groupTaskNeedsWork.vue b/website/client/components/header/notifications/groupTaskNeedsWork.vue
deleted file mode 100644
index 068e479f72..0000000000
--- a/website/client/components/header/notifications/groupTaskNeedsWork.vue
+++ /dev/null
@@ -1,27 +0,0 @@
-
-base-notification(
- :can-remove="canRemove",
- :has-icon="false",
- :notification="notification",
- :read-after-click="true",
- @click="action",
-)
- .notification-yellow(slot="content", v-html="notification.data.message")
-
-
-
\ No newline at end of file
diff --git a/website/client/components/header/notifications/guildInvitation.vue b/website/client/components/header/notifications/guildInvitation.vue
deleted file mode 100644
index ffe5429503..0000000000
--- a/website/client/components/header/notifications/guildInvitation.vue
+++ /dev/null
@@ -1,64 +0,0 @@
-
-base-notification(
- :can-remove="canRemove",
- :has-icon="false",
- :notification="notification",
- @click="action",
-)
- div(slot="content")
- div(v-html="textString")
- .notifications-buttons
- .btn.btn-small.btn-success(@click.stop="accept()") {{ $t('accept') }}
- .btn.btn-small.btn-danger(@click.stop="reject()") {{ $t('reject') }}
-
-
-
diff --git a/website/client/components/header/notifications/justAddWater.vue b/website/client/components/header/notifications/justAddWater.vue
deleted file mode 100644
index 9889b28cc4..0000000000
--- a/website/client/components/header/notifications/justAddWater.vue
+++ /dev/null
@@ -1,30 +0,0 @@
-
- base-notification(
- :can-remove="canRemove",
- :notification="notification",
- :read-after-click="true",
- @click="action"
- )
- div(slot="content", v-html="achievementString")
-
-
-
diff --git a/website/client/components/header/notifications/lostMasterclasser.vue b/website/client/components/header/notifications/lostMasterclasser.vue
deleted file mode 100644
index c72aa02d3e..0000000000
--- a/website/client/components/header/notifications/lostMasterclasser.vue
+++ /dev/null
@@ -1,30 +0,0 @@
-
- base-notification(
- :can-remove="canRemove",
- :notification="notification",
- :read-after-click="true",
- @click="action"
- )
- div(slot="content", v-html="achievementString")
-
-
-
diff --git a/website/client/components/header/notifications/mindOverMatter.vue b/website/client/components/header/notifications/mindOverMatter.vue
deleted file mode 100644
index 9044a25a91..0000000000
--- a/website/client/components/header/notifications/mindOverMatter.vue
+++ /dev/null
@@ -1,30 +0,0 @@
-
- base-notification(
- :can-remove="canRemove",
- :notification="notification",
- :read-after-click="true",
- @click="action"
- )
- div(slot="content", v-html="achievementString")
-
-
-
diff --git a/website/client/components/header/notifications/newInboxMessage.vue b/website/client/components/header/notifications/newInboxMessage.vue
deleted file mode 100644
index 05f76b2f15..0000000000
--- a/website/client/components/header/notifications/newInboxMessage.vue
+++ /dev/null
@@ -1,28 +0,0 @@
-
-base-notification(
- :can-remove="canRemove",
- :has-icon="false",
- :notification="notification",
- :read-after-click="true",
- @click="action"
-)
- div(slot="content")
- span(v-html="$t('userSentMessage', {user: notification.data.sender.name})")
- .notification-small.notification-ellipses {{ notification.data.excerpt }}
-
-
-
\ No newline at end of file
diff --git a/website/client/components/header/notifications/newMysteryItems.vue b/website/client/components/header/notifications/newMysteryItems.vue
deleted file mode 100644
index 763b848b11..0000000000
--- a/website/client/components/header/notifications/newMysteryItems.vue
+++ /dev/null
@@ -1,33 +0,0 @@
-
-base-notification(
- :can-remove="canRemove",
- :has-icon="true",
- :notification="notification",
- :read-after-click="true",
- @click="action"
-)
- div(slot="content", v-html="$t('newSubscriberItem')")
- div(slot="icon", :class="mysteryClass")
-
-
-
\ No newline at end of file
diff --git a/website/client/components/header/notifications/newStuff.vue b/website/client/components/header/notifications/newStuff.vue
deleted file mode 100644
index a479748413..0000000000
--- a/website/client/components/header/notifications/newStuff.vue
+++ /dev/null
@@ -1,29 +0,0 @@
-
-base-notification(
- :can-remove="canRemove",
- :has-icon="true",
- :notification="notification",
- :read-after-click="true",
- @click="action"
-)
- div(slot="content")
- .notification-bold-purple {{ $t('newBaileyUpdate') }}
- div {{ notification.data.title }}
- .npc_bailey(slot="icon")
-
-
-
\ No newline at end of file
diff --git a/website/client/components/header/notifications/partyInvitation.vue b/website/client/components/header/notifications/partyInvitation.vue
deleted file mode 100644
index a93d277970..0000000000
--- a/website/client/components/header/notifications/partyInvitation.vue
+++ /dev/null
@@ -1,42 +0,0 @@
-
-base-notification(
- :can-remove="canRemove",
- :has-icon="false",
- :notification="notification",
-)
- div(slot="content")
- div(v-html="$t('invitedToParty', {party: notification.data.name})")
- .notifications-buttons
- .btn.btn-small.btn-success(@click.stop="accept()") {{ $t('accept') }}
- .btn.btn-small.btn-danger(@click.stop="reject()") {{ $t('reject') }}
-
-
-
\ No newline at end of file
diff --git a/website/client/components/header/notifications/questInvitation.vue b/website/client/components/header/notifications/questInvitation.vue
deleted file mode 100644
index 506e1e4cf2..0000000000
--- a/website/client/components/header/notifications/questInvitation.vue
+++ /dev/null
@@ -1,61 +0,0 @@
-
-base-notification(
- :can-remove="canRemove",
- :has-icon="false",
- :notification="notification",
- @click="action",
-)
- div(slot="content")
- .message(v-html="$t('invitedToQuest', {quest: questName})")
- quest-info(:quest="questData", :small-version="true")
- .notifications-buttons
- .btn.btn-small.btn-success(@click.stop="questAccept()") {{ $t('accept') }}
- .btn.btn-small.btn-danger(@click.stop="questReject()") {{ $t('reject') }}
-
-
-
-
-
diff --git a/website/client/components/header/notifications/unallocatedStatsPoints.vue b/website/client/components/header/notifications/unallocatedStatsPoints.vue
deleted file mode 100644
index 0cb6bd554c..0000000000
--- a/website/client/components/header/notifications/unallocatedStatsPoints.vue
+++ /dev/null
@@ -1,42 +0,0 @@
-
-base-notification(
- :can-remove="canRemove",
- :has-icon="true",
- :notification="notification",
- :read-after-click="true",
- @click="action"
-)
- div(slot="content", v-html="$t('unallocatedStatsPoints', {points: notification.data.points})")
- .svg-icon(slot="icon", v-html="icons.sparkles")
-
-
-
-
-
diff --git a/website/client/components/header/notifications/verifyUsername.vue b/website/client/components/header/notifications/verifyUsername.vue
deleted file mode 100644
index cb848322e8..0000000000
--- a/website/client/components/header/notifications/verifyUsername.vue
+++ /dev/null
@@ -1,74 +0,0 @@
-
- base-notification(
- :can-remove="false",
- :has-icon="false",
- :read-after-click="false",
- :notification="{}",
- @click="action",
- )
- div.text-center(slot="content")
- div.username-notification-title {{ $t('setUsernameNotificationTitle') }}
- div {{ $t('setUsernameNotificationBody') }}
- div.current-username-container.mx-auto
- label.font-weight-bold {{ $t('currentUsername') + " " }}
- label @
- label {{ user.auth.local.username }}
- .notifications-buttons
- .btn.btn-small.btn-secondary(@click.stop="changeUsername()") {{ $t('goToSettings') }}
-
-
-
diff --git a/website/client/components/header/userDropdown.vue b/website/client/components/header/userDropdown.vue
deleted file mode 100644
index 6fe67f63f9..0000000000
--- a/website/client/components/header/userDropdown.vue
+++ /dev/null
@@ -1,124 +0,0 @@
-
-menu-dropdown.item-user(:right="true")
- div(slot="dropdown-toggle")
- div(:aria-label="$t('user')", v-b-tooltip.hover.bottom="$t('user')")
- message-count(v-if='user.inbox.newMessages > 0', :count="user.inbox.newMessages", :top="true")
- .top-menu-icon.svg-icon.user(v-html="icons.user")
- .user-dropdown(slot="dropdown-content")
- a.dropdown-item.edit-avatar.dropdown-separated(@click='showAvatar("body", "size")')
- h3 {{ user.profile.name }}
- span.small-text {{ $t('editAvatar') }}
- a.nav-link.dropdown-item.dropdown-separated.d-flex.justify-content-between.align-items-center(@click.prevent='showInbox()')
- div {{ $t('messages') }}
- message-count(v-if='user.inbox.newMessages > 0', :count="user.inbox.newMessages")
- a.dropdown-item(@click='showAvatar("backgrounds", "2019")') {{ $t('backgrounds') }}
- a.dropdown-item(@click='showProfile("stats")') {{ $t('stats') }}
- a.dropdown-item(@click='showProfile("achievements")') {{ $t('achievements') }}
- a.dropdown-item.dropdown-separated(@click='showProfile("profile")') {{ $t('profile') }}
- router-link.dropdown-item(:to="{name: 'site'}") {{ $t('settings') }}
- router-link.dropdown-item.dropdown-separated(:to="{name: 'subscription'}") {{ $t('subscription') }}
- a.nav-link.dropdown-item.dropdown-separated(@click.prevent='logout()') {{ $t('logout') }}
- li(v-if='!this.user.purchased.plan.customerId', @click='showBuyGemsModal("subscribe")')
- .dropdown-item.text-center
- h3.purple {{ $t('needMoreGems') }}
- span.small-text {{ $t('needMoreGemsInfo') }}
- .learn-background.py-2.text-center
- button.btn.btn-primary.btn-lg.learn-button {{ $t('learnMore') }}
-
-
-
-
-
diff --git a/website/client/components/inventory/equipment/attributesPopover.vue b/website/client/components/inventory/equipment/attributesPopover.vue
deleted file mode 100644
index 3b51f1310c..0000000000
--- a/website/client/components/inventory/equipment/attributesPopover.vue
+++ /dev/null
@@ -1,56 +0,0 @@
-
-div
- div(v-if='item.locked')
- h4.popover-content-title {{ `${$t('lockedItem')}` }}
- .popover-content-text(v-if='item.specialClass') {{ `${$t('classLockedItem')}` }}
- .popover-content-text(v-else) {{ `${$t('tierLockedItem')}` }}
- p
- div(v-else)
- h4.popover-content-title {{ itemText }}
- .popover-content-text {{ itemNotes }}
- attributesGrid(:user="user", :item="item")
-
-
-
-
-
diff --git a/website/client/components/inventory/equipment/equipGearModal.vue b/website/client/components/inventory/equipment/equipGearModal.vue
deleted file mode 100644
index 415aa93167..0000000000
--- a/website/client/components/inventory/equipment/equipGearModal.vue
+++ /dev/null
@@ -1,219 +0,0 @@
-
- b-modal#equipgear-modal(
- :visible="true",
- v-if="item != null",
- :hide-header="true",
- @change="onChange($event)"
- )
- div.close
- span.svg-icon.inline.icon-10(aria-hidden="true", v-html="icons.close", @click="hideDialog()")
-
- div.content(v-if="item != null")
-
- div.inner-content
- avatar(
- :member="user",
- :avatarOnly="true",
- :withBackground="true",
- :overrideAvatarGear="memberOverrideAvatarGear(item)",
- :spritesMargin='"0px auto auto -1px"',
- :showVisualBuffs="false",
- )
-
- h4.title {{ itemText }}
- div.text(v-html="itemNotes")
-
- span.classTag(v-if="showClassTag")
- span.svg-icon.inline.icon-24(v-html="icons[itemClass]")
- span.className.textCondensed(:class="itemClass") {{ getClassName(itemClass) }}
-
- attributesGrid.attributesGrid(
- :user="user",
- :item="item",
- v-if="attributesGridVisible"
- )
-
- button.btn.btn-primary(@click="equipItem()") {{ $t(isEquipped ? 'unequip' : 'equip') }}
-
- div.clearfix(slot="modal-footer")
-
-
-
-
-
diff --git a/website/client/components/inventory/equipment/index.vue b/website/client/components/inventory/equipment/index.vue
deleted file mode 100644
index 03b3a727e0..0000000000
--- a/website/client/components/inventory/equipment/index.vue
+++ /dev/null
@@ -1,406 +0,0 @@
-
-.row
- .standard-sidebar.d-none.d-sm-block
- .form-group
- input.form-control.input-search(type="text", v-model="searchText", :placeholder="$t('search')")
-
- .form
- h2(v-once) {{ $t('filter') }}
- h3 {{ this.groupBy === 'type' ? $t('equipmentType') : $t('class') }}
- .form-group
- .form-check(
- v-for="group in itemsGroups",
- :key="group.key",
- )
- .custom-control.custom-checkbox
- input.custom-control-input(type="checkbox", v-model="viewOptions[group.key].selected", :id="groupBy + group.key")
- label.custom-control-label(v-once, :for="groupBy + group.key") {{ group.label }}
-
- .standard-page
- .clearfix
- h1.float-left.mb-4.page-header(v-once) {{ $t('equipment') }}
- .float-right
- span.dropdown-label {{ $t('sortBy') }}
- b-dropdown(:text="$t(selectedSortGearBy)", right=true)
- b-dropdown-item(
- v-for="sort in sortGearBy",
- @click="selectedSortGearBy = sort",
- :active="selectedSortGearBy === sort",
- :key="sort"
- ) {{ $t(sort) }}
-
- span.dropdown-label {{ $t('groupBy2') }}
- b-dropdown(:text="$t(groupBy === 'type' ? 'equipmentType' : 'class')", right=true)
- b-dropdown-item(@click="groupBy = 'type'", :active="groupBy === 'type'") {{ $t('equipmentType') }}
- b-dropdown-item(@click="groupBy = 'class'", :active="groupBy === 'class'") {{ $t('class') }}
-
- drawer(
- :title="$t('equipment')",
- :errorMessage="(costumeMode && !user.preferences.costume) ? $t('costumeDisabled') : null",
- :openStatus='openStatus',
- v-on:toggled='drawerToggled'
- )
- div(slot="drawer-header")
- .drawer-tab-container
- .drawer-tab.text-right
- a.drawer-tab-text(
- @click="selectDrawerTab('equipment')",
- :class="{'drawer-tab-text-active': !costumeMode}",
- ) {{ $t('equipment') }}
- .clearfix
- .drawer-tab.float-left
- a.drawer-tab-text(
- @click="selectDrawerTab('costume')",
- :class="{'drawer-tab-text-active': costumeMode}",
- ) {{ $t('costume') }}
-
- toggle-switch.float-right.align-with-tab(
- :label="$t(costumeMode ? 'useCostume' : 'autoEquipBattleGear')",
- :checked="user.preferences[drawerPreference]",
- @change="changeDrawerPreference",
- :hoverText="$t(drawerPreference+'PopoverText')",
- )
- .items.items-one-line(slot="drawer-slider")
- item.pointer(
- v-for="(label, group) in gearTypesToStrings",
- :key="flatGear[activeItems[group]] ? flatGear[activeItems[group]].key : group",
- :item="flatGear[activeItems[group]]",
- :itemContentClass="flatGear[activeItems[group]] ? 'shop_' + flatGear[activeItems[group]].key : null",
- :emptyItem="!flatGear[activeItems[group]] || flatGear[activeItems[group]].key.indexOf('_base_0') !== -1",
- :label="label",
- :popoverPosition="'top'",
- :showPopover="flatGear[activeItems[group]] && Boolean(flatGear[activeItems[group]].text)",
- @click="equipItem(flatGear[activeItems[group]])",
- )
- template(slot="popoverContent", slot-scope="context")
- equipmentAttributesPopover(:item="context.item")
- template(slot="itemBadge", slot-scope="context")
- starBadge(
- :selected="true",
- :show="!costumeMode || user.preferences.costume",
- @click="equipItem(context.item)",
- )
- div(
- v-for="group in itemsGroups",
- v-if="!anyFilterSelected || viewOptions[group.key].selected",
- :key="group.key",
- :class='group.key',
- )
- h2.mb-3
- | {{ group.label }}
- |
- span.badge.badge-pill.badge-default {{items[group.key].length}}
-
- itemRows(
- :items="sortItems(items[group.key], selectedSortGearBy)",
- :itemWidth=94,
- :itemMargin=24,
- :type="group.key",
- :noItemsLabel="$t('noGearItemsOfType', { type: group.label })"
- )
- template(slot="item", slot-scope="context")
- item(
- :item="context.item",
- :itemContentClass="'shop_' + context.item.key",
- :emptyItem="!context.item || context.item.key.indexOf('_base_0') !== -1",
- :key="context.item.key",
- @click="openEquipDialog(context.item)"
- )
- template(slot="itemBadge", slot-scope="context")
- starBadge(
- :selected="activeItems[context.item.type] === context.item.key",
- :show="!costumeMode || user.preferences.costume",
- @click="equipItem(context.item)",
- )
- template(slot="popoverContent", slot-scope="context")
- equipmentAttributesPopover(:item="context.item")
-
- equipGearModal(
- :item="gearToEquip",
- @equipItem="equipItem($event)",
- @change="changeModalState($event)",
- :costumeMode="costumeMode",
- :isEquipped="gearToEquip == null ? false : activeItems[gearToEquip.type] === gearToEquip.key"
- )
-
-
-
-
-
diff --git a/website/client/components/inventory/index.vue b/website/client/components/inventory/index.vue
deleted file mode 100644
index 2647658916..0000000000
--- a/website/client/components/inventory/index.vue
+++ /dev/null
@@ -1,19 +0,0 @@
-
-.row
- secondary-menu.col-12
- router-link.nav-link(:to="{name: 'items'}", exact) {{ $t('items') }}
- router-link.nav-link(:to="{name: 'equipment'}") {{ $t('equipment') }}
- router-link.nav-link(:to="{name: 'stable'}") {{ $t('stable') }}
- .col-12
- router-view
-
-
-
\ No newline at end of file
diff --git a/website/client/components/inventory/item.vue b/website/client/components/inventory/item.vue
deleted file mode 100644
index f188b2f272..0000000000
--- a/website/client/components/inventory/item.vue
+++ /dev/null
@@ -1,69 +0,0 @@
-
-div(v-if="emptyItem")
- .item-wrapper
- .item.item-empty
- .item-content
- span.item-label(v-if="label") {{ label }}
-div(v-else)
- .item-wrapper(@click="click", :id="itemId")
- .item(:class="{'item-active': active, 'highlight-border':highlightBorder }")
- slot(name="itemBadge", :item="item")
- span.item-content(
- :class="itemContentClass"
- )
- span.item-label(v-if="label") {{ label }}
- b-popover(
- v-if="showPopover"
- :target="itemId",
- triggers="hover",
- :placement="popoverPosition",
- :preventOverflow="false",
- )
- slot(name="popoverContent", :item="item")
-
-
-
diff --git a/website/client/components/inventory/items/cards-modal.vue b/website/client/components/inventory/items/cards-modal.vue
deleted file mode 100644
index 62ccd17d69..0000000000
--- a/website/client/components/inventory/items/cards-modal.vue
+++ /dev/null
@@ -1,67 +0,0 @@
-
- b-modal#card(:title="$t(cardType + 'Card')", size='md', :hide-footer="true")
- .modal-header
- .pull-right(:class='`inventory_special_${cardType}`')
- h4 {{ $t(cardType + 'Card') }}
- .modal-body
- div(style='padding:10px')
- p {{ $t('toAndFromCard', { toName: user.profile.name, fromName}) }}
- hr
- div(v-markdown='cardMessage')
- .modal-footer
- small.pull-left {{ $t(cardType + 'CardExplanation')}}
- button.btn.btn-secondary(@click='readCard()') {{ $t('ok') }}
-
-
-
-
-
diff --git a/website/client/components/inventory/items/index.vue b/website/client/components/inventory/items/index.vue
deleted file mode 100644
index 6ffae15b42..0000000000
--- a/website/client/components/inventory/items/index.vue
+++ /dev/null
@@ -1,500 +0,0 @@
-
-.row(v-mousePosition="30", @mouseMoved="mouseMoved($event)")
- .standard-sidebar.d-none.d-sm-block
- .form-group
- input.form-control.input-search(type="text", v-model="searchText", :placeholder="$t('search')")
-
- .form
- h2(v-once) {{ $t('filter') }}
- h3(v-once) {{ $t('equipmentType') }}
- .form-group
- .form-check(
- v-for="group in groups",
- :key="group.key",
- )
- .custom-control.custom-checkbox
- input.custom-control-input(type="checkbox", v-model="group.selected", :id="group.key")
- label.custom-control-label(v-once, :for="group.key") {{ $t(group.key) }}
- .standard-page
- .clearfix
- h1.float-left.mb-4.page-header(v-once) {{ $t('items') }}
- .float-right
- span.dropdown-label {{ $t('sortBy') }}
- b-dropdown(:text="$t(sortBy)", right=true)
- b-dropdown-item(@click="sortBy = 'quantity'", :active="sortBy === 'quantity'") {{ $t('quantity') }}
- b-dropdown-item(@click="sortBy = 'AZ'", :active="sortBy === 'AZ'") {{ $t('AZ') }}
- div(
- v-for="group in groups",
- v-if="!anyFilterSelected || group.selected",
- :key="group.key",
- )
- h2.mb-3
- | {{ $t(group.key) }}
- |
- span.badge.badge-pill.badge-default(v-if="group.key != 'special'") {{group.quantity}}
-
-
- itemRows(
- v-if="group.key === 'eggs'",
- :items="items[group.key]",
- :itemWidth=94,
- :itemMargin=24,
- :type="group.key",
- :noItemsLabel="$t('noGearItemsOfType', { type: $t(group.key) })"
- )
- template(slot="item", slot-scope="context")
- item(
- :item="context.item",
- :key="context.item.key",
- :itemContentClass="context.item.class",
- :showPopover="currentDraggingEgg == null",
- :active="currentDraggingEgg == context.item",
- :highlightBorder="isHatchable(currentDraggingPotion, context.item)",
- v-drag.drop.hatch="context.item.key",
-
- @itemDragOver="onDragOver($event, context.item)",
- @itemDropped="onDrop($event, context.item)",
- @itemDragLeave="onDragLeave()",
-
- @click="onEggClicked($event, context.item)",
- )
- template(slot="popoverContent", slot-scope="context")
- h4.popover-content-title {{ context.item.text }}
- .popover-content-text(v-if="currentDraggingPotion == null") {{ context.item.notes }}
- template(slot="itemBadge", slot-scope="context")
- countBadge(
- :show="true",
- :count="context.item.quantity"
- )
-
- itemRows(
- v-else-if="group.key === 'hatchingPotions'",
- :items="items[group.key]",
- :itemWidth=94,
- :itemMargin=24,
- :type="group.key",
- :noItemsLabel="$t('noGearItemsOfType', { type: $t(group.key) })"
- )
- template(slot="item", slot-scope="context")
- item(
- :item="context.item",
- :key="context.item.key",
- :itemContentClass="context.item.class",
- :showPopover="currentDraggingPotion == null",
- :active="currentDraggingPotion == context.item",
- :highlightBorder="isHatchable(context.item, currentDraggingEgg)",
- v-drag.hatch="context.item.key",
-
- @itemDragEnd="onDragEnd($event, context.item)",
- @itemDragStart="onDragStart($event, context.item)",
-
- @click="onPotionClicked($event, context.item)"
- )
- template(slot="popoverContent", slot-scope="context")
- h4.popover-content-title {{ context.item.text }}
- .popover-content-text {{ context.item.notes }}
- template(slot="itemBadge", slot-scope="context")
- countBadge(
- :show="true",
- :count="context.item.quantity"
- )
-
- itemRows(
- v-else,
- :items="items[group.key]",
- :itemWidth=94,
- :itemMargin=24,
- :type="group.key",
- :noItemsLabel="$t('noGearItemsOfType', { type: $t(group.key) })"
- )
- template(slot="item", slot-scope="context")
- item(
- :item="context.item",
- :key="context.item.key",
- :itemContentClass="context.item.class",
- :showPopover="currentDraggingPotion == null",
- @click="itemClicked(group.key, context.item)",
- )
- template(slot="popoverContent", slot-scope="context")
- div.questPopover(v-if="group.key === 'quests'")
- h4.popover-content-title {{ context.item.text }}
- questInfo(:quest="context.item")
-
- div(v-else)
- h4.popover-content-title {{ context.item.text }}
- .popover-content-text(v-html="context.item.notes")
- template(slot="itemBadge", slot-scope="context")
- countBadge(
- :show="true",
- :count="context.item.quantity"
- )
-
- hatchedPetDialog()
-
- div.eggInfo(ref="draggingEggInfo")
- div(v-if="currentDraggingEgg != null")
- div.potion-icon(:class="'Pet_Egg_'+currentDraggingEgg.key")
- div.popover
- div.popover-content {{ $t('dragThisEgg', {eggName: currentDraggingEgg.text }) }}
-
- div.eggInfo.mouse(ref="clickEggInfo", v-if="eggClickMode")
- div(v-if="currentDraggingEgg != null")
- div.potion-icon(:class="'Pet_Egg_'+currentDraggingEgg.key")
- div.popover
- div.popover-content {{ $t('clickOnPotionToHatch', {eggName: currentDraggingEgg.text }) }}
-
- div.hatchingPotionInfo(ref="draggingPotionInfo")
- div(v-if="currentDraggingPotion != null")
- div.potion-icon(:class="'Pet_HatchingPotion_'+currentDraggingPotion.key")
- div.popover
- div.popover-content {{ $t('dragThisPotion', {potionName: currentDraggingPotion.text }) }}
-
- div.hatchingPotionInfo.mouse(ref="clickPotionInfo", v-if="potionClickMode")
- div(v-if="currentDraggingPotion != null")
- div.potion-icon(:class="'Pet_HatchingPotion_'+currentDraggingPotion.key")
- div.popover
- div.popover-content {{ $t('clickOnEggToHatch', {potionName: currentDraggingPotion.text }) }}
-
- startQuestModal(
- :group="user.party"
- )
-
- cards-modal(:card-options='cardOptions')
-
-
-
-
-
diff --git a/website/client/components/inventory/stable/foodItem.vue b/website/client/components/inventory/stable/foodItem.vue
deleted file mode 100644
index e858763ab4..0000000000
--- a/website/client/components/inventory/stable/foodItem.vue
+++ /dev/null
@@ -1,72 +0,0 @@
-
-div
- .item-wrapper(@click="click($event)", :id="itemId")
- .item(:class="{'item-active': active }")
- countBadge(
- :show="true",
- :count="itemCount"
- )
- span.item-content(
- :class="'Pet_Food_'+item.key",
- v-drag.food="item.key",
- @itemDragEnd="dragend($event)",
- @itemDragStart="dragstart($event)"
- )
- b-popover(
- :target="itemId",
- triggers="hover",
- placement="top",
- )
- h4.popover-content-title {{ itemName || item.text() }}
- div.popover-content-text(v-html="item.notes()")
-
-
-
diff --git a/website/client/components/inventory/stable/hatchedPetDialog.vue b/website/client/components/inventory/stable/hatchedPetDialog.vue
deleted file mode 100644
index 0b36304569..0000000000
--- a/website/client/components/inventory/stable/hatchedPetDialog.vue
+++ /dev/null
@@ -1,88 +0,0 @@
-
-b-modal#hatchedPet-modal(:hide-header="true")
- div.content(v-if="pet != null")
- div.dialog-header.title(v-once) {{ $t('hatchedPetGeneric') }}
- div.inner-content
- div.pet-background
- div(:class="pet.class")
- h4.title {{ pet.name }}
- div.text(v-if="!hideText", v-markdown="$t('hatchedPetHowToUse', { stableUrl: '/inventory/stable' })")
- button.btn.btn-primary(@click="close()") {{ $t('onward') }}
- div.clearfix(slot="modal-footer")
-
-
-
-
-
diff --git a/website/client/components/inventory/stable/hatchingModal.vue b/website/client/components/inventory/stable/hatchingModal.vue
deleted file mode 100644
index a7fc612f89..0000000000
--- a/website/client/components/inventory/stable/hatchingModal.vue
+++ /dev/null
@@ -1,77 +0,0 @@
-
-b-modal#hatching-modal()
- div.content(v-if="hatchablePet")
- div.potionEggGroup
- div.potionEggBackground
- div(:class="'Pet_HatchingPotion_'+hatchablePet.potionKey")
- div.potionEggBackground
- div(:class="'Pet_Egg_'+hatchablePet.eggKey")
- h4.title {{ hatchablePet.name }}
- div.text(v-html="$t('hatchDialogText', { potionName: hatchablePet.potionName, eggName: hatchablePet.eggName, petName: hatchablePet.name })")
- span.svg-icon.icon-10(v-html="icons.close", slot="modal-header", @click="closeHatchPetDialog()")
- div(slot="modal-footer")
- button.btn.btn-primary(@click="hatchPet(hatchablePet)") {{ $t('hatch') }}
- button.btn.btn-secondary.btn-flat(@click="closeHatchPetDialog()") {{ $t('cancel') }}
-
-
-
-
-
diff --git a/website/client/components/inventory/stable/index.vue b/website/client/components/inventory/stable/index.vue
deleted file mode 100644
index 7e4bf44de2..0000000000
--- a/website/client/components/inventory/stable/index.vue
+++ /dev/null
@@ -1,811 +0,0 @@
-
-.row.stable(v-mousePosition="30", @mouseMoved="mouseMoved($event)")
- .standard-sidebar.d-none.d-sm-block
- div
- #npmMattStable.npc_matt
- b-popover(
- triggers="hover",
- placement="right",
- target="npmMattStable"
- )
- h4.popover-content-title(v-once) {{ $t('mattBoch') }}
- .popover-content-text(v-once) {{ $t('mattBochText1') }}
- .form-group
- input.form-control.input-search(type="text", v-model="searchText", :placeholder="$t('search')")
- .form
- h2(v-once) {{ $t('filter') }}
- h3(v-once) {{ $t('pets') }}
- .form-group
- .form-check(
- v-for="petGroup in petGroups",
- :key="petGroup.key"
- )
- .custom-control.custom-checkbox
- input.custom-control-input(
- type="checkbox",
- v-model="viewOptions[petGroup.key].selected",
- :disabled="viewOptions[petGroup.key].animalCount == 0",
- :id="petGroup.key",
- )
- label.custom-control-label(v-once, :for="petGroup.key") {{ petGroup.label }}
- h3(v-once) {{ $t('mounts') }}
- .form-group
- .form-check(
- v-for="mountGroup in mountGroups",
- :key="mountGroup.key"
- )
- .custom-control.custom-checkbox
- input.custom-control-input(
- type="checkbox",
- v-model="viewOptions[mountGroup.key].selected",
- :disabled="viewOptions[mountGroup.key].animalCount == 0",
- :id="mountGroup.key",
- )
- label.custom-control-label(v-once, :for="mountGroup.key") {{ mountGroup.label }}
-
- div.form-group.clearfix
- h3.float-left {{ $t('hideMissing') }}
- toggle-switch.float-right(
- :checked="hideMissing",
- @change="updateHideMissing"
- )
- .standard-page
- .clearfix
- h1.float-left.mb-4.page-header(v-once) {{ $t('stable') }}
-
- div.float-right
- span.dropdown-label {{ $t('sortBy') }}
- b-dropdown(:text="$t(selectedSortBy)", right=true)
- b-dropdown-item(
- v-for="sort in sortByItems",
- @click="selectedSortBy = sort",
- :active="selectedSortBy === sort",
- :key="sort"
- ) {{ $t(sort) }}
-
- h2.mb-3
- | {{ $t('pets') }}
- |
- span.badge.badge-pill.badge-default {{countOwnedAnimals(petGroups[0], 'pet')}}
-
- div(v-for="(petGroup, index) in petGroups",
- v-if="!anyFilterSelected || viewOptions[petGroup.key].selected",
- :key="petGroup.key")
- h4(v-if="viewOptions[petGroup.key].animalCount !== 0") {{ petGroup.label }}
-
- .pet-row.d-flex(
- v-for="(group, key, index) in pets(petGroup, hideMissing, selectedSortBy, searchTextThrottled)",
- v-if='index === 0 || $_openedItemRows_isToggled(petGroup.key)')
- .pet-group(
- v-for='item in group'
- v-drag.drop.food="item.key",
- @itemDragOver="onDragOver($event, item)",
- @itemDropped="onDrop($event, item)",
- @itemDragLeave="onDragLeave()",
- :class="{'last': item.isLastInRow}"
- )
- petItem(
- :item="item",
- :popoverPosition="'top'",
- :showPopover="currentDraggingFood == null",
- :highlightBorder="highlightPet == item.key",
- @click="petClicked(item)"
- )
- template(slot="itemBadge", slot-scope="context")
- starBadge(
- :selected="context.item.key === currentPet",
- :show="isOwned('pet', context.item)",
- @click="selectPet(context.item)"
- )
-
- .btn.btn-flat.btn-show-more(@click="setShowMore(petGroup.key)", v-if='petGroup.key !== "specialPets" && petGroup.key !== "wackyPets"')
- | {{ $_openedItemRows_isToggled(petGroup.key) ? $t('showLess') : $t('showMore') }}
-
- h2
- | {{ $t('mounts') }}
- |
- span.badge.badge-pill.badge-default {{countOwnedAnimals(mountGroups[0], 'mount')}}
-
- div(v-for="mountGroup in mountGroups",
- v-if="!anyFilterSelected || viewOptions[mountGroup.key].selected",
- :key="mountGroup.key")
- h4(v-if="viewOptions[mountGroup.key].animalCount != 0") {{ mountGroup.label }}
-
- .pet-row.d-flex(v-for="(group, key, index) in mounts(mountGroup, hideMissing, selectedSortBy, searchTextThrottled)"
- v-if='index === 0 || $_openedItemRows_isToggled(mountGroup.key)')
- .pet-group(v-for='item in group')
- mountItem(
- :item="item",
- :key="item.key",
- :popoverPosition="'top'",
- :showPopover="true",
- @click="selectMount(item)"
- )
- span(slot="popoverContent")
- h4.popover-content-title {{ item.name }}
- template(slot="itemBadge", slot-scope="context")
- starBadge(
- :selected="item.key === currentMount",
- :show="isOwned('mount', item)",
- @click="selectMount(item)",
- )
-
- .btn.btn-flat.btn-show-more(@click="setShowMore(mountGroup.key)", v-if='mountGroup.key !== "specialMounts"')
- | {{ $_openedItemRows_isToggled(mountGroup.key) ? $t('showLess') : $t('showMore') }}
-
- inventoryDrawer
- template(slot="item", slot-scope="ctx")
- foodItem(
- :item="ctx.item",
- :itemCount="ctx.itemCount",
- :itemContentClass="ctx.itemClass",
- :active="currentDraggingFood === ctx.item",
- @itemDragEnd="onDragEnd()",
- @itemDragStart="onDragStart($event, ctx.item)",
- @itemClick="onFoodClicked($event, ctx.item)"
- )
- hatchedPetDialog(:hideText="true")
- div.foodInfo(ref="dragginFoodInfo")
- div(v-if="currentDraggingFood != null")
- div.food-icon(:class="'Pet_Food_'+currentDraggingFood.key")
- div.popover
- div.popover-content {{ $t('dragThisFood', {foodName: currentDraggingFood.text() }) }}
- div.foodInfo.mouse(ref="clickFoodInfo", v-if="foodClickMode")
- div(v-if="currentDraggingFood != null")
- div.food-icon(:class="'Pet_Food_'+currentDraggingFood.key")
- div.popover
- div.popover-content {{ $t('clickOnPetToFeed', {foodName: currentDraggingFood.text() }) }}
- mount-raised-modal
- welcome-modal
- hatching-modal(:hatchablePet.sync='hatchablePet')
-
-
-
-
-
-
-
diff --git a/website/client/components/inventory/stable/mountItem.vue b/website/client/components/inventory/stable/mountItem.vue
deleted file mode 100644
index b8d84a827b..0000000000
--- a/website/client/components/inventory/stable/mountItem.vue
+++ /dev/null
@@ -1,59 +0,0 @@
-
-div
- .item-wrapper(@click="click()", :id="itemId")
- .item.pet-slot(
- :class="{'item-empty': !isOwned()}",
- )
- slot(name="itemBadge", :item="item")
- span.item-content(:class="itemClass()")
- b-popover(
- :target="itemId",
- v-if="showPopover",
- triggers="hover",
- :placement="popoverPosition",
- )
- slot(name="popoverContent", :item="item")
-
-
-
diff --git a/website/client/components/inventory/stable/mountRaisedModal.vue b/website/client/components/inventory/stable/mountRaisedModal.vue
deleted file mode 100644
index 29c2a4803f..0000000000
--- a/website/client/components/inventory/stable/mountRaisedModal.vue
+++ /dev/null
@@ -1,97 +0,0 @@
-
-b-modal#mount-raised-modal(:hide-header="true")
- div.content(v-if="mount != null")
- div.dialog-header.title {{ $t('raisedPet', {pet: mount.text()}) }}
- div.inner-content
- div.pet-background
- .mount(:class="`Mount_Icon_${mount.key}`")
- h4.title {{ mount.text() }}
- button.btn.btn-primary.onward(@click="close()") {{ $t('onward') }}
- div.clearfix(slot="modal-footer")
-
-
-
-
-
-
-
diff --git a/website/client/components/inventory/stable/petItem.vue b/website/client/components/inventory/stable/petItem.vue
deleted file mode 100644
index c96668b104..0000000000
--- a/website/client/components/inventory/stable/petItem.vue
+++ /dev/null
@@ -1,161 +0,0 @@
-
- div
- .item-wrapper(@click="click()", :id="itemId")
- .item.pet-slot(
- :class="{'item-empty': !isOwned(), 'highlight': highlightBorder}",
- )
- slot(name="itemBadge", :item="item")
- span.item-content.hatchAgain(v-if="mountOwned() && isHatchable() && !item.isSpecial()")
- span.egg(:class="eggClass")
- span.potion(:class="potionClass")
- span.item-content(v-else, :class="getPetItemClass()")
- span.pet-progress-background(v-if="isAllowedToFeed() && progress() > 0")
- div.pet-progress-bar(v-bind:style="{width: 100 * progress()/50 + '%' }")
- span.item-label(v-if="label") {{ label }}
-
- b-popover(
- :target="itemId",
- :triggers="showPopover ? 'hover' : ''",
- :placement="popoverPosition",
- )
- div.hatchablePopover(v-if="item.isHatchable()")
- h4.popover-content-title {{ item.name }}
- div.popover-content-text(v-html="$t('haveHatchablePet', { potion: item.potionName, egg: item.eggName })")
- div.potionEggGroup
- div.potionEggBackground
- div(:class="potionClass")
- div.potionEggBackground
- div(:class="eggClass")
- div(v-else)
- h4.popover-content-title {{ item.name }}
-
-
-
-
-
-
diff --git a/website/client/components/members/removeMemberModal.vue b/website/client/components/members/removeMemberModal.vue
deleted file mode 100644
index 7fc706d322..0000000000
--- a/website/client/components/members/removeMemberModal.vue
+++ /dev/null
@@ -1,48 +0,0 @@
-
- b-modal#remove-member(:title="$t('removeMember')", size='md', :hide-footer="true")
- .text-center
- h2.col-12 {{ $t('sureKick') }}
- .col-12.removing-member(v-if='memberToRemove.profile') {{memberToRemove.profile.name}}
- .modal-body
- textarea.form-control(type='text',
- rows='5',
- :placeholder="$t('optionalMessage')",
- v-model='removeMessage')
- .modal-footer
- button.pull-left.btn.btn-danger(@click='confirmRemoveMember()') {{ $t('yesRemove') }}
- button.btn.btn-secondary(@click='close()') {{ $t('cancel') }}
-
-
-
-
-
diff --git a/website/client/components/modifyInventory.vue b/website/client/components/modifyInventory.vue
deleted file mode 100644
index 68aa4de7b3..0000000000
--- a/website/client/components/modifyInventory.vue
+++ /dev/null
@@ -1,316 +0,0 @@
-
- b-modal#modify-inventory(v-if='user.profile', title="Modify Inventory", size='lg', :hide-footer="true")
- .modal-header
- h4 Modify Inventory for {{user.profile.name}}
- .modal-body
- .container-fluid
- .row
- .col-xs-12
- button.btn.btn-secondary.pull-right(ng-if="!showInv.gear", @click="showInv.gear = true") Show Gear
- button.btn.btn-secondary.pull-right(ng-if="showInv.gear", @click="showInv.gear = false") Hide Gear
- h4 Gear
- div(ng-if="showInv.gear")
- button.btn.btn-secondary(@click="setAllItems('gear', true)") Own All
- button.btn.btn-secondary(@click="setAllItems('gear', false)") Previously Own All
- button.btn.btn-secondary(@click="setAllItems('gear', undefined)") Never Own All
-
- hr
-
- ul.list-group
- li.list-group-item(v-for="item in content.gear.flat" ng-init="inv.gear[item.key] = user.items.gear.owned[item.key]")
- .pull-left(:class="'shop_' + item.key" style="margin-right: 10px")
- | {{item.text()}}
-
- .clearfix
- label.radio-inline
- input(type="radio", :name="'gear-' + item.key" ng-model="inv.gear[item.key]" ng-value="true")
- | Owned
- label.radio-inline
- input(type="radio", :name="'gear-' + item.key" ng-model="inv.gear[item.key]" ng-value="false")
- | Previously Owned
- label.radio-inline
- input(type="radio", :name="'gear-' + item.key" ng-model="inv.gear[item.key]" ng-value="undefined")
- | Never Owned
-
- hr
-
- .row
- .col-xs-12
- button.btn.btn-secondary.pull-right(ng-if="!showInv.special", @click="showInv.special = true") Show Special Items
- button.btn.btn-secondary.pull-right(ng-if="showInv.special", @click="showInv.special = false") Hide Special Items
- h4 Special Items
- div(ng-if="showInv.special")
- button.btn.btn-secondary(@click="setAllItems('special', 999)") Set All to 999
- button.btn.btn-secondary(@click="setAllItems('special', 0)") Set All to 0
- button.btn.btn-secondary(@click="setAllItems('special', undefined)") Set All to undefined
-
- hr
-
- ul.list-group
- li.list-group-item(v-for="item in content.special" ng-init="inv.special[item.key] = user.items.special[item.key]" ng-if="item.value === 15")
- .form-inline.clearfix
- .pull-left(:class="'inventory_special_' + item.key" style="margin-right: 10px")
- p {{item.text()}}
- input.form-control(type="number" ng-model="inv.special[item.key]")
-
- hr
-
- .row
- .col-xs-12
- button.btn.btn-secondary.pull-right(ng-if="!showInv.pets", @click="showInv.pets = true") Show Pets
- button.btn.btn-secondary.pull-right(ng-if="showInv.pets", @click="showInv.pets = false") Hide Pets
- h4 Pets
- div(ng-if="showInv.pets")
- button.btn.btn-secondary(@click="setAllItems('pets', 45)") Set All to 45
- button.btn.btn-secondary(@click="setAllItems('pets', 0)") Set All to 0
- button.btn.btn-secondary(@click="setAllItems('pets', -1)") Set All to -1
- button.btn.btn-secondary(@click="setAllItems('pets', undefined)") Set All to undefined
-
- hr
-
- h5 Drop Pets
- ul.list-group
- li.list-group-item(v-for="(pet, value) in content.pets" ng-init="inv.pets[pet] = user.items.pets[pet]")
- .form-inline.clearfix
- .pull-left(:class="'Pet-' + pet", style="margin-right: 10px")
- p {{pet}}
- input.form-control(type="number" ng-model="inv.pets[pet]")
-
- h5 Quest Pets
- ul.list-group
- li.list-group-item(v-for="(pet, value) in content.questPets" ng-init="inv.pets[pet] = user.items.pets[pet]")
- .form-inline.clearfix
- .pull-left(:class="'Pet-' + pet", style="margin-right: 10px")
- p {{pet}}
- input.form-control(type="number" ng-model="inv.pets[pet]")
-
- h5 Special Pets
- ul.list-group
- li.list-group-item(v-for="(pet, value) in content.specialPets" ng-init="inv.pets[pet] = user.items.pets[pet]")
- .form-inline.clearfix
- .pull-left(:class="'Pet-' + pet", style="margin-right: 10px")
- p {{pet}}
- input.form-control(type="number" ng-model="inv.pets[pet]")
-
- h5 Premium Pets
- ul.list-group
- li.list-group-item(v-for="(pet, value) in content.premiumPets" ng-init="inv.pets[pet] = user.items.pets[pet]")
- .form-inline.clearfix
- .pull-left(:class="'Pet-' + pet", style="margin-right: 10px")
- p {{pet}}
- input.form-control(type="number" ng-model="inv.pets[pet]")
-
- hr
-
- .row
- .col-xs-12
- button.btn.btn-secondary.pull-right(ng-if="!showInv.mounts", @click="showInv.mounts = true") Show Mounts
- button.btn.btn-secondary.pull-right(ng-if="showInv.mounts", @click="showInv.mounts = false") Hide Mounts
- h4 Mounts
- div(ng-if="showInv.mounts")
- button.btn.btn-secondary(@click="setAllItems('mounts', true)") Set all to Owned
- button.btn.btn-secondary(@click="setAllItems('mounts', undefined)") Set all to Not Owned
-
- hr
-
- h5 Drop Mounts
- ul.list-group
- li.list-group-item(v-for="(mount, value) in content.mounts" ng-init="inv.mounts[mount] = user.items.mounts[mount]")
- .pull-left(:class="'Mount_Icon_' + mount", style="margin-right: 10px")
- | {{mount}}
- .clearfix
- label.radio-inline
- input(type="radio" , :name="'mounts-' + mount", ng-model="inv.mounts[mount]" ng-value="true")
- | Owned
- label.radio-inline
- input(type="radio" , :name="'mounts-' + mount", ng-model="inv.mounts[mount]" ng-value="undefined")
- | Not Owned
-
- h5 Quest Mounts
- ul.list-group
- li.list-group-item(v-for="(mount, value) in content.questMounts" ng-init="inv.mounts[mount] = user.items.mounts[mount]")
- .pull-left(:class="'Mount_Icon_' + mount", style="margin-right: 10px")
- | {{mount}}
- .clearfix
- label.radio-inline
- input(type="radio" , :name="'mounts-' + mount", ng-model="inv.mounts[mount]" ng-value="true")
- | Owned
- label.radio-inline
- input(type="radio" , :name="'mounts-' + mount", ng-model="inv.mounts[mount]" ng-value="undefined")
- | Not Owned
-
- h5 Special Mounts
- ul.list-group
- li.list-group-item(v-for="(mount, value) in content.specialMounts" ng-init="inv.mounts[mount] = user.items.mounts[mount]")
- .pull-left(:class="'Mount_Icon_' + mount", style="margin-right: 10px")
- | {{mount}}
- .clearfix
- label.radio-inline
- input(type="radio" , :name="'mounts-' + mount", ng-model="inv.mounts[mount]" ng-value="true")
- | Owned
- label.radio-inline
- input(type="radio" , :name="'mounts-' + mount", ng-model="inv.mounts[mount]" ng-value="undefined")
- | Not Owned
-
- h5 Premium Mounts
- ul.list-group
- li.list-group-item(v-for="(mount, value) in content.premiumMounts" ng-init="inv.mounts[mount] = user.items.mounts[mount]")
- .pull-left(:class="'Mount_Icon_' + mount", style="margin-right: 10px")
- | {{mount}}
- .clearfix
- label.radio-inline
- input(type="radio" , :name="'mounts-' + mount", ng-model="inv.mounts[mount]" ng-value="true")
- | Owned
- label.radio-inline
- input(type="radio" , :name="'mounts-' + mount", ng-model="inv.mounts[mount]" ng-value="undefined")
- | Not Owned
-
- hr
-
- .row
- .col-xs-12
- button.btn.btn-secondary.pull-right(ng-if="!showInv.hatchingPotions", @click="showInv.hatchingPotions = true") Show Hatching Potions
- button.btn.btn-secondary.pull-right(ng-if="showInv.hatchingPotions", @click="showInv.hatchingPotions = false") Hide Hatching Potions
- h4 Hatching Potions
- div(ng-if="showInv.hatchingPotions")
- button.btn.btn-secondary(@click="setAllItems('hatchingPotions', 999)") Set All to 999
- button.btn.btn-secondary(@click="setAllItems('hatchingPotions', 0)") Set All to 0
- button.btn.btn-secondary(@click="setAllItems('hatchingPotions', undefined)") Set All to undefined
-
- hr
-
- ul.list-group
- li.list-group-item(v-for="item in content.hatchingPotions" ng-init="inv.hatchingPotions[item.key] = user.items.hatchingPotions[item.key]")
- .form-inline.clearfix
- .pull-left(:class="'Pet_HatchingPotion_' + item.key" style="margin-right: 10px")
- p {{item.text()}}
- input.form-control(type="number" ng-model="inv.hatchingPotions[item.key]")
-
- hr
-
- .row
- .col-xs-12
- button.btn.btn-secondary.pull-right(ng-if="!showInv.eggs", @click="showInv.eggs = true") Show Eggs
- button.btn.btn-secondary.pull-right(ng-if="showInv.eggs", @click="showInv.eggs = false") Hide Eggs
- h4 Eggs
- div(ng-if="showInv.eggs")
- button.btn.btn-secondary(@click="setAllItems('eggs', 999)") Set All to 999
- button.btn.btn-secondary(@click="setAllItems('eggs', 0)") Set All to 0
- button.btn.btn-secondary(@click="setAllItems('eggs', undefined)") Set All to undefined
-
- hr
-
- ul.list-group
- li.list-group-item(v-for="item in content.eggs" ng-init="inv.eggs[item.key] = user.items.eggs[item.key]")
- .form-inline.clearfix
- .pull-left(:class="'Pet_Egg_' + item.key" style="margin-right: 10px")
- p {{item.text()}}
- input.form-control(type="number" ng-model="inv.eggs[item.key]")
-
- hr
-
- .row
- .col-xs-12
- button.btn.btn-secondary.pull-right(ng-if="!showInv.food", @click="showInv.food = true") Show Food
- button.btn.btn-secondary.pull-right(ng-if="showInv.food", @click="showInv.food = false") Hide Food
- h4 Food
- div(ng-if="showInv.food")
- button.btn.btn-secondary(@click="setAllItems('food', 999)") Set All to 999
- button.btn.btn-secondary(@click="setAllItems('food', 0)") Set All to 0
- button.btn.btn-secondary(@click="setAllItems('food', undefined)") Set All to undefined
-
- hr
-
- ul.list-group
- li.list-group-item(v-for="item in content.food" ng-init="inv.food[item.key] = user.items.food[item.key]")
- .form-inline.clearfix
- .pull-left(:class="'Pet_Food_' + item.key" style="margin-right: 10px")
- p {{item.text()}}
- input.form-control(type="number" ng-model="inv.food[item.key]")
-
- hr
-
- .row
- .col-xs-12
- button.btn.btn-secondary.pull-right(ng-if="!showInv.quests", @click="showInv.quests = true") Show Quests
- button.btn.btn-secondary.pull-right(ng-if="showInv.quests", @click="showInv.quests = false") Hide Quests
- h4 Quests
- div(ng-if="showInv.quests")
- button.btn.btn-secondary(@click="setAllItems('quests', 999)") Set All to 999
- button.btn.btn-secondary(@click="setAllItems('quests', 0)") Set All to 0
- button.btn.btn-secondary(@click="setAllItems('quests', undefined)") Set All to undefined
-
- hr
-
- ul.list-group
- li.list-group-item(v-for="item in content.quests" ng-init="inv.quests[item.key] = user.items.quests[item.key]" ng-if="item.category !== 'world'")
- .form-inline.clearfix
- .pull-left(:class="'inventory_quest_scroll_' + item.key" style="margin-right: 10px")
- p {{item.text()}}
- input.form-control(type="number" ng-model="inv.quests[item.key]")
- .modal-footer
- button.btn.btn-secondary(@click="close()") {{ $t('close') }}
- button.btn.btn-primary(@click="close();modifyInventory()") Apply Changes
-
-
-
diff --git a/website/client/components/parentPage.vue b/website/client/components/parentPage.vue
deleted file mode 100644
index 1e0681ba50..0000000000
--- a/website/client/components/parentPage.vue
+++ /dev/null
@@ -1,5 +0,0 @@
-
-.row
- .col
- router-view
-
\ No newline at end of file
diff --git a/website/client/components/payments/buyGemsModal.vue b/website/client/components/payments/buyGemsModal.vue
deleted file mode 100644
index f99244006f..0000000000
--- a/website/client/components/payments/buyGemsModal.vue
+++ /dev/null
@@ -1,377 +0,0 @@
-
- mixin featureBullet (text)
- .row
- .col-md-2.offset-1
- .d-flex.bubble.justify-content-center.align-items-center
- .svg-icon.check.mx-auto(v-html='icons.check')
- .col-md-8.align-self-center
- p=text
- div(v-if='user')
- b-modal#buy-gems(:hide-footer='true', size='lg')
- .header-wrap(slot='modal-header')
- .image-gemfall
- .row
- h2.header-invert.mx-auto {{ $t('support') }}
- .row
- .logo.svg-icon.mx-auto(v-html="icons.logo")
- .d-flex.nav.justify-content-center
- .nav-item.text-center(@click='selectedPage = "subscribe"', :class="{active: selectedPage === 'subscribe'}") {{ $t('subscribe') }}
- .nav-item.text-center(@click='selectedPage = "gems"', :class="{active: selectedPage === 'gems'}") {{ $t('buyGems') }}
- div(v-show='selectedPage === "gems"')
- div(v-if='hasSubscription')
- .row.text-center
- h2.mx-auto.text-leadin {{ $t('subscriptionAlreadySubscribedLeadIn') }}
- .row.text-center
- .col-6.offset-3
- p {{ $t("gemsPurchaseNote") }}
- .row.text-center
- h2.mx-auto.text-leadin {{ $t('gemBenefitLeadin') }}
- .row
- .col
- +featureBullet("{{ $t('gemBenefit1') }}")
- +featureBullet("{{ $t('gemBenefit2') }}")
- .col
- +featureBullet("{{ $t('gemBenefit3') }}")
- +featureBullet("{{ $t('gemBenefit4') }}")
- .card-deck.gem-deck
- .card.text-center.col-3(:class="{active: gemAmount === 20 }")
- .card-img-top
- .mx-auto(v-html='icons.twentyOneGems', style='"height: 55px; width: 47.5px; margin-top: 1.85em;"')
- .card-body
- .gem-count 20
- .gem-text {{ $t('gems') }}
- .divider
- button.btn.btn-primary(@click='gemAmount === 20 ? gemAmount = 0 : gemAmount = 20') {{gemAmount === 20 ? $t('selected') : '$5.00'}}
- .row.text-center
- h2.mx-auto.text-payment {{ $t('choosePaymentMethod') }}
- .payments-column
- button.purchase.btn.btn-primary.payment-button.payment-item(@click='showStripe({})')
- .svg-icon.credit-card-icon(v-html="icons.creditCardIcon")
- | {{ $t('card') }}
- button.btn.payment-item.paypal-checkout.payment-button(@click="openPaypal(paypalCheckoutLink, 'gems')")
- |
- img(src='~assets/images/paypal-checkout.png', :alt="$t('paypal')")
- |
- amazon-button.payment-item(:amazon-data="{type: 'single'}")
- .row.text-center
- .svg-icon.mx-auto(v-html='icons.heart', style='"height: 24px; width: 24px;"')
- .row.text-center.text-outtro
- .col-6.offset-3 {{ $t('buyGemsSupportsDevs') }}
-
- div(v-show='selectedPage === "subscribe"')
- div(v-if='hasSubscription')
- .row.text-center
- h2.mx-auto.text-leadin {{ $t('subscriptionAlreadySubscribedLeadIn') }}
- .row.text-center
- .col-10.offset-1
- p(v-html='$t("subscriptionAlreadySubscribed1")')
- div(v-if='!hasSubscription')
- .row.text-center
- h2.mx-auto.text-leadin {{ $t('subscriptionBenefitLeadin') }}
- .row
- .col
- +featureBullet("{{ $t('subscriptionBenefit1') }}")
- +featureBullet("{{ $t('subscriptionBenefit2') }}")
- +featureBullet("{{ $t('subscriptionBenefit3') }}")
- .col
- +featureBullet("{{ $t('subscriptionBenefit4') }}")
- +featureBullet("{{ $t('subscriptionBenefit5') }}")
- +featureBullet("{{ $t('subscriptionBenefit6') }}")
- .card-deck
- .card.text-center(:class='{active: subscriptionPlan === "basic_earned"}')
- .card-body
- .subscription-price
- span.superscript $
- span 5
- span.superscript.muted .00
- .small(v-once) {{ $t('everyMonth') }}
- .divider
- p.benefits(v-markdown='$t("earnGemsMonthly", {cap:25})')
- .spacer
- button.btn.btn-primary(@click='subscriptionPlan = "basic_earned"') {{ subscriptionPlan === "basic_earned" ? $t('selected') : $t('select') }}
- .card.text-center(:class='{active: subscriptionPlan === "basic_3mo"}')
- .card-body
- .subscription-price
- span.superscript $
- span 15
- span.superscript.muted .00
- .small(v-once) {{ $t('everyXMonths', {interval: 3}) }}
- .divider
- p.benefits(v-markdown='$t("earnGemsMonthly", {cap:30})')
- p.benefits(v-markdown='$t("receiveMysticHourglass")')
- button.btn.btn-primary(@click='subscriptionPlan = "basic_3mo"') {{ subscriptionPlan === "basic_3mo" ? $t('selected') : $t('select') }}
- .card.text-center(:class='{active: subscriptionPlan === "basic_6mo"}')
- .card-body
- .subscription-price
- span.superscript $
- span 30
- span.superscript.muted .00
- .small(v-once) {{ $t('everyXMonths', {interval: 6}) }}
- .divider
- p.benefits(v-markdown='$t("earnGemsMonthly", {cap:35})')
- p.benefits(v-markdown='$t("receiveMysticHourglasses", {amount:2})')
- button.btn.btn-primary(@click='subscriptionPlan = "basic_6mo"') {{ subscriptionPlan === "basic_6mo" ? $t('selected') : $t('select') }}
- .card.text-center(:class='{active: subscriptionPlan === "basic_12mo"}')
- .card-body
- .subscription-price
- span.superscript $
- span 48
- span.superscript.muted .00
- .small(v-once) {{ $t('everyYear') }}
- .divider
- p.benefits(v-markdown='$t("earnGemsMonthly", {cap:45})')
- p.benefits(v-markdown='$t("receiveMysticHourglasses", {amount:4})')
- button.btn.btn-primary(@click='subscriptionPlan = "basic_12mo"') {{ subscriptionPlan === "basic_12mo" ? $t('selected') : $t('select') }}
- .row.text-center(v-if='subscriptionPlan')
- h2.mx-auto.text-payment(v-once) {{ $t('choosePaymentMethod') }}
- .row.text-center
- a.mx-auto(v-once) {{ $t('haveCouponCode') }}
- .payments-column(v-if='subscriptionPlan')
- button.purchase.btn.btn-primary.payment-button.payment-item(@click='showStripe({subscription: subscriptionPlan})')
- .svg-icon.credit-card-icon(v-html="icons.creditCardIcon")
- | {{ $t('card') }}
- button.btn.payment-item.paypal-checkout.payment-button(@click="openPaypal(paypalSubscriptionLink, 'subscription')")
- |
- img(src='~assets/images/paypal-checkout.png', :alt="$t('paypal')")
- |
- amazon-button.payment-item(:amazon-data="{type: 'subscription', subscription: subscriptionPlan}")
-
- .row.text-center
- .svg-icon.mx-auto(v-html='icons.heart', style='"height: 24px; width: 24px;"')
- .row.text-center.text-outtro
- .col-6.offset-3 {{ $t('subscribeSupportsDevs') }}
-
-
-
-
-
-
-
diff --git a/website/client/components/payments/cancelModalConfirm.vue b/website/client/components/payments/cancelModalConfirm.vue
deleted file mode 100644
index 604c5585f6..0000000000
--- a/website/client/components/payments/cancelModalConfirm.vue
+++ /dev/null
@@ -1,67 +0,0 @@
-
- b-modal#subscription-cancel-modal(
- size='sm',
- :hideFooter="true",
- :modalClass="['modal-hidden-footer']"
- )
- div(slot="modal-header")
- .icon-container.warning-container.d-flex.align-items-center.justify-content-center
- .svg-icon.warning(v-html="icons.warning", v-once)
- .row
- .col-12.modal-body-col
- h2 {{ config && config.group ? $t('cancelGroupSub') : $t('cancelSub') }}
- span.cancel-text {{ config && config.group ? $t('confirmCancelGroupPlan') : $t('confirmCancelSub') }}
- button.btn.btn-danger.mt-4.mb-3(v-once, @click="close(); cancelSubscription(config)") {{ $t('cancelSub') }}
- a.standard-link(v-once, @click="close()") {{ $t('neverMind') }}
-
-
-
-
-
\ No newline at end of file
diff --git a/website/client/components/payments/canceledModal.vue b/website/client/components/payments/canceledModal.vue
deleted file mode 100644
index e3f2960a71..0000000000
--- a/website/client/components/payments/canceledModal.vue
+++ /dev/null
@@ -1,100 +0,0 @@
-
- b-modal#subscription-canceled-modal(
- size='sm',
- :hideFooter="true",
- :modalClass="['modal-hidden-footer']"
- )
- div(slot="modal-header")
- .svg-icon.close(v-html="icons.close", v-once, @click="close()")
- .icon-container.check-container.d-flex.align-items-center.justify-content-center
- .svg-icon.check(v-html="icons.check", v-once)
- .row
- .col-12.modal-body-col
- h2 {{ $t(isGroup ? 'canceledGroupPlan' : 'subCanceledTitle') }}
- .details-block
- span
- | {{ $t('subWillBecomeInactive') }}
- br
- strong {{ isGroup ? groupDateTerminated : dateTerminated }}
- span.auto-renew.small-text(v-once) {{ $t('paymentCanceledDisputes') }}
-
-
-
-
-
\ No newline at end of file
diff --git a/website/client/components/payments/sendGemsModal.vue b/website/client/components/payments/sendGemsModal.vue
deleted file mode 100644
index 79ddea17ff..0000000000
--- a/website/client/components/payments/sendGemsModal.vue
+++ /dev/null
@@ -1,207 +0,0 @@
-
-b-modal#send-gems(:title="title", :hide-footer="true", size='md', @hide='onHide()')
- div(v-if='userReceivingGems')
- .panel.panel-default(
- :class="gift.type === 'gems' ? 'panel-primary' : 'transparent'",
- @click='gift.type = "gems"'
- )
- h3.panel-heading.clearfix
- .float-right
- span(v-if='gift.gems.fromBalance') {{ $t('sendGiftGemsBalance', {number: userLoggedIn.balance * 4}) }}
- span(v-if='!gift.gems.fromBalance') {{ $t('sendGiftCost', {cost: gift.gems.amount / 4}) }}
- | {{ $t('gemsPopoverTitle') }}
- .panel-body
- .row
- .col-md-6
- .form-group
- input.form-control(type='number', placeholder='Number of Gems',
- min='0', :max='gift.gems.fromBalance ? userLoggedIn.balance * 4 : 9999',
- v-model='gift.gems.amount')
- .col-md-6
- .btn-group
- button.btn.btn-secondary(:class="{active: gift.gems.fromBalance}", @click="gift.gems.fromBalance = true") {{ $t('sendGiftFromBalance') }}
- button.btn.btn-secondary(:class="{active: !gift.gems.fromBalance}", @click="gift.gems.fromBalance = false") {{ $t('sendGiftPurchase') }}
- .row
- .col-md-12
- p.small(v-html="$t('gemGiftsAreOptional', assistanceEmailObject)")
-
- .panel.panel-default(
- :class="gift.type=='subscription' ? 'panel-primary' : 'transparent'",
- @click='gift.type = "subscription"'
- )
- h3.panel-heading {{ $t('subscription') }}
- .panel-body
- .row
- .col-md-12
- .form-group
- .radio(v-for='block in subscriptionBlocks', v-if="block.target !== 'group' && block.canSubscribe === true")
- label
- input(type="radio", name="subRadio", :value="block.key", v-model='gift.subscription.key')
- | {{ $t('sendGiftSubscription', {price: block.price, months: block.months}) }}
-
- textarea.form-control(rows='3', v-model='gift.message', :placeholder="$t('sendGiftMessagePlaceholder')")
- //include ../formatting-help
-
- .modal-footer
- button.btn.btn-primary(
- v-if="fromBal",
- @click="sendGift()",
- :disabled="sendingInProgress"
- ) {{ $t("send") }}
- .payments-column.mx-auto(v-else, :class="{'payments-disabled': !gift.subscription.key && gift.gems.amount < 1}")
- button.purchase.btn.btn-primary.payment-button.payment-item(@click='showStripe({gift, uuid: userReceivingGems._id, receiverName})', :disabled="!gift.subscription.key && gift.gems.amount < 1")
- .svg-icon.credit-card-icon(v-html="icons.creditCardIcon")
- | {{ $t('card') }}
- button.btn.payment-item.paypal-checkout.payment-button(@click="openPaypalGift({gift: gift, giftedTo: userReceivingGems._id, receiverName})", :disabled="!gift.subscription.key && gift.gems.amount < 1")
- |
- img(src='~assets/images/paypal-checkout.png', :alt="$t('paypal')")
- |
- amazon-button.payment-item.mb-0(
- :amazon-data="{type: 'single', gift, giftedTo: userReceivingGems._id, receiverName}",
- :amazon-disabled="!gift.subscription.key && gift.gems.amount < 1",
- )
-
-
-
-
-
-
-
diff --git a/website/client/components/payments/successModal.vue b/website/client/components/payments/successModal.vue
deleted file mode 100644
index fff10bccd2..0000000000
--- a/website/client/components/payments/successModal.vue
+++ /dev/null
@@ -1,187 +0,0 @@
-
- b-modal#payments-success-modal(
- :title="$t('accountSuspendedTitle')",
- size='sm',
- :hideFooter="isFromBalance",
- :modalClass="isFromBalance ? ['modal-hidden-footer'] : []"
- )
- div(slot="modal-header")
- .check-container.d-flex.align-items-center.justify-content-center
- .svg-icon.check(v-html="icons.check", v-once)
- h2 {{ $t(isFromBalance ? 'success' : 'paymentSuccessful') }}
- div(slot="modal-footer")
- .small-text(v-once) {{ $t('giftSubscriptionText4') }}
- .row
- .col-12.modal-body-col
- template(v-if="paymentData.paymentType === 'gems'")
- strong(v-once) {{ $t('paymentYouReceived') }}
- .details-block.gems
- .svg-icon(v-html="icons.gem", v-once)
- span 20
- template(v-if="paymentData.paymentType === 'gift-gems' || paymentData.paymentType === 'gift-gems-balance'")
- span(v-html="$t('paymentYouSentGems', {name: paymentData.giftReceiver})")
- .details-block.gems
- .svg-icon(v-html="icons.gem", v-once)
- span {{ paymentData.gift.gems.amount }}
- template(v-if="paymentData.paymentType === 'gift-subscription'")
- span(v-html="$t('paymentYouSentSubscription', {name: paymentData.giftReceiver, months: paymentData.subscription.months})")
- template(v-if="paymentData.paymentType === 'subscription'")
- strong(v-once) {{ $t('nowSubscribed') }}
- .details-block
- span(v-html="$t('paymentSubBilling', {amount: paymentData.subscription.price, months: paymentData.subscription.months})")
- template(v-if="paymentData.paymentType === 'groupPlan'")
- span(v-html="$t(paymentData.newGroup ? 'groupPlanCreated' : 'groupPlanUpgraded', {groupName: paymentData.group.name})")
- .details-block
- span(v-html="$t('paymentSubBilling', {amount: groupPlanCost, months: paymentData.subscription.months})")
- template(v-if="paymentData.paymentType === 'groupPlan' || paymentData.paymentType === 'subscription'")
- span.small-text.auto-renew(v-once) {{ $t('paymentAutoRenew') }}
- button.btn.btn-primary(@click='close()', v-once) {{$t('onwards')}}
-
-
-
-
-
\ No newline at end of file
diff --git a/website/client/components/private-message-modal.vue b/website/client/components/private-message-modal.vue
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/website/client/components/selectMembersModal.vue b/website/client/components/selectMembersModal.vue
deleted file mode 100644
index 49315788b5..0000000000
--- a/website/client/components/selectMembersModal.vue
+++ /dev/null
@@ -1,208 +0,0 @@
-
-div
- b-modal#select-member-modal(
- size='lg',
- :hideFooter="true",
- @change="onChange($event)"
- )
- .header-wrap(slot="modal-header")
- .row
- .col-6
- h1(v-once) {{$t('selectPartyMember')}}
- .col-6
- button(type="button" aria-label="Close" class="close", @click='close()')
- span(aria-hidden="true") ×
- .row
- .form-group.col-6
- input.form-control.search(type="text", :placeholder="$t('search')", v-model='searchTerm')
- .col-4.offset-2
- span.dropdown-label {{ $t('sortBy') }}
- b-dropdown(:text="$t('sort')", right=true)
- b-dropdown-item(v-for='sortOption in sortOptions', @click='sort(sortOption.value)', :key='sortOption.value') {{sortOption.text}}
- .row(v-for='member in sortedMembers')
- .col-10
- member-details(:member='member')
- .col-2.actions
- button.btn.btn-primary(@click="selectMember(member)") {{ $t('select') }}
- .row.gradient(v-if='members.length > 3')
-
-
-
-
-
diff --git a/website/client/components/settings/api.vue b/website/client/components/settings/api.vue
deleted file mode 100644
index a6bd0ccf65..0000000000
--- a/website/client/components/settings/api.vue
+++ /dev/null
@@ -1,139 +0,0 @@
-
-.row.standard-page
- .col-6
- h2 {{ $t('API') }}
- p {{ $t('APIText') }}
-
- .section
- h6 {{ $t('userId') }}
- pre.prettyprint {{user.id}}
- h6 {{ $t('APIToken') }}
- .d-flex.align-items-center.mb-3
- button.btn.btn-secondary(
- @click="showApiToken = !showApiToken"
- ) {{ $t(`${showApiToken ? 'hide' : 'show'}APIToken`) }}
- pre.prettyprint.ml-4.mb-0(v-if="showApiToken") {{apiToken}}
- p(v-html='$t("APITokenWarning", { hrefTechAssistanceEmail })')
-
- .section
- h3 {{ $t('thirdPartyApps') }}
- ul
- li
- a(target='_blank' href='https://www.beeminder.com/habitica') {{ $t('beeminder') }}
- br
- | {{ $t('beeminderDesc') }}
- li(v-html="$t('chatExtension')")
- | {{ $t('chatExtensionDesc') }}
- li
- a(target='_blank' :href='`https://oldgods.net/habitica/habitrpg_user_data_display.html?uuid=` + user._id') {{ $t('dataTool') }}
- br
- | {{ $t('dataToolDesc') }}
- li(v-html="$t('otherExtensions')")
- | {{ $t('otherDesc') }}
-
- hr
-
- .col-6
- h2 {{ $t('webhooks') }}
- p(v-html="$t('webhooksInfo')")
- table.table.table-striped
- thead(v-if='user.webhooks.length')
- tr
- th {{ $t('enabled') }}
- th {{ $t('webhookURL') }}
- th
- tbody
- tr(v-for="(webhook, index) in user.webhooks")
- td
- input(type='checkbox', v-model='webhook.enabled', @change='saveWebhook(webhook, index)')
- td
- input.form-control(type='url', v-model='webhook.url')
- td
- a.btn.btn-warning.checklist-icons(@click='deleteWebhook(webhook, index)')
- span.glyphicon.glyphicon-trash(:tooltip="$t('delete')") Delete
- a.btn.btn-success.checklist-icons(@click='saveWebhook(webhook, index)') Update
- tr
- td(colspan=2)
- .form-horizontal
- .form-group.col-sm-10
- input.form-control(type='url', v-model='newWebhook.url', :placeholder="$t('webhookURL')")
- .col-sm-2
- button.btn.btn-sm.btn-primary(type='submit', @click='addWebhook(newWebhook.url)') {{ $t('add') }}
-
-
-
-
-
diff --git a/website/client/components/settings/dataExport.vue b/website/client/components/settings/dataExport.vue
deleted file mode 100644
index 07f434fd86..0000000000
--- a/website/client/components/settings/dataExport.vue
+++ /dev/null
@@ -1,13 +0,0 @@
-
-.row
- .col-md-6
- h2 {{ $t('dataExport') }}
- small {{ $t('saveData') }}
- h4 {{ $t('habitHistory') }}
- | {{ $t('exportHistory') }}
- a(href="/export/history.csv") {{ $t('csv') }}
- h4 {{ $t('userData') }}
- | {{ $t('exportUserData') }}
- a(href="/export/userdata.xml") {{ $t('xml') }}
- a(href="/export/userdata.json") {{ $t('json') }}
-
diff --git a/website/client/components/settings/deleteModal.vue b/website/client/components/settings/deleteModal.vue
deleted file mode 100644
index 34838b0504..0000000000
--- a/website/client/components/settings/deleteModal.vue
+++ /dev/null
@@ -1,50 +0,0 @@
-
- b-modal#delete(:title="$t('deleteAccount')", :hide-footer='true' size='md')
- .modal-body
- br
- strong(v-if='user.auth.local.email') {{ $t('deleteLocalAccountText') }}
- strong(v-if='!user.auth.local.email') {{ $t('deleteSocialAccountText', {magicWord: 'DELETE'}) }}
- .row.mt-3
- .col-6
- input.form-control(type='password', v-model='password')
- .row.mt-3
- #feedback.col-12.form-group
- label(for='feedbackTextArea') {{ $t('feedback') }}
- textarea#feedbackTextArea.form-control(v-model='feedback')
- .modal-footer
- button.btn.btn-primary(@click='close()') {{ $t('neverMind') }}
- button.btn.btn-danger(@click='deleteAccount()', :disabled='!password') {{ $t('deleteDo') }}
-
-
-
diff --git a/website/client/components/settings/index.vue b/website/client/components/settings/index.vue
deleted file mode 100644
index 68366e1107..0000000000
--- a/website/client/components/settings/index.vue
+++ /dev/null
@@ -1,23 +0,0 @@
-
-.row
- secondary-menu.col-12
- router-link.nav-link(:to="{name: 'site'}", exact, :class="{'active': $route.name === 'site'}") {{ $t('site') }}
- router-link.nav-link(:to="{name: 'api'}", :class="{'active': $route.name === 'api'}") {{ $t('API') }}
- router-link.nav-link(:to="{name: 'dataExport'}", :class="{'active': $route.name === 'dataExport'}") {{ $t('dataExport') }}
- router-link.nav-link(:to="{name: 'promoCode'}", :class="{'active': $route.name === 'promoCode'}") {{ $t('promoCode') }}
- router-link.nav-link(:to="{name: 'subscription'}", :class="{'active': $route.name === 'subscription'}") {{ $t('subscription') }}
- router-link.nav-link(:to="{name: 'notifications'}", :class="{'active': $route.name === 'notifications'}") {{ $t('notifications') }}
-
- .col-12
- router-view
-
-
-
diff --git a/website/client/components/settings/notifications.vue b/website/client/components/settings/notifications.vue
deleted file mode 100644
index dfc6dfb964..0000000000
--- a/website/client/components/settings/notifications.vue
+++ /dev/null
@@ -1,108 +0,0 @@
-
-.row.standard-page
- .col-12
- h1 {{ $t('notifications') }}
- .col-12
- .checkbox
- label
- input(type='checkbox', v-model='user.preferences.pushNotifications.unsubscribeFromAll',
- @change='set("pushNotifications", "unsubscribeFromAll")')
- span {{ $t('unsubscribeAllPush') }}
-
- br
-
- .checkbox
- label
- input(type='checkbox', v-model='user.preferences.emailNotifications.unsubscribeFromAll',
- @change='set("emailNotifications", "unsubscribeFromAll")')
- span {{ $t('unsubscribeAllEmails') }}
- small {{ $t('unsubscribeAllEmailsText') }}
-
- .col-8
- table.table
- tr
- td
- th
- span {{ $t('email') }}
- th
- span {{ $t('push') }}
- tr(v-for='notification in notificationsIds')
- td
- span {{ $t(notification) }}
- td
- input(type='checkbox', v-model='user.preferences.emailNotifications[notification]',
- @change='set("emailNotifications", notification)')
- td(v-if="onlyEmailsIds.indexOf(notification) === -1")
- input(type='checkbox', v-model='user.preferences.pushNotifications[notification]',
- @change='set("pushNotifications", notification)')
- hr
-
-
-
diff --git a/website/client/components/settings/promoCode.vue b/website/client/components/settings/promoCode.vue
deleted file mode 100644
index fd12622856..0000000000
--- a/website/client/components/settings/promoCode.vue
+++ /dev/null
@@ -1,65 +0,0 @@
-
-.row.standard-page
- .col-md-6
- h2 {{ $t('promoCode') }}
- .form-inline(role='form')
- input.form-control(type='text', v-model='couponCode', :placeholder="$t('promoPlaceholder')")
- button.btn.btn-primary(@click='enterCoupon()') {{ $t('submit') }}
- div
- small {{ $t('couponText') }}
- div(v-if='user.contributor.sudo')
- hr
- h4 {{ $t('generateCodes') }}
- .form(role='form')
- .form-group
- input.form-control(type='text', v-model='codes.event', placeholder="Event code (eg, 'wondercon')")
- .form-group
- input.form-control(type='number', v-model='codes.count', placeholder="Number of codes to generate (eg, 250)")
- .form-group
- button.btn.btn-primary(type='submit', @click='generateCodes(codes)') {{ $t('generate') }}
- a.btn.btn-secondary(:href='getCodesUrl') {{ $t('getCodes') }}
-
-
-
diff --git a/website/client/components/settings/resetModal.vue b/website/client/components/settings/resetModal.vue
deleted file mode 100644
index 0c514e6b6f..0000000000
--- a/website/client/components/settings/resetModal.vue
+++ /dev/null
@@ -1,31 +0,0 @@
-
- b-modal#reset(:title="$t('resetAccount')", :hide-footer='true' size='md')
- p {{ $t('resetText1') }}
- p {{ $t('resetText2') }}
- .modal-footer
- button.btn.btn-primary(@click='close()') {{ $t('neverMind') }}
- button.btn.btn-danger(@click='reset()') {{ $t('resetDo') }}
-
-
-
diff --git a/website/client/components/settings/restoreModal.vue b/website/client/components/settings/restoreModal.vue
deleted file mode 100644
index 0e4cd628a8..0000000000
--- a/website/client/components/settings/restoreModal.vue
+++ /dev/null
@@ -1,109 +0,0 @@
-
- b-modal#restore(:title="$t('fixValues')", :hide-footer='true' size='lg')
- p {{ $t('fixValuesText1') }}
- p {{ $t('fixValuesText2') }}
- .form-horizontal
- h3 {{ $t('stats') }}
- .form-group.row
- .col-sm-3
- label.control-label {{ $t('health') }}
- .col-sm-9
- input.form-control(type='number', step="any", data-for='stats.hp', v-model='restoreValues.stats.hp')
- .form-group.row
- .col-sm-3
- label.control-label {{ $t('experience') }}
- .col-sm-9
- input.form-control(type='number', step="any", data-for='stats.exp', v-model='restoreValues.stats.exp')
- .form-group.row
- .col-sm-3
- label.control-label {{ $t('gold') }}
- .col-sm-9
- input.form-control(type='number', step="any", data-for='stats.gp', v-model='restoreValues.stats.gp')
- //input.form-control(type='number', step="any", data-for='stats.gp', v-model='restoreValues.stats.gp',disabled)
- //-p.alert
- small {{ $t('disabledWinterEvent') }}
- .form-group.row
- .col-sm-3
- label.control-label {{ $t('mana') }}
- .col-sm-9
- input.form-control(type='number', step="any", data-for='stats.mp', v-model='restoreValues.stats.mp')
- .form-group.row
- .col-sm-3
- label.control-label {{ $t('level') }}
- .col-sm-9
- input.form-control(type='number', data-for='stats.lvl', v-model='restoreValues.stats.lvl')
- h3 {{ $t('achievements') }}
- .form-group.row
- .col-sm-3
- label.control-label {{ $t('fix21Streaks') }}
- .col-sm-9
- input.form-control(type='number', data-for='achievements.streak', v-model='restoreValues.achievements.streak')
- //- This is causing too many problems for users
- h3 {{ $t('other') }}
- a.btn.btn-sm.btn-warning(ng-controller='FooterCtrl', ng-click='addMissedDay(1)') {{ $t('triggerDay') }}
- .modal-footer
- button.btn.btn-danger(@click='close()') {{ $t('discardChanges') }}
- button.btn.btn-primary(@click='restore()') {{ $t('saveAndClose') }}
-
-
-
diff --git a/website/client/components/settings/site.vue b/website/client/components/settings/site.vue
deleted file mode 100644
index 4f6d75d1f8..0000000000
--- a/website/client/components/settings/site.vue
+++ /dev/null
@@ -1,528 +0,0 @@
-
- .row.standard-page
- restore-modal
- reset-modal
- delete-modal
- h1.col-12 {{ $t('settings') }}
- .col-sm-6
- .form-horizontal
- h5 {{ $t('language') }}
- select.form-control(:value='user.preferences.language',
- @change='changeLanguage($event)')
- option(v-for='lang in availableLanguages', :value='lang.code') {{lang.name}}
-
- small
- | {{ $t('americanEnglishGovern') }}
- br
- strong(v-html="$t('helpWithTranslation')")
- hr
-
- .form-horizontal
- h5 {{ $t('dateFormat') }}
- select.form-control(v-model='user.preferences.dateFormat',
- @change='set("dateFormat")')
- option(v-for='dateFormat in availableFormats', :value='dateFormat') {{dateFormat}}
- hr
-
- .form-horizontal
- .form-group
- h5 {{ $t('audioTheme') }}
- select.form-control(v-model='user.preferences.sound',
- @change='changeAudioTheme')
- option(v-for='sound in availableAudioThemes', :value='sound') {{ $t(`audioTheme_${sound}`) }}
- button.btn.btn-primary.btn-xs(@click='playAudio', v-once) {{ $t('demo') }}
- hr
-
- .form-horizontal(v-if='hasClass')
- h5 {{ $t('characterBuild') }}
- h6(v-once) {{ $t('class') + ': ' }}
- // @TODO: what is classText
- // span(v-if='classText') {{ classText }}
- button.btn.btn-danger.btn-xs(@click='changeClassForUser(true)', v-once) {{ $t('changeClass') }}
- small.cost 3 {{ $t('gems') }}
- // @TODO add icon span.Pet_Currency_Gem1x.inline-gems
- hr
-
- div
- .checkbox
- label
- input(type='checkbox', v-model='user.preferences.advancedCollapsed', @change='set("advancedCollapsed")')
- span.hint(popover-trigger='mouseenter', popover-placement='right', :popover="$t('startAdvCollapsedPop')") {{ $t('startAdvCollapsed') }}
- .checkbox
- label
- input(type='checkbox', v-model='user.preferences.dailyDueDefaultView', @change='set("dailyDueDefaultView")')
- span.hint(popover-trigger='mouseenter', popover-placement='right', :popover="$t('dailyDueDefaultViewPop')") {{ $t('dailyDueDefaultView') }}
- .checkbox(v-if='party.memberCount === 1')
- label
- input(type='checkbox', v-model='user.preferences.displayInviteToPartyWhenPartyIs1', @change='set("displayInviteToPartyWhenPartyIs1")')
- span.hint(popover-trigger='mouseenter', popover-placement='right', :popover="$t('displayInviteToPartyWhenPartyIs1')") {{ $t('displayInviteToPartyWhenPartyIs1') }}
- .checkbox
- input(type='checkbox', v-model='user.preferences.suppressModals.levelUp', @change='set("suppressModals", "levelUp")')
- label {{ $t('suppressLevelUpModal') }}
- .checkbox
- input(type='checkbox', v-model='user.preferences.suppressModals.hatchPet', @change='set("suppressModals", "hatchPet")')
- label {{ $t('suppressHatchPetModal') }}
- .checkbox
- input(type='checkbox', v-model='user.preferences.suppressModals.raisePet', @change='set("suppressModals", "raisePet")')
- label {{ $t('suppressRaisePetModal') }}
- .checkbox
- input(type='checkbox', v-model='user.preferences.suppressModals.streak', @change='set("suppressModals", "streak")')
- label {{ $t('suppressStreakModal') }}
- //- .checkbox
- //- label {{ $t('confirmScoreNotes') }}
- //- input(type='checkbox', v-model='user.preferences.tasks.confirmScoreNotes', @change='set({"preferences.tasks.confirmScoreNotes": user.preferences.tasks.confirmScoreNotes ? true: false})')
-
- //- .checkbox
- //- label {{ $t('groupTasksByChallenge') }}
- //- input(type='checkbox', v-model='user.preferences.tasks.groupByChallenge', @change='set({"preferences.tasks.groupByChallenge": user.preferences.tasks.groupByChallenge ? true: false})')
-
- hr
-
- button.btn.btn-primary.mr-2.mb-2(@click='showBailey()', popover-trigger='mouseenter', popover-placement='right', :popover="$t('showBaileyPop')") {{ $t('showBailey') }}
- button.btn.btn-primary.mr-2.mb-2(@click='openRestoreModal()', popover-trigger='mouseenter', popover-placement='right', :popover="$t('fixValPop')") {{ $t('fixVal') }}
- button.btn.btn-primary.mb-2(v-if='user.preferences.disableClasses == true', @click='changeClassForUser(false)',
- popover-trigger='mouseenter', popover-placement='right', :popover="$t('enableClassPop')") {{ $t('enableClass') }}
-
- hr
-
- div
- h5 {{ $t('customDayStart') }}
- .alert.alert-warning {{ $t('customDayStartInfo1') }}
- .form-horizontal
- .form-group
- .col-7
- select.form-control(v-model='newDayStart')
- option(v-for='option in dayStartOptions' :value='option.value') {{option.name}}
-
- .col-5
- button.btn.btn-block.btn-primary.mt-1(@click='openDayStartModal()',
- :disabled='newDayStart === user.preferences.dayStart')
- | {{ $t('saveCustomDayStart') }}
- hr
-
- h5 {{ $t('timezone') }}
- .form-horizontal
- .form-group
- .col-12
- p(v-html="$t('timezoneUTC', {utc: timezoneOffsetToUtc})")
- p(v-html="$t('timezoneInfo')")
-
- .col-sm-6
- h2 {{ $t('registration') }}
- .panel-body
- div
- ul.list-inline
- li(v-for='network in SOCIAL_AUTH_NETWORKS')
- button.btn.btn-primary.mb-2(v-if='!user.auth[network.key].id', @click='socialAuth(network.key, user)') {{ $t('registerWithSocial', {network: network.name}) }}
- button.btn.btn-primary.mb-2(disabled='disabled', v-if='!hasBackupAuthOption(network.key) && user.auth[network.key].id') {{ $t('registeredWithSocial', {network: network.name}) }}
- button.btn.btn-danger(@click='deleteSocialAuth(network)', v-if='hasBackupAuthOption(network.key) && user.auth[network.key].id') {{ $t('detachSocial', {network: network.name}) }}
- hr
- div(v-if='!user.auth.local.email')
- p {{ $t('addLocalAuth') }}
- .form(name='localAuth', novalidate)
- .form-group
- input.form-control(type='text', :placeholder="$t('email')", v-model='localAuth.email', required)
- .form-group
- input.form-control(type='password', :placeholder="$t('password')", v-model='localAuth.password', required)
- .form-group
- input.form-control(type='password', :placeholder="$t('confirmPass')", v-model='localAuth.confirmPassword', required)
- button.btn.btn-primary(type='submit', @click='addLocalAuth()') {{ $t('submit') }}
-
- .usersettings
- h5 {{ $t('changeDisplayName') }}
- .form(name='changeDisplayName', novalidate)
- .form-group
- input#changeDisplayname.form-control(type='text', :placeholder="$t('newDisplayName')", v-model='temporaryDisplayName', :class='{"is-invalid input-invalid": displayNameInvalid}')
- .mb-3(v-if="displayNameIssues.length > 0")
- .input-error(v-for="issue in displayNameIssues") {{ issue }}
- button.btn.btn-primary(type='submit', @click='changeDisplayName(temporaryDisplayName)', :disabled='displayNameCannotSubmit') {{ $t('submit') }}
-
- h5 {{ $t('changeUsername') }}
- .form(name='changeUsername', novalidate)
- .iconalert.iconalert-success(v-if='verifiedUsername') {{ $t('usernameVerifiedConfirmation', {'username': user.auth.local.username}) }}
- .iconalert.iconalert-warning(v-else)
- div.align-middle
- span {{ $t('usernameNotVerified') }}
- .form-group
- input#changeUsername.form-control(@blur='restoreEmptyUsername()',type='text', :placeholder="$t('newUsername')", v-model='usernameUpdates.username', :class='{"is-invalid input-invalid": usernameInvalid}')
- .input-error(v-for="issue in usernameIssues") {{ issue }}
- small.form-text.text-muted {{ $t('changeUsernameDisclaimer') }}
- button.btn.btn-primary(type='submit', @click='changeUser("username", usernameUpdates)', :disabled='usernameCannotSubmit') {{ $t('saveAndConfirm') }}
- h5(v-if='user.auth.local.email') {{ $t('changeEmail') }}
- .form(v-if='user.auth.local.email', name='changeEmail', novalidate)
- .form-group
- input#changeEmail.form-control(type='text', :placeholder="$t('newEmail')", v-model='emailUpdates.newEmail')
- .form-group
- input.form-control(type='password', :placeholder="$t('password')", v-model='emailUpdates.password')
- button.btn.btn-primary(type='submit', @click='changeUser("email", emailUpdates)') {{ $t('submit') }}
-
- h5(v-if='user.auth.local.email') {{ $t('changePass') }}
- .form(v-if='user.auth.local.email', name='changePassword', novalidate)
- .form-group
- input#changePassword.form-control(type='password', :placeholder="$t('oldPass')", v-model='passwordUpdates.password')
- .form-group
- input.form-control(type='password', :placeholder="$t('newPass')", v-model='passwordUpdates.newPassword')
- .form-group
- input.form-control(type='password', :placeholder="$t('confirmPass')", v-model='passwordUpdates.confirmPassword')
- button.btn.btn-primary(type='submit', @click='changeUser("password", passwordUpdates)') {{ $t('submit') }}
- hr
-
- div
- h5 {{ $t('dangerZone') }}
- div
- button.btn.btn-danger.mr-2.mb-2(@click='openResetModal()',
- popover-trigger='mouseenter', popover-placement='right', v-b-popover.hover.auto="$t('resetAccPop')") {{ $t('resetAccount') }}
- button.btn.btn-danger.mb-2(@click='openDeleteModal()',
- popover-trigger='mouseenter', v-b-popover.hover.auto="$t('deleteAccPop')") {{ $t('deleteAccount') }}
-
-
-
-
-
diff --git a/website/client/components/settings/subscription.vue b/website/client/components/settings/subscription.vue
deleted file mode 100644
index 80023627c8..0000000000
--- a/website/client/components/settings/subscription.vue
+++ /dev/null
@@ -1,262 +0,0 @@
-
- .standard-page
- h1 {{ $t('subscription') }}
- .row
- .col-6
- h2 {{ $t('benefits') }}
- ul
- li
- span.hint(:popover="$t('buyGemsGoldText', {gemCostTranslation})",
- popover-trigger='mouseenter',
- popover-placement='right') {{ $t('buyGemsGold') }}
- span.badge.badge-success(v-if='subscription.key !== "basic_earned"') {{ $t('buyGemsGoldCap', buyGemsGoldCap) }}
- li
- span.hint(:popover="$t('retainHistoryText')", popover-trigger='mouseenter', popover-placement='right') {{ $t('retainHistory') }}
- li
- span.hint(:popover="$t('doubleDropsText')", popover-trigger='mouseenter', popover-placement='right') {{ $t('doubleDrops') }}
- li
- span.hint(:popover="$t('mysteryItemText')", popover-trigger='mouseenter', popover-placement='right') {{ $t('mysteryItem') }}
- div(v-if='subscription.key !== "basic_earned"')
- .badge.badge-success {{ $t('mysticHourglass', mysticHourglass) }}
- .small.muted {{ $t('mysticHourglassText') }}
- li
- span.hint(:popover="$t('exclusiveJackalopePetText')", popover-trigger='mouseenter', popover-placement='right') {{ $t('exclusiveJackalopePet') }}
- li
- span.hint(:popover="$t('supportDevsText')", popover-trigger='mouseenter', popover-placement='right') {{ $t('supportDevs') }}
-
- .col-6
- h2 Plan
- table.table.alert.alert-info(v-if='hasSubscription')
- tr(v-if='hasCanceledSubscription'): td.alert.alert-warning
- span.noninteractive-button.btn-danger {{ $t('canceledSubscription') }}
- i.glyphicon.glyphicon-time
- | {{ $t('subCanceled') }}
- strong {{dateTerminated}}
- tr(v-if='!hasCanceledSubscription'): td
- h4 {{ $t('subscribed') }}
- p(v-if='hasPlan && !hasGroupPlan') {{ $t('purchasedPlanId', purchasedPlanIdInfo) }}
- p(v-if='hasGroupPlan') {{ $t('youHaveGroupPlan') }}
- tr(v-if='user.purchased.plan.extraMonths'): td
- span.glyphicon.glyphicon-credit-card
- | {{ $t('purchasedPlanExtraMonths', purchasedPlanExtraMonthsDetails) }}
- tr(v-if='hasConsecutiveSubscription'): td
- span.glyphicon.glyphicon-forward
- | {{ $t('consecutiveSubscription') }}
- ul.list-unstyled
- li {{ $t('consecutiveMonths') }} {{user.purchased.plan.consecutive.count + user.purchased.plan.consecutive.offset}}
- li {{ $t('gemCapExtra') }} {{user.purchased.plan.consecutive.gemCapExtra}}
- li {{ $t('mysticHourglasses') }} {{user.purchased.plan.consecutive.trinkets}}
-
- div(v-if='!hasSubscription || hasCanceledSubscription')
- h4(v-if='hasCanceledSubscription') {{ $t("resubscribe") }}
- .form-group.reduce-top-margin
- .radio(v-for='block in subscriptionBlocksOrdered', v-if="block.target !== 'group' && block.canSubscribe === true")
- label
- input(type="radio", name="subRadio", :value="block.key", v-model='subscription.key')
- span(v-if='block.original')
- span.label.label-success.line-through
- | ${{block.original }}
- | {{ $t('subscriptionRateText', {price: block.price, months: block.months}) }}
- span(v-if='!block.original')
- | {{ $t('subscriptionRateText', {price: block.price, months: block.months}) }}
-
- .form-inline
- .form-group
- input.form-control(type='text', v-model='subscription.coupon', :placeholder="$t('couponPlaceholder')")
- .form-group
- button.btn.btn-primary(type='button', @click='applyCoupon(subscription.coupon)') {{ $t("apply") }}
-
- div(v-if='hasSubscription')
- .btn.btn-primary(v-if='canEditCardDetails', @click='showStripeEdit()') {{ $t('subUpdateCard') }}
- .btn.btn-sm.btn-danger(v-if='canCancelSubscription && !loading', @click='cancelSubscriptionConfirm()') {{ $t('cancelSub') }}
- small(v-if='!canCancelSubscription && !hasCanceledSubscription', v-html='getCancelSubInfo()')
-
- .subscribe-pay(v-if='!hasSubscription || hasCanceledSubscription')
- h3 {{ $t('subscribeUsing') }}
- .payments-column
- button.purchase.btn.btn-primary.payment-button.payment-item(@click='showStripe({subscription:subscription.key, coupon:subscription.coupon})', :disabled='!subscription.key')
- .svg-icon.credit-card-icon(v-html="icons.creditCardIcon")
- | {{ $t('card') }}
- button.btn.payment-item.paypal-checkout.payment-button(@click="openPaypal(paypalPurchaseLink, 'subscription')", :disabled='!subscription.key')
- |
- img(src='~assets/images/paypal-checkout.png', :alt="$t('paypal')")
- |
- amazon-button.payment-item(:amazon-data="{type: 'subscription', subscription: this.subscription.key, coupon: this.subscription.coupon}")
- .row
- .col-6
- h2(v-once) {{ $t('giftSubscription') }}
- ol
- li(v-once) {{ $t('giftSubscriptionText1') }}
- li(v-once) {{ $t('giftSubscriptionText2') }}
- li(v-once) {{ $t('giftSubscriptionText3') }}
- h4(v-once) {{ $t('giftSubscriptionText4') }}
-
-
-
-
-
diff --git a/website/client/components/settings/usernameForm.vue b/website/client/components/settings/usernameForm.vue
deleted file mode 100644
index 86885a42ac..0000000000
--- a/website/client/components/settings/usernameForm.vue
+++ /dev/null
@@ -1,221 +0,0 @@
-
- div
- .form-group
- .d-flex.align-items-center
- label.mr-3(for='displayName') {{ $t('displayName') }}
- .flex-grow-1
- input#displayName.form-control(
- type='text',
- :placeholder="$t('newDisplayName')",
- v-model='temporaryDisplayName',
- @blur='restoreEmptyDisplayName()',
- :class='{"is-invalid input-invalid": displayNameInvalid, "input-valid": displayNameValid, "text-darker": temporaryDisplayName.length > 0}')
- .mb-3(v-if="displayNameIssues.length > 0")
- .input-error.text-center(v-for="issue in displayNameIssues") {{ issue }}
- .form-group
- .d-flex.align-items-center
- label.mr-3(for='username') {{ $t('username') }}
- .flex-grow-1
- .input-group-prepend.input-group-text @
- input#username.form-control(
- type='text',
- :placeholder="$t('newUsername')",
- v-model='temporaryUsername',
- @blur='restoreEmptyUsername()',
- :class='{"is-invalid input-invalid": usernameInvalid, "input-valid": usernameValid, "text-darker": temporaryUsername.length > 0}')
- .mb-3(v-if="usernameIssues.length > 0")
- .input-error.text-center(v-for="issue in usernameIssues") {{ issue }}
- .small.text-center.mb-3(v-if='!avatarIntro') {{ $t('usernameLimitations') }}
- .row.justify-content-center
- button.btn.btn-primary(type='submit', @click='submitNames()', :class='{disabled: usernameCannotSubmit}', :disabled='usernameCannotSubmit') {{ $t(avatarIntro ? 'getStarted' : 'saveAndConfirm') }}
-
-
-
-
-
diff --git a/website/client/components/settings/verifyUsername.vue b/website/client/components/settings/verifyUsername.vue
deleted file mode 100644
index b096c5f033..0000000000
--- a/website/client/components/settings/verifyUsername.vue
+++ /dev/null
@@ -1,84 +0,0 @@
-
- b-modal#verify-username(
- size="m",
- :no-close-on-backdrop="true",
- :no-close-on-esc="true",
- :hide-header="true",
- :hide-footer="true",
- @hide="$emit('hide')",
- ).d-flex
- div.nametag-header(v-html='icons.helloNametag')
- h2.text-center {{ $t('usernameTime') }}
- p.text-center(v-html="$t('usernameInfo')")
- username-form
- .scene_veteran_pets.center-block
- .small.text-center.mb-3 {{ $t('verifyUsernameVeteranPet') }}
- .small.text-center.tos-footer(v-html="$t('usernameTOSRequirements')")
-
-
-
-
-
-
-
diff --git a/website/client/components/shared/inventoryDrawer.vue b/website/client/components/shared/inventoryDrawer.vue
deleted file mode 100644
index a2fa8fd83d..0000000000
--- a/website/client/components/shared/inventoryDrawer.vue
+++ /dev/null
@@ -1,169 +0,0 @@
-
-drawer.inventoryDrawer(
- :title="$t('quickInventory')"
- :errorMessage="inventoryDrawerErrorMessage(selectedDrawerItemType)"
-)
- div(slot="drawer-header")
- drawer-header-tabs(
- :tabs="filteredTabs",
- @changedPosition="tabSelected($event)"
- )
- div(slot="right-item")
- #petLikeToEatMarket.drawer-help-text(v-once)
- | {{ $t('petLikeToEat') + ' ' }}
- span.svg-icon.inline.icon-16(v-html="icons.information")
- b-popover(
- target="petLikeToEatMarket",
- :placement="'top'",
- )
- .popover-content-text(v-html="$t('petLikeToEatText')", v-once)
-
- drawer-slider(
- v-if="hasOwnedItemsForType(selectedDrawerItemType)"
- :items="ownedItems(selectedDrawerItemType) || []",
- slot="drawer-slider",
- :itemWidth=94,
- :itemMargin=24,
- :itemType="selectedDrawerTab"
- )
- template(slot="item", slot-scope="ctx")
- slot(
- name="item",
- :item="ctx.item",
- :itemClass="getItemClass(selectedDrawerContentType, ctx.item.key)",
- :itemCount="userItems[selectedDrawerContentType][ctx.item.key] || 0",
- :itemName="getItemName(selectedDrawerItemType, ctx.item)",
- :itemType="selectedDrawerItemType"
- )
-
-
-
-
-
-
-
diff --git a/website/client/components/shops/balanceInfo.vue b/website/client/components/shops/balanceInfo.vue
deleted file mode 100644
index 80ba7dbae3..0000000000
--- a/website/client/components/shops/balanceInfo.vue
+++ /dev/null
@@ -1,102 +0,0 @@
-
- div
- span(
- v-for="currency of currencies",
- :key="currency.key"
- )
- .svg-icon(v-html="currency.icon")
- span(:class="{'notEnough': currency.notEnough}") {{ currency.value | roundBigNumber}}
-
-
-
-
-
diff --git a/website/client/components/shops/buyModal.vue b/website/client/components/shops/buyModal.vue
deleted file mode 100644
index a54b33deab..0000000000
--- a/website/client/components/shops/buyModal.vue
+++ /dev/null
@@ -1,523 +0,0 @@
-
- b-modal#buy-modal(
- :hide-header="true",
- @change="onChange($event)"
- )
- span.badge.badge-pill.badge-dialog(
- :class="{'item-selected-badge': isPinned}",
- v-if="withPin",
- @click.prevent.stop="togglePinned()"
- )
- span.svg-icon.inline.color.icon-10(v-html="icons.pin")
-
- div.close
- span.svg-icon.inline.icon-10(aria-hidden="true", v-html="icons.close", @click="hideDialog()")
-
- div.content(v-if="item != null")
- div.inner-content
- slot(name="item", :item="item")
- div(v-if="showAvatar")
- avatar(
- :showVisualBuffs="false",
- :member="user",
- :avatarOnly="true",
- :hideClassBadge="true",
- :withBackground="true",
- :overrideAvatarGear="getAvatarOverrides(item)",
- :spritesMargin="'0px auto 0px -24px'",
- )
- item.flat.bordered-item(
- :item="item",
- :itemContentClass="item.class",
- :showPopover="false",
- v-else-if="item.key != 'gem'"
- )
-
- h4.title {{ itemText }}
- div.text(v-html="itemNotes")
-
- slot(name="additionalInfo", :item="item")
- equipmentAttributesGrid.attributesGrid(
- v-if="showAttributesGrid",
- :item="item",
- :user="user"
- )
-
- .purchase-amount(v-if='item.value > 0')
- .how-many-to-buy(v-if='showAmountToBuy(item)')
- strong {{ $t('howManyToBuy') }}
- div(v-if='showAmountToBuy(item)')
- .box
- input(type='number', min='0', step='1', v-model.number='selectedAmountToBuy')
- span(:class="{'notEnough': notEnoughCurrency}")
- span.svg-icon.inline.icon-32(aria-hidden="true", v-html="icons[getPriceClass()]")
- span.cost(:class="getPriceClass()") {{ item.value }}
- div(v-else)
- span.svg-icon.inline.icon-32(aria-hidden="true", v-html="icons[getPriceClass()]")
- span.cost(:class="getPriceClass()") {{ item.value }}
-
- .gems-left(v-if='item.key === "gem"')
- strong(v-if='gemsLeft > 0') {{ gemsLeft }} {{ $t('gemsRemaining') }}
- strong(v-if='gemsLeft === 0') {{ $t('maxBuyGems') }}
-
- div(v-if='attemptingToPurchaseMoreGemsThanAreLeft')
- | {{$t('notEnoughGemsToBuy')}}
-
- button.btn.btn-primary(
- @click="purchaseGems()",
- v-if="getPriceClass() === 'gems' && !this.enoughCurrency(getPriceClass(), item.value * selectedAmountToBuy)"
- ) {{ $t('purchaseGems') }}
-
- button.btn.btn-primary(
- @click="buyItem()",
- v-else,
- :disabled='item.key === "gem" && gemsLeft === 0 || attemptingToPurchaseMoreGemsThanAreLeft || numberInvalid',
- :class="{'notEnough': !preventHealthPotion || !this.enoughCurrency(getPriceClass(), item.value * selectedAmountToBuy)}"
- ) {{ $t('buyNow') }}
-
- div.limitedTime(v-if="item.event && item.owned == null")
- span.svg-icon.inline.icon-16.clock-icon(v-html="icons.clock")
- span.limitedString {{ limitedString }}
-
- .free-rebirth.d-flex.align-items-center(v-if='item.key === "rebirth_orb" && item.value > 0 && user.stats.lvl >= 100')
- .m-auto
- span.svg-icon.inline.icon-16.mr-2.pt-015(v-html="icons.whiteClock")
- span(v-html='$t("nextFreeRebirth", {days: nextFreeRebirth})')
-
- div.clearfix(slot="modal-footer")
- span.balance.float-left {{ $t('yourBalance') }}
- balanceInfo(
- :withHourglass="getPriceClass() === 'hourglasses'",
- :currencyNeeded="getPriceClass()",
- :amountNeeded="item.value"
- ).float-right
-
-
-
-
-
diff --git a/website/client/components/shops/featuredItemsHeader.vue b/website/client/components/shops/featuredItemsHeader.vue
deleted file mode 100644
index 04ccc614ad..0000000000
--- a/website/client/components/shops/featuredItemsHeader.vue
+++ /dev/null
@@ -1,126 +0,0 @@
-
-div.featuredItems
- .background(:class="{broken: broken}")
- .background(:class="{cracked: broken, broken: broken}")
- div.npc
- div.featured-label
- span.rectangle
- span.text {{npcName}}
- span.rectangle
- div.content
- div.featured-label.with-border
- span.rectangle
- span.text {{ featuredText }}
- span.rectangle
-
- div.items.margin-center
- shopItem(
- v-for="item in featuredItems",
- :key="item.key",
- :item="item",
- :price="item.value",
- :itemContentClass="'shop_'+item.key",
- :emptyItem="false",
- :popoverPosition="'top'",
- @click="featuredItemSelected(item)"
- )
- template(slot="itemBadge", slot-scope="ctx")
- span.badge.badge-pill.badge-item.badge-svg(
- :class="{'item-selected-badge': ctx.item.pinned, 'hide': !ctx.item.pinned}",
- @click.prevent.stop="togglePinned(ctx.item)"
- )
- span.svg-icon.inline.icon-12.color(v-html="icons.pin")
-
-
-
-
-
-
diff --git a/website/client/components/shops/index.vue b/website/client/components/shops/index.vue
deleted file mode 100644
index 5c275f7a82..0000000000
--- a/website/client/components/shops/index.vue
+++ /dev/null
@@ -1,21 +0,0 @@
-
- .row
- secondary-menu.col-12
- router-link.nav-link(:to="{name: 'market'}", exact) {{ $t('market') }}
- router-link.nav-link(:to="{name: 'quests'}") {{ $t('quests') }}
- router-link.nav-link(:to="{name: 'seasonal'}") {{ $t('titleSeasonalShop') }}
- router-link.nav-link(:to="{name: 'time'}") {{ $t('titleTimeTravelers') }}
- .col-12
- router-view
-
-
-
diff --git a/website/client/components/shops/market/categoryItem.vue b/website/client/components/shops/market/categoryItem.vue
deleted file mode 100644
index bdd4546ca9..0000000000
--- a/website/client/components/shops/market/categoryItem.vue
+++ /dev/null
@@ -1,52 +0,0 @@
-
-div
- countBadge(
- v-if="item.showCount !== false",
- :show="true",
- :count="count"
- )
- .badge.badge-pill.badge-purple.gems-left(v-if='item.key === "gem"')
- | {{ gemsLeft }}
- span.badge.badge-pill.badge-item.badge-svg(
- :class="{'item-selected-badge': item.pinned, 'hide': !item.pinned}",
- @click.prevent.stop="togglePinned(item)"
- )
- span.svg-icon.inline.icon-12.color(v-html="icons.pin")
-
-
-
diff --git a/website/client/components/shops/market/categoryRow.vue b/website/client/components/shops/market/categoryRow.vue
deleted file mode 100644
index 9f4b96acd6..0000000000
--- a/website/client/components/shops/market/categoryRow.vue
+++ /dev/null
@@ -1,94 +0,0 @@
-
-div.items
- shopItem(v-for="item in sortedMarketItems",
- :key="item.key",
- :item="item",
- :emptyItem="false",
- :popoverPosition="'top'",
- @click="itemSelected(item)")
- span(slot="popoverContent")
- strong(v-if='item.key === "gem" && gemsLeft === 0') {{ $t('maxBuyGems') }}
- h4.popover-content-title {{ item.text }}
- template(slot="itemBadge", slot-scope="ctx")
- category-item(:item='ctx.item')
-
-
-
diff --git a/website/client/components/shops/market/equipmentSection.vue b/website/client/components/shops/market/equipmentSection.vue
deleted file mode 100644
index 9baa3d9dcf..0000000000
--- a/website/client/components/shops/market/equipmentSection.vue
+++ /dev/null
@@ -1,178 +0,0 @@
-
-layout-section(:title="$t('equipment')")
- div(slot="filters")
- filter-dropdown(
- :label="$t('class')",
- :initialItem="selectedGearCategory",
- :items="marketGearCategories",
- :withIcon="true",
- @selected="selectedGroupGearByClass = $event.id"
- )
- span(slot="item", slot-scope="ctx")
- span.svg-icon.inline.icon-16(v-html="icons[ctx.item.id]")
- span.text {{ getClassName(ctx.item.id) }}
-
- filter-dropdown(
- :label="$t('sortBy')",
- :initialItem="selectedSortGearBy",
- :items="sortGearBy",
- @selected="selectedSortGearBy = $event"
- )
- span(slot="item", slot-scope="ctx")
- span.text {{ $t(ctx.item.id) }}
-
- itemRows.equipment-rows(
- :items="sortedGearItems",
- :itemWidth=94,
- :itemMargin=24,
- :type="'gear'",
- :noItemsLabel="$t('noGearItemsOfClass')",
- slot="content"
- )
- template(slot="item", slot-scope="ctx")
- shopItem(
- :key="ctx.item.key",
- :item="ctx.item",
- :emptyItem="userItems.gear[ctx.item.key] === undefined",
- :popoverPosition="'top'",
- @click="gearSelected(ctx.item)"
- )
-
- template(slot="itemBadge", slot-scope="ctx")
- span.badge.badge-pill.badge-item.badge-svg(
- :class="{'item-selected-badge': ctx.item.pinned, 'hide': !ctx.item.pinned}",
- @click.prevent.stop="togglePinned(ctx.item)"
- )
- span.svg-icon.inline.icon-12.color(v-html="icons.pin")
-
-
-
-
-
diff --git a/website/client/components/shops/market/filter.vue b/website/client/components/shops/market/filter.vue
deleted file mode 100644
index 5bd39a6b1e..0000000000
--- a/website/client/components/shops/market/filter.vue
+++ /dev/null
@@ -1,46 +0,0 @@
-
-.form
- h2(v-once) {{ $t('filter') }}
- .form-group
- checkbox(
- v-for="viewOptionKey in Object.keys(viewOptions)",
- :key="viewOptionKey",
- :id="`category-${viewOptionKey}`",
- :checked.sync="viewOptions[viewOptionKey].selected",
- :text="viewOptions[viewOptionKey].text"
- )
- div.form-group.clearfix
- h3.float-left(v-once) {{ $t('hideLocked') }}
- toggle-switch.float-right(
- v-model="lockedChecked",
- @change="$emit('update:hideLocked', $event)"
- )
- div.form-group.clearfix
- h3.float-left(v-once) {{ $t('hidePinned') }}
- toggle-switch.float-right(
- v-model="pinnedChecked",
- @change="$emit('update:hidePinned', $event)"
- )
-
-
-
-
-
diff --git a/website/client/components/shops/market/index.vue b/website/client/components/shops/market/index.vue
deleted file mode 100644
index fb2f332da8..0000000000
--- a/website/client/components/shops/market/index.vue
+++ /dev/null
@@ -1,353 +0,0 @@
-
- page-layout.market
- div(slot="sidebar")
- .form-group
- input.form-control.input-search(type="text", v-model="searchText", :placeholder="$t('search')")
- market-filter(
- :hideLocked.sync="hideLocked",
- :hidePinned.sync="hidePinned",
- :viewOptions="viewOptions"
- )
- div(slot="page")
- featured-items-header(
- :broken="broken",
- :npcName="'Alex'",
- :featuredText="market.featured.text",
- :featuredItems="market.featured.items"
- @featuredItemSelected="featuredItemSelected($event)"
- )
-
- h1.mb-4.page-header(v-once) {{ $t('market') }}
-
- equipment-section(
- v-if="!anyFilterSelected || viewOptions['equipment'].selected",
- :hidePinned="hidePinned",
- :hideLocked="hideLocked",
- :searchBy="searchTextThrottled"
- )
-
- layout-section(:title="$t('items')")
- div(slot="filters")
- filter-dropdown(
- :label="$t('sortBy')",
- :initialItem="selectedSortItemsBy",
- :items="sortItemsBy",
- @selected="selectedSortItemsBy = $event"
- )
- span(slot="item", slot-scope="ctx")
- span.text {{ $t(ctx.item.id) }}
- div(
- v-for="category in categories",
- v-if="!anyFilterSelected || viewOptions[category.identifier].selected"
- )
- h4 {{ category.text }}
- category-row(
- :hidePinned="hidePinned",
- :hideLocked="hideLocked",
- :searchBy="searchTextThrottled",
- :sortBy="selectedSortItemsBy.id",
- :category="category"
- )
- keys-to-kennel(v-if='category.identifier === "special"')
- div.fill-height
-
- inventoryDrawer(:showEggs="true", :showPotions="true")
- template(slot="item", slot-scope="ctx")
- item(
- :item="ctx.item",
- :itemContentClass="ctx.itemClass",
- popoverPosition="top",
- @click="sellItem(ctx)"
- )
- countBadge(
- slot="itemBadge"
- :show="true",
- :count="ctx.itemCount"
- )
- h4.popover-content-title(slot="popoverContent") {{ ctx.itemName }}
-
- sellModal
-
-
-
-
-
-
diff --git a/website/client/components/shops/market/sellModal.vue b/website/client/components/shops/market/sellModal.vue
deleted file mode 100644
index d0bd729ec9..0000000000
--- a/website/client/components/shops/market/sellModal.vue
+++ /dev/null
@@ -1,195 +0,0 @@
-
- b-modal#sell-modal(
- :hide-header="true",
- @change="onChange($event)"
- )
- div.close
- span.svg-icon.inline.icon-10(aria-hidden="true", v-html="icons.close", @click="hideDialog()")
-
- div.content(v-if="item")
- div.inner-content
- item.flat(
- :item="item",
- :itemContentClass="itemContextToSell.itemClass",
- :showPopover="false"
- )
- countBadge(
- slot="itemBadge",
- :show="true",
- :count="itemContextToSell.itemCount"
- )
-
- h4.title {{ itemContextToSell.itemName }}
-
- div(v-if="item.key === 'Saddle'")
- div.text {{ item.sellWarningNote() }}
- br
-
- div(v-else)
- div
- div.text {{ item.notes() }}
-
- div
- b.how-many-to-sell {{ $t('howManyToSell') }}
-
- div
- b-input.itemsToSell(type="number", v-model="selectedAmountToSell", :max="itemContextToSell.itemCount", min="1", @keyup.native="preventNegative($event)", step="1")
-
- span.svg-icon.inline.icon-32(aria-hidden="true", v-html="icons.gold")
- span.value {{ item.value }}
-
- button.btn.btn-primary(@click="sellItems()") {{ $t('sell') }}
-
- div.clearfix(slot="modal-footer")
- span.balance.float-left {{ $t('yourBalance') }}
- balanceInfo.float-right
-
-
-
-
diff --git a/website/client/components/shops/quests/buyQuestModal.vue b/website/client/components/shops/quests/buyQuestModal.vue
deleted file mode 100644
index 82f60b833a..0000000000
--- a/website/client/components/shops/quests/buyQuestModal.vue
+++ /dev/null
@@ -1,341 +0,0 @@
-
- b-modal#buy-quest-modal(
- :hide-header="true",
- @change="onChange($event)"
- )
- span.badge.badge-pill.badge-dialog(
- :class="{'item-selected-badge': isPinned}",
- v-if="withPin",
- @click.prevent.stop="togglePinned()"
- )
- span.svg-icon.inline.color.icon-10(v-html="icons.pin")
-
- div.close
- span.svg-icon.inline.icon-10(aria-hidden="true", v-html="icons.close", @click="hideDialog()")
-
- div.content(v-if="item != null")
-
- div.inner-content
- questDialogContent(:item="item")
-
- .purchase-amount
- .how-many-to-buy
- strong {{ $t('howManyToBuy') }}
- .box
- input(type='number', min='0', step='1', v-model.number='selectedAmountToBuy')
- span.svg-icon.inline.icon-32(aria-hidden="true", v-html="currencyIcon")
- span.value(:class="priceType") {{ item.value }}
-
- button.btn.btn-primary(
- @click="purchaseGems()",
- v-if="priceType === 'gems' && !this.enoughCurrency(priceType, item.value * selectedAmountToBuy)"
- ) {{ $t('purchaseGems') }}
-
- button.btn.btn-primary(
- @click="buyItem()",
- v-else,
- :class="{'notEnough': !this.enoughCurrency(priceType, item.value * selectedAmountToBuy)}",
- :disabled='numberInvalid',
- ) {{ $t('buyNow') }}
-
- div.right-sidebar(v-if="item.drop")
- questDialogDrops(:item="item")
-
- div.clearfix(slot="modal-footer")
- span.balance.float-left {{ $t('yourBalance') }}
- balanceInfo(
- :withHourglass="priceType === 'hourglasses'",
- :currencyNeeded="priceType",
- :amountNeeded="item.value"
- ).float-right
-
-
-
-
-
diff --git a/website/client/components/shops/quests/index.vue b/website/client/components/shops/quests/index.vue
deleted file mode 100644
index 1fad6f5d12..0000000000
--- a/website/client/components/shops/quests/index.vue
+++ /dev/null
@@ -1,493 +0,0 @@
-
- .row.quests
- .standard-sidebar.d-none.d-sm-block
- .form-group
- input.form-control.input-search(type="text", v-model="searchText", :placeholder="$t('search')")
-
- .form
- h2(v-once) {{ $t('filter') }}
- .form-group
- .form-check(
- v-for="category in categories",
- :key="category.identifier",
- )
- .custom-control.custom-checkbox
- input.custom-control-input(type="checkbox", v-model="viewOptions[category.identifier].selected", :id="`category-${category.identifier}`")
- label.custom-control-label(v-once, :for="`category-${category.identifier}`") {{ category.text }}
-
- div.form-group.clearfix
- h3.float-left(v-once) {{ $t('hideLocked') }}
- toggle-switch.float-right(
- v-model="hideLocked",
- )
- div.form-group.clearfix
- h3.float-left(v-once) {{ $t('hidePinned') }}
- toggle-switch.float-right(
- v-model="hidePinned",
- )
- .standard-page
- div.featuredItems
- .background(:class="{broken: broken}")
- .background(:class="{cracked: broken, broken: broken}")
- div.npc
- div.featured-label
- span.rectangle
- span.text Ian
- span.rectangle
- div.content
- div.featured-label.with-border
- span.rectangle
- span.text {{ shop.featured.text }}
- span.rectangle
-
- div.items.margin-center
- shopItem(
- v-for="item in shop.featured.items",
- :key="item.key",
- :item="item",
- :price="item.goldValue ? item.goldValue : item.value",
- :priceType="item.goldValue ? 'gold' : 'gem'",
- :itemContentClass="'inventory_quest_scroll_'+item.key",
- :emptyItem="false",
- :popoverPosition="'top'",
- @click="selectItem(item)"
- )
- template(slot="itemBadge", slot-scope="ctx")
- span.badge.badge-pill.badge-item.badge-svg(
- :class="{'item-selected-badge': ctx.item.pinned, 'hide': !ctx.item.pinned}",
- @click.prevent.stop="togglePinned(ctx.item)"
- )
- span.svg-icon.inline.icon-12.color(v-html="icons.pin")
-
-
- h1.mb-4.page-header(v-once) {{ $t('quests') }}
-
- .clearfix
- div.float-right
- span.dropdown-label {{ $t('sortBy') }}
- b-dropdown(:text="$t(selectedSortItemsBy)", right=true)
- b-dropdown-item(
- v-for="sort in sortItemsBy",
- @click="selectedSortItemsBy = sort",
- :active="selectedSortItemsBy === sort",
- :key="sort"
- ) {{ $t(sort) }}
-
-
- div(
- v-for="category in categories",
- v-if="!anyFilterSelected || viewOptions[category.identifier].selected"
- )
- h2.mb-3 {{ category.text }}
-
- itemRows(
- v-if="category.identifier === 'pet'",
- :items="questItems(category, selectedSortItemsBy, searchTextThrottled, hideLocked, hidePinned)",
- :itemWidth=94,
- :itemMargin=24,
- :type="'pet_quests'",
- )
- template(slot="item", slot-scope="ctx")
- shopItem(
- :key="ctx.item.key",
- :item="ctx.item",
- :price="ctx.item.value",
- :priceType="ctx.item.currency",
- :itemContentClass="ctx.item.class",
- :emptyItem="false",
- @click="selectItem(ctx.item)"
- )
- span(slot="popoverContent", slot-scope="ctx")
- div.questPopover
- h4.popover-content-title {{ ctx.item.text }}
- questInfo(:quest="ctx.item")
-
- template(slot="itemBadge", slot-scope="ctx")
- span.badge.badge-pill.badge-item.badge-svg(
- :class="{'item-selected-badge': ctx.item.pinned, 'hide': !ctx.item.pinned}",
- @click.prevent.stop="togglePinned(ctx.item)"
- )
- span.svg-icon.inline.icon-12.color(v-html="icons.pin")
-
- countBadge(
- :show="userItems.quests[ctx.item.key] > 0",
- :count="userItems.quests[ctx.item.key] || 0"
- )
-
- div.grouped-parent(v-else-if="category.identifier === 'unlockable' || category.identifier === 'gold'")
- div.group(v-for="(items, key) in getGrouped(questItems(category, selectedSortItemsBy, searchTextThrottled, hideLocked, hidePinned))", v-if="key !== 'questGroupEarnable'")
- h3 {{ $t(key) }}
- div.items
- shopItem(
- v-for="item in items",
- :key="item.key",
- :item="item",
- :price="item.value",
- :emptyItem="false",
- :popoverPosition="'top'",
- @click="selectItem(item)"
- )
- span(slot="popoverContent")
- div.questPopover
- div
- h4.popover-content-title(v-if='item.locked') {{ `${$t('lockedItem')}` }}
- h4.popover-content-title(v-else) {{ item.text }}
- .popover-content-text(v-if='item.locked && item.key === "lostMasterclasser1"') {{ `${$t('questUnlockLostMasterclasser')}` }}
- .popover-content-text(v-if='item.locked && item.unlockCondition && item.unlockCondition.incentiveThreshold') {{ `${$t('loginIncentiveQuest', {count: item.unlockCondition.incentiveThreshold})}` }}
- .popover-content-text(v-if='item.locked && item.previous && isBuyingDependentOnPrevious(item)') {{ `${$t('unlockByQuesting', {title: item.previous})}` }}
- .popover-content-text(v-if='item.lvl > user.stats.lvl') {{ `${$t('mustLvlQuest', {level: item.lvl})}` }}
- questInfo(v-if='!item.locked', :quest="item")
-
- template(slot="itemBadge", slot-scope="ctx")
- span.badge.badge-pill.badge-item.badge-svg(
- :class="{'item-selected-badge': ctx.item.pinned, 'hide': !ctx.item.pinned}",
- @click.prevent.stop="togglePinned(ctx.item)"
- )
- span.svg-icon.inline.icon-12.color(v-html="icons.pin")
-
- countBadge(
- :show="userItems.quests[ctx.item.key] > 0",
- :count="userItems.quests[ctx.item.key] || 0"
- )
-
- div.items(v-else)
- shopItem(
- v-for="item in questItems(category, selectedSortItemsBy, searchTextThrottled, hideLocked, hidePinned)",
- :key="item.key",
- :item="item",
- :price="item.value",
- :emptyItem="false",
- :popoverPosition="'top'",
- @click="selectItem(item)"
- )
- span(slot="popoverContent")
- div.questPopover
- h4.popover-content-title {{ item.text }}
- questInfo(:quest="item")
-
- template(slot="itemBadge", slot-scope="ctx")
- span.badge.badge-pill.badge-item.badge-svg(
- :class="{'item-selected-badge': ctx.item.pinned, 'hide': !ctx.item.pinned}",
- @click.prevent.stop="togglePinned(ctx.item)"
- )
- span.svg-icon.inline.icon-12.color(v-html="icons.pin")
-
- countBadge(
- :show="userItems.quests[ctx.item.key] > 0",
- :count="userItems.quests[ctx.item.key] || 0"
- )
-
- buyModal(
- :item="selectedItemToBuy || {}",
- :priceType="selectedItemToBuy ? selectedItemToBuy.currency : ''",
- :withPin="true",
- @change="resetItemToBuy($event)",
- )
- template(slot="item", slot-scope="ctx")
- item.flat(
- :item="ctx.item",
- :itemContentClass="ctx.item.class",
- :showPopover="false"
- )
-
-
-
-
-
-
diff --git a/website/client/components/shops/quests/questDialogContent.vue b/website/client/components/shops/quests/questDialogContent.vue
deleted file mode 100644
index 48a9eb082c..0000000000
--- a/website/client/components/shops/quests/questDialogContent.vue
+++ /dev/null
@@ -1,63 +0,0 @@
-
- div.quest-content
- .quest-image(:class="'quest_' + item.key")
-
- h4.title {{ itemText }}
- div.text(v-html="itemNotes")
-
- questInfo.questInfo(:quest="item")
-
-
-
-
-
-
diff --git a/website/client/components/shops/quests/questDialogDrops.vue b/website/client/components/shops/quests/questDialogDrops.vue
deleted file mode 100644
index 5329be085a..0000000000
--- a/website/client/components/shops/quests/questDialogDrops.vue
+++ /dev/null
@@ -1,122 +0,0 @@
-
- div.questRewards
- h3.text-center(v-once) {{ $t('rewards') }}
- div.reward-item
- span.svg-icon.inline.icon(v-html="icons.experience")
- span.reward-text {{ $t('amountExperience', { amount: item.drop.exp }) }}
- div.reward-item(v-if="item.drop.gp != 0")
- span.svg-icon.inline.icon(v-html="icons.gold")
- span.reward-text {{ $t('amountGold', { amount: item.drop.gp }) }}
- div.reward-item(v-for='drop in getDropsList(item.drop.items, false)')
- span.icon
- div(:class="getDropIcon(drop)")
- span.reward-text {{ getDropName(drop) }}
- div.reward-item.text-center(v-if='item.drop.unlock')
- span.reward-text {{ item.drop.unlock() }}
- h3.text-center(v-if='getDropsList(item.drop.items, true).length > 0') {{$t('questOwnerRewards')}}
- div.reward-item(v-for='drop in getDropsList(item.drop.items, true)')
- span.icon
- div(:class="getDropIcon(drop)")
- span.reward-text {{ getDropName(drop) }}
-
-
-
-
-
diff --git a/website/client/components/shops/quests/questInfo.vue b/website/client/components/shops/quests/questInfo.vue
deleted file mode 100644
index fb5eab4924..0000000000
--- a/website/client/components/shops/quests/questInfo.vue
+++ /dev/null
@@ -1,158 +0,0 @@
-
-.row(:class="{'small-version': smallVersion}")
- .table-row(v-if="quest.collect")
- dt {{ $t('collect') + ':' }}
- dd
- div(v-for="(collect, key) of quest.collect")
- span {{ collect.count }} {{ getCollectText(collect) }}
-
- .table-row(v-if="quest.boss")
- dt {{ $t('bossHP') + ':' }}
- dd {{ quest.boss.hp }}
-
- .table-row
- dt {{ $t('difficulty') + ':' }}
- dd
- .svg-icon.inline(
- v-for="star of stars()", v-html="icons[star]",
- :class="smallVersion ? 'icon-12' : 'icon-16'",
- )
-
-
-
-
-
-
-
diff --git a/website/client/components/shops/seasonal/index.vue b/website/client/components/shops/seasonal/index.vue
deleted file mode 100644
index 1bb372ed9e..0000000000
--- a/website/client/components/shops/seasonal/index.vue
+++ /dev/null
@@ -1,540 +0,0 @@
-
- .row.seasonal
- .standard-sidebar.d-none.d-sm-block
- .form-group
- input.form-control.input-search(type="text", v-model="searchText", :placeholder="$t('search')")
-
- .form
- h2(v-once) {{ $t('filter') }}
- .form-group
- checkbox(
- v-for="category in filterCategories",
- :key="category.key",
- :id="`category-${category.key}`",
- :checked.sync="viewOptions[category.key].selected",
- :text="category.value"
- )
-
- div.form-group.clearfix
- h3.float-left(v-once) {{ $t('hidePinned') }}
- toggle-switch.float-right(
- v-model="hidePinned",
- )
- .standard-page
- div.featuredItems
- .background(:class="{opened: seasonal.opened}")
- div.npc
- div.featured-label
- span.rectangle
- span.text Leslie
- span.rectangle
- div.content(v-if="!seasonal.opened")
- div.featured-label.with-border.closed
- span.rectangle
- span.text(v-if="!broken", v-html="seasonal.notes")
- span.text(v-if="broken") {{ $t('seasonalShopBrokenText') }}
- span.rectangle
- div.content(v-else-if="seasonal.featured.items.length !== 0")
- div.featured-label.with-border(v-if='!featuredGearBought')
- span.rectangle
- span.text(v-once) {{ $t('featuredset', { name: seasonal.featured.text }) }}
- span.rectangle
- div.featured-label.with-border(v-else)
- span.rectangle
- span.text(v-once) {{ $t('featuredItems') }}
- span.rectangle
-
- div.items.margin-center
- shopItem(
- v-for="item in seasonal.featured.items",
- :key="item.key",
- :item="item",
- :price="item.value",
- :emptyItem="false",
- :popoverPosition="'top'",
- :showEventBadge="false",
- @click="itemSelected(item)"
- )
-
- h1.mb-4.page-header(v-once, v-if='seasonal.opened') {{ $t('seasonalShop') }}
-
- .clearfix(v-if="seasonal.opened")
- h2.float-left.mb-3
- | {{ $t('classArmor') }}
-
- div.float-right
- span.dropdown-label {{ $t('sortBy') }}
- b-dropdown(:text="$t(selectedSortItemsBy)", right=true)
- b-dropdown-item(
- v-for="sort in sortItemsBy",
- @click="selectedSortItemsBy = sort",
- :active="selectedSortItemsBy === sort",
- :key="sort"
- ) {{ $t(sort) }}
-
-
- div(
- v-for="(groupSets, categoryGroup) in getGroupedCategories(categories)",
- )
- h3.classgroup(v-if='categoryGroup !== "spells" && categoryGroup !== "quests"')
- span.svg-icon.inline(v-html="icons[categoryGroup]")
- span.name(:class="categoryGroup") {{ getClassName(categoryGroup) }}
-
- div.grouped-parent
- div.group(
- v-for="category in groupSets"
- )
- h3 {{ category.text }}
- div.items
- shopItem(
- v-for="item in seasonalItems(category, selectedSortItemsBy, searchTextThrottled, viewOptions, hidePinned)",
- :key="item.key",
- :item="item",
- :price="item.value",
- :emptyItem="false",
- :popoverPosition="'top'",
- :showEventBadge="false",
- @click="itemSelected(item)"
- )
- template(slot="itemBadge", slot-scope="ctx")
- span.badge.badge-pill.badge-item.badge-svg(
- :class="{'item-selected-badge': ctx.item.pinned, 'hide': !ctx.item.pinned}",
- @click.prevent.stop="togglePinned(ctx.item)"
- )
- span.svg-icon.inline.icon-12.color(v-html="icons.pin")
-
-
-
-
-
-
-
diff --git a/website/client/components/shops/shopItem.vue b/website/client/components/shops/shopItem.vue
deleted file mode 100644
index 6492d59d7e..0000000000
--- a/website/client/components/shops/shopItem.vue
+++ /dev/null
@@ -1,252 +0,0 @@
-
-div
- .item-wrapper(@click="click()", :id="itemId")
- .item(:class="getItemClasses()")
- slot(name="itemBadge", :item="item", :emptyItem="emptyItem")
-
- span.badge.badge-pill.badge-item.badge-clock(
- v-if="item.event && item.owned == null && showEventBadge",
- )
- span.svg-icon.inline.clock(v-html="icons.clock")
-
- div.shop-content
- span.svg-icon.inline.lock(v-if="item.locked" v-html="icons.lock")
- span.suggestedDot(v-if="item.isSuggested")
-
- div.image
- div(:class="item.class", v-once)
- slot(name="itemImage", :item="item")
-
- div.price
- span.svg-icon.inline.icon-16(v-html="icons[currencyClass]", v-once)
- span.price-label(:class="currencyClass", v-once) {{ getPrice() }}
- b-popover(
- :target="itemId",
- v-if="showPopover",
- triggers="hover",
- :placement="popoverPosition",
- )
- slot(name="popoverContent", :item="item")
- equipmentAttributesPopover(
- v-if="item.purchaseType === 'gear'",
- :item="item"
- )
- div.questPopover(v-else-if="item.purchaseType === 'quests'")
- h4.popover-content-title {{ item.text }}
- questInfo(:quest="item")
- div(v-else)
- h4.popover-content-title(v-once) {{ item.text }}
- .popover-content-text(v-if='showNotes && item.key !== "armoire"', v-once) {{ item.notes }}
- .popover-content-text(v-if='showNotes && item.key === "armoire"') {{ item.notes }}
- div.mt-4(v-if="item.event") {{ limitedString }}
-
-
-
-
-
diff --git a/website/client/components/shops/timeTravelers/index.vue b/website/client/components/shops/timeTravelers/index.vue
deleted file mode 100644
index 5521ce2770..0000000000
--- a/website/client/components/shops/timeTravelers/index.vue
+++ /dev/null
@@ -1,423 +0,0 @@
-
- .row.timeTravelers
- .standard-sidebar.d-none.d-sm-block(v-if="!closed")
- .form-group
- input.form-control.input-search(type="text", v-model="searchText", :placeholder="$t('search')")
-
- .form
- h2(v-once) {{ $t('filter') }}
- .form-group
- .form-check(
- v-for="category in categories",
- :key="category.identifier",
- )
- .custom-control.custom-checkbox
- input.custom-control-input(type="checkbox", v-model="viewOptions[category.identifier].selected", :id="`category-${category.identifier}`")
- label.custom-control-label(v-once, :for="`category-${category.identifier}`") {{ category.text }}
-
- div.form-group.clearfix
- h3.float-left(v-once) {{ $t('hidePinned') }}
- toggle-switch.float-right(
- v-model="hidePinned",
- )
- .standard-page
- div.featuredItems
- .background(:class="{'background-closed': closed, 'background-open': !closed }")
- div.npc(:class="{'closed': closed }")
- div.featured-label
- span.rectangle
- span.text(v-once) {{ $t('timeTravelers') }}
- span.rectangle
- div.content(v-if="closed")
- div.featured-label.with-border.closed
- span.rectangle
- span.text(v-once) {{ $t('timeTravelersPopoverNoSubMobile') }}
- span.rectangle
-
- .clearfix(v-if="!closed")
- div.float-right
- span.dropdown-label {{ $t('sortBy') }}
- b-dropdown(:text="$t(selectedSortItemsBy)", right=true)
- b-dropdown-item(
- v-for="sort in sortItemsBy",
- @click="selectedSortItemsBy = sort",
- :active="selectedSortItemsBy === sort",
- :key="sort"
- ) {{ $t(sort) }}
-
-
- div(
- v-for="category in categories",
- v-if="!anyFilterSelected || (!closed && viewOptions[category.identifier].selected)",
- :class="category.identifier"
- )
- h2.mb-3 {{ category.text }}
-
- itemRows(
- :items="travelersItems(category, selectedSortItemsBy, searchTextThrottled, hidePinned)",
- :itemWidth=94,
- :itemMargin=24,
- :type="category.identifier",
- )
- template(slot="item", slot-scope="ctx")
- shopItem(
- :key="ctx.item.key",
- :item="ctx.item",
- :price="ctx.item.value",
- :priceType="ctx.item.currency",
- :emptyItem="false",
- @click="selectItemToBuy(ctx.item)"
- )
- span(slot="popoverContent", slot-scope="ctx", v-if="category !== 'quests'")
- div
- h4.popover-content-title {{ ctx.item.text }}
- span(slot="popoverContent", slot-scope="ctx", v-if="category === 'quests'")
- div.questPopover
- h4.popover-content-title {{ item.text }}
- questInfo(:quest="item")
-
- template(slot="itemBadge", slot-scope="ctx")
- span.badge.badge-pill.badge-item.badge-svg(
- v-if="ctx.item.pinType !== 'IGNORE'",
- :class="{'item-selected-badge': ctx.item.pinned, 'hide': !ctx.item.pinned}",
- @click.prevent.stop="togglePinned(ctx.item)"
- )
- span.svg-icon.inline.icon-12.color(v-html="icons.pin")
- buyQuestModal(
- :item="selectedItemToBuy || {}",
- :priceType="selectedItemToBuy ? selectedItemToBuy.currency : ''",
- :withPin="true",
- @change="resetItemToBuy($event)",
- )
- template(slot="item", slot-scope="ctx")
- item.flat(
- :item="ctx.item",
- :itemContentClass="ctx.item.class",
- :showPopover="false"
- )
-
-
-
-
-
-
diff --git a/website/client/components/sidebarSection.vue b/website/client/components/sidebarSection.vue
deleted file mode 100644
index 24f150ef00..0000000000
--- a/website/client/components/sidebarSection.vue
+++ /dev/null
@@ -1,91 +0,0 @@
-
- .section
- .section-header.d-flex.align-items-center
- h3.mb-0(v-once)
- | {{ title }}
- .section-info.mx-1(
- v-if="tooltip !== null"
- )
- .svg-icon(
- v-html='icons.information',
- :id="tooltipId",
- :title="tooltip"
- )
- b-tooltip(
- :title="tooltip",
- :target="tooltipId",
- )
- .section-toggle.ml-auto(@click="toggle")
- .svg-icon(v-html="icons.upIcon", v-if="visible")
- .svg-icon(v-html="icons.downIcon", v-else)
- .section-body(v-show="visible")
- slot
-
-
-
-
-
\ No newline at end of file
diff --git a/website/client/components/static/app.vue b/website/client/components/static/app.vue
deleted file mode 100644
index cfcf1fa02a..0000000000
--- a/website/client/components/static/app.vue
+++ /dev/null
@@ -1,11 +0,0 @@
-
- .container-fluid.text-center
- .row
- .col-md-6.offset-3
- h1 {{ $t('checkOutMobileApps') }}
- .promo_habitica(style='border-radius:25px;margin:auto;margin-bottom:30px')
-
- a(href='https://play.google.com/store/apps/details?id=com.habitrpg.android.habitica&utm_source=global_co&utm_medium=prtnr&utm_content=Mar2515&utm_campaign=PartBadge&pcampaignid=MKT-AC-global-none-all-co-pr-py-PartBadges-Oct1515-1&utm_source=global_co&utm_medium=prtnr&utm_content=Mar2515&utm_campaign=PartBadge&pcampaignid=MKT-AC-global-none-all-co-pr-py-PartBadges-Oct1515-1')
- img(alt='Get it on Google Play', src='https://play.google.com/intl/en_us/badges/images/apps/en-play-badge.png', style='width:139px;height:45px;image-rendering:auto;vertical-align:top')
- a(href='https://geo.itunes.apple.com/us/app/habitica/id994882113?mt=8', style='display:inline-block;overflow:hidden;background:url(http://linkmaker.itunes.apple.com/images/badges/en-us/badge_appstore-lrg.svg#svgView) no-repeat;background-size:100%;width:152px;height:45px;margin-left:20px;image-rendering:auto')
-
diff --git a/website/client/components/static/clearBrowserData.vue b/website/client/components/static/clearBrowserData.vue
deleted file mode 100644
index 39c97cda76..0000000000
--- a/website/client/components/static/clearBrowserData.vue
+++ /dev/null
@@ -1,37 +0,0 @@
-
- .container-fluid.text-center
- .row
- .col-md-6.offset-3
- h1 {{ $t('clearBrowserData') }}
-
- p(v-html="$t('localStorageTryFirst', localStorageTryFirst) ")
- br
- p.text-center
- button.btn.btn-lg.btn-danger(@click='clearLocalStorage()',
- popover-trigger='mouseover', :popover="$t('localStorageClearExplanation')")
- | {{ $t('localStorageClear') }}
- br
- p(v-html="$t('localStorageTryNext', localStorageTryNext) ")
-
-
-
diff --git a/website/client/components/static/communityGuidelines.vue b/website/client/components/static/communityGuidelines.vue
deleted file mode 100644
index bcdfc5362c..0000000000
--- a/website/client/components/static/communityGuidelines.vue
+++ /dev/null
@@ -1,213 +0,0 @@
-
- .container-fluid
- h1 {{ $t('communityGuidelines') }}
- hr
- p {{ $t('lastUpdated') }} March 29, 2018
-
- h2#welcome {{ $t('commGuideHeadingWelcome') }}
- .media.align-items-center
- img(src='~assets/images/community-guidelines/intro.png')
- .media-body
- p(v-html="$t('commGuidePara001')")
- p(v-html="$t('commGuidePara002')")
- p(v-html="$t('commGuidePara003')")
- p(v-html="$t('commGuidePara004')")
-
- h2#interactions {{ $t('commGuideHeadingInteractions') }}
- .media.align-items-center
- .media-body
- p(v-html="$t('commGuidePara015')")
- p(v-html="$t('commGuidePara016')")
- img(src='~assets/images/community-guidelines/publicSpaces.png')
- ul
- li(v-html="$t('commGuideList02A')")
- li(v-html="$t('commGuideList02B')")
- li(v-html="$t('commGuideList02C')")
- li(v-html="$t('commGuideList02D')")
- li(v-html="$t('commGuideList02E')")
- li(v-html="$t('commGuideList02F')")
- li(v-html="$t('commGuideList02G')")
- li(v-html="$t('commGuideList02H')")
- li(v-html="$t('commGuideList02I')")
- li(v-html="$t('commGuideList02J')")
- li(v-html="$t('commGuideList02K')")
- li(v-html="$t('commGuideList02L')")
- p(v-html="$t('commGuidePara019')")
- p(v-html="$t('commGuidePara020')")
- p(v-html="$t('commGuidePara020A')")
- p(v-html="$t('commGuidePara021')")
-
- h3#tavern {{ $t('commGuideHeadingTavern') }}
- .media.align-items-center
- img(src='~assets/images/community-guidelines/tavern.png')
- .media-body
- p(v-html="$t('commGuidePara022')")
- p(v-html="$t('commGuidePara023')")
- p(v-html="$t('commGuidePara024')")
- .media.align-items-center
- .media-body
- p(v-html="$t('commGuidePara027')")
- img(src='~assets/images/community-guidelines/backCorner.png')
-
- h3#guilds {{ $t('commGuideHeadingPublicGuilds') }}
- .media.align-items-center
- .media-body
- p(v-html="$t('commGuidePara029')")
- p(v-html="$t('commGuidePara031')")
- img(src='~assets/images/community-guidelines/publicGuilds.png')
- p(v-html="$t('commGuidePara033')")
- p(v-html="$t('commGuidePara035')")
- p(v-html="$t('commGuidePara036')")
- p(v-html="$t('commGuidePara037')")
- p(v-html="$t('commGuidePara038')")
-
- h2#infractions-consequences-restoration {{ $t('commGuideHeadingInfractionsEtc') }}
- h3#infractions {{ $t('commGuideHeadingInfractions') }}
- .media.align-items-center
- img(src='~assets/images/community-guidelines/infractions.png')
- .media-body
- p(v-html="$t('commGuidePara050')")
- p(v-html="$t('commGuidePara051')")
- h4 {{ $t('commGuideHeadingSevereInfractions') }}
- p(v-html="$t('commGuidePara052')")
- p(v-html="$t('commGuidePara053')")
- ul
- li(v-html="$t('commGuideList05A')")
- li(v-html="$t('commGuideList05B')")
- li(v-html="$t('commGuideList05C')")
- li(v-html="$t('commGuideList05D')")
- li(v-html="$t('commGuideList05E')")
- li(v-html="$t('commGuideList05F')")
- li(v-html="$t('commGuideList05G')")
- h4 {{ $t('commGuideHeadingModerateInfractions') }}
- p(v-html="$t('commGuidePara054')")
- p(v-html="$t('commGuidePara055')")
- ul
- li(v-html="$t('commGuideList06A')")
- li(v-html="$t('commGuideList06B')")
- li(v-html="$t('commGuideList06C')")
- li(v-html="$t('commGuideList06D')")
- li(v-html="$t('commGuideList06E')")
- h4 {{ $t('commGuideHeadingMinorInfractions') }}
- p(v-html="$t('commGuidePara056')")
- p(v-html="$t('commGuidePara057')")
- ul
- li(v-html="$t('commGuideList07A')")
- li(v-html="$t('commGuideList07B')")
- p(v-html="$t('commGuidePara057A')")
-
- h3#consequences {{ $t('commGuideHeadingConsequences') }}
- .media.align-items-center
- .media-body
- p(v-html="$t('commGuidePara058')")
- p(v-html="$t('commGuidePara059')")
- img(src='~assets/images/community-guidelines/consequences.png')
- p(v-html="$t('commGuidePara060')")
- ul
- li(v-html="$t('commGuideList08A')")
- li(v-html="$t('commGuideList08B')")
- li(v-html="$t('commGuideList08C')")
- p(v-html="$t('commGuidePara060A')")
- p(v-html="$t('commGuidePara060B')")
- h4 {{ $t('commGuideHeadingSevereConsequences') }}
- ul
- li(v-html="$t('commGuideList09A')")
- li(v-html="$t('commGuideList09C')")
- h4 {{ $t('commGuideHeadingModerateConsequences') }}
- ul
- li {{ $t('commGuideList10A') }}
- ul
- li {{ $t('commGuideList10A1') }}
- li(v-html="$t('commGuideList10C')")
- li(v-html="$t('commGuideList10D')")
- li(v-html="$t('commGuideList10E')")
- li(v-html="$t('commGuideList10F')")
- h4 {{ $t('commGuideHeadingMinorConsequences') }}
- ul
- li(v-html="$t('commGuideList11A')")
- li(v-html="$t('commGuideList11B')")
- li(v-html="$t('commGuideList11C')")
- li(v-html="$t('commGuideList11D')")
- li(v-html="$t('commGuideList11E')")
-
- h3#restoration {{ $t('commGuideHeadingRestoration') }}
- .media.align-items-center
- img(src='~assets/images/community-guidelines/restoration.png')
- .media-body
- p(v-html="$t('commGuidePara061')")
- p(v-html="$t('commGuidePara062')")
- p(v-html="$t('commGuidePara063')")
-
- h2#meet-the-mods {{ $t('commGuideHeadingMeet') }}
- p(v-html="$t('commGuidePara006')")
- p(v-html="$t('commGuidePara007')")
- p(v-html="$t('commGuidePara008')")
- p(v-html="$t('commGuidePara009')")
- .media.align-items-center
- img(src='~assets/images/community-guidelines/staff.png')
- .media-body
- ul
- li {{ $t('commGuideAKA', {habitName: 'Beffymaroo', realName: 'Beth'}) }}
- li {{ $t('commGuideAKA', {habitName: 'Viirus', realName: 'Phillip'}) }}
- li {{ $t('commGuideAKA', {habitName: 'redphoenix', realName: 'Vicky'}) }} ({{ $t('commGuideOnTrello', {trelloName: 'caffeinatedvee'}) }}, {{ $t('commGuideOnGitHub', {gitHubName: 'veeeeeee'}) }})
- li {{ $t('commGuideAKA', {habitName: 'Lemoness', realName: 'Leslie'}) }} ({{ $t('commGuideOnTrello', {trelloName: 'lemonesstree'}) }})
- li {{ $t('commGuideAKA', {habitName: 'SabreCat', realName: 'Sabe'}) }}
- li {{ $t('commGuideAKA', {habitName: 'paglias', realName: 'Matteo'}) }}
- li {{ $t('commGuideAKA', {habitName: 'TheHollidayInn', realName: 'Keith'}) }}
- p(v-html="$t('commGuidePara010')")
- .media.align-items-center
- img(src='~assets/images/community-guidelines/moderators.png')
- .media-body
- p(v-html="$t('commGuidePara011')")
- ul
- li Bailey (It's Bailey {{ $t('commGuidePara011a') }})
- li Ryan (deilann {{ $t('commGuidePara011b') }})
- li Cantras
- li Alys (LadyAlys {{ $t('commGuidePara011c') }})
- li Fox_town
- li Blade ({{ $t('commGuideOnGitHub', {gitHubName: 'crookedneighbor'}) }})
- li Daniel the Bard
- li shanaqui
- li Dewines
- li Megan
- li Breadstrings
- p(v-html="$t('commGuidePara012')")
- p(v-html="$t('commGuidePara013')")
- p {{ $t('commGuidePara014') }}
- em lefnire, Slappybag, litenull, Shaner, Bobbyroberts99, wc8
-
- h2#final {{ $t('commGuideHeadingFinal') }}
- p(v-html="$t('commGuidePara067')")
- p(v-html="$t('commGuidePara068')")
-
- h2#links {{ $t('commGuideHeadingLinks') }}
- ul
- li(v-html="$t('commGuideLink01')")
- li(v-html="$t('commGuideLink02')")
- li(v-html="$t('commGuideLink03')")
- li(v-html="$t('commGuideLink04')")
- li(v-html="$t('commGuideLink05')")
- li(v-html="$t('commGuideLink06')")
- li(v-html="$t('commGuideLink07')")
- p(v-html="$t('commGuidePara069')")
- ul.list-2col.list-unstyled
- li Breadstrings
- li Draayder
- li Kiwibot
- li Leephon
- li Lemoness
- li Luciferian
- li Revcleo
- li Shaner
- li Starsystemic
- li UncommonCriminal
-
-
-
diff --git a/website/client/components/static/contact.vue b/website/client/components/static/contact.vue
deleted file mode 100644
index da945b06f4..0000000000
--- a/website/client/components/static/contact.vue
+++ /dev/null
@@ -1,56 +0,0 @@
-
- .container-fluid
- .row
- .col-md-6.offset-3
- h1 {{ $t('contactUs') }}
-
- p
- | {{ $t('reportAccountProblems') }}
- | :
- a(href='mailto:admin@habitica.com') admin@habitica.com
- br
- | {{ $t('reportBug') }}
- | :
- a(target='_blank', href='/groups/guild/a29da26b-37de-4a71-b0c6-48e72a900dac') Report a Bug guild
- | or
- a(target='_blank', href='https://github.com/HabitRPG/habitica/issues?q=is%3Aopen') GitHub
- span(v-if='this.user')
- br
- | {{ $t('reportCommunityIssues') }}
- | :
- a(@click.prevent='modForm()', href='') {{ $t('contactForm') }}
- br
- | {{ $t('subscriptionPaymentIssues') }}
- | :
- a(href='mailto:admin@habitica.com') admin@habitica.com
- br
- | {{ $t('generalQuestionsSite') }}
- | :
- a(target='_blank', href='/groups/guild/5481ccf3-5d2d-48a9-a871-70a7380cee5a') Habitica Help guild
- br
- | {{ $t('businessInquiries') }}
- | :
- a(href='mailto:admin@habitica.com') admin@habitica.com
- br
- | {{ $t('merchandiseInquiries') }}
- | :
- a(href='mailto:admin@habitica.com') admin@habitica.com
-
-
-
diff --git a/website/client/components/static/faq.vue b/website/client/components/static/faq.vue
deleted file mode 100644
index 7a8ca6792d..0000000000
--- a/website/client/components/static/faq.vue
+++ /dev/null
@@ -1,97 +0,0 @@
-
- .container-fluid(role="tablist")
- .row
- .col-12.col-md-6.offset-md-3
- h1#faq-heading {{ $t('frequentlyAskedQuestions') }}
- .faq-question(v-for='(heading, index) in headings', :key="index")
- h2(role="tab", v-b-toggle="heading", @click="handleClick($event)", variant="info") {{ $t(`faqQuestion${index}`) }}
- b-collapse(:id="heading", :visible="isVisible(heading)", accordion="faq", role="tabpanel")
- div.card-body(v-markdown="$t('webFaqAnswer' + index, replacements)")
- hr
- p(v-markdown="$t('webFaqStillNeedHelp')")
-
-
-
-
-
diff --git a/website/client/components/static/features.vue b/website/client/components/static/features.vue
deleted file mode 100644
index 3489bea63f..0000000000
--- a/website/client/components/static/features.vue
+++ /dev/null
@@ -1,105 +0,0 @@
-
- .container-fluid.text-center
- .row
- .col-md-12
- h1 {{ $t('marketing1Header') }}
- .row
- .col-md-6
- img(src='~assets/images/marketing/screenshot.png')
- h2 {{ $t('marketing1Lead1Title') }}
- p {{ $t('marketing1Lead1') }}
- .col-md-6
- img(src='~assets/images/marketing/gear.png')
- h2 {{ $t('marketing1Lead2Title') }}
- p {{ $t('marketing1Lead2') }}
- img(src='~assets/images/marketing/drops.png', style='max-height: 200px;')
- h2 {{ $t('marketing1Lead3Title') }}
- p {{ $t('marketing1Lead3') }}
- hr
- .row
- .col-md-12
- h1 {{ $t('marketing2Header') }}
- .row
- .col-md-6
- img(src='~assets/images/marketing/guild.png')
- h2 {{ $t('marketing2Lead1Title') }}
- p {{ $t('marketing2Lead1') }}
- img(src='~assets/images/marketing/vice3.png')
- h2 {{ $t('marketing2Lead2Title') }}
- p(v-markdown='$t("marketing2Lead2")')
- .col-md-6
- img(src='~assets/images/marketing/challenge.png')
- h2 {{ $t('marketing2Lead3Title') }}
- p {{ $t('marketing2Lead3') }}
- hr
- .row
- .col-md-12
- h1 {{ $t('marketing3Header') }}
- .row
- .col-md-6
- img(src='~assets/images/marketing/android_iphone.png')
- h2 {{ $t('footerMobile') }}
- p(v-markdown='$t("marketing3Lead1")')
- .col-md-6
- img(src='~assets/images/marketing/integration.png')
- h2 {{ $t('marketing3Lead2Title') }}
- p(v-markdown='$t("marketing3Lead2")')
- hr
- .row
- .col-md-12
- h1 {{ $t('marketing4Header') }}
- .row
- .col-md-6
- .media
- img(src='~assets/images/marketing/education.png')
- .media-body
- h2 {{ $t('marketing4Lead1Title') }}
- p {{ $t('marketing4Lead1') }}
- .col-md-6
- .media
- img(src='~assets/images/marketing/wellness.png')
- .media-body
- h2 {{ $t('marketing4Lead2Title') }}
- p {{ $t('marketing4Lead2') }}
- .row
- .col-md-6.offset-md-3
- h2 {{ $t('marketing4Lead3Title') }}
- img(src='~assets/images/marketing/lefnire.png')
- p.span
- span {{ $t('marketing4Lead3-1') }}
- button.btn.btn-primary(@click='playButtonClick()') {{ $t('playButton') }}
- p.span
- span {{ $t('marketing4Lead3-2') }}
- a.btn.btn-primary(href='/static/plans',target='_blank') {{ $t('contactUs') }}
-
-
-
-
-
diff --git a/website/client/components/static/groupPlans.vue b/website/client/components/static/groupPlans.vue
deleted file mode 100644
index 3ca04c185e..0000000000
--- a/website/client/components/static/groupPlans.vue
+++ /dev/null
@@ -1,252 +0,0 @@
-
- .group-plan-static.text-center
- amazon-payments-modal
- .container
- .row.top
- .top-left
- .col-6.offset-3
- img.party(src='../../assets/images/group-plans-static/party@3x.png')
- h1 {{ $t('groupPlanTitle') }}
- p {{ $t('groupPlanDesc') }}
- .pricing
- span Just
- span.number $9
- span.bold per month +
- span.number $3
- span.bold per member*
- .text-center
- button.btn.btn-primary.cta-button(@click="goToNewGroupPage()") {{ $t('getStarted') }}
- small {{ $t('billedMonthly') }}
- .top-right
- .row
- .text-col.col-12.col-md-6.text-left
- h2 {{ $t('teamBasedTasksList') }}
- p {{ $t('teamBasedTasksListDesc') }}
- .col-12.col-md-6
- .team-based(v-html='svg.teamBased')
- .row
- .col-12.col-md-6
- .group-management(v-html='svg.groupManagement')
- .text-col.col-12.col-md-6.text-left
- h2 {{ $t('groupManagementControls') }}
- p {{ $t('groupManagementControlsDesc') }}
- .row
- .col-12.col-md-6.offset-md-3.text-center
- img.big-gem(src='../../assets/images/group-plans-static/big-gem@3x.png')
- h2 {{ $t('inGameBenefits') }}
- p {{ $t('inGameBenefitsDesc') }}
- .row
- .bot-left
- .col-6.offset-3
- h2.purple {{ $t('inspireYourParty') }}
- .pricing
- span Just
- span.number $9
- span.bold per month +
- span.number $3
- span.bold per member*
- .text-center
- button.btn.btn-primary.cta-button(@click="goToNewGroupPage()") {{ $t('getStarted') }}
- small {{ $t('billedMonthly') }}
- .bot-right
- b-modal#group-plan(title="", size='md', :hide-footer='true', :hide-header='true')
- div(v-if='modalPage === "account"')
- h2 {{ $t('letsMakeAccount') }}
- auth-form(@authenticate='authenticate()')
- div(v-if='modalPage === "purchaseGroup"')
- create-group-modal-pages
-
-
-
-
-
diff --git a/website/client/components/static/header.vue b/website/client/components/static/header.vue
deleted file mode 100644
index 9d17a17fb0..0000000000
--- a/website/client/components/static/header.vue
+++ /dev/null
@@ -1,201 +0,0 @@
-
- nav.navbar.navbar-inverse.fixed-top.navbar-expand-sm
- .navbar-header
- router-link.nav-item(:to='!isUserLoggedIn ? "/static/home" : "/"')
- .logo.svg-icon(v-html='icons.purpleLogo', v-if='this.$route.name === "plans"')
- .logo.svg-icon(v-html='icons.logo', v-else)
- .collapse.navbar-collapse
- ul.navbar-nav.mr-auto(v-if='$route.name !== "home"')
- router-link.nav-item(tag='li', to='/static/features')
- a.nav-link(v-once) {{ $t('companyAbout') }}
- router-link.nav-item(tag='li', to='/static/plans')
- a.nav-link(v-once) {{ $t('groupPlans') }}
- li.nav-item
- a.nav-link(href='https://habitica.wordpress.com/', target='_blank') {{ $t('companyBlog') }}
- li.nav-item
- a.nav-link(href='http://blog.habitrpg.com/', target='_blank') {{ $t('tumblr') }}
- router-link.nav-item(tag='li', to='/static/press-kit')
- a.nav-link(v-once) {{ $t('presskit') }}
- router-link.nav-item(tag='li', to='/static/contact')
- a.nav-link(v-once) {{ $t('contactUs') }}
- ul.navbar-nav.mr-auto(v-else)
- router-link.nav-item(tag='li', to='/register')
- a.nav-link(v-once) {{ $t('getStarted') }}
- li.nav-item
- a.nav-link(@click='scrollToMobileApp') {{ $t('mobileApps') }}
- li.nav-item.dropdown
- a.nav-link.dropdown-toggle(v-once) {{ $t('learnMore') }}
- .dropdown-menu
- router-link.dropdown-item(to='/static/faq') {{ $t('faq') }}
- router-link.dropdown-item(to='/static/plans') {{ $t('groupPlans') }}
- button.btn.btn-primary.pull-right(@click='playButtonClick()', v-if='$route.name !== "home"') {{ $t('playButtonFull') }}
- router-link.btn.btn-primary.login-button.pull-right(to='/login', v-if='$route.name === "home"') {{ $t('login') }}
-
-
-
-
-
diff --git a/website/client/components/static/home.vue b/website/client/components/static/home.vue
deleted file mode 100644
index a6acf92a55..0000000000
--- a/website/client/components/static/home.vue
+++ /dev/null
@@ -1,733 +0,0 @@
-
- #front.static-view
- noscript.banner {{ $t('jsDisabledHeadingFull') }}
- br
- a(href='http://www.enable-javascript.com/', target='_blank') {{ $t('jsDisabledLink') }}
-
- #intro-signup.purple-1
- .container
- .row
- .col-12.col-md-6.col-lg-6
- img(src='~assets/images/home/home-main@3x.png', width='357px')
- h1 {{$t('motivateYourself')}}
- p.section-main {{$t('timeToGetThingsDone', {userCountInMillions})}}
- .col-12.col-md-6.col-lg-6
- h3.text-center {{$t('singUpForFree')}}
- div.text-center
- button.social-button(@click='socialAuth("facebook")')
- .svg-icon.social-icon(v-html="icons.facebookIcon")
- span {{$t('signUpWithSocial', {social: 'Facebook'})}}
- button.social-button(@click='socialAuth("google")')
- .svg-icon.social-icon(v-html="icons.googleIcon")
- span {{$t('signUpWithSocial', {social: 'Google'})}}
- .strike
- span {{$t('or')}}
- .form(@keyup.enter="register()")
- p.form-text {{$t('usernameLimitations')}}
- input#usernameInput.form-control(type='text', :placeholder='$t("username")', v-model='username', :class='{"input-valid": usernameValid, "input-invalid": usernameInvalid}')
- .input-error(v-for="issue in usernameIssues") {{ issue }}
- input.form-control(type='email', :placeholder='$t("email")', v-model='email', :class='{"input-invalid": emailInvalid, "input-valid": emailValid}')
- input.form-control(type='password', :placeholder='$t("password")', v-model='password', :class='{"input-valid": password.length > 3}')
- input.form-control(type='password', :placeholder='$t("confirmPassword")', v-model='passwordConfirm', :class='{"input-invalid": passwordConfirmInvalid, "input-valid": passwordConfirmValid}')
- p.form-text(v-once, v-html="$t('termsAndAgreement')")
- button.sign-up(@click="register()") {{$t('signup')}}
- .col-12
- .spacer.svg-icon(v-html='icons.spacer')
-
- #gamify-life.purple-2
- .container-fluid
- .pixel-horizontal.svg-icon(v-html='icons.pixelHorizontal')
- .container
- .row
- .col-12.col-sm-6.col-md-6.col-lg-6.offset-sm-3.text-center
- h2 {{$t('gamifyYourLife')}}
- p.section-main {{$t('aboutHabitica')}}
- .row
- .col-12.col-md-4
- img.track-habits(src='~assets/images/home/track-habits@3x.png', width='354px', height='228px')
- strong {{$t('trackYourGoals')}}
- p {{$t('trackYourGoalsDesc')}}
- .col-12.col-md-4
- img(src='~assets/images/home/earn-rewards@3x.png', width='316px', height='244px')
- strong {{$t('earnRewards')}}
- p {{$t('earnRewardsDesc')}}
- .col-12.col-md-4
- img(src='~assets/images/home/battle-monsters@3x.png', width='303px', height='244px')
- strong {{$t('battleMonsters')}}
- p {{$t('battleMonstersDesc')}}
- .col-12
- .spacer.svg-icon(v-html='icons.spacer')
-
- #use-cases.purple-2
- .container.text-center
- .row
- .col-12
- h2 {{$t('playersUseToImprove')}}
- .row
- .col-12.col-sm-4
- img(src='~assets/images/home/health-fitness@3x.png', width='300px', height='300px')
- strong {{$t('healthAndFitness')}}
- p {{$t('healthAndFitnessDesc')}}
- .col-12.col-sm-4
- img(src='~assets/images/home/school-work@3x.png', width='300px', height='300px')
- strong {{$t('schoolAndWork')}}
- p {{$t('schoolAndWorkDesc')}}
- .col-12.col-sm-4
- img(src='~assets/images/home/much-more@3x.png', width='300px', height='300px')
- strong {{$t('muchmuchMore')}}
- p {{$t('muchmuchMoreDesc')}}
- .col-12
- .spacer.svg-icon(v-html='icons.spacer')
- .container-fluid
- .pixel-horizontal-2.svg-icon(v-html='icons.pixelHorizontal2')
-
- #level-up-anywhere.purple-3
- .container
- .row
- .col-12.col-md-6.col-lg-6
- .iphones
- .col-12.col-md-6.col-lg-6.text-column
- h2 {{ $t('levelUpAnywhere') }}
- p {{ $t('levelUpAnywhereDesc') }}
- a.app.svg-icon(v-html='icons.googlePlay', href='https://play.google.com/store/apps/details?id=com.habitrpg.android.habitica', target='_blank')
- a.app.svg-icon(v-html='icons.iosAppStore', href='https://itunes.apple.com/us/app/habitica-gamified-task-manager/id994882113?mt=8', target='_blank')
- .container-fluid
- .pixel-horizontal-3.svg-icon(v-html='icons.pixelHorizontal3')
-
- #call-to-action.purple-4
- .container.featured
- .row.text-center
- h3.col-12 {{ $t('joinMany') }}
- .row
- .col-12.text-center
- button.btn.btn-primary.join-button(@click='playButtonClick()') {{ $t('joinToday') }}
- .row.featured
- .col-12.text-center
- strong {{ $t('featuredIn') }}
- .container-fluid.featured
- .row
- .col-12.text-center
- .lifehacker.svg-icon(v-html='icons.lifehacker')
- .thenewyorktimes.svg-icon(v-html='icons.thenewyorktimes')
- .makeuseof.svg-icon(v-html='icons.makeuseof')
- .forbes.svg-icon(v-html='icons.forbes')
- .cnet.svg-icon(v-html='icons.cnet')
- .kickstarter.svg-icon(v-html='icons.kickstarter')
- .fast-company.svg-icon(v-html='icons.fastCompany')
- .discover.svg-icon(v-html='icons.discover')
- .container-fluid
- .row.seamless_stars_varied_opacity_repeat
-
-
-
-
-
-
-
diff --git a/website/client/components/static/merch.vue b/website/client/components/static/merch.vue
deleted file mode 100644
index d4f3f440b9..0000000000
--- a/website/client/components/static/merch.vue
+++ /dev/null
@@ -1,33 +0,0 @@
-
- .container-fluid
- .row
- .col-md-6.offset-3
- h1 {{ $t('merch') }}
- // @TODO: Visual experience: Separate each merch items with new line? Or to show items in a table?
- .col-lg-6.col-md-6.col-sm-12(v-for="(merchant, index) in merchants")
- .merch-block
- img(v-if='merchant.logo' :src="`/static/merch/${merchant.key}-logo.png`")
- h2(v-else) {{ merchant.name }}
- div
- a(:href="merchant.link" target='_blank')
- img.img-rendering-auto(:src="`/static/merch/${merchant.key}.png`")
- p {{ $t('merch-' + merchant.key + '-summary') }}
- a.btn.btn-primary(:href="merchant.link" target='_blank') {{$t('merch-' + merchant.key + '-goto')}}
-
-
-
-
diff --git a/website/client/components/static/overview.vue b/website/client/components/static/overview.vue
deleted file mode 100644
index 5866630186..0000000000
--- a/website/client/components/static/overview.vue
+++ /dev/null
@@ -1,46 +0,0 @@
-
-.container-fluid.static-view
- .row
- .col-md-6.offset-3
- h1 {{ $t('overview') }}
- p {{ $t('needTips') }}
- div(v-for='step in stepsNum')
- h3 {{ $t('step'+step) }}
- p(v-markdown="$t('webStep'+step+'Text', stepVars[step])")
- hr
- p(v-markdown="$t('overviewQuestions', {faqUrl: '/static/faq/', helpGuildUrl: '/groups/guild/5481ccf3-5d2d-48a9-a871-70a7380cee5a'})")
-
-
-
-
-
-
-
diff --git a/website/client/components/static/pressKit.vue b/website/client/components/static/pressKit.vue
deleted file mode 100644
index 150606dce0..0000000000
--- a/website/client/components/static/pressKit.vue
+++ /dev/null
@@ -1,130 +0,0 @@
-
- .container-fluid
- h1 {{ $t('presskit') }}
- p {{ $t('presskitText', { pressEnquiryEmail : PRESS_ENQUIRY_EMAIL }) }}
- p
- a.btn.btn-lg.btn-success(href='/static/presskit/presskit.zip') presskit.zip
-
- div(v-for='(images, category) in imgs')
- h2 {{ $t('pk' + category) }}
- div(v-if='Array.isArray(images)')
- div(v-for='img in images')
- img.img-fluid.img-rendering-auto.press-img(:src="`/static/presskit/${category}/${img}`")
- div(v-else)
- div(v-for='(images, secondaryCategory) in images')
- h3 {{ $t('pk' + secondaryCategory) }}
- div(v-for='img in images')
- img.img-fluid.img-rendering-auto.press-img(:src="`/static/presskit/${category}/${secondaryCategory}/${img}`")
-
- h1 {{ $t('FAQ') }}
- #faq(role='tablist')
- .faq-question(v-for='(QA, index) in faq')
- h2(v-b-toggle="QA.question", tabindex="0", role="button", v-html="$t(QA.question)")
- b-collapse(:id="QA.question", accordion="pkAccordian", role="tabpanel")
- p(v-html="$t(QA.answer)")
- p {{ $t('pkMoreQuestions') }}
-
-
-
-
-
diff --git a/website/client/components/static/privacy.vue b/website/client/components/static/privacy.vue
deleted file mode 100644
index 2ecda4b8ad..0000000000
--- a/website/client/components/static/privacy.vue
+++ /dev/null
@@ -1,299 +0,0 @@
-
- .container-fluid
- h1 Privacy Policy
- p.pagemeta
- | Last updated July 27, 2015
- br
- small (Corrected grammar errors and updated company name)
- br
- br
- p
- strong PLEASE READ THIS PRIVACY POLICY CAREFULLY.
- br
- | By accessing or otherwise using habitica.com or any sub domains thereto ("the Sites"),
- | or using a habitica.com or Habitica application on a mobile device ("the Applications"),
- | you agree to be bound contractually by this Privacy Policy. Individually
- | or collectively, the Applications and the Sites may be referred to as
- | the "Services."
- p
- | To review material modifications and their effective dates scroll
- | to the bottom of the page.
- p
- strong
- | 1. Privacy Statement; Collection of Personal
- | Information.
- br
- | 1.1 HabitRPG, Inc. owns and operates this business. All
- | references to "we", "us", shall be construed to mean HabitRPG, Inc..
- p
- | 1.2 We understand that visitors to this website are concerned
- | about the privacy of information. The following describes our privacy
- | policy regarding information, including personal information, that we
- | collect through this website.
- p
- strong 2. Modification of Privacy Policy.
- br
- | We reserve the right to modify this Privacy Policy at any time,
- | and without prior notice, by posting an amended Privacy Policy that is
- | always accessible by clicking on the "Privacy Policy" link on this
- | site's home page. Your continued use of this site indicates your
- | acceptance of the amended Privacy Policy. You should check the Privacy
- | Policy through this link periodically for modifications by clicking on
- | the link provided near the top of the Privacy Policy for a listing of
- | material modifications and their effective dates. Regarding personal
- | information, if any modifications are materially less restrictive on our
- | use or disclosure of the personal information previously disclosed by
- | you, we will obtain your consent before implementing such revisions with
- | respect to such information.
- p
- strong 3. Collection of Anonymous, Passive Information.
- br
- | We reserve the right to monitor your use of the services. As you
- | navigate through the services, certain anonymous information may be
- | passively collected (that is, gathered without your actively providing
- | the information) using various technologies, such as cookies, Internet
- | tags or web beacons, and navigational data collection (log files, server
- | logs, clickstream). The following is a listing and a brief explanation
- | of passive information collection methodologies which we may use from
- | time to time to better understand how the Services are being used.
- p
- | 3.1 A "cookie" is a text file that this site sends to your
- | browser in the form of a text file The information generated by the
- | cookie about your use of this site (including your IP address) will be
- | transmitted to and stored. Most browsers automatically accept cookies,
- | but they usually can be modified to decline cookies if you prefer;
- | however, certain features of this site might not work without cookies.
- p
- | 3.2 "Session" cookies are temporary bits of information that are
- | used to improve navigation, block visitors from providing information
- | where inappropriate (the Services "remembers" previous entries of age or
- | country of origin that were outside the specified parameters and blocks
- | subsequent changes), and collect aggregate statistical information on
- | the Services. They are erased once you exit your Web browser or
- | otherwise turn off your computer.
- p
- | 3.3 "Persistent" cookies are more permanent bits of information
- | that are placed on the hard drive of your computer and stay there unless
- | you delete the cookie. Persistent cookies store information on your
- | computer for a number of purposes, such as retrieving certain
- | information you have previously provided, helping to determine what
- | areas of the Services you may find most valuable, and customizing the
- | Services based on your preferences on an ongoing basis. Persistent
- | cookies placed by this site in your computer do not hold personal
- | information.
- p
- | 3.4 You can set your browser to accept all cookies, to reject all
- | cookies, or to notify you whenever a cookie is offered so that you can
- | decide each time whether to accept it. To learn more about cookies and
- | how to specify your preferences, please search for "cookie" in the
- | "Help" portion of your browser.
- p
- | 3.5 An Internet Protocol (IP) address is a number assigned to
- | your computer by your Internet service provider so you can access the
- | Internet and is generally considered to be non-personally identifiable
- | information, because in most cases an IP address is dynamic (changing
- | each time you connect to the Internet), rather than static (unique to a
- | particular user's computer). The IP address can be used to diagnose
- | problems with a server, report aggregate information, determine the
- | fastest route for your computer to use in connecting to a site, and
- | administer and improve the Services.
- p
- | 3.6 "Internet tags" (also known as Web Beacons, single-pixel
- | GIFs, clear GIFs, invisible GIFs, and 1-by-1 GIFs) are smaller than
- | cookies and tell the Web site server information such as the IP address
- | and browser type related to the visitor's computer. Tags may be placed
- | both on online advertisements that bring people to the Services and on
- | different pages of the Services. Such tags indicate how many times a
- | page is opened and which information is consulted.
- p
- | 3.7 "Navigational data" (log files, server logs, and clickstream
- | data) are used for system management, to improve the content of the
- | Services, market research purposes, and to communicate information to
- | visitors.
- p
- strong 4. Use and Sharing of Anonymous, Passive Information.
- br
- | The Services may make full use of passively collected anonymous
- | information, including without limitation the right to use such
- | information to provide better service to Service users, customize the
- | Services based on your preferences, compile and analyze statistics and
- | trends, and otherwise administer and improve the Services for your use. We
- | reserve the right to share this anonymous, passive information in
- | aggregated form.
- p
- strong 5. 3rd Party Behavioral Ads; Google's AdSense Network.
- br
- | 5.1 We reserve the right to use anonymous, passive information
- | about your visits to this and other websites (not including your name,
- | address, email address or telephone number) for purposes of serving our
- | ads and third party ads that are targeted to your interests ("3rd Party
- | Behavioral Ads"). We reserve the right to share anonymous, passive
- | information collected on the services with third parties for purposes of
- | serving 3rd Party Behavioral Ads. These 3rd Party Behavioral Ads do not
- | identify you personally. Instead, they associate your behavioral data on
- | visited sites with your browser, so that the ads your computer sees on
- | this site are more likely to be relevant to your interests. 3rd Party
- | Behavioral Ads require that that you be served with a cookie containing
- | a tracking code. You may refuse the use of cookies by selecting the
- | appropriate settings on your browser; however, please note that if you
- | do this you may not be able to use the full functionality of this site.
- p
- | 5.2 We reserve the right to participate in Google's AdSense
- | network for purposes of serving 3rd Party Behavioral Ads. Google uses
- | DoubleClick's DART cookie for serving 3rd Party Behavioral Ads over the
- | AdSense network. You may opt out of the use of the DART cookie. For
- | information regarding how to opt out, go to
- | http://www.google.com/privacy_ads.html.
- p
- strong 6. Use of 3rd Party Analytics.
- br
- | We reserve the right to use analytics services provided by
- | third parties. These services use 3rd party cookies to collect
- | anonymous, passive information about your use of this site (see
- | explanation of cookies in Collection of Anonymous, Passive Information
- | above). We use this information for the purpose of evaluating your use
- | of the Services, compiling reports on activity, and providing other
- | services. These web analytics services may also transfer this
- | information to third parties where required to do so by law, or where
- | such third parties process the information on the service's behalf.
- p
- strong 7. Collection of Personal Information; Categories.
- br
- | We will ask you for personal information when you sign up for any
- | specific benefit or purpose that requires registration. Personal
- | information that we collect may vary with each registration, and it may
- | include one or more of the following categories: name, physical
- | address, an email address, phone number, and credit card information
- | including credit card number, expiration date, and billing address,
- | emergency contact information, current medications, allergies, medical
- | insurance information.
- p
- strong
- | 8. Use And Sharing of Personal Information: General
- | Policy And Exceptions.
- br
- | Our general policy is that we will use your personal information,
- | including combining your personal information with passive information
- | collected from this site, only for: the performance of the services or
- | transaction for which it was given, our private, internal reporting for
- | this site, and security assessments for this site, and we will not
- | share, sell, or rent your personal information to others. The only
- | exceptions to this general policy: (i) are described in the subsections
- | below, and (ii) if you explicitly approve through our site.
- p
- | 8.1 Affiliates And Service Providers. We reserve the right to
- | provide such information to our affiliates or subsidiaries, or trusted
- | service providers for the purpose of hosting our servers or processing
- | or archiving personal information for us. We require that these parties
- | agree to privacy and security safeguards for this information that are
- | consistent with this Privacy Policy.
- p
- | 8.2 Acquisition; Bankruptcy. In the event that we are acquired by
- | or merged with a third party entity, we reserve the right to transfer
- | such information as part of such merger, acquisition, sale, or other
- | change of control. In the unlikely event of our bankruptcy, insolvency,
- | reorganization, receivership, or assignment for the benefit of
- | creditors, or the application of laws or equitable principles affecting
- | creditors' rights generally, we reserve the right to transfer such
- | information to protect our rights or as required by law.
- p
- | 8.3 Enforcement; Legal Process. We reserve the right to transfer
- | such information if we have a good faith belief that access, use,
- | preservation or disclosure of such information is reasonably necessary
- | (i) to satisfy any applicable law, regulation, legal process or
- | enforceable governmental request, or (ii) to investigate or enforce
- | violations of our rights or the security of this site.
- p
- | 8.4 Miscellaneous. We reserve the right to share personal
- | information with the following additional parties: online organizers
- | using our tools and resellers of our products and services from whose
- | site the sale originated (even though the sale originates at site of the
- | reseller, registration and collection of personal information occurs at
- | this site).
- p
- strong
- | 9. Onward Transfer of Personal Information Outside Your
- | Country of Residence.
- br
- | Any personal information which we may collect on this site will
- | be stored and processed in our servers located only in the United
- | States. By using this site, if you reside outside the United States, you
- | consent to the transfer of personal information outside your country of
- | residence to the United States.
- p
- strong 10. Security of Personal Information.
- br
- | We follow reasonable and appropriate industry standards to
- | protect your personal information and data. Unfortunately, no data
- | transmission over the Internet or method of data storage can be
- | guaranteed 100% secure. Therefore, while we strive to protect your
- | personal information by following generally accepted industry standards,
- | we cannot ensure or warrant the absolute security of any information you
- | transmit to us or archive at this site.
- p
- strong 11. Changing And Updating Personal Information.
- br
- | Upon request, we will permit you to request or make changes or
- | updates to your personal information for legitimate purposes. We request
- | identification prior to approving such requests. We reserve the right to
- | decline any requests that are unreasonably repetitive or systematic,
- | require unreasonable time or effort of our technical or administrative
- | personnel, or undermine the privacy rights of others. We reserve the
- | right to permit you to access your personal information in any account
- | you establish with this site for purposes of making your own changes or
- | updates, and in such case, instructions for making such changes or
- | updates will be provided where necessary.
- p
- strong 12. Email From This Site; Opt-Out Rights.
- br
- | If you supply us with your e-mail address you may receive
- | periodic messages from us with information specific to the Services and
- | required for the normal functioning of the Services as well as for new
- | products or services or upcoming events. If you prefer not to receive
- | periodic email messages, you may opt-out by following the instructions
- | on the email.
- p
- strong 13. Children's Online Policy.
- br
- | We are committed to preserving online privacy for all of our
- | website visitors, including children. This site is a general audience
- | site. Consistent with the Children's Online Privacy Protection Act
- | (COPPA), we will not knowingly collect any information from, or sell to,
- | children under the age of 13. If you are a parent or guardian who has
- | discovered that your child under the age of 13 has submitted his or her
- | personally identifiable information without your permission or consent,
- | we will remove the information from our active list, at your request. To
- | request the removal of your child's information, please email us at
- | admin@habitica.com and be sure to include in
- | your message the same login information that your child submitted.
- p
- strong
- | 14. Email And Other Messages Through This Site; ECPA
- | Notice.
- br
- | This site treats email messages and other electronic messages
- | that are sent through this site and not viewable by others as
- | confidential and private, except as required by law, including without
- | limitation, the Electronic Communications Privacy Act of 1986, 18 U.S.C.
- | Sections 2701-2711 (the "ECPA"). The ECPA permits this site's limited
- | ability to intercept and/or disclose electronic messages, for example
- | (i) as necessary to operate our system or to protect our rights or
- | property, (ii) upon legal demand (court orders, warrants, subpoenas), or
- | (iii) where we receive information inadvertently which appears to
- | pertain to the commission of a crime. This site is not considered a
- | "secure communications medium" under the ECPA.
- p
- strong 15. Contact Us.
- br
- | If you have any questions regarding this Privacy Policy, please
- | contact the owner and operator of this website business:
- address
- strong HabitRPG, Inc.
- br
- | 11870 Santa Monica Blvd., Suite 106-577
- br
- | Los Angeles, CA 90025
- br
- | Email:
- a(href='mailto:admin@habitica.com') admin@habitica.com
-
diff --git a/website/client/components/static/terms.vue b/website/client/components/static/terms.vue
deleted file mode 100644
index b5b52955a2..0000000000
--- a/website/client/components/static/terms.vue
+++ /dev/null
@@ -1,568 +0,0 @@
-
- .container-fluid
- h1 Terms of Use
- p.pagemeta
- | Last updated July 27, 2015
- br
- small (Corrected minimum age requirement to under 13 years of age per COPPA)
- br
- br
- p
- | HabitRPG (or "we") provides services through our
- | software applications for various devices and platforms ("HabitRPG
- | Applications") and the HabitRPG.com domain, and any sub domains thereto
- | (the "Sites"). Individually or collectively, HabitRPG Applications and
- | Sites may be referred to as the "Services".
- p
- | Please read the following terms and conditions ("Terms of
- | Service") carefully. These Terms of Service govern your access to and
- | use of the Services and HabitRPG Content (defined below) and set forth
- | the legally binding terms for your use of the Services and HabitRPG
- | Content, whether or not you have registered as a Member.
- p
- | Certain areas of the Services (and your access to or use of
- | HabitRPG Content) may have different terms and conditions posted or may
- | require you to agree with and accept additional terms and conditions. If
- | there is a conflict between these Terms of Service and terms and
- | conditions posted for a specific area of the Services or HabitRPG
- | Content, the latter terms and conditions will take precedence with
- | respect to your use of or access to that area of the Services or HabitRPG
- | Content.
- p
- | YOU ACKNOWLEDGE AND AGREE THAT, BY CLICKING ON THE "I AGREE" OR
- | "I ACCEPT" BUTTON, OR BY ACCESSING OR USING THE SERVICES OR BY
- | DOWNLOADING OR POSTING ANY CONTENT FROM OR ON THE SITES OR THROUGH THE
- | SERVICES, YOU ARE INDICATING THAT YOU HAVE READ, UNDERSTAND AND AGREE TO
- | BE BOUND BY THESE TERMS, WHETHER OR NOT YOU HAVE REGISTERED AS A MEMBER,
- | AND AGREE TO OUR PRIVACY POLICY AS DESCRIBED BELOW. IF YOU DO NOT AGREE
- | TO THESE TERMS, THEN YOU HAVE NO RIGHT TO ACCESS OR USE THE SERVICES OR
- | HABITRPG CONTENT.
- p
- strong Modification
- br
- | HabitRPG reserves the right, at its sole discretion, to modify,
- | discontinue or terminate the Services, including any portion thereof on
- | a global or individual basis, or to modify these Terms of Service, at
- | any time and without prior notice. If we modify these Terms of Service,
- | we will update the "Last Updated Date" above and post the modification
- | on the Sites and perhaps elsewhere within the Services. By continuing to
- | access or use the Services after we have posted a modification to these
- | Terms of Service or have provided you with notice of a modification, you
- | are indicating that you agree to be bound by the modified Terms of
- | Service. If the modified Terms of Service are not acceptable to you,
- | your only recourse is to cease using the Services.
- p
- strong Eligibility and HabitRPG Account Registration
- br
- | In order to access certain features of the Sites and Services, and to
- | post any Public User Content (defined below) on the Sites or through the
- | Services, you must register to create an account ("HabitRPG Account") and
- | become a "Member". In compliance with privacy laws, we do not allow
- | people below the age of 13 to create accounts; please see our Privacy
- | Policy for further information. During the registration process, you
- | will be required to provide certain information and you will establish a
- | username and a password. You agree to provide accurate, current and
- | complete information during the registration process and to update such
- | information to keep it accurate, current and complete. HabitRPG reserves
- | the right to suspend or terminate your HabitRPG Account if any
- | information provided during the registration process or thereafter
- | proves to be inaccurate, not current or incomplete. If you are not a
- | Member you may browse all areas of the Sites or use the parts of the
- | Services that are not limited to Members only. You are responsible for
- | safeguarding your password. You agree not to disclose your password to
- | any third party and to take sole responsibility for any activities or
- | actions under your HabitRPG Account, whether or not you have authorized
- | such activities or actions. You agree to immediately notify HabitRPG of
- | any unauthorized use of your HabitRPG Account. We are not liable for any
- | damages or losses caused by someone using your account without your
- | permission.
- p
- strong Privacy
- br
- | See HabitRPG's Privacy Policy for
- | information and notices concerning HabitRPG's collection and use of your
- | personal information. If you have any questions about the HabitRPG
- | Privacy Policy, please contact HabitRPG at privacy AT HabitRPG.com. By
- | accessing the Services you are agreeing to the terms of our Privacy
- | Policy.
- p
- strong Content
- br
- | Certain types of content are made available through the Services.
- | "HabitRPG Content" means, collectively, the text, data, graphics, images,
- | illustrations, forms and look and feel attributes, HabitRPG trademarks
- | and logos and other content made available through the Services,
- | including any technology or code making up the Services, excluding User
- | Content. "Public User Content" means the text, data, graphics, images, photos,
- | video or audiovisual content, hypertext links and any other content uploaded,
- | transmitted or submitted by a Member via the Services with the intent to share
- | with other users. "Private User Content" means data created through the services
- | exclusively for personal use or private sharing.
- | This includes tasks and related data created in HabitRPG Tasks that have not
- | been explicitly shared publicly.
- | You understand that by using any of the Services, you may encounter content
- | that may be deemed offensive, indecent, or objectionable, which content
- | may or may not be identified as having explicit language, and that the
- | results of any search or entering of a particular URL may automatically
- | and unintentionally generate links or references to objectionable
- | material. Nevertheless, you agree to use the Services at your sole risk
- | and that we shall not have any liability to you for content that may be
- | found to be offensive, indecent, or objectionable.
- p
- strong Ownership
- br
- | The Services and HabitRPG Content are protected by copyright, trademark,
- | and other laws of the United States and foreign countries. Except as
- | expressly provided in these Terms of Service, HabitRPG and its licensors
- | exclusively own all right, title and interest in and to the Services and
- | HabitRPG Content, including all associated intellectual property rights.
- | You will not remove, alter or obscure any copyright, trademark, service
- | mark or other proprietary rights notices incorporated in or accompanying
- | the Services or HabitRPG Content.
- p
- strong HabitRPG License
- br
- | Subject to your compliance with the terms and conditions of these Terms
- | of Service, HabitRPG grants you a limited, non-exclusive,
- | non-transferable license, without the right to sublicense, to access,
- | use, view, download and print, where applicable, the Services and any
- | HabitRPG Content solely for your personal and non-commercial purposes.
- | You will not use, copy, adapt, modify, prepare derivative works based
- | upon, distribute, license, sell, transfer, publicly display, publicly
- | perform, transmit, stream, broadcast or otherwise exploit the Services
- | or HabitRPG Content, except as expressly permitted in these Terms of
- | Service. No licenses or rights are granted to you by implication or
- | otherwise under any intellectual property rights owned or controlled by
- | HabitRPG or its licensors, except for the licenses and rights expressly
- | granted in these Terms of Service. With respect to HabitRPG Applications,
- | your license is limited to use of such applications on platforms and
- | devices that you own or control, and you may not distribute or make the
- | HabitRPG Applications available over a network where it could be used by
- | multiple devices at the same time.
- p
- strong Public User Content
- br
- | By making available any Public User Content through the Services, you hereby
- | grant to HabitRPG a worldwide, irrevocable, perpetual, non-exclusive,
- | transferable, royalty-free license, with the right to sublicense, to
- | use, copy, adapt, modify, distribute, license, sell, transfer, publicly
- | display, publicly perform, transmit, stream, broadcast and otherwise
- | exploit such Public User Content only on, through or by means of the Services.
- | HabitRPG does not claim any ownership rights in any such Public User Content and
- | nothing in these Terms of Service will be deemed to restrict any rights
- | that you may have to use and exploit any such Public User Content.
- p
- | You acknowledge and agree that you are solely responsible for all
- | Public User Content that you make available through the Services. Accordingly,
- | you represent and warrant that: (i) you either are the sole and
- | exclusive owner of all Public User Content that you make available through the
- | Services or you have all rights, licenses, consents and releases that
- | are necessary to grant to HabitRPG the rights in such Public User Content, as
- | contemplated under these Terms of Service; and (ii) neither the User
- | Content nor your posting, uploading, publication, submission or
- | transmittal of the Public User Content or HabitRPG's use of the Public User Content (or
- | any portion thereof) on, through or by means of the Services will
- | infringe, misappropriate or violate a third party's patent, copyright,
- | trademark, trade secret, moral rights or other intellectual property
- | rights, or rights of publicity or privacy, or result in the violation of
- | any applicable law or regulation.
- p
- | Copyrighted Materials: No Infringing Use. You will not use the
- | Services to offer, display, distribute, transmit, route, provide
- | connections to or store any material that infringes copyrighted works or
- | otherwise violates or promotes the violation of the intellectual
- | property rights of any third party. HabitRPG has adopted and implemented
- | a policy that provides for the termination in appropriate circumstances
- | of the accounts of users who repeatedly infringe or are believed to be
- | or are charged with repeatedly infringing the rights of copyright
- | holders.
- p
- strong Notify Us of Infringers
- br
- | If you believe that something on the Services violates your copyright,
- | notify our copyright agent in writing. The contact information for our
- | copyright agent is at the bottom of this section.
- p
- | In order for us to take action, you must do the following in your
- | notice:
- p
- | (1) provide your physical or electronic signature; (2) identify
- | the copyrighted work that you believe is being infringed; (3) identify
- | the item on the Services that you think is infringing your work and
- | include sufficient information about where the material is located on
- | the Services (including which website and URL) so that we can find it;
- | (4) provide us with a way to contact you, such as your address,
- | telephone number, or e-mail; (5) provide a statement that you believe in
- | good faith that the item you have identified as infringing is not
- | authorized by the copyright owner, its agent, or the law to be used on
- | the Services; and (6) provide a statement that the information you
- | provide in your notice is accurate, and that (under penalty of perjury),
- | you are authorized to act on behalf of the copyright owner whose work is
- | being infringed.
- p
- | Here is the contact information for our copyright agent:
- p
- | Copyright Enforcement
- br
- | HabitRPG, Inc.
- br
- | 11870 Santa Monica Blvd., Suite 106-577
- br
- | Los Angeles, CA 90025
- br
- | E-Mail: admin@habitica.com
- p
- | Again, we cannot take action unless you give us all the required
- | information.
- p
- strong Ratings and Comments & Feedback.
- br
- | You can rate and make comments about content made available through the
- | Services ("Comments"). HabitRPG advises you to exercise caution and good
- | judgment when leaving such Comments. Once you complete and submit your
- | Comments to the Services you will not be able to go back and edit your
- | Comments. You should also be aware that you could be held legally
- | responsible for damages to someone's reputation if your Comments are
- | deemed to be defamatory. Without limiting any other terms of this Terms
- | of Service, HabitRPG may, but is under no obligation to, monitor or
- | censor Comments and disclaims any and all liability relating thereto.
- | Notwithstanding the foregoing, HabitRPG does reserve the right, in its
- | sole discretion, to remove any Comments that it deems to be improper,
- | inappropriate or inconsistent with the online activities that are
- | permitted under these Terms of Service. We welcome and encourage you to
- | provide feedback, comments and suggestions for improvements to the
- | Services ("Feedback"). You may submit Feedback by emailing us at support
- | AT HabitRPG.com. You acknowledge and agree that all Comments and Feedback
- | will be the sole and exclusive property of HabitRPG and you hereby
- | irrevocably assign to HabitRPG and agree to irrevocably assign to HabitRPG
- | all of your right, title, and interest in and to all Comments and
- | Feedback, including without limitation all worldwide patent rights,
- | copyright rights, trade secret rights, and other proprietary or
- | intellectual property rights therein. At HabitRPG's request and expense,
- | you will execute documents and take such further acts as HabitRPG may
- | reasonably request to assist HabitRPG to acquire, perfect, and maintain
- | its intellectual property rights and other legal protections for the
- | Comments and Feedback.
- p
- strong Interactions between Users
- br
- | You are solely responsible for your interactions (including any
- | disputes) with other users. You understand that HabitRPG does not in any
- | way screen HabitRPG users, except to only allow people aged 13 and over
- | to create accounts. You are solely responsible for, and will exercise
- | caution, discretion, common sense and judgment in, using the Services
- | and disclosing personal information to other HabitRPG users. You agree to
- | take reasonable precautions in all interactions with other HabitRPG
- | users, particularly if you decide to meet a HabitRPG user offline, or in
- | person. Your use of the Services, HabitRPG Content and any other content
- | made available through the Services is at your sole risk and discretion
- | and HabitRPG hereby disclaims any and all liability to you or any third
- | party relating thereto. HabitRPG reserves the right to contact Members,
- | in compliance with applicable law, in order to evaluate compliance with
- | the rules and policies in these Terms of Service. You will cooperate
- | fully with HabitRPG to investigate any suspected unlawful, fraudulent or
- | improper activity, including, without limitation, granting authorized
- | HabitRPG representatives access to any password-protected portions of
- | your HabitRPG Account.
- p
- strong General Prohibitions
- br
- | You agree not to do any of the following while using the Services or
- | HabitRPG Content:
- br
- ul
- li
- | Post, upload, publish, submit or transmit any text, graphics,
- | images, software, music, audio, video, information or other material
- | that: (i) infringes, misappropriates or violates a third party's
- | patent, copyright, trademark, trade secret, moral rights or other
- | intellectual property rights, or rights of publicity or privacy; (ii)
- | violates, or encourages any conduct that would violate, any applicable
- | law or regulation or would give rise to civil liability; (iii) is
- | fraudulent, false, misleading or deceptive; (iv) is defamatory,
- | obscene, pornographic, vulgar or offensive; (v) promotes
- | discrimination, bigotry, racism, hatred, harassment or harm against any
- | individual or group; (vi) is violent or threatening or promotes
- | violence or actions that are threatening to any other person; or (vii)
- | promotes illegal or harmful activities or substances (including but not
- | limited to activities that promote or provide instructional information
- | regarding the manufacture or purchase of illegal weapons or illegal
- | substances).
- li
- | Use, display, mirror, frame or utilize framing techniques to
- | enclose the Services, or any individual element or materials within the
- | Services, HabitRPG's name, any HabitRPG trademark, logo or other
- | proprietary information, the content of any text or the layout and
- | design of any page or form contained on a page, without HabitRPG's
- | express written consent;
- li
- | Access, tamper with, or use non-public areas of the Services,
- | HabitRPG's computer systems, or the technical delivery systems of
- | HabitRPG's providers;
- li
- | Attempt to probe, scan, or test the vulnerability of any
- | HabitRPG system or network or breach any security or authentication
- | measures;
- li
- | Avoid, bypass, remove, deactivate, impair, descramble or
- | otherwise circumvent any technological measure implemented by HabitRPG
- | or any of HabitRPG's providers or any other third party (including
- | another user) to protect the Services or HabitRPG Content;
- li
- | Attempt to access or search the Services or HabitRPG Content or
- | download HabitRPG Content from the Services through the use of any
- | engine, software, tool, agent, device or mechanism (including spiders,
- | robots, crawlers, data mining tools or the like) other than the
- | software and/or search agents provided by HabitRPG or other generally
- | available third party web browsers (such as Google Chrome, Microsoft
- | Internet Explorer, Mozilla Firefox, Safari or Opera);
- li
- | Send any unsolicited or unauthorized advertising, promotional
- | materials, email, junk mail, spam, chain letters or other form of
- | solicitation;
- li
- | Use any meta tags or other hidden text or metadata utilizing a
- | HabitRPG trademark, logo URL or product name without HabitRPG's express
- | written consent;
- li
- | Use the Services or HabitRPG Content for any commercial purpose
- | or the benefit of any third party or in any manner not permitted by
- | these Terms of Service;
- li
- | Forge any TCP/IP packet header or any part of the header
- | information in any email or newsgroup posting, or in any way use the
- | Services or HabitRPG Content to send altered, deceptive or false
- | source-identifying information;
- li
- | Attempt to decipher, decompile, disassemble or reverse
- | engineer any of the software used to provide the Services or HabitRPG
- | Content;
- li
- | Interfere with, or attempt to interfere with, the access of
- | any user, host or network, including, without limitation, sending a
- | virus, overloading, flooding, spamming, or mail-bombing the Services;
- li
- | Collect or store any personally identifiable information from
- | the Services from other users of the Services without their express
- | permission;
- li
- | Impersonate or misrepresent your affiliation with any person
- | or entity; Violate any applicable law or regulation; or
- li
- | Encourage or enable any other individual to do any of the
- | foregoing.
- p
- | HabitRPG will have the right to investigate and prosecute
- | violations of any of the above, including intellectual property rights
- | infringement and Services security issues, to the fullest extent of the
- | law. HabitRPG may involve and cooperate with law enforcement authorities
- | in prosecuting users who violate these Terms of Service. You acknowledge
- | that HabitRPG has no obligation to monitor your access to or use of the
- | Services or HabitRPG Content or to review or edit any Public User Content, but
- | has the right to do so for the purpose of operating the Services, to
- | ensure your compliance with these Terms of Service, or to comply with
- | applicable law or the order or requirement of a court, administrative
- | agency or other governmental body. HabitRPG reserves the right, at any
- | time and without prior notice, to remove or disable access to any
- | HabitRPG Content, including, any Public User Content, that HabitRPG, in its sole
- | discretion, considers to be in violation of these Terms of Service or
- | otherwise harmful to the Services.
- p
- strong Links
- br
- | The Services may contain links to third-party websites or resources. You
- | acknowledge and agree that HabitRPG is not responsible or liable for: (i)
- | the availability or accuracy of such websites or resources; or (ii) the
- | content, products, or services on or available from such websites or
- | resources. Links to such websites or resources do not imply any
- | endorsement by HabitRPG of such websites or resources or the content,
- | products, or services available from such websites or resources. You
- | acknowledge sole responsibility for and assume all risk arising from
- | your use of any such websites or resources.
- p
- strong Termination and HabitRPG Account; Cancellation
- br
- | Without limiting other remedies, HabitRPG may at any time suspend or
- | terminate your HabitRPG Account and refuse to provide access to the
- | Services. In addition, HabitRPG may notify authorities or take any
- | actions it deems appropriate, without notice to you, if HabitRPG suspects
- | or determines, in its own discretion, that you may have or there is a
- | significant risk that you have (i) failed to comply with any provision
- | of these Terms of Service or any policies or rules established by
- | HabitRPG; or (ii) engaged in actions relating to or in the course of
- | using the Services that may be illegal or cause liability, harm,
- | embarrassment, harassment, abuse or disruption for you, HabitRPG Users,
- | HabitRPG or any other third parties or the Services.
- p
- | You may terminate your HabitRPG Account at any time and for any
- | reason by sending email to support AT HabitRPG.com. Upon any termination
- | by a Member, the related account will no longer be accessible.
- p
- | After any termination, you understand and acknowledge that we
- | will have no further obligation to provide the Services and all licenses
- | and other rights granted to you by these Terms of Service will
- | immediately cease. HabitRPG will not be liable to you or any third party
- | for termination of the Services or termination of your use of either.
- | UPON ANY TERMINATION OR SUSPENSION, ANY CONTENT, MATERIALS OR
- | INFORMATION (INCLUDING PUBLIC USER CONTENT) THAT YOU HAVE SUBMITTED ON THE
- | SERVICES OR THAT WHICH IS RELATED TO YOUR ACCOUNT MAY NO LONGER BE
- | ACCESSED BY YOU. Furthermore, HabitRPG will have no obligation to
- | maintain any information stored in our database related to your account
- | or to forward any information to you or any third party.
- p
- | Any suspension, termination or cancellation will not affect your
- | obligations to HabitRPG under these Terms of Service (including, without
- | limitation, proprietary rights and ownership, indemnification and
- | limitation of liability), which by their sense and context are intended
- | to survive such suspension, termination or cancellation.
- p
- strong Disclaimers
- br
- | THE SERVICES, HABITRPG CONTENT AND PUBLIC USER CONTENT ARE PROVIDED "AS IS",
- | WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED. WITHOUT
- | LIMITING THE FOREGOING, HABITRPG EXPLICITLY DISCLAIMS ANY WARRANTIES OF
- | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR
- | NON-INFRINGEMENT, AND ANY WARRANTIES ARISING OUT OF COURSE OF DEALING OR
- | USAGE OF TRADE.
- p
- | HABITRPG MAKES NO WARRANTY THAT THE SERVICES, HABITRPG CONTENT OR
- | PUBLIC USER CONTENT WILL MEET YOUR REQUIREMENTS OR BE AVAILABLE ON AN
- | UNINTERRUPTED, SECURE, OR ERROR-FREE BASIS. HABITRPG MAKES NO WARRANTY
- | REGARDING THE QUALITY OF ANY PRODUCTS, SERVICES OR CONTENT PURCHASED OR
- | OBTAINED THROUGH THE SERVICES OR THE ACCURACY, TIMELINESS, TRUTHFULNESS,
- | COMPLETENESS OR RELIABILITY OF ANY CONTENT OBTAINED THROUGH THE
- | SERVICES.
- p
- | NO ADVICE OR INFORMATION, WHETHER ORAL OR WRITTEN, OBTAINED FROM
- | HABITRPG OR THROUGH THE SERVICES, HABITRPG CONTENT OR PUBLIC USER CONTENT, WILL
- | CREATE ANY WARRANTY NOT EXPRESSLY MADE HEREIN.
- p
- strong Indemnity
- br
- | You agree to defend, indemnify, and hold HabitRPG, its officers,
- | directors, employees and agents, harmless from and against any claims,
- | liabilities, damages, losses, and expenses, including, without
- | limitation, reasonable legal and accounting fees, arising out of or in
- | any way connected with Public User Content you submit to HabitRPG, your access
- | to or use of the Services or HabitRPG Content, or your violation of these
- | Terms of Service.
- p
- strong Limitation of Liability
- br
- | YOU ACKNOWLEDGE AND AGREE THAT, TO THE MAXIMUM EXTENT PERMITTED BY LAW,
- | THE ENTIRE RISK ARISING OUT OF YOUR ACCESS TO AND USE OF THE SERVICES
- | AND CONTENT THEREIN REMAINS WITH YOU. NEITHER HABITRPG NOR ANY OTHER
- | PARTY INVOLVED IN CREATING, PRODUCING, OR DELIVERING THE SERVICES OR
- | HABITRPG CONTENT WILL BE LIABLE FOR ANY INCIDENTAL, SPECIAL, EXEMPLARY OR
- | CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, LOSS OF DATA OR LOSS OF
- | GOODWILL, SERVICE INTERRUPTION, COMPUTER DAMAGE OR SYSTEM FAILURE OR THE
- | COST OF SUBSTITUTE PRODUCTS OR SERVICES, ARISING OUT OF OR IN CONNECTION
- | WITH THESE TERMS OR FROM THE USE OF OR INABILITY TO USE THE SERVICES OR
- | CONTENT THEREIN, WHETHER BASED ON WARRANTY, CONTRACT, TORT (INCLUDING
- | NEGLIGENCE), PRODUCT LIABILITY OR ANY OTHER LEGAL THEORY, AND WHETHER OR
- | NOT HABITRPG HAS BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGE, EVEN IF
- | A LIMITED REMEDY SET FORTH HEREIN IS FOUND TO HAVE FAILED OF ITS
- | ESSENTIAL PURPOSE. YOU SPECIFICALLY ACKNOWLEDGE THAT HABITRPG IS NOT
- | LIABLE FOR THE DEFAMATORY, OFFENSIVE OR ILLEGAL CONDUCT OF OTHER USERS
- | OR THIRD PARTIES AND THAT THE RISK OF INJURY FROM THE FOREGOING RESTS
- | ENTIRELY WITH YOU. FURTHER, HABITRPG WILL HAVE NO LIABILITY TO YOU OR TO
- | ANY THIRD PARTY FOR ANY PUBLIC USER CONTENT OR THIRD-PARTY CONTENT UPLOADED
- | ONTO OR DOWNLOADED FROM THE SITES OR THROUGH THE SERVICES.
- p
- | IN NO EVENT WILL HABITRPG'S AGGREGATE LIABILITY ARISING OUT OF OR
- | IN CONNECTION WITH THESE TERMS OF SERVICE OR FROM THE USE OF OR
- | INABILITY TO USE THE SITE, SERVICES OR CONTENT THEREIN EXCEED ONE
- | HUNDRED U.S. DOLLARS ($100). THE LIMITATIONS OF DAMAGES SET FORTH ABOVE
- | ARE FUNDAMENTAL ELEMENTS OF THE BASIS OF THE BARGAIN BETWEEN HABITRPG AND
- | YOU. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF
- | LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES, SO THE ABOVE
- | LIMITATION MAY NOT APPLY TO YOU.
- p
- strong Proprietary Rights Notices
- br
- | All trademarks, service marks, logos, trade names and any other
- | proprietary designations of HabitRPG used herein are trademarks or
- | registered trademarks of HabitRPG. Any other trademarks, service marks,
- | logos, trade names and any other proprietary designations are the
- | trademarks or registered trademarks of their respective parties.
- p
- strong Controlling Law and Jurisdiction
- br
- | These Terms of Service and any action related thereto will be governed
- | by the laws of the State of California without regard to its conflict of
- | laws provisions. The exclusive jurisdiction and venue of any action with
- | respect to the subject matter of these Terms of Service will be the
- | courts having jurisdiction over disputes arising in Santa Clara County,
- | California, and each of the parties hereto waives any objection to
- | jurisdiction and venue in such courts.
- p
- | YOU AGREE THAT IF YOU WANT TO SUE US, YOU MUST FILE YOUR LAWSUIT
- | WITHIN ONE YEAR AFTER THE EVENT THAT GAVE RISE TO YOUR LAWSUIT.
- | OTHERWISE, YOUR LAWSUIT WILL BE PERMANENTLY BARRED.
- p
- strong Export Control
- br
- | You may not use or otherwise export or re-export the Services except as
- | authorized by United States law and the laws of the jurisdiction in
- | which the Services were obtained. In particular, but without limitation,
- | the Services may not be exported or re-exported (a) into any U.S.
- | embargoed countries or (b) to anyone on the U.S. Treasury Department's
- | list of Specially Designated Nationals or the U.S. Department of
- | Commerce Denied Person's List or Entity List. By using the Services, you
- | represent and warrant that you are not located in any such country or on
- | any such list. You also agree that you will not use these products for
- | any purposes prohibited by United States law, including, without
- | limitation, the development, design, manufacture or production of
- | nuclear, missiles, or chemical or biological weapons.
- p
- strong Entire Agreement
- br
- | These Terms of Service constitute the entire and exclusive understanding
- | and agreement between HabitRPG and you regarding the Services and HabitRPG
- | Content, and these Terms of Service supersede and replace any and all
- | prior oral or written understandings or agreements between HabitRPG and
- | you regarding the Services and HabitRPG Content.
- p
- strong Assignment
- br
- | You may not assign or transfer these Terms of Service, by operation of
- | law or otherwise, without HabitRPG's prior written consent. Any attempt
- | by you to assign or transfer these Terms of Service, without such
- | consent, will be null and of no effect. HabitRPG may freely assign these
- | Terms of Service. Subject to the foregoing, these Terms of Service will
- | bind and inure to the benefit of the parties, their successors and
- | permitted assigns.
- p
- strong Notices
- br
- | You consent to the use of: (i) electronic means to complete these Terms
- | of Service and to deliver any notices or other communications permitted
- | or required hereunder; and (ii) electronic records to store information
- | related to these Terms of Service or your use of the Services. Any
- | notices or other communications permitted to required hereunder,
- | including those regarding modifications to these Terms of Service, will
- | be in writing and given: (x) by HabitRPG via email (in each case to the
- | address that you provide) or (y) by posting to the Sites or Services.
- | For notices made by e-mail, the date of receipt will be deemed the date
- | on which such notice is transmitted.
- p
- strong General
- br
- | The failure of HabitRPG to enforce any right or provision of these Terms
- | of Service will not constitute a waiver of future enforcement of that
- | right or provision. The waiver of any such right or provision will be
- | effective only if in writing and signed by a duly authorized
- | representative of HabitRPG. Except as expressly set forth in these Terms
- | of Service, the exercise by either party of any of its remedies under
- | these Terms of Service will be without prejudice to its other remedies
- | under these Terms of Service or otherwise. If for any reason a court of
- | competent jurisdiction finds any provision of these Terms of Service
- | invalid or unenforceable, that provision will be enforced to the maximum
- | extent permissible and the other provisions of these Terms of Service
- | will remain in full force and effect.
- p
- strong Contacting Us
- br
- | If you have any questions about these Terms of Service, please contact
- | us at admin@habitica.com
-
diff --git a/website/client/components/tasks/approvalFooter.vue b/website/client/components/tasks/approvalFooter.vue
deleted file mode 100644
index 55c7f0db3f..0000000000
--- a/website/client/components/tasks/approvalFooter.vue
+++ /dev/null
@@ -1,152 +0,0 @@
-
-div
- approval-modal(:task='task')
- .claim-bottom-message.d-flex.align-items-center(v-if='!approvalRequested && !multipleApprovalsRequested')
- .mr-auto.ml-2(v-html='message')
- .ml-auto.mr-2(v-if='!userIsAssigned')
- a(@click='claim()').claim-color {{ $t('claim') }}
- .ml-auto.mr-2(v-if='userIsAssigned')
- a(@click='unassign()').unclaim-color {{ $t('removeClaim') }}
- .claim-bottom-message.d-flex.align-items-center.justify-content-around(v-if='approvalRequested && userIsManager')
- a(@click='approve()').approve-color {{ $t('approveTask') }}
- a(@click='needsWork()') {{ $t('needsWork') }}
- .claim-bottom-message.d-flex.align-items-center(v-if='multipleApprovalsRequested && userIsManager')
- a(@click='showRequests()') {{ $t('viewRequests') }}
-
-
-
-
-
diff --git a/website/client/components/tasks/approvalHeader.vue b/website/client/components/tasks/approvalHeader.vue
deleted file mode 100644
index e36476d3d5..0000000000
--- a/website/client/components/tasks/approvalHeader.vue
+++ /dev/null
@@ -1,53 +0,0 @@
-
- .claim-top-message.d-flex.align-content-center(v-if='message', :class="{'approval-action': userIsAdmin, 'approval-pending': !userIsAdmin}")
- .m-auto(v-html='message')
-
-
-
-
-
diff --git a/website/client/components/tasks/approvalModal.vue b/website/client/components/tasks/approvalModal.vue
deleted file mode 100644
index 96973750d0..0000000000
--- a/website/client/components/tasks/approvalModal.vue
+++ /dev/null
@@ -1,49 +0,0 @@
-
- b-modal#approval-modal(:title="$t('approveTask')", size='md', :hide-footer="true")
- .modal-body
- .row.approval(v-for='(approval, index) in task.approvals')
- .col-8
- strong {{approval.userId.profile.name}}
- .col-2
- button.btn.btn-primary(@click='approve(index)') {{ $t('approve') }}
- .col-2
- button.btn.btn-secondary(@click='needsWork(index)') {{ $t('needsWork') }}
- .modal-footer
- button.btn.btn-secondary(@click='close()') {{$t('close')}}
-
-
-
-
-
diff --git a/website/client/components/tasks/brokenTaskModal.vue b/website/client/components/tasks/brokenTaskModal.vue
deleted file mode 100644
index a940cd17cc..0000000000
--- a/website/client/components/tasks/brokenTaskModal.vue
+++ /dev/null
@@ -1,94 +0,0 @@
-
- b-modal#broken-task-modal(title="Broken Challenge", size='sm', :hide-footer="true")
- .modal-body(v-if='brokenChallengeTask && brokenChallengeTask.challenge')
- div(v-if='brokenChallengeTask.challenge.broken === "TASK_DELETED" || brokenChallengeTask.challenge.broken === "CHALLENGE_TASK_NOT_FOUND"')
- h2 {{ $t('brokenTask') }}
- div
- button.btn.btn-primary(@click='unlink("keep")') {{ $t('keepIt') }}
- button.btn.btn-danger(@click='removeTask(obj)') {{ $t('removeIt') }}
- div(v-if='brokenChallengeTask.challenge.broken === "CHALLENGE_DELETED"')
- h2 {{ $t('brokenChallenge') }}
- div
- button.btn.btn-primary(@click='unlink("keep-all")') {{ $t('keepThem') }}
- button.btn.btn-danger(@click='unlink("remove-all")') {{ $t('removeThem') }}
- div(v-if='brokenChallengeTask.challenge.broken === "CHALLENGE_CLOSED"')
- h2(v-html="$t('challengeCompleted', {user: brokenChallengeTask.challenge.winner})")
- div
- button.btn.btn-primary(@click='unlink("keep-all")') {{ $t('keepThem') }}
- button.btn.btn-danger(@click='unlink("remove-all")') {{ $t('removeThem') }}
- // @TODO: I ported this over, but do we use it anymore?
- //div(v-if='brokenChallengeTask.challenge.broken === "UNSUBSCRIBED"')
- p {{ $t('unsubChallenge') }}
- p
- a(@click="unlink('keep-all')") {{ $t('keepThem') }}
- | |
- a(@click="unlink('remove-all')") {{ $t('removeThem') }}
-
-
-
-
-
diff --git a/website/client/components/tasks/taskModal.vue b/website/client/components/tasks/taskModal.vue
deleted file mode 100644
index cd55e3cdc2..0000000000
--- a/website/client/components/tasks/taskModal.vue
+++ /dev/null
@@ -1,1023 +0,0 @@
-
- b-modal#task-modal(v-bind:no-close-on-esc="showTagsSelect", v-bind:no-close-on-backdrop="showTagsSelect", size="sm", @hidden="onClose()", @show="handleOpen()", @shown="focusInput()")
- .task-modal-header(slot="modal-header", :class="cssClass('bg')", @click="handleClick($event)", v-if="task")
- .clearfix
- h1.float-left {{ title }}
- .float-right.d-flex.align-items-center
- span.cancel-task-btn.mr-2(v-once, @click="cancel()") {{ $t('cancel') }}
- button.btn.btn-secondary(@click="submit()", v-once) {{ $t('save') }}
- .form-group
- label(v-once) {{ `${$t('text')}*` }}
- input.form-control.title-input(
- type="text",
- required, v-model="task.text",
- ref="inputToFocus",
- spellcheck="true",
- :disabled="groupAccessRequiredAndOnPersonalPage || challengeAccessRequired"
- )
- .form-group
- label.d-flex.align-items-center.justify-content-between(v-once)
- span {{ $t('notes') }}
- small(v-once)
- a(target="_blank", href="http://habitica.fandom.com/wiki/Markdown_Cheat_Sheet") {{ $t('markdownHelpLink') }}
-
- textarea.form-control(v-model="task.notes", rows="3")
- .task-modal-content(@click="handleClick($event)")
- form(v-if="task", @submit.stop.prevent="submit()", @click="handleClick($event)")
- .option.mt-0(v-if="task.type === 'reward'")
- .form-group
- label(v-once) {{ $t('cost') }}
- .input-group
- .input-group-prepend.input-group-icon.align-items-center
- .svg-icon.gold(v-html="icons.gold")
- input.form-control(type="number", v-model="task.value", required, placeholder="Enter a Value", step="0.01", min="0")
-
- .option.mt-0(v-if="checklistEnabled")
- label(v-once) {{ $t('checklist') }}
- br
- draggable(
- v-model="checklist",
- :options="{handle: '.grippy', filter: '.task-dropdown'}",
- @update="sortedChecklist"
- )
- .inline-edit-input-group.checklist-group.input-group(v-for="(item, $index) in checklist")
- span.grippy
- input.inline-edit-input.checklist-item.form-control(type="text", v-model="item.text")
- span.input-group-append(@click="removeChecklistItem($index)")
- .svg-icon.destroy-icon(v-html="icons.destroy")
- input.inline-edit-input.checklist-item.form-control(type="text", :placeholder="$t('newChecklistItem')", @keydown.enter="addChecklistItem($event)", v-model="newChecklistItem")
- .d-flex.justify-content-center(v-if="task.type === 'habit'")
- .option-item.habit-control(@click="toggleUpDirection()", :class="task.up ? 'habit-control-enabled' : cssClass('habit-control-disabled')")
- .option-item-box(:class="task.up ? cssClass('bg') : ''")
- .task-control.habit-control
- .svg-icon.positive(v-html="icons.positive", :class="task.up ? cssClass('icon') : ''")
- .option-item-label(:class="task.up ? cssClass('text') : ''") {{ $t('positive') }}
- .option-item.habit-control(@click="toggleDownDirection()", :class="task.down ? 'habit-control-enabled' : cssClass('habit-control-disabled')")
- .option-item-box(:class="task.down ? cssClass('bg') : ''")
- .task-control.habit-control
- .svg-icon.negative(v-html="icons.negative", :class="task.down ? cssClass('icon') : ''")
- .option-item-label(:class="task.down ? cssClass('text') : ''") {{ $t('negative') }}
- template(v-if="task.type !== 'reward'")
- label(v-once)
- span.float-left {{ $t('difficulty') }}
- .svg-icon.info-icon(v-html="icons.information", v-b-tooltip.hover.righttop="$t('difficultyHelp')")
- .d-flex.justify-content-center.difficulty-options
- .option-item(:class="task.priority === 0.1 ? 'option-item-selected' : cssClass('option-disabled')", @click="setDifficulty(0.1)")
- .option-item-box(:class="task.priority === 0.1 ? cssClass('bg') : ''")
- .svg-icon.difficulty-trivial-icon(v-html="icons.difficultyTrivial")
- .option-item-label(:class="task.priority === 0.1 ? cssClass('text') : ''") {{ $t('trivial') }}
- .option-item(:class="task.priority === 1 ? 'option-item-selected' : cssClass('option-disabled')", @click="setDifficulty(1)")
- .option-item-box(:class="task.priority === 1 ? cssClass('bg') : ''")
- .svg-icon.difficulty-normal-icon(v-html="icons.difficultyNormal")
- .option-item-label(:class="task.priority === 1 ? cssClass('text') : ''") {{ $t('easy') }}
- .option-item(:class="task.priority === 1.5 ? 'option-item-selected' : cssClass('option-disabled')", @click="setDifficulty(1.5)")
- .option-item-box(:class="task.priority === 1.5 ? cssClass('bg') : ''")
- .svg-icon.difficulty-medium-icon(v-html="icons.difficultyMedium")
- .option-item-label(:class="task.priority === 1.5 ? cssClass('text') : ''") {{ $t('medium') }}
- .option-item(:class="task.priority === 2 ? 'option-item-selected' : cssClass('option-disabled')", @click="setDifficulty(2)")
- .option-item-box(:class="task.priority === 2 ? cssClass('bg') : ''")
- .svg-icon.difficulty-hard-icon(v-html="icons.difficultyHard")
- .option-item-label(:class="task.priority === 2 ? cssClass('text') : ''") {{ $t('hard') }}
- .option(v-if="task.type === 'todo'")
- .form-group
- label(v-once) {{ $t('dueDate') }}
- datepicker(
- v-model="task.date",
- :calendarIcon="icons.calendar",
- :clearButton='true',
- :clearButtonText='$t("clear")',
- :todayButton='!challengeAccessRequired',
- :todayButtonText='$t("today")',
- :disabled-picker='challengeAccessRequired',
- :highlighted='calendarHighlights'
- )
- .option(v-if="task.type === 'daily'")
- .form-group
- label(v-once) {{ $t('startDate') }}
- datepicker(
- v-model="task.startDate",
- :calendarIcon="icons.calendar",
- :clearButton="false",
- :todayButton="!challengeAccessRequired",
- :todayButtonText="$t('today')",
- :disabled-picker="challengeAccessRequired",
- :highlighted='calendarHighlights'
- )
- .option(v-if="task.type === 'daily'")
- .form-group
- label(v-once) {{ $t('repeats') }}
- b-dropdown.inline-dropdown(:text="$t(task.frequency)")
- b-dropdown-item(v-for="frequency in ['daily', 'weekly', 'monthly', 'yearly']",
- :key="frequency", @click="task.frequency = frequency",
- :disabled='challengeAccessRequired',
- :class="{active: task.frequency === frequency}")
- | {{ $t(frequency) }}
- .form-group
- label(v-once) {{ $t('repeatEvery') }}
- .input-group
- input.form-control(type="number", v-model="task.everyX", min="0", max="9999", required, :disabled='challengeAccessRequired')
- .input-group-append.input-group-text {{ repeatSuffix }}
- template(v-if="task.frequency === 'weekly'")
- .form-group
- label.d-block(v-once) {{ $t('repeatOn') }}
- .form-check-inline.weekday-check.mr-0(
- v-for="(day, dayNumber) in ['su','m','t','w','th','f','s']",
- :key="dayNumber",
- )
- .custom-control.custom-checkbox.custom-control-inline
- input.custom-control-input(type="checkbox", v-model="task.repeat[day]", :disabled='challengeAccessRequired', :id="`weekday-${dayNumber}`")
- label.custom-control-label(v-once, :for="`weekday-${dayNumber}`") {{ weekdaysMin(dayNumber) }}
- template(v-if="task.frequency === 'monthly'")
- label.d-block(v-once) {{ $t('repeatOn') }}
- .form-radio
- .custom-control.custom-radio.custom-control-inline
- input.custom-control-input(type='radio', v-model="repeatsOn", value="dayOfMonth", id="repeat-dayOfMonth" name="repeatsOn")
- label.custom-control-label(for="repeat-dayOfMonth") {{ $t('dayOfMonth') }}
- .custom-control.custom-radio.custom-control-inline
- input.custom-control-input(type='radio', v-model="repeatsOn", value="dayOfWeek", id="repeat-dayOfWeek" name="repeatsOn")
- label.custom-control-label(for="repeat-dayOfWeek") {{ $t('dayOfWeek') }}
-
- .tags-select.option(v-if="isUserTask")
- .tags-inline.form-group.row
- label.col-12(v-once) {{ $t('tags') }}
- .col-12
- .category-wrap(@click="toggleTagSelect()", v-bind:class="{ active: showTagsSelect }")
- span.category-select(v-if='task.tags && task.tags.length === 0')
- .tags-none {{$t('none')}}
- .dropdown-toggle
- span.category-select(v-else)
- .category-label(v-for='tagName in truncatedSelectedTags', :title="tagName", v-markdown='tagName')
- .tags-more(v-if='remainingSelectedTags.length > 0') +{{ $t('more', { count: remainingSelectedTags.length }) }}
- .dropdown-toggle
- tags-popup(ref="popup", v-if="showTagsSelect", :tags="user.tags", v-model="task.tags", @close='closeTagsPopup()')
-
- .option(v-if="task.type === 'habit'")
- .form-group
- label(v-once) {{ $t('resetStreak') }}
- b-dropdown.inline-dropdown(:text="$t(task.frequency)", :disabled='challengeAccessRequired')
- b-dropdown-item(v-for="frequency in ['daily', 'weekly', 'monthly']", :key="frequency", @click="task.frequency = frequency", :class="{active: task.frequency === frequency}")
- | {{ $t(frequency) }}
-
- .option.group-options(v-if='groupId')
- .form-group(v-if="task.type === 'todo'")
- label(v-once) {{ $t('sharedCompletion') }}
- b-dropdown.inline-dropdown(:text="$t(sharedCompletion)")
- b-dropdown-item(
- v-for="completionOption in ['recurringCompletion', 'singleCompletion', 'allAssignedCompletion']",
- :key="completionOption",
- @click="sharedCompletion = completionOption",
- :class="{active: sharedCompletion === completionOption}"
- ) {{ $t(completionOption) }}
- .form-group.row
- label.col-12(v-once) {{ $t('assignedTo') }}
- .col-12.mt-2
- .category-wrap(@click="showAssignedSelect = !showAssignedSelect")
- span.category-select(v-if='assignedMembers && assignedMembers.length === 0') {{$t('none')}}
- span.category-select(v-else)
- span.mr-1(v-for='memberId in assignedMembers') {{memberNamesById[memberId]}}
- .category-box(v-if="showAssignedSelect")
- .container
- .row
- .form-check.col-6(
- v-for="member in members",
- :key="member._id",
- )
- .custom-control.custom-checkbox
- input.custom-control-input(type="checkbox", :value="member._id", v-model="assignedMembers", @change='toggleAssignment(member._id)', :id="`assigned-${member._id}`")
- label.custom-control-label(v-once, :for="`assigned-${member._id}`") {{ member.profile.name }}
-
- .row
- button.btn.btn-primary(@click.stop.prevent="showAssignedSelect = !showAssignedSelect") {{$t('close')}}
- .form-group
- label(v-once) {{ $t('approvalRequired') }}
- toggle-switch.d-inline-block(
- :checked="requiresApproval",
- @change="updateRequiresApproval"
- )
-
- .advanced-settings(v-if="task.type !== 'reward'")
- .advanced-settings-toggle.d-flex.justify-content-between.align-items-center(@click = "showAdvancedOptions = !showAdvancedOptions")
- h3 {{ $t('advancedSettings') }}
- .toggle-up
- .svg-icon(v-html="icons.down", :class="{'toggle-open': showAdvancedOptions}")
- b-collapse#advancedOptionsCollapse(v-model="showAdvancedOptions")
- .advanced-settings-body
- .option(v-if="task.type === 'daily' && isUserTask && purpose === 'edit'")
- .form-group
- label(v-once) {{ $t('restoreStreak') }}
- .input-group
- .input-group-prepend.streak-addon.input-group-icon
- .svg-icon(v-html="icons.streak")
- input.form-control(type="number", v-model="task.streak", min="0", required)
-
- .option(v-if="task.type === 'habit' && isUserTask && purpose === 'edit' && (task.up || task.down)")
- .form-group
- label(v-once) {{ $t('restoreStreak') }}
- .row
- .col-6(v-if="task.up")
- .input-group
- .input-group-prepend.positive-addon.input-group-icon
- .svg-icon(v-html="icons.positive")
- input.form-control(
- type="number", v-model="task.counterUp", min="0", required,
- )
- .col-6(v-if="task.down")
- .input-group
- .input-group-prepend.negative-addon.input-group-icon
- .svg-icon(v-html="icons.negative")
- input.form-control(
- type="number", v-model="task.counterDown", min="0", required,
- )
-
- //.option(v-if="isUserTask && task.type !== 'reward'")
- .form-group
- label(v-once)
- span.float-left {{ $t('attributeAllocation') }}
- .svg-icon.info-icon(v-html="icons.information", v-b-tooltip.hover.righttop.html="$t('attributeAllocationHelp')")
- .attributes
- .custom-control.custom-radio.custom-control-inline(v-for="attr in ATTRIBUTES", :key="attr")
- input.custom-control-input(:id="`attribute-${attr}`", type="radio", :value="attr", v-model="task.attribute", :disabled="user.preferences.allocationMode !== 'taskbased'")
- label.custom-control-label.attr-description(:for="`attribute-${attr}`", v-once, v-b-popover.hover="$t(`${attr}Text`)") {{ $t(attributesStrings[attr]) }}
- .delete-task-btn.d-flex.justify-content-center.align-items-middle(@click="destroy()", v-if="purpose !== 'create' && !challengeAccessRequired")
- .svg-icon.d-inline-b(v-html="icons.destroy")
- span {{ $t('deleteTask') }}
-
- .task-modal-footer.d-flex.justify-content-center.align-items-center(slot="modal-footer", @click="handleClick($event)")
- .cancel-task-btn(v-once, @click="cancel()") {{ $t('cancel') }}
- button.btn.btn-primary(@click="submit()", v-once) {{ $t('save') }}
-
-
-
-
-
-
-
diff --git a/website/client/components/tasks/user.vue b/website/client/components/tasks/user.vue
deleted file mode 100644
index 102a5e953e..0000000000
--- a/website/client/components/tasks/user.vue
+++ /dev/null
@@ -1,468 +0,0 @@
-
-.row.user-tasks-page
- broken-task-modal
- task-modal(
- :task="editingTask || creatingTask",
- :purpose="creatingTask !== null ? 'create' : 'edit'",
- @cancel="cancelTaskModal()",
- ref="taskModal",
- )
- .col-12
- .row.tasks-navigation
- .col-12.col-md-4.offset-md-4
- .d-flex
- input.form-control.input-search(type="text", :placeholder="$t('search')", v-model="searchText")
- button.btn.btn-secondary.dropdown-toggle.ml-2.d-flex.align-items-center.search-button(
- type="button",
- @click="toggleFilterPanel()",
- :class="{active: selectedTags.length > 0}",
- )
- .svg-icon.filter-icon.mr-2(v-html="icons.filter")
- span(v-once) {{ $t('tags') }}
- .filter-panel(v-if="isFilterPanelOpen", v-on:mouseleave="checkMouseOver")
- .tags-category.d-flex(
- v-for="tagsType in tagsByType",
- v-if="tagsType.tags.length > 0 || tagsType.key === 'tags'",
- :key="tagsType.key"
- )
- .tags-header
- strong(v-once) {{ $t(tagsType.key) }}
- a.d-block(v-if="tagsType.key !== 'groups' && !editingTags", @click="editTags(tagsType.key)") {{ $t('editTags2') }}
- .tags-list.container
- .row(:class="{'no-gutters': !editingTags}")
- template(v-if="editingTags && tagsType.key === 'tags'")
- draggable(
- v-if="tagsType.key === 'tags'",
- v-model="tagsSnap[tagsType.key]",
- class="row"
- )
- .col-6(v-for="(tag, tagIndex) in tagsSnap[tagsType.key]")
- .inline-edit-input-group.tag-edit-item.input-group
- .svg-icon.inline.drag(v-html="icons.drag")
- input.tag-edit-input.inline-edit-input.form-control(type="text", v-model="tag.name")
- .input-group-append(@click="removeTag(tagIndex, tagsType.key)")
- .svg-icon.destroy-icon(v-html="icons.destroy")
-
- .col-6.dragSpace
- input.new-tag-item.edit-tag-item.inline-edit-input.form-control(type="text", :placeholder="$t('newTag')", @keydown.enter="addTag($event, tagsType.key)", v-model="newTag")
- template(v-if="editingTags && tagsType.key === 'challenges'")
- .col-6(v-for="(tag, tagIndex) in tagsSnap[tagsType.key]")
- .inline-edit-input-group.tag-edit-item.input-group
- input.tag-edit-input.inline-edit-input.form-control(type="text", v-model="tag.name")
- .input-group-append(@click="removeTag(tagIndex, tagsType.key)")
- .svg-icon.destroy-icon(v-html="icons.destroy")
-
- template(v-if="!editingTags || tagsType.key === 'groups'")
- .col-6(v-for="(tag, tagIndex) in tagsType.tags")
- .custom-control.custom-checkbox
- input.custom-control-input(
- type="checkbox",
- :checked="isTagSelected(tag)",
- @change="toggleTag(tag)", :id="`tag-${tag.id}`"
- )
- label.custom-control-label(v-markdown='tag.name', :for="`tag-${tag.id}`")
-
- .filter-panel-footer.clearfix
- template(v-if="editingTags === true")
- .text-center
- a.mr-3.btn-filters-primary(@click="saveTags()", v-once) {{ $t('saveEdits') }}
- a.btn-filters-secondary(@click="cancelTagsEditing()", v-once) {{ $t('cancel') }}
- template(v-else)
- .float-left
- a.btn-filters-danger(@click="resetFilters()", v-once) {{ $t('resetFilters') }}
- .float-right
- a.btn-filters-secondary(@click="closeFilterPanel()", v-once) {{ $t('cancel') }}
- .create-task-area.d-flex
- transition(name="slide-tasks-btns")
- .d-flex(v-if="openCreateBtn")
- .create-task-btn.diamond-btn(
- v-for="type in columns",
- :key="type",
- @click="createTask(type)",
- v-b-tooltip.hover.bottom="$t(type)",
- )
- .svg-icon(v-html="icons[type]", :class='`icon-${type}`')
-
- #create-task-btn.create-btn.diamond-btn.btn.btn-success(
- @click="openCreateBtn = !openCreateBtn",
- :class="{open: openCreateBtn}",
- )
- .svg-icon(v-html="icons.positive")
- b-tooltip(target="create-task-btn", placement="bottom", v-if="!openCreateBtn") {{ $t('addTaskToUser') }}
-
- .row.tasks-columns
- task-column.col-lg-3.col-md-6(
- v-for="column in columns",
- :type="column", :key="column",
- :isUser="true", :searchText="searchTextThrottled",
- :selectedTags="selectedTags",
- @editTask="editTask",
- @openBuyDialog="openBuyDialog($event)"
- )
-
- spells
-
-
-
-
-
diff --git a/website/client/components/ui/checkbox.vue b/website/client/components/ui/checkbox.vue
deleted file mode 100644
index ee0ea51ed5..0000000000
--- a/website/client/components/ui/checkbox.vue
+++ /dev/null
@@ -1,26 +0,0 @@
-
- .form-check
- .custom-control.custom-checkbox
- input.custom-control-input(type="checkbox", v-model="isChecked", :id="id")
- label.custom-control-label(v-once, :for="id") {{ text }}
-
-
-
diff --git a/website/client/components/ui/countBadge.vue b/website/client/components/ui/countBadge.vue
deleted file mode 100644
index a33f2e98e7..0000000000
--- a/website/client/components/ui/countBadge.vue
+++ /dev/null
@@ -1,34 +0,0 @@
-
-span.badge.badge-pill.badge-item.badge-count(
- v-if="show && count > 0",
-) {{ count }}
-
-
-
-
-
diff --git a/website/client/components/ui/drawerHeaderTabs.vue b/website/client/components/ui/drawerHeaderTabs.vue
deleted file mode 100644
index ec0738bf97..0000000000
--- a/website/client/components/ui/drawerHeaderTabs.vue
+++ /dev/null
@@ -1,78 +0,0 @@
-
-.header-tabs
- ul.drawer-tab-container
- li.drawer-tab(v-for="(tab, index) in tabs")
- a.drawer-tab-text(
- @click="changeTab(index)",
- :class="{'drawer-tab-text-active': selectedTabPosition === index}",
- :title="tab.label"
- ) {{ tab.label }}
-
- aside.help-item
- slot(name="right-item")
-
-
-
-
-
diff --git a/website/client/components/ui/drawerSlider.vue b/website/client/components/ui/drawerSlider.vue
deleted file mode 100644
index 220c35b0dc..0000000000
--- a/website/client/components/ui/drawerSlider.vue
+++ /dev/null
@@ -1,189 +0,0 @@
-
- div.slider-root
- div.slider-button-area.left-button(
- v-if="scrollButtonsVisible()",
- @mousedown.left="shiftRight"
- )
- a.slider-button
- .svg-icon(v-html="icons.previous")
- div.slider-button-area.right-button(
- v-if="scrollButtonsVisible()",
- @mousedown.left="shiftLeft"
- )
- a.slider-button
- .svg-icon(v-html="icons.next")
-
- // 120 = width of the left/right buttons
- div.sliding-content(v-resize="500", @resized="currentWidth = $event.width - 120")
- .items.items-one-line
- template(v-for="item in showItems")
- div.vertical-divider(
- v-if="shouldAddVerticalLine(item)"
- v-bind:style="dividerMargins"
- )
-
- slot(
- name="item",
- :item="item",
- )
-
-
-
-
-
diff --git a/website/client/components/ui/filterDropdown.vue b/website/client/components/ui/filterDropdown.vue
deleted file mode 100644
index d1ebd52b3b..0000000000
--- a/website/client/components/ui/filterDropdown.vue
+++ /dev/null
@@ -1,45 +0,0 @@
-
-span
- span.dropdown-label {{ label }}
- b-dropdown(right=true)
- span(slot="text", :class="{'dropdown-icon-item': withIcon}")
- slot(name="item", :item="selectedItem")
-
- b-dropdown-item(
- v-for="item in items",
- @click="selectItem(item)",
- :active="selectedItem.id === item.id",
- :key="item.id"
- )
- span(:class="{'dropdown-icon-item': withIcon}")
- slot(name="item", :item="item")
-
-
-
-
-
diff --git a/website/client/components/ui/itemRows.vue b/website/client/components/ui/itemRows.vue
deleted file mode 100644
index 9790a2df6b..0000000000
--- a/website/client/components/ui/itemRows.vue
+++ /dev/null
@@ -1,102 +0,0 @@
-
- .item-rows
- div.items(v-resize="500", @resized="setCurrentWidth($event)")
- template(v-for="item in itemsToShow(showAll)")
- slot(
- name="item",
- :item="item"
- )
-
- div(v-if="items.length === 0")
- p(v-once) {{ noItemsLabel }}
-
- .btn.btn-flat.btn-show-more(
- @click="toggleItemsToShow()",
- v-if="items.length > itemsPerRow"
- ) {{ showAll ? $t('showLess') : $t('showMore') }}
-
- div.fill-height(v-else)
-
-
-
-
-
diff --git a/website/client/components/ui/layoutSection.vue b/website/client/components/ui/layoutSection.vue
deleted file mode 100644
index 11c527c492..0000000000
--- a/website/client/components/ui/layoutSection.vue
+++ /dev/null
@@ -1,33 +0,0 @@
-
-div
- .clearfix
- h2.float-left.mb-3.filters-title {{ title }}
-
- .filters.float-right
- slot(name="filters")
-
- br
-
- slot(name="content")
-
-
-
-
-
-
diff --git a/website/client/components/ui/pageLayout.vue b/website/client/components/ui/pageLayout.vue
deleted file mode 100644
index 9981923d53..0000000000
--- a/website/client/components/ui/pageLayout.vue
+++ /dev/null
@@ -1,25 +0,0 @@
-
-.row
- .standard-sidebar.d-none.d-sm-block(v-if="showSidebar")
- slot(name="sidebar")
- .standard-page
- slot(name="page")
-
-
-
-
-
diff --git a/website/client/components/ui/starBadge.vue b/website/client/components/ui/starBadge.vue
deleted file mode 100644
index 1748277f4e..0000000000
--- a/website/client/components/ui/starBadge.vue
+++ /dev/null
@@ -1,48 +0,0 @@
-
-span.badge.badge-pill.badge-item.badge-star(
- :class="{'item-selected-badge': selected === true}",
- @click.stop="click",
- v-if="show",
-) ★
-
-
-
-
-
diff --git a/website/client/components/ui/statsbar.vue b/website/client/components/ui/statsbar.vue
deleted file mode 100644
index dc7ddb37c0..0000000000
--- a/website/client/components/ui/statsbar.vue
+++ /dev/null
@@ -1,126 +0,0 @@
-
- .progress-container(ref="container", :id="elementId", :class="{condensed}")
- .svg-icon(v-html="icon")
- .progress
- .progress-bar(:class="progressClass", :style="{width: `${percent(value, maxValue)}%`}")
- span.small-text {{value | statFloor}} / {{maxValue}}
- b-tooltip.myClass(:target="() => $refs.container", :container="elementId", :title="tooltip", triggers="hover", placement="bottom")
-
-
-
-
-
diff --git a/website/client/components/userLink.vue b/website/client/components/userLink.vue
deleted file mode 100644
index e1607540ba..0000000000
--- a/website/client/components/userLink.vue
+++ /dev/null
@@ -1,113 +0,0 @@
-
- router-link.leader(
- :to="{'name': 'userProfile', 'params': {'userId': id}}",
- :class='levelStyle()',
- v-b-tooltip.hover.top="tierTitle",
- v-if='displayName')
- | {{displayName}}
- .svg-icon(v-html="tierIcon()")
-
-
-
-
-
diff --git a/website/client/components/userMenu/achievements.vue b/website/client/components/userMenu/achievements.vue
deleted file mode 100644
index a39e9e2827..0000000000
--- a/website/client/components/userMenu/achievements.vue
+++ /dev/null
@@ -1,72 +0,0 @@
-
- .standard-page.container
- .row(v-for='(category, key) in achievements')
- h2.col-12 {{ $t(key+'Achievs') }}
- .col-3.text-center(v-for='achievment in category.achievements')
- div.achievement-container(:data-popover-html='achievment.title + achievment.text',
- popover-placement='achievPopoverPlacement',
- popover-append-to-body='achievAppendToBody')
- div(popover-trigger='mouseenter',
- :data-popover-html='achievment.title + achievment.text',
- popover-placement='achievPopoverPlacement',
- popover-append-to-body='achievAppendToBody')
- .achievement(:class='achievment.icon + "2x"', v-if='achievment.earned')
- .counter.badge.badge-info.stack-count(v-if='achievment.optionalCount') {{achievment.optionalCount}}
- .achievement(class='achievement-unearned2x', v-if='!achievment.earned')
- .row
- .col-6
- h2 Challeges Won
- div(v-for='chal in user.achievements.challenges')
- span {{chal}}
- .col-6
- h2 Quests Completed
- div(v-for='(value, key) in user.achievements.quests')
- span {{ content.quests[k].text() }}
- span {{ value }}
-
-
-
-
-
diff --git a/website/client/components/userMenu/profile.vue b/website/client/components/userMenu/profile.vue
deleted file mode 100644
index 02ecf467f6..0000000000
--- a/website/client/components/userMenu/profile.vue
+++ /dev/null
@@ -1,661 +0,0 @@
-
-.profile(v-if='user')
- .header
- .profile-actions
- button.btn.btn-secondary.message-icon(@click='sendMessage()', v-b-tooltip.hover.left="$t('sendMessage')")
- .svg-icon.message-icon(v-html="icons.message")
- button.btn.btn-secondary.gift-icon(@click='openSendGemsModal()', v-b-tooltip.hover.bottom="$t('sendGems')")
- .svg-icon.gift-icon(v-html="icons.gift")
- button.btn.btn-secondary.remove-icon(v-if='user._id !== this.userLoggedIn._id && userLoggedIn.inbox.blocks.indexOf(user._id) === -1',
- @click="blockUser()", v-b-tooltip.hover.right="$t('blockWarning')")
- .svg-icon.remove-icon(v-html="icons.remove")
- button.btn.btn-secondary.positive-icon(v-if='user._id !== this.userLoggedIn._id && userLoggedIn.inbox.blocks.indexOf(user._id) !== -1',
- @click="unblockUser()", v-b-tooltip.hover.right="$t('unblock')")
- .svg-icon.positive-icon(v-html="icons.positive")
- button.btn.btn-secondary.positive-icon(v-if='this.userLoggedIn.contributor.admin',
- @click="toggleAdminTools()", v-b-tooltip.hover.right="'Admin - Toggle Tools'")
- .svg-icon.positive-icon(v-html="icons.staff")
- .row.admin-profile-actions(v-if='this.userLoggedIn.contributor.admin && adminToolsLoaded')
- .col-12.text-right
- span.admin-action(v-if='!hero.flags || (hero.flags && !hero.flags.chatShadowMuted)',
- @click="adminTurnOnShadowMuting()", v-b-tooltip.hover.bottom="'Turn on Shadow Muting'")
- | shadow-mute
- span.admin-action(v-if='hero.flags && hero.flags.chatShadowMuted',
- @click="adminTurnOffShadowMuting()", v-b-tooltip.hover.bottom="'Turn off Shadow Muting'")
- | un-shadow-mute
- span.admin-action(v-if='!hero.flags || (hero.flags && !hero.flags.chatRevoked)',
- @click="adminRevokeChat()", v-b-tooltip.hover.bottom="'Revoke Chat Privileges'")
- | mute
- span.admin-action(v-if='hero.flags && hero.flags.chatRevoked',
- @click="adminReinstateChat()", v-b-tooltip.hover.bottom="'Reinstate Chat Privileges'")
- | un-mute
- span.admin-action(v-if='!hero.auth.blocked',
- @click="adminBlockUser()", v-b-tooltip.hover.bottom="'Ban User'")
- | ban
- span.admin-action(v-if='hero.auth.blocked',
- @click="adminUnblockUser()", v-b-tooltip.hover.bottom="'Un-Ban User'")
- | un-ban
- .row
- .col-12
- member-details(:member="user")
- .row
- .col-12.col-md-6.offset-md-3.text-center.nav
- .nav-item(@click='selectPage("profile")', :class="{active: selectedPage === 'profile'}") {{ $t('profile') }}
- .nav-item(@click='selectPage("stats")', :class="{active: selectedPage === 'stats'}") {{ $t('stats') }}
- .nav-item(@click='selectPage("achievements")', :class="{active: selectedPage === 'achievements'}") {{ $t('achievements') }}
- #userProfile.standard-page(v-show='selectedPage === "profile"', v-if='user.profile')
- .row
- .col-12.col-md-8
- .header.mb-3
- h1 {{user.profile.name}}
- .name(v-if='user.auth && user.auth.local && user.auth.local.username') @{{ user.auth.local.username }}
- .col-12.col-md-4
- button.btn.btn-secondary(v-if='user._id === userLoggedIn._id', @click='editing = !editing', style='float:right;') {{ $t('edit') }}
- .row(v-if='!editing')
- .col-12.col-md-8
- .about.profile-section
- h2 {{ $t('about') }}
- p(v-if='user.profile.blurb', v-markdown='user.profile.blurb')
- p(v-else) {{ $t('noDescription') }}
- .photo.profile-section
- h2 {{ $t('photo') }}
- img.img-rendering-auto(v-if='user.profile.imageUrl', :src='user.profile.imageUrl')
- p(v-else) {{ $t('noPhoto') }}
-
- .col-12.col-md-4
- .info.profile-section
- h2 {{ $t('info') }}
- .info-item
- .info-item-label {{ $t('joined') }}:
- .info-item-value {{userJoinedDate}}
- .info-item
- .info-item-label {{ $t('totalLogins') }}:
- .info-item-value {{ user.loginIncentives }}
- .info-item
- .info-item-label {{ $t('latestCheckin') }}:
- .info-item-value {{userLastLoggedIn}}
- .info-item
- | {{getProgressDisplay()}}
- .progress
- .progress-bar(role='progressbar', :aria-valuenow='incentivesProgress', aria-valuemin='0', aria-valuemax='100', :style='{width: incentivesProgress + "%"}')
- span.sr-only {{ incentivesProgress }}% {{$t('complete')}}
- // @TODO: Implement in V2 .social
-
- .row(v-if='editing')
- h1 {{$t('editProfile')}}
- .col-12
- .alert.alert-info.alert-sm(v-html='$t("communityGuidelinesWarning", managerEmail)')
-
- // TODO use photo-upload instead: https://groups.google.com/forum/?fromgroups=#!topic/derbyjs/xMmADvxBOak
- .form-group
- label {{ $t('displayName') }}
- input.form-control(type='text', :placeholder="$t('fullName')", v-model='editingProfile.name')
- .form-group
- label {{ $t('photoUrl') }}
- input.form-control(type='url', v-model='editingProfile.imageUrl', :placeholder="$t('imageUrl')")
- .form-group
- label {{ $t('about') }}
- textarea.form-control(rows=5, :placeholder="$t('displayBlurbPlaceholder')", v-model='editingProfile.blurb')
- // include ../../shared/formatting-help
- //- .form-group
- //- label Facebook
- //- input.form-control(type='text', placeholder="Paste your link here", v-model='editingProfile.facebook')
- //- .form-group
- //- label Instagram
- //- input.form-control(type='text', placeholder="Paste your link here", v-model='editingProfile.instagram')
- //- .form-group
- //- label Twitter
- //- input.form-control(type='text', placeholder="Paste your link here", v-model='editingProfile.twitter')
-
- .col-12.text-center
- button.btn.btn-primary(@click='save()') {{ $t("save") }}
- button.btn.btn-warning(@click='editing = false') {{ $t("cancel") }}
- #achievements.standard-page.container(v-show='selectedPage === "achievements"', v-if='user.achievements')
- .row(v-for='(category, key) in achievements')
- h2.col-12.text-center {{ $t(key+'Achievs') }}
- .col-12.col-md-3.text-center(v-for='(achievement, key) in category.achievements')
- .box.achievement-container(:id='key + "-achievement"', :class='{"achievement-unearned": !achievement.earned}')
- b-popover(
- :target="'#' + key + '-achievement'",
- triggers="hover",
- placement="top",
- )
- h4.popover-content-title {{ achievement.title }}
- div.popover-content-text(v-html="achievement.text")
- .achievement(:class='achievement.icon + "2x"', v-if='achievement.earned')
- .counter.badge.badge-info.stack-count(v-if='achievement.optionalCount') {{achievement.optionalCount}}
- .achievement.achievement-unearned(class='achievement-unearned2x', v-if='!achievement.earned')
- hr.col-12
- .row
- .col-12.col-md-6(v-if='user.achievements.challenges')
- .achievement-icon.achievement-karaoke
- h2.text-center {{$t('challengesWon')}}
- div(v-for='chal in user.achievements.challenges')
- span(v-markdown='chal')
- hr
- .col-12.col-md-6(v-if='user.achievements.quests')
- .achievement-icon.achievement-alien
- h2.text-center {{$t('questsCompleted')}}
- div(v-for='(value, key) in user.achievements.quests')
- span {{ content.quests[key].text() }} ({{ value }})
- profileStats(
- :user='user',
- v-show='selectedPage === "stats"',
- :showAllocation='showAllocation()',
- v-if='user.preferences')
-
-
-
-
-
-
-
diff --git a/website/client/components/userMenu/profileModal.vue b/website/client/components/userMenu/profileModal.vue
deleted file mode 100644
index 86dc296b5a..0000000000
--- a/website/client/components/userMenu/profileModal.vue
+++ /dev/null
@@ -1,50 +0,0 @@
-
- b-modal#profile(size='lg', :hide-footer="true", :hide-header="true", @hidden="onHidden", @shown="onShown()")
- profile(:userId='userId', :startingPage='startingPage', style="margin-top:24px;")
-
-
-
-
-
diff --git a/website/client/components/userMenu/profilePage.vue b/website/client/components/userMenu/profilePage.vue
deleted file mode 100644
index 43ef9d2922..0000000000
--- a/website/client/components/userMenu/profilePage.vue
+++ /dev/null
@@ -1,24 +0,0 @@
-
- .container
- .standard-page
- profile(:userId='userId', :startingPage='startingPage')
-
-
-
-
-
diff --git a/website/client/components/userMenu/profileStats.vue b/website/client/components/userMenu/profileStats.vue
deleted file mode 100644
index c410a57133..0000000000
--- a/website/client/components/userMenu/profileStats.vue
+++ /dev/null
@@ -1,523 +0,0 @@
-
- #stats.standard-page
- .row
- .col-12.col-md-6
- h2.text-center {{$t('equipment')}}
- .well
- .col-12.col-md-4.item-wrapper(v-for="(label, key) in equipTypes")
- .box(
- :id="key",
- v-if="label !== 'skip'",
- :class='{white: equippedItems[key] && equippedItems[key].indexOf("base_0") === -1}'
- )
- div(:class="`shop_${equippedItems[key]}`")
- b-popover(
- v-if="label !== 'skip' && equippedItems[key] && equippedItems[key].indexOf('base_0') === -1",
- :target="key",
- triggers="hover",
- :placement="'bottom'",
- :preventOverflow="false",
- )
- h4.popover-title-only {{ getGearTitle(equippedItems[key]) }}
- attributesGrid.attributesGrid(
- :item="content.gear.flat[equippedItems[key]]",
- :user="user"
- )
-
- h3(v-if="label !== 'skip'") {{ label }}
- .col-12.col-md-6
- h2.text-center {{$t('costume')}}
- .well
- // Use similar for loop for costume items, except show background if label is 'skip'.
- .col-12.col-md-4.item-wrapper(v-for="(label, key) in equipTypes")
- // Append a "C" to the key name since HTML IDs have to be unique.
- .box(
- :id="key + 'C'",
- v-if="label !== 'skip'",
- :class='{white: costumeItems[key] && costumeItems[key].indexOf("base_0") === -1}'
- )
- div(:class="`shop_${costumeItems[key]}`")
- // Show background on 8th tile rather than a piece of equipment.
- .box(v-if="label === 'skip'",
- :class='{white: user.preferences.background}', style="overflow:hidden"
- )
- div(:class="'icon_background_' + user.preferences.background")
- b-popover(
- v-if="label !== 'skip' && costumeItems[key] && costumeItems[key].indexOf('base_0') === -1",
- :target="key + 'C'",
- triggers="hover",
- :placement="'bottom'",
- :preventOverflow="false",
- )
- h4.popover-title-only {{ getGearTitle(costumeItems[key]) }}
- attributesGrid.attributesGrid(
- :item="content.gear.flat[costumeItems[key]]",
- :user="user"
- )
-
- h3(v-if="label !== 'skip'") {{ label }}
- h3(v-else) {{ $t('background') }}
- .row.pet-mount-row
- .col-12.col-md-6
- h2.text-center(v-once) {{ $t('pets') }}
- .well.pet-mount-well
- .row.col-12
- .col-12.col-md-4
- .box(:class='{white: user.items.currentPet}')
- .Pet(:class="`Pet-${user.items.currentPet}`")
- .col-12.col-md-8
- div
- | {{ formatAnimal(user.items.currentPet, 'pet') }}
- div
- strong {{ $t('petsFound') }}:
- | {{ totalCount(user.items.pets) }}
- div
- strong {{ $t('beastMasterProgress') }}:
- | {{ beastMasterProgress(user.items.pets) }}
- .col-12.col-md-6
- h2.text-center(v-once) {{ $t('mounts') }}
- .well.pet-mount-well
- .row.col-12
- .col-12.col-md-4
- .box(:class='{white: user.items.currentMount}')
- .mount(:class="`Mount_Icon_${user.items.currentMount}`")
- .col-12.col-md-8
- div
- | {{ formatAnimal(user.items.currentMount, 'mount') }}
- div
- strong {{ $t('mountsTamed') }}:
- span {{ totalCount(user.items.mounts) }}
- div
- strong {{ $t('mountMasterProgress') }}:
- span {{ mountMasterProgress(user.items.mounts) }}
- #attributes.row
- hr.col-12
- h2.col-12 {{$t('attributes')}}
- .col-12.col-md-6(v-for="(statInfo, stat) in stats")
- .row.col-12.stats-column
- .col-12.col-md-4.attribute-label
- span.hint(:popover-title='$t(statInfo.title)', popover-placement='right',
- :popover='$t(statInfo.popover)', popover-trigger='mouseenter')
- .stat-title(:class='stat') {{ $t(statInfo.title) }}
- strong.number {{totalStatPoints(stat) | floorWholeNumber}}
- .col-12.col-md-6
- ul.bonus-stats
- li
- strong {{$t('level')}}:
- | {{statsComputed.levelBonus[stat]}}
- li
- strong {{$t('equipment')}}:
- | {{statsComputed.gearBonus[stat]}}
- li
- strong {{$t('class')}}:
- | {{statsComputed.classBonus[stat]}}
- li
- strong {{$t('allocated')}}:
- | {{totalAllocatedStats(stat)}}
- li
- strong {{$t('buffs')}}:
- | {{user.stats.buffs[stat]}}
- #allocation(v-if='showAllocation')
- .row.title-row
- .col-12.col-md-6
- h3(v-if='userLevel100Plus', v-once, v-html="$t('noMoreAllocate')")
- h3
- | {{$t('statPoints')}}
- .counter.badge.badge-pill(v-if='user.stats.points || userLevel100Plus')
- | {{pointsRemaining}}
- .col-12.col-md-6
- .float-right
- toggle-switch(
- :label="$t('autoAllocation')",
- v-model='user.preferences.automaticAllocation',
- @change='setAutoAllocate()'
- )
- .row
- .col-12.col-md-3(v-for='(statInfo, stat) in allocateStatsList')
- .box.white.row.col-12
- .col-9
- div(:class='stat') {{ $t(stats[stat].title) }}
- .number {{totalAllocatedStats(stat)}}
- .points {{$t('pts')}}
- .col-3
- div
- .up(v-if='showStatsSave', @click='allocate(stat)')
- div
- .down(v-if='showStatsSave', @click='deallocate(stat)')
- .row.save-row(v-if='showStatsSave')
- .col-12.col-md-6.offset-md-3.text-center
- button.btn.btn-primary(@click='saveAttributes()', :disabled='loading') {{ this.loading ? $t('loading') : $t('save') }}
-
-
-
-
-
diff --git a/website/client/components/userMenu/stats.vue b/website/client/components/userMenu/stats.vue
deleted file mode 100644
index 34fa0d7b79..0000000000
--- a/website/client/components/userMenu/stats.vue
+++ /dev/null
@@ -1,301 +0,0 @@
-
- .standard-page
- h1 Stats
- .row
- .col-6
- h2.text-center Equipment
- .well.row
- .col-4
- .col-6
- h2.text-center Costume
- .row
- .col-6
- h2.text-center Pet
- .col-6
- h2.text-center Mount
- .row
- hr.col-12
- h2.col-12 Attributes
- .col-6
- .col-6
- .row
- .col-6
- .col-6
-
- .row
- .col-4
- div
- h3 Basics
- ul
- li Health: {{user.stats.hp}}/{{user.stats.maxHealth}}
- li Mana: {{user.stats.mp}}/{{user.stats.maxMP}}
- li Gold: {{user.stats.gp}}
- li Level: {{user.stats.lvl}}
- li Experience: {{user.stats.exp}}
-
- div(v-if='user.flags.itemsEnabled')
- h3 Battle Gear
- ul
- li(v-for='(key, itemType) in user.items.gear.equipped', v-if='flatGear[key]')
- strong {{ flatGear[key].text() }}
- strong(v-if='flatGear[key].str || flatGear[key].con || flatGear[key].per || flatGear[key].int') :
- span(v-for='stat in ["str","con","per","int"]', v-if='flatGear[key][stat]') {{flatGear[key][stat]}} {{ $t(stat) }}
-
- div(v-if='user.preferences.costume')
- h4(v-once) {{ $t('costume') }}
- div
- div(ng-repeat='(key, itemType) in user.items.gear.costume')
- strong {{flatGear[key].text()}}
-
- div
- h3 Background
- ul
- li(v-if='!user.preferences.background') None
- li(v-if='user.preferences.background') {{ user.preferences.background }}
-
- div(ng-if='user.flags.dropsEnabled')
- h3(v-once) {{ $t('pets') }}
- ul
- li(ng-if='user.items.currentPet')
- | {{ $t('activePet') }}:
- | {{ formatAnimal(user.items.currentPet, 'pet') }}
- li
- | {{ $t('petsFound') }}:
- | {{ totalCount(user.items.pets) }}
- li
- | {{ $t('beastMasterProgress') }}:
- | {{ beastMasterProgress(user.items.pets) }}
-
- h3(v-once) {{ $t('mounts') }}
- ul
- li(v-if='user.items.currentMount')
- | {{ $t('activeMount') }}:
- | {{ formatAnimal(user.items.currentMount, 'mount') }}
- li
- | {{ $t('mountsTamed') }}:
- | {{ totalCount(user.items.mounts) }}
- li
- | {{ $t('mountMasterProgress') }}:
- | {{ mountMasterProgress(user.items.mounts) }}
-
- .col-4
- h3(v-once) {{ $t('attributes') }}
- .row(v-for="(statInfo, stat) in stats")
- .col-4
- span.hint(:popover-title='$t(statInfo.title)', popover-placement='right',
- :popover='$t(statInfo.popover)', popover-trigger='mouseenter')
- strong {{ $t(statInfo.title) }}
- strong : {{ statsComputed[stat] }}
- .col-6
- ul.bonus-stats
- li
- | {{ $t('levelBonus') }}
- | {{statsComputed.levelBonus[stat]}}
- li
- | {{ $t('gearBonus') }}
- | {{statsComputed.gearBonus[stat]}}
- li
- | {{ $t('classBonus') }}
- | {{statsComputed.classBonus[stat]}}
- li
- | {{ $t('allocatedPoints') }}
- | {{user.stats[stat]}}
- li
- | {{ $t('buffs') }}
- | {{user.stats.buffs[stat]}}
-
- div(v-if='user.stats.buffs.stealth')
- strong.hint(:popover-title="$t('stealth')", popover-trigger='mouseenter',
- popover-placement='right', :popover="$t('stealthNewDay')", v-once)
- | {{ $t('stealth') }}
- strong : {{user.stats.buffs.stealth}}
-
- div(v-if='user.stats.buffs.streaks')
- div
- strong.hint(popover-title="$t('streaksFrozen')", popover-trigger='mouseenter',
- popover-placement='right', :popover="$t('streaksFrozenText')")
- | {{ $t('streaksFrozen') }}
-
- .col-4(v-if='hasClass')
- h3(v-once) {{ $t('characterBuild') }}
- h4(v-once) {{ $t('class') + ': ' }}
- span {{ classText }}
- button.btn.btn-danger.btn-xs(@click='changeClass(null)', v-once) {{ $t('changeClass') }}
- small.cost 3
- span.Pet_Currency_Gem1x.inline-gems
-
- div
- div
- p(v-if='userLevel100Plus', v-once) {{ $t('noMoreAllocate') }}
- p(v-if='user.stats.points || userLevel100Plus')
- strong.inline
- | {{user.stats.points}}
- strong.hint(popover-trigger='mouseenter',
- popover-placement='right', :popover="$t('levelPopover')") {{ $t('unallocated') }}
- div
- fieldset.auto-allocate
- .checkbox
- label
- input(type='checkbox', v-model='user.preferences.automaticAllocation',
- @change='set({"preferences.automaticAllocation": user.preferences.automaticAllocation, "preferences.allocationMode": "taskbased"})')
- span.hint(popover-trigger='mouseenter', popover-placement='right', :popover="$t('autoAllocationPop')") {{ $t('autoAllocation') }}
- form(v-if='user.preferences.automaticAllocation', style='margin-left:1em')
- .radio
- label
- input(type='radio', name='allocationMode', value='flat', v-model='user.preferences.allocationMode',
- @change='set({"preferences.allocationMode": "flat"})')
- span.hint(popover-trigger='mouseenter', popover-placement='right', :popover="$t('evenAllocationPop')") {{ $t('evenAllocation') }}
- .radio
- label
- input(type='radio', name='allocationMode', value='classbased',
- v-model='user.preferences.allocationMode', @change='set({"preferences.allocationMode": "classbased"})')
- span.hint(popover-trigger='mouseenter', popover-placement='right', :popover="$t('classAllocationPop')") {{ $t('classAllocation') }}
- .radio
- label
- input(type='radio', name='allocationMode', value='taskbased', v-model='user.preferences.allocationMode', @change='set({"preferences.allocationMode": "taskbased"})')
- span.hint(popover-trigger='mouseenter', popover-placement='right', :popover="$t('taskAllocationPop')") {{ $t('taskAllocation') }}
- div(v-if='user.preferences.automaticAllocation && !(user.preferences.allocationMode === "taskbased") && (user.stats.points > 0)')
- button.btn.btn-primary.btn-xs(@click='allocateNow({})', popover-trigger='mouseenter', popover-placement='right', :popover="$t('distributePointsPop')")
- span.glyphicon.glyphicon-download
- |
- | {{ $t('distributePoints') }}
- .row(v-for='(statInfo, stat) in allocateStatsList')
- .col-8
- span.hint(popover-trigger='mouseenter', popover-placement='right', :popover='$t(statInfo.popover)')
- | {{ $t(statInfo.title) + user.stats[stat] }}
- .col-4(v-if='user.stats.points', @click='allocate(stat)')
- button.btn.btn-primary(popover-trigger='mouseenter', popover-placement='right',
- :popover='$t(statInfo.allocatepop)') +
-
-
-
-
-
diff --git a/website/client/components/world-boss/worldBossInfoModal.vue b/website/client/components/world-boss/worldBossInfoModal.vue
deleted file mode 100644
index af418b7b30..0000000000
--- a/website/client/components/world-boss/worldBossInfoModal.vue
+++ /dev/null
@@ -1,137 +0,0 @@
-
- b-modal#world-boss-info(title="", size='md', :hide-footer="true", :hide-header="true")
- .modal-header.d-flex
- .left-hearts
- .quest_dysheartener_modal
- .phobia_dysheartener_modal
- .right-hearts
- .modal-body
- .row
- .col-12.text-center
- h2 {{ $t('whatIsWorldBoss') }}
- p.text-center {{ $t('worldBossDesc') }}
- .row
- .col-12
- .bullet-point.d-flex.align-items-center.justify-content-left(v-for='bullet in bullets')
- .check-icon
- .svg-icon.red-check(v-html="icons.redCheck")
- .info {{ $t(bullet) }}
- .row
- .col-12.text-center
- a(href='http://habitica.fandom.com/wiki/World_Bosses' target='_blank').footer-link {{ $t('worldBossLink') }}
-
-
-
-
-
-
-
diff --git a/website/client/components/world-boss/worldBossRageModal.vue b/website/client/components/world-boss/worldBossRageModal.vue
deleted file mode 100644
index 3905a80ff8..0000000000
--- a/website/client/components/world-boss/worldBossRageModal.vue
+++ /dev/null
@@ -1,91 +0,0 @@
-
- b-modal#world-boss-rage(title="", :hide-footer="true", :hide-header="true")
- div(v-if="npc === 'seasonalShop'")
- .modal-header.d-flex.align-items-center.justify-content-center
- .reduce {{ $t('seasonalShopRageStrikeHeader') }}
- img.npc-background(src='~assets/images/npc/broken/rage-strike-seasonalShop-scaled@2x.png')
- .modal-body
- .row
- .col-12.text-center.padding-24
- h2 {{ $t('seasonalShopRageStrikeLead') }}
- p {{ $t('seasonalShopRageStrikeRecap') }}
- div(v-if="npc === 'market'")
- .modal-header.d-flex.align-items-center.justify-content-center
- .reduce {{ $t('marketRageStrikeHeader') }}
- img.npc-background(src='~assets/images/npc/broken/rage-strike-market-scaled@2x.png')
- .modal-body
- .row
- .col-12.text-center.padding-24
- h2 {{ $t('marketRageStrikeLead') }}
- p {{ $t('marketRageStrikeRecap') }}
- div(v-if="npc === 'quests'")
- .modal-header.d-flex.align-items-center.justify-content-center
- .reduce {{ $t('questsRageStrikeHeader') }}
- img.npc-background(src='~assets/images/npc/broken/rage-strike-quests-scaled@2x.png')
- .modal-body
- .row
- .col-12.text-center.padding-24
- h2 {{ $t('questsRageStrikeLead') }}
- p {{ $t('questsRageStrikeRecap') }}
-
-
-
-
-
-
-
diff --git a/website/client/directives/directive.common.js b/website/client/directives/directive.common.js
deleted file mode 100644
index 151bc76870..0000000000
--- a/website/client/directives/directive.common.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// https://stackoverflow.com/a/40720172/1298154
-export const emit = (vnode, emitName, data) => {
- let handlers = vnode.data && vnode.data.on || vnode.componentOptions && vnode.componentOptions.listeners;
-
- if (handlers && handlers[emitName]) {
- handlers[emitName].fns(data);
- }
-};
diff --git a/website/client/libs/encodeParams.js b/website/client/libs/encodeParams.js
deleted file mode 100644
index 1666e92fa5..0000000000
--- a/website/client/libs/encodeParams.js
+++ /dev/null
@@ -1,7 +0,0 @@
-// Equivalent of jQuery's param
-
-export default function (params) {
- return Object.keys(params).map((k) => {
- return `${encodeURIComponent(k)}=${encodeURIComponent(params[k])}`;
- }).join('&');
-}
diff --git a/website/client/mixins/pinUtils.js b/website/client/mixins/pinUtils.js
deleted file mode 100644
index b003754b01..0000000000
--- a/website/client/mixins/pinUtils.js
+++ /dev/null
@@ -1,19 +0,0 @@
-import notifications from 'client/mixins/notifications';
-import isPinned from 'common/script/libs/isPinned';
-
-export default {
- mixins: [notifications],
- methods: {
- isPinned (item) {
- return isPinned(this.user, item);
- },
- togglePinned (item) {
- if (!this.$store.dispatch('user:togglePinnedItem', {type: item.pinType, path: item.path})) {
- this.showUnpinNotification(item);
- }
- },
- showUnpinNotification (item) {
- this.text(this.$t('unpinnedItem', {item: item.text}));
- },
- },
-};
diff --git a/website/client/mixins/styleHelper.js b/website/client/mixins/styleHelper.js
deleted file mode 100644
index 3821f46b8d..0000000000
--- a/website/client/mixins/styleHelper.js
+++ /dev/null
@@ -1,18 +0,0 @@
-export default {
- methods: {
- userLevelStyle (user, style) {
- style = style || '';
- let npc = user && user.backer && user.backer.npc ? user.backer.npc : '';
- let level = user && user.contributor && user.contributor.level ? user.contributor.level : '';
- style += this.userLevelStyleFromLevel(level, npc, style);
- return style;
- },
- userLevelStyleFromLevel (level, npc, style) {
- style = style || '';
- if (npc) style += ' npc';
- style += level ? ` tier${level}` : ' no-tier';
-
- return style;
- },
- },
-};
diff --git a/website/client/mixins/userState.js b/website/client/mixins/userState.js
deleted file mode 100644
index d52d6e2be2..0000000000
--- a/website/client/mixins/userState.js
+++ /dev/null
@@ -1,7 +0,0 @@
-import { mapState } from 'client/libs/store';
-
-export const userStateMixin = {
- computed: {
- ...mapState({user: 'user.data'}),
- },
-};
diff --git a/website/client/package-lock.json b/website/client/package-lock.json
new file mode 100644
index 0000000000..d7471256e0
--- /dev/null
+++ b/website/client/package-lock.json
@@ -0,0 +1,12020 @@
+{
+ "name": "habitica-client",
+ "version": "1.0.0",
+ "lockfileVersion": 1,
+ "requires": true,
+ "dependencies": {
+ "@amplitude/ua-parser-js": {
+ "version": "0.7.20",
+ "resolved": "https://registry.npmjs.org/@amplitude/ua-parser-js/-/ua-parser-js-0.7.20.tgz",
+ "integrity": "sha512-bmW++BLt1Hg+4HCExLXP+0Jhgy2eTsEevqkVc5o4yYbgwdP/gV3gEQXzyVrMVlWWNLgph/tFIkf5PVlSpCELEg=="
+ },
+ "@babel/code-frame": {
+ "version": "7.5.5",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz",
+ "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==",
+ "requires": {
+ "@babel/highlight": "^7.0.0"
+ }
+ },
+ "@babel/core": {
+ "version": "7.6.4",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.6.4.tgz",
+ "integrity": "sha512-Rm0HGw101GY8FTzpWSyRbki/jzq+/PkNQJ+nSulrdY6gFGOsNseCqD6KHRYe2E+EdzuBdr2pxCp6s4Uk6eJ+XQ==",
+ "requires": {
+ "@babel/code-frame": "^7.5.5",
+ "@babel/generator": "^7.6.4",
+ "@babel/helpers": "^7.6.2",
+ "@babel/parser": "^7.6.4",
+ "@babel/template": "^7.6.0",
+ "@babel/traverse": "^7.6.3",
+ "@babel/types": "^7.6.3",
+ "convert-source-map": "^1.1.0",
+ "debug": "^4.1.0",
+ "json5": "^2.1.0",
+ "lodash": "^4.17.13",
+ "resolve": "^1.3.2",
+ "semver": "^5.4.1",
+ "source-map": "^0.5.0"
+ },
+ "dependencies": {
+ "@babel/generator": {
+ "version": "7.6.4",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.6.4.tgz",
+ "integrity": "sha512-jsBuXkFoZxk0yWLyGI9llT9oiQ2FeTASmRFE32U+aaDTfoE92t78eroO7PTpU/OrYq38hlcDM6vbfLDaOLy+7w==",
+ "requires": {
+ "@babel/types": "^7.6.3",
+ "jsesc": "^2.5.1",
+ "lodash": "^4.17.13",
+ "source-map": "^0.5.0"
+ }
+ },
+ "@babel/parser": {
+ "version": "7.6.4",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.6.4.tgz",
+ "integrity": "sha512-D8RHPW5qd0Vbyo3qb+YjO5nvUVRTXFLQ/FsDxJU2Nqz4uB5EnUN0ZQSEYpvTIbRuttig1XbHWU5oMeQwQSAA+A=="
+ },
+ "@babel/traverse": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.6.3.tgz",
+ "integrity": "sha512-unn7P4LGsijIxaAJo/wpoU11zN+2IaClkQAxcJWBNCMS6cmVh802IyLHNkAjQ0iYnRS3nnxk5O3fuXW28IMxTw==",
+ "requires": {
+ "@babel/code-frame": "^7.5.5",
+ "@babel/generator": "^7.6.3",
+ "@babel/helper-function-name": "^7.1.0",
+ "@babel/helper-split-export-declaration": "^7.4.4",
+ "@babel/parser": "^7.6.3",
+ "@babel/types": "^7.6.3",
+ "debug": "^4.1.0",
+ "globals": "^11.1.0",
+ "lodash": "^4.17.13"
+ }
+ },
+ "@babel/types": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.3.tgz",
+ "integrity": "sha512-CqbcpTxMcpuQTMhjI37ZHVgjBkysg5icREQIEZ0eG1yCNwg3oy+5AaLiOKmjsCj6nqOsa6Hf0ObjRVwokb7srA==",
+ "requires": {
+ "esutils": "^2.0.2",
+ "lodash": "^4.17.13",
+ "to-fast-properties": "^2.0.0"
+ }
+ }
+ }
+ },
+ "@babel/generator": {
+ "version": "7.6.2",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.6.2.tgz",
+ "integrity": "sha512-j8iHaIW4gGPnViaIHI7e9t/Hl8qLjERI6DcV9kEpAIDJsAOrcnXqRS7t+QbhL76pwbtqP+QCQLL0z1CyVmtjjQ==",
+ "requires": {
+ "@babel/types": "^7.6.0",
+ "jsesc": "^2.5.1",
+ "lodash": "^4.17.13",
+ "source-map": "^0.5.0"
+ }
+ },
+ "@babel/helper-annotate-as-pure": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz",
+ "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==",
+ "requires": {
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-builder-binary-assignment-operator-visitor": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz",
+ "integrity": "sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==",
+ "requires": {
+ "@babel/helper-explode-assignable-expression": "^7.1.0",
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-call-delegate": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz",
+ "integrity": "sha512-l79boDFJ8S1c5hvQvG+rc+wHw6IuH7YldmRKsYtpbawsxURu/paVy57FZMomGK22/JckepaikOkY0MoAmdyOlQ==",
+ "requires": {
+ "@babel/helper-hoist-variables": "^7.4.4",
+ "@babel/traverse": "^7.4.4",
+ "@babel/types": "^7.4.4"
+ }
+ },
+ "@babel/helper-create-class-features-plugin": {
+ "version": "7.6.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.6.0.tgz",
+ "integrity": "sha512-O1QWBko4fzGju6VoVvrZg0RROCVifcLxiApnGP3OWfWzvxRZFCoBD81K5ur5e3bVY2Vf/5rIJm8cqPKn8HUJng==",
+ "requires": {
+ "@babel/helper-function-name": "^7.1.0",
+ "@babel/helper-member-expression-to-functions": "^7.5.5",
+ "@babel/helper-optimise-call-expression": "^7.0.0",
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-replace-supers": "^7.5.5",
+ "@babel/helper-split-export-declaration": "^7.4.4"
+ }
+ },
+ "@babel/helper-define-map": {
+ "version": "7.5.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.5.5.tgz",
+ "integrity": "sha512-fTfxx7i0B5NJqvUOBBGREnrqbTxRh7zinBANpZXAVDlsZxYdclDp467G1sQ8VZYMnAURY3RpBUAgOYT9GfzHBg==",
+ "requires": {
+ "@babel/helper-function-name": "^7.1.0",
+ "@babel/types": "^7.5.5",
+ "lodash": "^4.17.13"
+ }
+ },
+ "@babel/helper-explode-assignable-expression": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz",
+ "integrity": "sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==",
+ "requires": {
+ "@babel/traverse": "^7.1.0",
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-function-name": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz",
+ "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==",
+ "requires": {
+ "@babel/helper-get-function-arity": "^7.0.0",
+ "@babel/template": "^7.1.0",
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-get-function-arity": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz",
+ "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==",
+ "requires": {
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-hoist-variables": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz",
+ "integrity": "sha512-VYk2/H/BnYbZDDg39hr3t2kKyifAm1W6zHRfhx8jGjIHpQEBv9dry7oQ2f3+J703TLu69nYdxsovl0XYfcnK4w==",
+ "requires": {
+ "@babel/types": "^7.4.4"
+ }
+ },
+ "@babel/helper-member-expression-to-functions": {
+ "version": "7.5.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.5.5.tgz",
+ "integrity": "sha512-5qZ3D1uMclSNqYcXqiHoA0meVdv+xUEex9em2fqMnrk/scphGlGgg66zjMrPJESPwrFJ6sbfFQYUSa0Mz7FabA==",
+ "requires": {
+ "@babel/types": "^7.5.5"
+ }
+ },
+ "@babel/helper-module-imports": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz",
+ "integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==",
+ "requires": {
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-module-transforms": {
+ "version": "7.5.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.5.5.tgz",
+ "integrity": "sha512-jBeCvETKuJqeiaCdyaheF40aXnnU1+wkSiUs/IQg3tB85up1LyL8x77ClY8qJpuRJUcXQo+ZtdNESmZl4j56Pw==",
+ "requires": {
+ "@babel/helper-module-imports": "^7.0.0",
+ "@babel/helper-simple-access": "^7.1.0",
+ "@babel/helper-split-export-declaration": "^7.4.4",
+ "@babel/template": "^7.4.4",
+ "@babel/types": "^7.5.5",
+ "lodash": "^4.17.13"
+ }
+ },
+ "@babel/helper-optimise-call-expression": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz",
+ "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==",
+ "requires": {
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-plugin-utils": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz",
+ "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA=="
+ },
+ "@babel/helper-regex": {
+ "version": "7.5.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.5.5.tgz",
+ "integrity": "sha512-CkCYQLkfkiugbRDO8eZn6lRuR8kzZoGXCg3149iTk5se7g6qykSpy3+hELSwquhu+TgHn8nkLiBwHvNX8Hofcw==",
+ "requires": {
+ "lodash": "^4.17.13"
+ }
+ },
+ "@babel/helper-remap-async-to-generator": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz",
+ "integrity": "sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==",
+ "requires": {
+ "@babel/helper-annotate-as-pure": "^7.0.0",
+ "@babel/helper-wrap-function": "^7.1.0",
+ "@babel/template": "^7.1.0",
+ "@babel/traverse": "^7.1.0",
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-replace-supers": {
+ "version": "7.5.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.5.5.tgz",
+ "integrity": "sha512-XvRFWrNnlsow2u7jXDuH4jDDctkxbS7gXssrP4q2nUD606ukXHRvydj346wmNg+zAgpFx4MWf4+usfC93bElJg==",
+ "requires": {
+ "@babel/helper-member-expression-to-functions": "^7.5.5",
+ "@babel/helper-optimise-call-expression": "^7.0.0",
+ "@babel/traverse": "^7.5.5",
+ "@babel/types": "^7.5.5"
+ }
+ },
+ "@babel/helper-simple-access": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz",
+ "integrity": "sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==",
+ "requires": {
+ "@babel/template": "^7.1.0",
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@babel/helper-split-export-declaration": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz",
+ "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==",
+ "requires": {
+ "@babel/types": "^7.4.4"
+ }
+ },
+ "@babel/helper-wrap-function": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz",
+ "integrity": "sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==",
+ "requires": {
+ "@babel/helper-function-name": "^7.1.0",
+ "@babel/template": "^7.1.0",
+ "@babel/traverse": "^7.1.0",
+ "@babel/types": "^7.2.0"
+ }
+ },
+ "@babel/helpers": {
+ "version": "7.6.2",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.6.2.tgz",
+ "integrity": "sha512-3/bAUL8zZxYs1cdX2ilEE0WobqbCmKWr/889lf2SS0PpDcpEIY8pb1CCyz0pEcX3pEb+MCbks1jIokz2xLtGTA==",
+ "requires": {
+ "@babel/template": "^7.6.0",
+ "@babel/traverse": "^7.6.2",
+ "@babel/types": "^7.6.0"
+ }
+ },
+ "@babel/highlight": {
+ "version": "7.5.0",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz",
+ "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==",
+ "requires": {
+ "chalk": "^2.0.0",
+ "esutils": "^2.0.2",
+ "js-tokens": "^4.0.0"
+ }
+ },
+ "@babel/parser": {
+ "version": "7.6.2",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.6.2.tgz",
+ "integrity": "sha512-mdFqWrSPCmikBoaBYMuBulzTIKuXVPtEISFbRRVNwMWpCms/hmE2kRq0bblUHaNRKrjRlmVbx1sDHmjmRgD2Xg=="
+ },
+ "@babel/plugin-proposal-async-generator-functions": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz",
+ "integrity": "sha512-+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-remap-async-to-generator": "^7.1.0",
+ "@babel/plugin-syntax-async-generators": "^7.2.0"
+ }
+ },
+ "@babel/plugin-proposal-class-properties": {
+ "version": "7.5.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.5.5.tgz",
+ "integrity": "sha512-AF79FsnWFxjlaosgdi421vmYG6/jg79bVD0dpD44QdgobzHKuLZ6S3vl8la9qIeSwGi8i1fS0O1mfuDAAdo1/A==",
+ "requires": {
+ "@babel/helper-create-class-features-plugin": "^7.5.5",
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-proposal-decorators": {
+ "version": "7.6.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.6.0.tgz",
+ "integrity": "sha512-ZSyYw9trQI50sES6YxREXKu+4b7MAg6Qx2cvyDDYjP2Hpzd3FleOUwC9cqn1+za8d0A2ZU8SHujxFao956efUg==",
+ "requires": {
+ "@babel/helper-create-class-features-plugin": "^7.6.0",
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-syntax-decorators": "^7.2.0"
+ }
+ },
+ "@babel/plugin-proposal-dynamic-import": {
+ "version": "7.5.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.5.0.tgz",
+ "integrity": "sha512-x/iMjggsKTFHYC6g11PL7Qy58IK8H5zqfm9e6hu4z1iH2IRyAp9u9dL80zA6R76yFovETFLKz2VJIC2iIPBuFw==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-syntax-dynamic-import": "^7.2.0"
+ }
+ },
+ "@babel/plugin-proposal-json-strings": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz",
+ "integrity": "sha512-MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-syntax-json-strings": "^7.2.0"
+ }
+ },
+ "@babel/plugin-proposal-object-rest-spread": {
+ "version": "7.6.2",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.6.2.tgz",
+ "integrity": "sha512-LDBXlmADCsMZV1Y9OQwMc0MyGZ8Ta/zlD9N67BfQT8uYwkRswiu2hU6nJKrjrt/58aH/vqfQlR/9yId/7A2gWw==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-syntax-object-rest-spread": "^7.2.0"
+ }
+ },
+ "@babel/plugin-proposal-optional-catch-binding": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz",
+ "integrity": "sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.2.0"
+ }
+ },
+ "@babel/plugin-proposal-unicode-property-regex": {
+ "version": "7.6.2",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.6.2.tgz",
+ "integrity": "sha512-NxHETdmpeSCtiatMRYWVJo7266rrvAC3DTeG5exQBIH/fMIUK7ejDNznBbn3HQl/o9peymRRg7Yqkx6PdUXmMw==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-regex": "^7.4.4",
+ "regexpu-core": "^4.6.0"
+ }
+ },
+ "@babel/plugin-syntax-async-generators": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz",
+ "integrity": "sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-syntax-decorators": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.2.0.tgz",
+ "integrity": "sha512-38QdqVoXdHUQfTpZo3rQwqQdWtCn5tMv4uV6r2RMfTqNBuv4ZBhz79SfaQWKTVmxHjeFv/DnXVC/+agHCklYWA==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-syntax-dynamic-import": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz",
+ "integrity": "sha512-mVxuJ0YroI/h/tbFTPGZR8cv6ai+STMKNBq0f8hFxsxWjl94qqhsb+wXbpNMDPU3cfR1TIsVFzU3nXyZMqyK4w==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-syntax-json-strings": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz",
+ "integrity": "sha512-5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-syntax-jsx": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz",
+ "integrity": "sha512-VyN4QANJkRW6lDBmENzRszvZf3/4AXaj9YR7GwrWeeN9tEBPuXbmDYVU9bYBN0D70zCWVwUy0HWq2553VCb6Hw==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-syntax-object-rest-spread": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz",
+ "integrity": "sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-syntax-optional-catch-binding": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz",
+ "integrity": "sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-arrow-functions": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz",
+ "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-async-to-generator": {
+ "version": "7.5.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.5.0.tgz",
+ "integrity": "sha512-mqvkzwIGkq0bEF1zLRRiTdjfomZJDV33AH3oQzHVGkI2VzEmXLpKKOBvEVaFZBJdN0XTyH38s9j/Kiqr68dggg==",
+ "requires": {
+ "@babel/helper-module-imports": "^7.0.0",
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-remap-async-to-generator": "^7.1.0"
+ }
+ },
+ "@babel/plugin-transform-block-scoped-functions": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz",
+ "integrity": "sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-block-scoping": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.6.3.tgz",
+ "integrity": "sha512-7hvrg75dubcO3ZI2rjYTzUrEuh1E9IyDEhhB6qfcooxhDA33xx2MasuLVgdxzcP6R/lipAC6n9ub9maNW6RKdw==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "lodash": "^4.17.13"
+ }
+ },
+ "@babel/plugin-transform-classes": {
+ "version": "7.5.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.5.5.tgz",
+ "integrity": "sha512-U2htCNK/6e9K7jGyJ++1p5XRU+LJjrwtoiVn9SzRlDT2KubcZ11OOwy3s24TjHxPgxNwonCYP7U2K51uVYCMDg==",
+ "requires": {
+ "@babel/helper-annotate-as-pure": "^7.0.0",
+ "@babel/helper-define-map": "^7.5.5",
+ "@babel/helper-function-name": "^7.1.0",
+ "@babel/helper-optimise-call-expression": "^7.0.0",
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-replace-supers": "^7.5.5",
+ "@babel/helper-split-export-declaration": "^7.4.4",
+ "globals": "^11.1.0"
+ }
+ },
+ "@babel/plugin-transform-computed-properties": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz",
+ "integrity": "sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-destructuring": {
+ "version": "7.6.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.6.0.tgz",
+ "integrity": "sha512-2bGIS5P1v4+sWTCnKNDZDxbGvEqi0ijeqM/YqHtVGrvG2y0ySgnEEhXErvE9dA0bnIzY9bIzdFK0jFA46ASIIQ==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-dotall-regex": {
+ "version": "7.6.2",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.6.2.tgz",
+ "integrity": "sha512-KGKT9aqKV+9YMZSkowzYoYEiHqgaDhGmPNZlZxX6UeHC4z30nC1J9IrZuGqbYFB1jaIGdv91ujpze0exiVK8bA==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-regex": "^7.4.4",
+ "regexpu-core": "^4.6.0"
+ }
+ },
+ "@babel/plugin-transform-duplicate-keys": {
+ "version": "7.5.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.5.0.tgz",
+ "integrity": "sha512-igcziksHizyQPlX9gfSjHkE2wmoCH3evvD2qR5w29/Dk0SMKE/eOI7f1HhBdNhR/zxJDqrgpoDTq5YSLH/XMsQ==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-exponentiation-operator": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz",
+ "integrity": "sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A==",
+ "requires": {
+ "@babel/helper-builder-binary-assignment-operator-visitor": "^7.1.0",
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-for-of": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz",
+ "integrity": "sha512-9T/5Dlr14Z9TIEXLXkt8T1DU7F24cbhwhMNUziN3hB1AXoZcdzPcTiKGRn/6iOymDqtTKWnr/BtRKN9JwbKtdQ==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-function-name": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz",
+ "integrity": "sha512-iU9pv7U+2jC9ANQkKeNF6DrPy4GBa4NWQtl6dHB4Pb3izX2JOEvDTFarlNsBj/63ZEzNNIAMs3Qw4fNCcSOXJA==",
+ "requires": {
+ "@babel/helper-function-name": "^7.1.0",
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-literals": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz",
+ "integrity": "sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-member-expression-literals": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz",
+ "integrity": "sha512-HiU3zKkSU6scTidmnFJ0bMX8hz5ixC93b4MHMiYebmk2lUVNGOboPsqQvx5LzooihijUoLR/v7Nc1rbBtnc7FA==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-modules-amd": {
+ "version": "7.5.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.5.0.tgz",
+ "integrity": "sha512-n20UsQMKnWrltocZZm24cRURxQnWIvsABPJlw/fvoy9c6AgHZzoelAIzajDHAQrDpuKFFPPcFGd7ChsYuIUMpg==",
+ "requires": {
+ "@babel/helper-module-transforms": "^7.1.0",
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "babel-plugin-dynamic-import-node": "^2.3.0"
+ }
+ },
+ "@babel/plugin-transform-modules-commonjs": {
+ "version": "7.6.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.6.0.tgz",
+ "integrity": "sha512-Ma93Ix95PNSEngqomy5LSBMAQvYKVe3dy+JlVJSHEXZR5ASL9lQBedMiCyVtmTLraIDVRE3ZjTZvmXXD2Ozw3g==",
+ "requires": {
+ "@babel/helper-module-transforms": "^7.4.4",
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-simple-access": "^7.1.0",
+ "babel-plugin-dynamic-import-node": "^2.3.0"
+ }
+ },
+ "@babel/plugin-transform-modules-systemjs": {
+ "version": "7.5.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.5.0.tgz",
+ "integrity": "sha512-Q2m56tyoQWmuNGxEtUyeEkm6qJYFqs4c+XyXH5RAuYxObRNz9Zgj/1g2GMnjYp2EUyEy7YTrxliGCXzecl/vJg==",
+ "requires": {
+ "@babel/helper-hoist-variables": "^7.4.4",
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "babel-plugin-dynamic-import-node": "^2.3.0"
+ }
+ },
+ "@babel/plugin-transform-modules-umd": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz",
+ "integrity": "sha512-BV3bw6MyUH1iIsGhXlOK6sXhmSarZjtJ/vMiD9dNmpY8QXFFQTj+6v92pcfy1iqa8DeAfJFwoxcrS/TUZda6sw==",
+ "requires": {
+ "@babel/helper-module-transforms": "^7.1.0",
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-named-capturing-groups-regex": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.6.3.tgz",
+ "integrity": "sha512-jTkk7/uE6H2s5w6VlMHeWuH+Pcy2lmdwFoeWCVnvIrDUnB5gQqTVI8WfmEAhF2CDEarGrknZcmSFg1+bkfCoSw==",
+ "requires": {
+ "regexpu-core": "^4.6.0"
+ }
+ },
+ "@babel/plugin-transform-new-target": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz",
+ "integrity": "sha512-r1z3T2DNGQwwe2vPGZMBNjioT2scgWzK9BCnDEh+46z8EEwXBq24uRzd65I7pjtugzPSj921aM15RpESgzsSuA==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-object-super": {
+ "version": "7.5.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.5.5.tgz",
+ "integrity": "sha512-un1zJQAhSosGFBduPgN/YFNvWVpRuHKU7IHBglLoLZsGmruJPOo6pbInneflUdmq7YvSVqhpPs5zdBvLnteltQ==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-replace-supers": "^7.5.5"
+ }
+ },
+ "@babel/plugin-transform-parameters": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz",
+ "integrity": "sha512-oMh5DUO1V63nZcu/ZVLQFqiihBGo4OpxJxR1otF50GMeCLiRx5nUdtokd+u9SuVJrvvuIh9OosRFPP4pIPnwmw==",
+ "requires": {
+ "@babel/helper-call-delegate": "^7.4.4",
+ "@babel/helper-get-function-arity": "^7.0.0",
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-property-literals": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz",
+ "integrity": "sha512-9q7Dbk4RhgcLp8ebduOpCbtjh7C0itoLYHXd9ueASKAG/is5PQtMR5VJGka9NKqGhYEGn5ITahd4h9QeBMylWQ==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-regenerator": {
+ "version": "7.4.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz",
+ "integrity": "sha512-gBKRh5qAaCWntnd09S8QC7r3auLCqq5DI6O0DlfoyDjslSBVqBibrMdsqO+Uhmx3+BlOmE/Kw1HFxmGbv0N9dA==",
+ "requires": {
+ "regenerator-transform": "^0.14.0"
+ }
+ },
+ "@babel/plugin-transform-reserved-words": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.2.0.tgz",
+ "integrity": "sha512-fz43fqW8E1tAB3DKF19/vxbpib1fuyCwSPE418ge5ZxILnBhWyhtPgz8eh1RCGGJlwvksHkyxMxh0eenFi+kFw==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-runtime": {
+ "version": "7.6.2",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.6.2.tgz",
+ "integrity": "sha512-cqULw/QB4yl73cS5Y0TZlQSjDvNkzDbu0FurTZyHlJpWE5T3PCMdnyV+xXoH1opr1ldyHODe3QAX3OMAii5NxA==",
+ "requires": {
+ "@babel/helper-module-imports": "^7.0.0",
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "resolve": "^1.8.1",
+ "semver": "^5.5.1"
+ }
+ },
+ "@babel/plugin-transform-shorthand-properties": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz",
+ "integrity": "sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-spread": {
+ "version": "7.6.2",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.6.2.tgz",
+ "integrity": "sha512-DpSvPFryKdK1x+EDJYCy28nmAaIMdxmhot62jAXF/o99iA33Zj2Lmcp3vDmz+MUh0LNYVPvfj5iC3feb3/+PFg==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-sticky-regex": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz",
+ "integrity": "sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-regex": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-template-literals": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz",
+ "integrity": "sha512-mQrEC4TWkhLN0z8ygIvEL9ZEToPhG5K7KDW3pzGqOfIGZ28Jb0POUkeWcoz8HnHvhFy6dwAT1j8OzqN8s804+g==",
+ "requires": {
+ "@babel/helper-annotate-as-pure": "^7.0.0",
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-typeof-symbol": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz",
+ "integrity": "sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0"
+ }
+ },
+ "@babel/plugin-transform-unicode-regex": {
+ "version": "7.6.2",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.6.2.tgz",
+ "integrity": "sha512-orZI6cWlR3nk2YmYdb0gImrgCUwb5cBUwjf6Ks6dvNVvXERkwtJWOQaEOjPiu0Gu1Tq6Yq/hruCZZOOi9F34Dw==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-regex": "^7.4.4",
+ "regexpu-core": "^4.6.0"
+ }
+ },
+ "@babel/preset-env": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.6.3.tgz",
+ "integrity": "sha512-CWQkn7EVnwzlOdR5NOm2+pfgSNEZmvGjOhlCHBDq0J8/EStr+G+FvPEiz9B56dR6MoiUFjXhfE4hjLoAKKJtIQ==",
+ "requires": {
+ "@babel/helper-module-imports": "^7.0.0",
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-proposal-async-generator-functions": "^7.2.0",
+ "@babel/plugin-proposal-dynamic-import": "^7.5.0",
+ "@babel/plugin-proposal-json-strings": "^7.2.0",
+ "@babel/plugin-proposal-object-rest-spread": "^7.6.2",
+ "@babel/plugin-proposal-optional-catch-binding": "^7.2.0",
+ "@babel/plugin-proposal-unicode-property-regex": "^7.6.2",
+ "@babel/plugin-syntax-async-generators": "^7.2.0",
+ "@babel/plugin-syntax-dynamic-import": "^7.2.0",
+ "@babel/plugin-syntax-json-strings": "^7.2.0",
+ "@babel/plugin-syntax-object-rest-spread": "^7.2.0",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.2.0",
+ "@babel/plugin-transform-arrow-functions": "^7.2.0",
+ "@babel/plugin-transform-async-to-generator": "^7.5.0",
+ "@babel/plugin-transform-block-scoped-functions": "^7.2.0",
+ "@babel/plugin-transform-block-scoping": "^7.6.3",
+ "@babel/plugin-transform-classes": "^7.5.5",
+ "@babel/plugin-transform-computed-properties": "^7.2.0",
+ "@babel/plugin-transform-destructuring": "^7.6.0",
+ "@babel/plugin-transform-dotall-regex": "^7.6.2",
+ "@babel/plugin-transform-duplicate-keys": "^7.5.0",
+ "@babel/plugin-transform-exponentiation-operator": "^7.2.0",
+ "@babel/plugin-transform-for-of": "^7.4.4",
+ "@babel/plugin-transform-function-name": "^7.4.4",
+ "@babel/plugin-transform-literals": "^7.2.0",
+ "@babel/plugin-transform-member-expression-literals": "^7.2.0",
+ "@babel/plugin-transform-modules-amd": "^7.5.0",
+ "@babel/plugin-transform-modules-commonjs": "^7.6.0",
+ "@babel/plugin-transform-modules-systemjs": "^7.5.0",
+ "@babel/plugin-transform-modules-umd": "^7.2.0",
+ "@babel/plugin-transform-named-capturing-groups-regex": "^7.6.3",
+ "@babel/plugin-transform-new-target": "^7.4.4",
+ "@babel/plugin-transform-object-super": "^7.5.5",
+ "@babel/plugin-transform-parameters": "^7.4.4",
+ "@babel/plugin-transform-property-literals": "^7.2.0",
+ "@babel/plugin-transform-regenerator": "^7.4.5",
+ "@babel/plugin-transform-reserved-words": "^7.2.0",
+ "@babel/plugin-transform-shorthand-properties": "^7.2.0",
+ "@babel/plugin-transform-spread": "^7.6.2",
+ "@babel/plugin-transform-sticky-regex": "^7.2.0",
+ "@babel/plugin-transform-template-literals": "^7.4.4",
+ "@babel/plugin-transform-typeof-symbol": "^7.2.0",
+ "@babel/plugin-transform-unicode-regex": "^7.6.2",
+ "@babel/types": "^7.6.3",
+ "browserslist": "^4.6.0",
+ "core-js-compat": "^3.1.1",
+ "invariant": "^2.2.2",
+ "js-levenshtein": "^1.1.3",
+ "semver": "^5.5.0"
+ },
+ "dependencies": {
+ "@babel/types": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.3.tgz",
+ "integrity": "sha512-CqbcpTxMcpuQTMhjI37ZHVgjBkysg5icREQIEZ0eG1yCNwg3oy+5AaLiOKmjsCj6nqOsa6Hf0ObjRVwokb7srA==",
+ "requires": {
+ "esutils": "^2.0.2",
+ "lodash": "^4.17.13",
+ "to-fast-properties": "^2.0.0"
+ }
+ }
+ }
+ },
+ "@babel/runtime": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.6.3.tgz",
+ "integrity": "sha512-kq6anf9JGjW8Nt5rYfEuGRaEAaH1mkv3Bbu6rYvLOpPh/RusSJXuKPEAoZ7L7gybZkchE8+NV5g9vKF4AGAtsA==",
+ "requires": {
+ "regenerator-runtime": "^0.13.2"
+ }
+ },
+ "@babel/runtime-corejs3": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.6.3.tgz",
+ "integrity": "sha512-933SXHQr7apa95F+3IqkBne8mqOnu1kDh6dnSddC07aW/R51WsOVD7MSczJ6DRpq/L8KLll7TFDxmt30pft44w==",
+ "requires": {
+ "core-js-pure": "^3.0.0",
+ "regenerator-runtime": "^0.13.2"
+ }
+ },
+ "@babel/template": {
+ "version": "7.6.0",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.6.0.tgz",
+ "integrity": "sha512-5AEH2EXD8euCk446b7edmgFdub/qfH1SN6Nii3+fyXP807QRx9Q73A2N5hNwRRslC2H9sNzaFhsPubkS4L8oNQ==",
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "@babel/parser": "^7.6.0",
+ "@babel/types": "^7.6.0"
+ }
+ },
+ "@babel/traverse": {
+ "version": "7.6.2",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.6.2.tgz",
+ "integrity": "sha512-8fRE76xNwNttVEF2TwxJDGBLWthUkHWSldmfuBzVRmEDWOtu4XdINTgN7TDWzuLg4bbeIMLvfMFD9we5YcWkRQ==",
+ "requires": {
+ "@babel/code-frame": "^7.5.5",
+ "@babel/generator": "^7.6.2",
+ "@babel/helper-function-name": "^7.1.0",
+ "@babel/helper-split-export-declaration": "^7.4.4",
+ "@babel/parser": "^7.6.2",
+ "@babel/types": "^7.6.0",
+ "debug": "^4.1.0",
+ "globals": "^11.1.0",
+ "lodash": "^4.17.13"
+ }
+ },
+ "@babel/types": {
+ "version": "7.6.1",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.1.tgz",
+ "integrity": "sha512-X7gdiuaCmA0uRjCmRtYJNAVCc/q+5xSgsfKJHqMN4iNLILX39677fJE1O40arPMh0TTtS9ItH67yre6c7k6t0g==",
+ "requires": {
+ "esutils": "^2.0.2",
+ "lodash": "^4.17.13",
+ "to-fast-properties": "^2.0.0"
+ }
+ },
+ "@hapi/address": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.2.tgz",
+ "integrity": "sha512-O4QDrx+JoGKZc6aN64L04vqa7e41tIiLU+OvKdcYaEMP97UttL0f9GIi9/0A4WAMx0uBd6SidDIhktZhgOcN8Q=="
+ },
+ "@hapi/bourne": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-1.3.2.tgz",
+ "integrity": "sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA=="
+ },
+ "@hapi/hoek": {
+ "version": "8.3.1",
+ "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.3.1.tgz",
+ "integrity": "sha512-75ocgnI7HG/I01iGA3/rs0y6PXydUA/kxhFZM0HoT8NLSTnt/J8Gq03iKl4a4B/2A3iMG0ctXtxr5Hg9SGr1gw=="
+ },
+ "@hapi/joi": {
+ "version": "15.1.1",
+ "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-15.1.1.tgz",
+ "integrity": "sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==",
+ "requires": {
+ "@hapi/address": "2.x.x",
+ "@hapi/bourne": "1.x.x",
+ "@hapi/hoek": "8.x.x",
+ "@hapi/topo": "3.x.x"
+ }
+ },
+ "@hapi/topo": {
+ "version": "3.1.6",
+ "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.6.tgz",
+ "integrity": "sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==",
+ "requires": {
+ "@hapi/hoek": "^8.3.0"
+ }
+ },
+ "@intervolga/optimize-cssnano-plugin": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/@intervolga/optimize-cssnano-plugin/-/optimize-cssnano-plugin-1.0.6.tgz",
+ "integrity": "sha512-zN69TnSr0viRSU6cEDIcuPcP67QcpQ6uHACg58FiN9PDrU6SLyGW3MR4tiISbYxy1kDWAVPwD+XwQTWE5cigAA==",
+ "requires": {
+ "cssnano": "^4.0.0",
+ "cssnano-preset-default": "^4.0.0",
+ "postcss": "^7.0.0"
+ }
+ },
+ "@mrmlnc/readdir-enhanced": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz",
+ "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==",
+ "requires": {
+ "call-me-maybe": "^1.0.1",
+ "glob-to-regexp": "^0.3.0"
+ }
+ },
+ "@nodelib/fs.scandir": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz",
+ "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==",
+ "requires": {
+ "@nodelib/fs.stat": "2.0.3",
+ "run-parallel": "^1.1.9"
+ },
+ "dependencies": {
+ "@nodelib/fs.stat": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz",
+ "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA=="
+ }
+ }
+ },
+ "@nodelib/fs.stat": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz",
+ "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw=="
+ },
+ "@nodelib/fs.walk": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz",
+ "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==",
+ "requires": {
+ "@nodelib/fs.scandir": "2.1.3",
+ "fastq": "^1.6.0"
+ }
+ },
+ "@nuxt/opencollective": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/@nuxt/opencollective/-/opencollective-0.3.0.tgz",
+ "integrity": "sha512-Vf09BxCdj1iT2IRqVwX5snaY2WCTkvM0O4cWWSO1ThCFuc4if0Q/nNwAgCxRU0FeYHJ7DdyMUNSdswCLKlVqeg==",
+ "requires": {
+ "chalk": "^2.4.2",
+ "consola": "^2.10.1",
+ "node-fetch": "^2.6.0"
+ }
+ },
+ "@soda/friendly-errors-webpack-plugin": {
+ "version": "1.7.1",
+ "resolved": "https://registry.npmjs.org/@soda/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.7.1.tgz",
+ "integrity": "sha512-cWKrGaFX+rfbMrAxVv56DzhPNqOJPZuNIS2HGMELtgGzb+vsMzyig9mml5gZ/hr2BGtSLV+dP2LUEuAL8aG2mQ==",
+ "requires": {
+ "chalk": "^1.1.3",
+ "error-stack-parser": "^2.0.0",
+ "string-width": "^2.0.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
+ },
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
+ }
+ }
+ },
+ "@types/events": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz",
+ "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g=="
+ },
+ "@types/glob": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz",
+ "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==",
+ "requires": {
+ "@types/events": "*",
+ "@types/minimatch": "*",
+ "@types/node": "*"
+ }
+ },
+ "@types/minimatch": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz",
+ "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA=="
+ },
+ "@types/node": {
+ "version": "12.7.12",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-12.7.12.tgz",
+ "integrity": "sha512-KPYGmfD0/b1eXurQ59fXD1GBzhSQfz6/lKBxkaHX9dKTzjXbK68Zt7yGUxUsCS1jeTy/8aL+d9JEr+S54mpkWQ=="
+ },
+ "@types/normalize-package-data": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
+ "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA=="
+ },
+ "@types/q": {
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.2.tgz",
+ "integrity": "sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw=="
+ },
+ "@vue/babel-helper-vue-jsx-merge-props": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.0.0.tgz",
+ "integrity": "sha512-6tyf5Cqm4m6v7buITuwS+jHzPlIPxbFzEhXR5JGZpbrvOcp1hiQKckd305/3C7C36wFekNTQSxAtgeM0j0yoUw=="
+ },
+ "@vue/babel-plugin-transform-vue-jsx": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.0.0.tgz",
+ "integrity": "sha512-U+JNwVQSmaLKjO3lzCUC3cNXxprgezV1N+jOdqbP4xWNaqtWUCJnkjTVcgECM18A/AinDKPcUUeoyhU7yxUxXQ==",
+ "requires": {
+ "@babel/helper-module-imports": "^7.0.0",
+ "@babel/plugin-syntax-jsx": "^7.2.0",
+ "@vue/babel-helper-vue-jsx-merge-props": "^1.0.0",
+ "html-tags": "^2.0.0",
+ "lodash.kebabcase": "^4.1.1",
+ "svg-tags": "^1.0.0"
+ }
+ },
+ "@vue/babel-preset-app": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@vue/babel-preset-app/-/babel-preset-app-4.0.4.tgz",
+ "integrity": "sha512-MxNnTpzWlShG6uP3m1afIySRDcjmxK22C/nxkGYQx9Qd6Yal7jku5Ou2xBZcU5zQI1NkQQVVnFgsdAWGyYq3cg==",
+ "requires": {
+ "@babel/helper-module-imports": "^7.0.0",
+ "@babel/plugin-proposal-class-properties": "^7.4.4",
+ "@babel/plugin-proposal-decorators": "^7.4.4",
+ "@babel/plugin-syntax-dynamic-import": "^7.0.0",
+ "@babel/plugin-syntax-jsx": "^7.0.0",
+ "@babel/plugin-transform-runtime": "^7.4.3",
+ "@babel/preset-env": "^7.4.5",
+ "@babel/runtime": "^7.4.5",
+ "@babel/runtime-corejs3": "^7.4.5",
+ "@vue/babel-preset-jsx": "^1.0.0",
+ "babel-plugin-dynamic-import-node": "^2.2.0",
+ "babel-plugin-module-resolver": "^3.2.0",
+ "core-js": "^3.1.2",
+ "core-js-compat": "^3.1.2"
+ }
+ },
+ "@vue/babel-preset-jsx": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@vue/babel-preset-jsx/-/babel-preset-jsx-1.1.1.tgz",
+ "integrity": "sha512-SeyndwQZc8MAOkhbJaC34ocTwcKekKkwrwnTMC3YF8VmGp5IQWW5gPIU66bqO9WFBXFA3J3ANsUbP2pj8q8KdQ==",
+ "requires": {
+ "@vue/babel-helper-vue-jsx-merge-props": "^1.0.0",
+ "@vue/babel-plugin-transform-vue-jsx": "^1.0.0",
+ "@vue/babel-sugar-functional-vue": "^1.0.0",
+ "@vue/babel-sugar-inject-h": "^1.0.0",
+ "@vue/babel-sugar-v-model": "^1.1.1",
+ "@vue/babel-sugar-v-on": "^1.1.0"
+ }
+ },
+ "@vue/babel-sugar-functional-vue": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.0.0.tgz",
+ "integrity": "sha512-XE/jNaaorTuhWayCz+QClk5AB9OV5HzrwbzEC6sIUY0J60A28ONQKeTwxfidW42egOkqNH/UU6eE3KLfmiDj0Q==",
+ "requires": {
+ "@babel/plugin-syntax-jsx": "^7.2.0"
+ }
+ },
+ "@vue/babel-sugar-inject-h": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.0.0.tgz",
+ "integrity": "sha512-NxWU+DqtbZgfGvd25GPoFMj+rvyQ8ZA1pHj8vIeqRij+vx3sXoKkObjA9ulZunvWw5F6uG9xYy4ytpxab/X+Hg==",
+ "requires": {
+ "@babel/plugin-syntax-jsx": "^7.2.0"
+ }
+ },
+ "@vue/babel-sugar-v-model": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.1.1.tgz",
+ "integrity": "sha512-qiPbdUTiqNQdhXzvWQMVfrYGHCiMmscY7j/cudLxdxWZ8AFhgPRVlniVgaWIT7A1iOjs92e8U6qVyqkf0d4ZrA==",
+ "requires": {
+ "@babel/plugin-syntax-jsx": "^7.2.0",
+ "@vue/babel-helper-vue-jsx-merge-props": "^1.0.0",
+ "@vue/babel-plugin-transform-vue-jsx": "^1.0.0",
+ "camelcase": "^5.0.0",
+ "html-tags": "^2.0.0",
+ "svg-tags": "^1.0.0"
+ }
+ },
+ "@vue/babel-sugar-v-on": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.1.0.tgz",
+ "integrity": "sha512-8DwAj/RLpmrDP4eZ3erJcKcyuLArLUYagNODTsSQrMdG5zmLJoFFtEjODfYRh/XxM2wXv9Wxe+HAB41FQxxwQA==",
+ "requires": {
+ "@babel/plugin-syntax-jsx": "^7.2.0",
+ "@vue/babel-plugin-transform-vue-jsx": "^1.0.0",
+ "camelcase": "^5.0.0"
+ }
+ },
+ "@vue/cli-overlay": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@vue/cli-overlay/-/cli-overlay-4.0.4.tgz",
+ "integrity": "sha512-xHO36FDIOj4uxTTLB+S4gbZDuyWpzi3IWS3phmVkSio+8henfP1WPYNl079eRBkfu0TH853VWVgZfvtF0cusTQ=="
+ },
+ "@vue/cli-plugin-babel": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@vue/cli-plugin-babel/-/cli-plugin-babel-4.0.4.tgz",
+ "integrity": "sha512-AE6AGc23n2muPgM3wgF9ZEjWmuU2+KN+FGRVPEfXVXWU907d9ATn4SIVFcsLxr+5EIIfZ1sxiHQ5p2rAC+Sljg==",
+ "requires": {
+ "@babel/core": "^7.4.5",
+ "@vue/babel-preset-app": "^4.0.4",
+ "@vue/cli-shared-utils": "^4.0.4",
+ "babel-loader": "^8.0.6",
+ "webpack": "^4.0.0"
+ },
+ "dependencies": {
+ "@vue/cli-shared-utils": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-4.0.4.tgz",
+ "integrity": "sha512-f8a9MxZJ89zw783gk2yjG6wPu5IHnmrH8whc1jMJhWNKxRTgCkUxevPVQIobiWy1UtMBdDXXOLxd4PRNK9nyxQ==",
+ "requires": {
+ "@hapi/joi": "^15.0.1",
+ "chalk": "^2.4.1",
+ "execa": "^1.0.0",
+ "launch-editor": "^2.2.1",
+ "lru-cache": "^5.1.1",
+ "node-ipc": "^9.1.1",
+ "open": "^6.3.0",
+ "ora": "^3.4.0",
+ "request": "^2.87.0",
+ "request-promise-native": "^1.0.7",
+ "semver": "^6.1.0",
+ "string.prototype.padstart": "^3.0.0"
+ }
+ },
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
+ }
+ }
+ },
+ "@vue/cli-plugin-eslint": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@vue/cli-plugin-eslint/-/cli-plugin-eslint-4.0.4.tgz",
+ "integrity": "sha512-YpQQLxHxzEVvTqs5zs4KSwqjGF6ILJ0OwD+4mPjCQL0Ms742RzzHb2MTLR1GF3bwcComwgNDNmmzzQERFiWajA==",
+ "requires": {
+ "@vue/cli-shared-utils": "^4.0.4",
+ "eslint-loader": "^2.1.2",
+ "globby": "^9.2.0",
+ "webpack": "^4.0.0",
+ "yorkie": "^2.0.0"
+ },
+ "dependencies": {
+ "@vue/cli-shared-utils": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-4.0.4.tgz",
+ "integrity": "sha512-f8a9MxZJ89zw783gk2yjG6wPu5IHnmrH8whc1jMJhWNKxRTgCkUxevPVQIobiWy1UtMBdDXXOLxd4PRNK9nyxQ==",
+ "requires": {
+ "@hapi/joi": "^15.0.1",
+ "chalk": "^2.4.1",
+ "execa": "^1.0.0",
+ "launch-editor": "^2.2.1",
+ "lru-cache": "^5.1.1",
+ "node-ipc": "^9.1.1",
+ "open": "^6.3.0",
+ "ora": "^3.4.0",
+ "request": "^2.87.0",
+ "request-promise-native": "^1.0.7",
+ "semver": "^6.1.0",
+ "string.prototype.padstart": "^3.0.0"
+ }
+ },
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
+ }
+ }
+ },
+ "@vue/cli-plugin-router": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@vue/cli-plugin-router/-/cli-plugin-router-4.0.4.tgz",
+ "integrity": "sha512-hwHyT1pOqtIAX3qMsfJdFJcOY2k44hqZZektqGujaNdudMUC2u+aEnoYiBwsE97MkGE0Jso6CdOTA9QAzUryww==",
+ "requires": {
+ "@vue/cli-shared-utils": "^4.0.4"
+ },
+ "dependencies": {
+ "@vue/cli-shared-utils": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-4.0.4.tgz",
+ "integrity": "sha512-f8a9MxZJ89zw783gk2yjG6wPu5IHnmrH8whc1jMJhWNKxRTgCkUxevPVQIobiWy1UtMBdDXXOLxd4PRNK9nyxQ==",
+ "requires": {
+ "@hapi/joi": "^15.0.1",
+ "chalk": "^2.4.1",
+ "execa": "^1.0.0",
+ "launch-editor": "^2.2.1",
+ "lru-cache": "^5.1.1",
+ "node-ipc": "^9.1.1",
+ "open": "^6.3.0",
+ "ora": "^3.4.0",
+ "request": "^2.87.0",
+ "request-promise-native": "^1.0.7",
+ "semver": "^6.1.0",
+ "string.prototype.padstart": "^3.0.0"
+ }
+ },
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
+ }
+ }
+ },
+ "@vue/cli-plugin-unit-mocha": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@vue/cli-plugin-unit-mocha/-/cli-plugin-unit-mocha-4.0.4.tgz",
+ "integrity": "sha512-EBNpQQQ/8seE1oo3nc7xU0IItYxle93w+3VQu4+csIA7EylmwZI5jFteM8CQaEQSSFPxsJpkPx1OqOS8LgTagQ==",
+ "requires": {
+ "@vue/cli-shared-utils": "^4.0.4",
+ "jsdom": "^15.1.0",
+ "jsdom-global": "^3.0.2",
+ "mocha": "^6.1.4",
+ "mochapack": "^1.1.1"
+ }
+ },
+ "@vue/cli-plugin-vuex": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@vue/cli-plugin-vuex/-/cli-plugin-vuex-4.0.4.tgz",
+ "integrity": "sha512-KWPMciBsn5EQDIn2qD7NCTr0LDk5by3nINiM7u912PD5etlmlxPYs/PbzXW3mtzFox4sbM0ExZ05AH0KnQeWCA=="
+ },
+ "@vue/cli-service": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@vue/cli-service/-/cli-service-4.0.4.tgz",
+ "integrity": "sha512-pq0jP+Xr8/4jtx/Ez/Vsv+XC+1CZ1nNU8ViveP0JIwZ7bNUktSBcAL3yvw40uZO7VC9H9tFJl0IvuaDb1Li5dw==",
+ "requires": {
+ "@intervolga/optimize-cssnano-plugin": "^1.0.5",
+ "@soda/friendly-errors-webpack-plugin": "^1.7.1",
+ "@vue/cli-overlay": "^4.0.4",
+ "@vue/cli-plugin-router": "^4.0.4",
+ "@vue/cli-plugin-vuex": "^4.0.4",
+ "@vue/cli-shared-utils": "^4.0.4",
+ "@vue/component-compiler-utils": "^3.0.0",
+ "@vue/preload-webpack-plugin": "^1.1.0",
+ "@vue/web-component-wrapper": "^1.2.0",
+ "acorn": "^6.1.1",
+ "acorn-walk": "^6.1.1",
+ "address": "^1.1.0",
+ "autoprefixer": "^9.5.1",
+ "browserslist": "^4.6.0",
+ "cache-loader": "^4.1.0",
+ "case-sensitive-paths-webpack-plugin": "^2.2.0",
+ "chalk": "^2.4.2",
+ "cli-highlight": "^2.1.1",
+ "clipboardy": "^2.0.0",
+ "cliui": "^5.0.0",
+ "copy-webpack-plugin": "^5.0.3",
+ "css-loader": "^3.1.0",
+ "cssnano": "^4.1.10",
+ "current-script-polyfill": "^1.0.0",
+ "debug": "^4.1.1",
+ "default-gateway": "^5.0.2",
+ "dotenv": "^8.0.0",
+ "dotenv-expand": "^5.1.0",
+ "file-loader": "^4.1.0",
+ "fs-extra": "^7.0.1",
+ "globby": "^9.2.0",
+ "hash-sum": "^1.0.2",
+ "html-webpack-plugin": "^3.2.0",
+ "launch-editor-middleware": "^2.2.1",
+ "lodash.defaultsdeep": "^4.6.1",
+ "lodash.mapvalues": "^4.6.0",
+ "lodash.transform": "^4.6.0",
+ "mini-css-extract-plugin": "^0.8.0",
+ "minimist": "^1.2.0",
+ "ora": "^3.4.0",
+ "portfinder": "^1.0.20",
+ "postcss-loader": "^3.0.0",
+ "read-pkg": "^5.1.1",
+ "semver": "^6.1.0",
+ "slash": "^3.0.0",
+ "source-map-url": "^0.4.0",
+ "ssri": "^6.0.1",
+ "string.prototype.padend": "^3.0.0",
+ "terser-webpack-plugin": "^2.1.2",
+ "thread-loader": "^2.1.2",
+ "url-loader": "^2.1.0",
+ "vue-loader": "^15.7.0",
+ "webpack": "^4.0.0",
+ "webpack-bundle-analyzer": "^3.3.2",
+ "webpack-chain": "^6.0.0",
+ "webpack-dev-server": "^3.4.1",
+ "webpack-merge": "^4.2.1"
+ },
+ "dependencies": {
+ "@vue/cli-shared-utils": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-4.0.4.tgz",
+ "integrity": "sha512-f8a9MxZJ89zw783gk2yjG6wPu5IHnmrH8whc1jMJhWNKxRTgCkUxevPVQIobiWy1UtMBdDXXOLxd4PRNK9nyxQ==",
+ "requires": {
+ "@hapi/joi": "^15.0.1",
+ "chalk": "^2.4.1",
+ "execa": "^1.0.0",
+ "launch-editor": "^2.2.1",
+ "lru-cache": "^5.1.1",
+ "node-ipc": "^9.1.1",
+ "open": "^6.3.0",
+ "ora": "^3.4.0",
+ "request": "^2.87.0",
+ "request-promise-native": "^1.0.7",
+ "semver": "^6.1.0",
+ "string.prototype.padstart": "^3.0.0"
+ }
+ },
+ "cacache": {
+ "version": "13.0.1",
+ "resolved": "https://registry.npmjs.org/cacache/-/cacache-13.0.1.tgz",
+ "integrity": "sha512-5ZvAxd05HDDU+y9BVvcqYu2LLXmPnQ0hW62h32g4xBTgL/MppR4/04NHfj/ycM2y6lmTnbw6HVi+1eN0Psba6w==",
+ "requires": {
+ "chownr": "^1.1.2",
+ "figgy-pudding": "^3.5.1",
+ "fs-minipass": "^2.0.0",
+ "glob": "^7.1.4",
+ "graceful-fs": "^4.2.2",
+ "infer-owner": "^1.0.4",
+ "lru-cache": "^5.1.1",
+ "minipass": "^3.0.0",
+ "minipass-collect": "^1.0.2",
+ "minipass-flush": "^1.0.5",
+ "minipass-pipeline": "^1.2.2",
+ "mkdirp": "^0.5.1",
+ "move-concurrently": "^1.0.1",
+ "p-map": "^3.0.0",
+ "promise-inflight": "^1.0.1",
+ "rimraf": "^2.7.1",
+ "ssri": "^7.0.0",
+ "unique-filename": "^1.1.1"
+ },
+ "dependencies": {
+ "ssri": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/ssri/-/ssri-7.0.1.tgz",
+ "integrity": "sha512-FfndBvkXL9AHyGLNzU3r9AvYIBBZ7gm+m+kd0p8cT3/v4OliMAyipZAhLVEv1Zi/k4QFq9CstRGVd9pW/zcHFQ==",
+ "requires": {
+ "figgy-pudding": "^3.5.1",
+ "minipass": "^3.0.0"
+ }
+ }
+ }
+ },
+ "find-cache-dir": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.0.0.tgz",
+ "integrity": "sha512-t7ulV1fmbxh5G9l/492O1p5+EBbr3uwpt6odhFTMc+nWyhmbloe+ja9BZ8pIBtqFWhOmCWVjx+pTW4zDkFoclw==",
+ "requires": {
+ "commondir": "^1.0.1",
+ "make-dir": "^3.0.0",
+ "pkg-dir": "^4.1.0"
+ }
+ },
+ "find-up": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+ "requires": {
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
+ }
+ },
+ "locate-path": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+ "requires": {
+ "p-locate": "^4.1.0"
+ }
+ },
+ "make-dir": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.0.0.tgz",
+ "integrity": "sha512-grNJDhb8b1Jm1qeqW5R/O63wUo4UXo2v2HMic6YT9i/HBlF93S8jkMgH7yugvY9ABDShH4VZMn8I+U8+fCNegw==",
+ "requires": {
+ "semver": "^6.0.0"
+ }
+ },
+ "p-limit": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz",
+ "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==",
+ "requires": {
+ "p-try": "^2.0.0"
+ }
+ },
+ "p-locate": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+ "requires": {
+ "p-limit": "^2.2.0"
+ }
+ },
+ "p-try": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
+ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="
+ },
+ "path-exists": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="
+ },
+ "pkg-dir": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
+ "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
+ "requires": {
+ "find-up": "^4.0.0"
+ }
+ },
+ "schema-utils": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.5.0.tgz",
+ "integrity": "sha512-32ISrwW2scPXHUSusP8qMg5dLUawKkyV+/qIEV9JdXKx+rsM6mi8vZY8khg2M69Qom16rtroWXD3Ybtiws38gQ==",
+ "requires": {
+ "ajv": "^6.10.2",
+ "ajv-keywords": "^3.4.1"
+ }
+ },
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
+ },
+ "serialize-javascript": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.0.tgz",
+ "integrity": "sha512-a/mxFfU00QT88umAJQsNWOnUKckhNCqOl028N48e7wFmo2/EHpTo9Wso+iJJCMrQnmFvcjto5RJdAHEvVhcyUQ=="
+ },
+ "slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q=="
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ },
+ "terser": {
+ "version": "4.3.9",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-4.3.9.tgz",
+ "integrity": "sha512-NFGMpHjlzmyOtPL+fDw3G7+6Ueh/sz4mkaUYa4lJCxOPTNzd0Uj0aZJOmsDYoSQyfuVoWDMSWTPU3huyOm2zdA==",
+ "requires": {
+ "commander": "^2.20.0",
+ "source-map": "~0.6.1",
+ "source-map-support": "~0.5.12"
+ }
+ },
+ "terser-webpack-plugin": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-2.1.3.tgz",
+ "integrity": "sha512-z5Utx0TxmirZvRNL1GC795tlDM+bO83ZfcbtkL1y1VLoWtZ7S2a9+HFCLnabSRE/Yjsu4zCEX6U6CIRo4dVmcQ==",
+ "requires": {
+ "cacache": "^13.0.1",
+ "find-cache-dir": "^3.0.0",
+ "jest-worker": "^24.9.0",
+ "schema-utils": "^2.4.1",
+ "serialize-javascript": "^2.1.0",
+ "source-map": "^0.6.1",
+ "terser": "^4.3.8",
+ "webpack-sources": "^1.4.3"
+ }
+ }
+ }
+ },
+ "@vue/cli-shared-utils": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-4.0.4.tgz",
+ "integrity": "sha512-f8a9MxZJ89zw783gk2yjG6wPu5IHnmrH8whc1jMJhWNKxRTgCkUxevPVQIobiWy1UtMBdDXXOLxd4PRNK9nyxQ==",
+ "requires": {
+ "@hapi/joi": "^15.0.1",
+ "chalk": "^2.4.1",
+ "execa": "^1.0.0",
+ "launch-editor": "^2.2.1",
+ "lru-cache": "^5.1.1",
+ "node-ipc": "^9.1.1",
+ "open": "^6.3.0",
+ "ora": "^3.4.0",
+ "request": "^2.87.0",
+ "request-promise-native": "^1.0.7",
+ "semver": "^6.1.0",
+ "string.prototype.padstart": "^3.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=="
+ }
+ }
+ },
+ "@vue/component-compiler-utils": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.0.0.tgz",
+ "integrity": "sha512-am+04/0UX7ektcmvhYmrf84BDVAD8afFOf4asZjN84q8xzxFclbk5x0MtxuKGfp+zjN5WWPJn3fjFAWtDdIGSw==",
+ "requires": {
+ "consolidate": "^0.15.1",
+ "hash-sum": "^1.0.2",
+ "lru-cache": "^4.1.2",
+ "merge-source-map": "^1.1.0",
+ "postcss": "^7.0.14",
+ "postcss-selector-parser": "^5.0.0",
+ "prettier": "1.16.3",
+ "source-map": "~0.6.1",
+ "vue-template-es2015-compiler": "^1.9.0"
+ },
+ "dependencies": {
+ "lru-cache": {
+ "version": "4.1.5",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
+ "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
+ "requires": {
+ "pseudomap": "^1.0.2",
+ "yallist": "^2.1.2"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ },
+ "yallist": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
+ "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI="
+ }
+ }
+ },
+ "@vue/preload-webpack-plugin": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@vue/preload-webpack-plugin/-/preload-webpack-plugin-1.1.1.tgz",
+ "integrity": "sha512-8VCoJeeH8tCkzhkpfOkt+abALQkS11OIHhte5MBzYaKMTqK0A3ZAKEUVAffsOklhEv7t0yrQt696Opnu9oAx+w=="
+ },
+ "@vue/test-utils": {
+ "version": "1.0.0-beta.29",
+ "resolved": "https://registry.npmjs.org/@vue/test-utils/-/test-utils-1.0.0-beta.29.tgz",
+ "integrity": "sha512-yX4sxEIHh4M9yAbLA/ikpEnGKMNBCnoX98xE1RwxfhQVcn0MaXNSj1Qmac+ZydTj6VBSEVukchBogXBTwc+9iA==",
+ "requires": {
+ "dom-event-types": "^1.0.0",
+ "lodash": "^4.17.4"
+ }
+ },
+ "@vue/web-component-wrapper": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@vue/web-component-wrapper/-/web-component-wrapper-1.2.0.tgz",
+ "integrity": "sha512-Xn/+vdm9CjuC9p3Ae+lTClNutrVhsXpzxvoTXXtoys6kVRX9FkueSUAqSWAyZntmVLlR4DosBV4pH8y5Z/HbUw=="
+ },
+ "@webassemblyjs/ast": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz",
+ "integrity": "sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ==",
+ "requires": {
+ "@webassemblyjs/helper-module-context": "1.8.5",
+ "@webassemblyjs/helper-wasm-bytecode": "1.8.5",
+ "@webassemblyjs/wast-parser": "1.8.5"
+ }
+ },
+ "@webassemblyjs/floating-point-hex-parser": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz",
+ "integrity": "sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ=="
+ },
+ "@webassemblyjs/helper-api-error": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz",
+ "integrity": "sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA=="
+ },
+ "@webassemblyjs/helper-buffer": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz",
+ "integrity": "sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q=="
+ },
+ "@webassemblyjs/helper-code-frame": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz",
+ "integrity": "sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ==",
+ "requires": {
+ "@webassemblyjs/wast-printer": "1.8.5"
+ }
+ },
+ "@webassemblyjs/helper-fsm": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz",
+ "integrity": "sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow=="
+ },
+ "@webassemblyjs/helper-module-context": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz",
+ "integrity": "sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g==",
+ "requires": {
+ "@webassemblyjs/ast": "1.8.5",
+ "mamacro": "^0.0.3"
+ }
+ },
+ "@webassemblyjs/helper-wasm-bytecode": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz",
+ "integrity": "sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ=="
+ },
+ "@webassemblyjs/helper-wasm-section": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz",
+ "integrity": "sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA==",
+ "requires": {
+ "@webassemblyjs/ast": "1.8.5",
+ "@webassemblyjs/helper-buffer": "1.8.5",
+ "@webassemblyjs/helper-wasm-bytecode": "1.8.5",
+ "@webassemblyjs/wasm-gen": "1.8.5"
+ }
+ },
+ "@webassemblyjs/ieee754": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz",
+ "integrity": "sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g==",
+ "requires": {
+ "@xtuc/ieee754": "^1.2.0"
+ }
+ },
+ "@webassemblyjs/leb128": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.8.5.tgz",
+ "integrity": "sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A==",
+ "requires": {
+ "@xtuc/long": "4.2.2"
+ }
+ },
+ "@webassemblyjs/utf8": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.8.5.tgz",
+ "integrity": "sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw=="
+ },
+ "@webassemblyjs/wasm-edit": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz",
+ "integrity": "sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q==",
+ "requires": {
+ "@webassemblyjs/ast": "1.8.5",
+ "@webassemblyjs/helper-buffer": "1.8.5",
+ "@webassemblyjs/helper-wasm-bytecode": "1.8.5",
+ "@webassemblyjs/helper-wasm-section": "1.8.5",
+ "@webassemblyjs/wasm-gen": "1.8.5",
+ "@webassemblyjs/wasm-opt": "1.8.5",
+ "@webassemblyjs/wasm-parser": "1.8.5",
+ "@webassemblyjs/wast-printer": "1.8.5"
+ }
+ },
+ "@webassemblyjs/wasm-gen": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz",
+ "integrity": "sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg==",
+ "requires": {
+ "@webassemblyjs/ast": "1.8.5",
+ "@webassemblyjs/helper-wasm-bytecode": "1.8.5",
+ "@webassemblyjs/ieee754": "1.8.5",
+ "@webassemblyjs/leb128": "1.8.5",
+ "@webassemblyjs/utf8": "1.8.5"
+ }
+ },
+ "@webassemblyjs/wasm-opt": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz",
+ "integrity": "sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q==",
+ "requires": {
+ "@webassemblyjs/ast": "1.8.5",
+ "@webassemblyjs/helper-buffer": "1.8.5",
+ "@webassemblyjs/wasm-gen": "1.8.5",
+ "@webassemblyjs/wasm-parser": "1.8.5"
+ }
+ },
+ "@webassemblyjs/wasm-parser": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz",
+ "integrity": "sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw==",
+ "requires": {
+ "@webassemblyjs/ast": "1.8.5",
+ "@webassemblyjs/helper-api-error": "1.8.5",
+ "@webassemblyjs/helper-wasm-bytecode": "1.8.5",
+ "@webassemblyjs/ieee754": "1.8.5",
+ "@webassemblyjs/leb128": "1.8.5",
+ "@webassemblyjs/utf8": "1.8.5"
+ }
+ },
+ "@webassemblyjs/wast-parser": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz",
+ "integrity": "sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg==",
+ "requires": {
+ "@webassemblyjs/ast": "1.8.5",
+ "@webassemblyjs/floating-point-hex-parser": "1.8.5",
+ "@webassemblyjs/helper-api-error": "1.8.5",
+ "@webassemblyjs/helper-code-frame": "1.8.5",
+ "@webassemblyjs/helper-fsm": "1.8.5",
+ "@xtuc/long": "4.2.2"
+ }
+ },
+ "@webassemblyjs/wast-printer": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz",
+ "integrity": "sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg==",
+ "requires": {
+ "@webassemblyjs/ast": "1.8.5",
+ "@webassemblyjs/wast-parser": "1.8.5",
+ "@xtuc/long": "4.2.2"
+ }
+ },
+ "@xtuc/ieee754": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
+ "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA=="
+ },
+ "@xtuc/long": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
+ "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ=="
+ },
+ "abab": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.2.tgz",
+ "integrity": "sha512-2scffjvioEmNz0OyDSLGWDfKCVwaKc6l9Pm9kOIREU13ClXZvHpg/nRL5xyjSSSLhOnXqft2HpsAzNEEA8cFFg=="
+ },
+ "accepts": {
+ "version": "1.3.7",
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
+ "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
+ "requires": {
+ "mime-types": "~2.1.24",
+ "negotiator": "0.6.2"
+ }
+ },
+ "acorn": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.3.0.tgz",
+ "integrity": "sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA=="
+ },
+ "acorn-globals": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz",
+ "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==",
+ "requires": {
+ "acorn": "^6.0.1",
+ "acorn-walk": "^6.0.1"
+ }
+ },
+ "acorn-jsx": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.2.tgz",
+ "integrity": "sha512-tiNTrP1MP0QrChmD2DdupCr6HWSFeKVw5d/dHTu4Y7rkAkRhU/Dt7dphAfIUyxtHpl/eBVip5uTNSpQJHylpAw=="
+ },
+ "acorn-walk": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz",
+ "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA=="
+ },
+ "address": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/address/-/address-1.1.2.tgz",
+ "integrity": "sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA=="
+ },
+ "aggregate-error": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz",
+ "integrity": "sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA==",
+ "requires": {
+ "clean-stack": "^2.0.0",
+ "indent-string": "^4.0.0"
+ }
+ },
+ "ajv": {
+ "version": "6.10.2",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz",
+ "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==",
+ "requires": {
+ "fast-deep-equal": "^2.0.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "ajv-errors": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz",
+ "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ=="
+ },
+ "ajv-keywords": {
+ "version": "3.4.1",
+ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz",
+ "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ=="
+ },
+ "alphanum-sort": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz",
+ "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM="
+ },
+ "amplitude-js": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/amplitude-js/-/amplitude-js-5.5.0.tgz",
+ "integrity": "sha512-6FV72xscEKGak5LRmYWn6Byii6zlJMPl+FZ4aOSxKnyEb3JscCgCja8smNOPJDuoNGB8UozcYQC/lGGQSpkIBQ==",
+ "requires": {
+ "@amplitude/ua-parser-js": "0.7.20",
+ "blueimp-md5": "^2.10.0",
+ "query-string": "5"
+ },
+ "dependencies": {
+ "query-string": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz",
+ "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==",
+ "requires": {
+ "decode-uri-component": "^0.2.0",
+ "object-assign": "^4.1.0",
+ "strict-uri-encode": "^1.0.0"
+ }
+ }
+ }
+ },
+ "ansi-colors": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz",
+ "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw=="
+ },
+ "ansi-escapes": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz",
+ "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ=="
+ },
+ "ansi-html": {
+ "version": "0.0.7",
+ "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz",
+ "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4="
+ },
+ "ansi-regex": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
+ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg=="
+ },
+ "ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
+ },
+ "any-promise": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
+ "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8="
+ },
+ "anymatch": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
+ "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
+ "requires": {
+ "micromatch": "^3.1.4",
+ "normalize-path": "^2.1.1"
+ },
+ "dependencies": {
+ "normalize-path": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
+ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
+ "requires": {
+ "remove-trailing-separator": "^1.0.1"
+ }
+ }
+ }
+ },
+ "aproba": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
+ "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw=="
+ },
+ "arch": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/arch/-/arch-2.1.1.tgz",
+ "integrity": "sha512-BLM56aPo9vLLFVa8+/+pJLnrZ7QGGTVHWsCwieAWT9o9K8UeGaQbzZbGoabWLOo2ksBCztoXdqBZBplqLDDCSg=="
+ },
+ "argparse": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+ "requires": {
+ "sprintf-js": "~1.0.2"
+ }
+ },
+ "arr-diff": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
+ "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA="
+ },
+ "arr-flatten": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
+ "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg=="
+ },
+ "arr-union": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
+ "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ="
+ },
+ "array-equal": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz",
+ "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM="
+ },
+ "array-flatten": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
+ "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
+ },
+ "array-includes": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz",
+ "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=",
+ "requires": {
+ "define-properties": "^1.1.2",
+ "es-abstract": "^1.7.0"
+ }
+ },
+ "array-union": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
+ "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
+ "requires": {
+ "array-uniq": "^1.0.1"
+ }
+ },
+ "array-uniq": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
+ "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY="
+ },
+ "array-unique": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
+ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg="
+ },
+ "asn1": {
+ "version": "0.2.4",
+ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
+ "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
+ "requires": {
+ "safer-buffer": "~2.1.0"
+ }
+ },
+ "asn1.js": {
+ "version": "4.10.1",
+ "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz",
+ "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==",
+ "requires": {
+ "bn.js": "^4.0.0",
+ "inherits": "^2.0.1",
+ "minimalistic-assert": "^1.0.0"
+ }
+ },
+ "assert": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz",
+ "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==",
+ "requires": {
+ "object-assign": "^4.1.1",
+ "util": "0.10.3"
+ },
+ "dependencies": {
+ "inherits": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
+ "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE="
+ },
+ "util": {
+ "version": "0.10.3",
+ "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
+ "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
+ "requires": {
+ "inherits": "2.0.1"
+ }
+ }
+ }
+ },
+ "assert-plus": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
+ },
+ "assertion-error": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
+ "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw=="
+ },
+ "assign-symbols": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
+ "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c="
+ },
+ "astral-regex": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
+ "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg=="
+ },
+ "async": {
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
+ "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo="
+ },
+ "async-each": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz",
+ "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ=="
+ },
+ "async-limiter": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz",
+ "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ=="
+ },
+ "asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
+ },
+ "atob": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
+ "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg=="
+ },
+ "autoprefixer": {
+ "version": "9.6.5",
+ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.6.5.tgz",
+ "integrity": "sha512-rGd50YV8LgwFQ2WQp4XzOTG69u1qQsXn0amww7tjqV5jJuNazgFKYEVItEBngyyvVITKOg20zr2V+9VsrXJQ2g==",
+ "requires": {
+ "browserslist": "^4.7.0",
+ "caniuse-lite": "^1.0.30000999",
+ "chalk": "^2.4.2",
+ "normalize-range": "^0.1.2",
+ "num2fraction": "^1.2.2",
+ "postcss": "^7.0.18",
+ "postcss-value-parser": "^4.0.2"
+ },
+ "dependencies": {
+ "postcss-value-parser": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.0.2.tgz",
+ "integrity": "sha512-LmeoohTpp/K4UiyQCwuGWlONxXamGzCMtFxLq4W1nZVGIQLYvMCJx3yAF9qyyuFpflABI9yVdtJAqbihOsCsJQ=="
+ }
+ }
+ },
+ "aws-sign2": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
+ "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg="
+ },
+ "aws4": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
+ "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ=="
+ },
+ "axios": {
+ "version": "0.19.0",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.0.tgz",
+ "integrity": "sha512-1uvKqKQta3KBxIz14F2v06AEHZ/dIoeKfbTRkK1E5oqjDnuEerLmYTgJB5AiQZHJcljpg1TuRzdjDR06qNk0DQ==",
+ "requires": {
+ "follow-redirects": "1.5.10",
+ "is-buffer": "^2.0.2"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "follow-redirects": {
+ "version": "1.5.10",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz",
+ "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==",
+ "requires": {
+ "debug": "=3.1.0"
+ }
+ },
+ "is-buffer": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz",
+ "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A=="
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+ }
+ }
+ },
+ "axios-progress-bar": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/axios-progress-bar/-/axios-progress-bar-1.2.0.tgz",
+ "integrity": "sha512-PEgWb/b2SMyHnKJ/cxA46OdCuNeVlo8eqL0HxXPtz+6G/Jtpyo49icPbW+jpO1wUeDEjbqpseMoCyWxESxf5pA=="
+ },
+ "babel-eslint": {
+ "version": "10.0.3",
+ "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.0.3.tgz",
+ "integrity": "sha512-z3U7eMY6r/3f3/JB9mTsLjyxrv0Yb1zb8PCWCLpguxfCzBIZUwy23R1t/XKewP+8mEN2Ck8Dtr4q20z6ce6SoA==",
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "@babel/parser": "^7.0.0",
+ "@babel/traverse": "^7.0.0",
+ "@babel/types": "^7.0.0",
+ "eslint-visitor-keys": "^1.0.0",
+ "resolve": "^1.12.0"
+ }
+ },
+ "babel-loader": {
+ "version": "8.0.6",
+ "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.0.6.tgz",
+ "integrity": "sha512-4BmWKtBOBm13uoUwd08UwjZlaw3O9GWf456R9j+5YykFZ6LUIjIKLc0zEZf+hauxPOJs96C8k6FvYD09vWzhYw==",
+ "requires": {
+ "find-cache-dir": "^2.0.0",
+ "loader-utils": "^1.0.2",
+ "mkdirp": "^0.5.1",
+ "pify": "^4.0.1"
+ }
+ },
+ "babel-plugin-dynamic-import-node": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz",
+ "integrity": "sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==",
+ "requires": {
+ "object.assign": "^4.1.0"
+ }
+ },
+ "babel-plugin-module-resolver": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-module-resolver/-/babel-plugin-module-resolver-3.2.0.tgz",
+ "integrity": "sha512-tjR0GvSndzPew/Iayf4uICWZqjBwnlMWjSx6brryfQ81F9rxBVqwDJtFCV8oOs0+vJeefK9TmdZtkIFdFe1UnA==",
+ "requires": {
+ "find-babel-config": "^1.1.0",
+ "glob": "^7.1.2",
+ "pkg-up": "^2.0.0",
+ "reselect": "^3.0.1",
+ "resolve": "^1.4.0"
+ }
+ },
+ "babel-runtime": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+ "requires": {
+ "core-js": "^2.4.0",
+ "regenerator-runtime": "^0.11.0"
+ },
+ "dependencies": {
+ "core-js": {
+ "version": "2.6.10",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.10.tgz",
+ "integrity": "sha512-I39t74+4t+zau64EN1fE5v2W31Adtc/REhzWN+gWRRXg6WH5qAsZm62DHpQ1+Yhe4047T55jvzz7MUqF/dBBlA=="
+ },
+ "regenerator-runtime": {
+ "version": "0.11.1",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
+ "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg=="
+ }
+ }
+ },
+ "balanced-match": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
+ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
+ },
+ "base": {
+ "version": "0.11.2",
+ "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
+ "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
+ "requires": {
+ "cache-base": "^1.0.1",
+ "class-utils": "^0.3.5",
+ "component-emitter": "^1.2.1",
+ "define-property": "^1.0.0",
+ "isobject": "^3.0.1",
+ "mixin-deep": "^1.2.0",
+ "pascalcase": "^0.1.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "requires": {
+ "is-descriptor": "^1.0.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "requires": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ }
+ }
+ }
+ },
+ "base64-js": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz",
+ "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g=="
+ },
+ "batch": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz",
+ "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY="
+ },
+ "bcrypt-pbkdf": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
+ "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
+ "requires": {
+ "tweetnacl": "^0.14.3"
+ }
+ },
+ "bfj": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/bfj/-/bfj-6.1.2.tgz",
+ "integrity": "sha512-BmBJa4Lip6BPRINSZ0BPEIfB1wUY/9rwbwvIHQA1KjX9om29B6id0wnWXq7m3bn5JrUVjeOTnVuhPT1FiHwPGw==",
+ "requires": {
+ "bluebird": "^3.5.5",
+ "check-types": "^8.0.3",
+ "hoopy": "^0.1.4",
+ "tryer": "^1.0.1"
+ }
+ },
+ "big.js": {
+ "version": "5.2.2",
+ "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
+ "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ=="
+ },
+ "binary-extensions": {
+ "version": "1.13.1",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
+ "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw=="
+ },
+ "bluebird": {
+ "version": "3.7.0",
+ "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.0.tgz",
+ "integrity": "sha512-aBQ1FxIa7kSWCcmKHlcHFlT2jt6J/l4FzC7KcPELkOJOsPOb/bccdhmIrKDfXhwFrmc7vDoDrrepFvGqjyXGJg=="
+ },
+ "blueimp-md5": {
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/blueimp-md5/-/blueimp-md5-2.12.0.tgz",
+ "integrity": "sha512-zo+HIdIhzojv6F1siQPqPFROyVy7C50KzHv/k/Iz+BtvtVzSHXiMXOpq2wCfNkeBqdCv+V8XOV96tsEt2W/3rQ=="
+ },
+ "bn.js": {
+ "version": "4.11.8",
+ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
+ "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA=="
+ },
+ "body-parser": {
+ "version": "1.19.0",
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
+ "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==",
+ "requires": {
+ "bytes": "3.1.0",
+ "content-type": "~1.0.4",
+ "debug": "2.6.9",
+ "depd": "~1.1.2",
+ "http-errors": "1.7.2",
+ "iconv-lite": "0.4.24",
+ "on-finished": "~2.3.0",
+ "qs": "6.7.0",
+ "raw-body": "2.4.0",
+ "type-is": "~1.6.17"
+ },
+ "dependencies": {
+ "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"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+ },
+ "qs": {
+ "version": "6.7.0",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
+ "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ=="
+ }
+ }
+ },
+ "bonjour": {
+ "version": "3.5.0",
+ "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz",
+ "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=",
+ "requires": {
+ "array-flatten": "^2.1.0",
+ "deep-equal": "^1.0.1",
+ "dns-equal": "^1.0.0",
+ "dns-txt": "^2.0.2",
+ "multicast-dns": "^6.0.1",
+ "multicast-dns-service-types": "^1.1.0"
+ },
+ "dependencies": {
+ "array-flatten": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz",
+ "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ=="
+ }
+ }
+ },
+ "boolbase": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
+ "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24="
+ },
+ "bootstrap": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.3.1.tgz",
+ "integrity": "sha512-rXqOmH1VilAt2DyPzluTi2blhk17bO7ef+zLLPlWvG494pDxcM234pJ8wTc/6R40UWizAIIMgxjvxZg5kmsbag=="
+ },
+ "bootstrap-vue": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/bootstrap-vue/-/bootstrap-vue-2.0.4.tgz",
+ "integrity": "sha512-/5WXa3ir5uajcs7ze7jz7QXpYuJGWHjvJ8biMq0+e0IIIxw2jSdh4LsiFKD7C7qtgKre28hhXOfx79RmZX4wcQ==",
+ "requires": {
+ "@nuxt/opencollective": "^0.3.0",
+ "bootstrap": ">=4.3.1 <5.0.0",
+ "popper.js": "^1.15.0",
+ "portal-vue": "^2.1.6",
+ "vue-functional-data-merge": "^3.1.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": "2.3.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
+ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
+ "requires": {
+ "arr-flatten": "^1.1.0",
+ "array-unique": "^0.3.2",
+ "extend-shallow": "^2.0.1",
+ "fill-range": "^4.0.0",
+ "isobject": "^3.0.1",
+ "repeat-element": "^1.1.2",
+ "snapdragon": "^0.8.1",
+ "snapdragon-node": "^2.0.1",
+ "split-string": "^3.0.2",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "brorand": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
+ "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8="
+ },
+ "browser-process-hrtime": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz",
+ "integrity": "sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw=="
+ },
+ "browser-stdout": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz",
+ "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw=="
+ },
+ "browserify-aes": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
+ "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
+ "requires": {
+ "buffer-xor": "^1.0.3",
+ "cipher-base": "^1.0.0",
+ "create-hash": "^1.1.0",
+ "evp_bytestokey": "^1.0.3",
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "browserify-cipher": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
+ "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
+ "requires": {
+ "browserify-aes": "^1.0.4",
+ "browserify-des": "^1.0.0",
+ "evp_bytestokey": "^1.0.0"
+ }
+ },
+ "browserify-des": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz",
+ "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==",
+ "requires": {
+ "cipher-base": "^1.0.1",
+ "des.js": "^1.0.0",
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.1.2"
+ }
+ },
+ "browserify-rsa": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
+ "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=",
+ "requires": {
+ "bn.js": "^4.1.0",
+ "randombytes": "^2.0.1"
+ }
+ },
+ "browserify-sign": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz",
+ "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=",
+ "requires": {
+ "bn.js": "^4.1.1",
+ "browserify-rsa": "^4.0.0",
+ "create-hash": "^1.1.0",
+ "create-hmac": "^1.1.2",
+ "elliptic": "^6.0.0",
+ "inherits": "^2.0.1",
+ "parse-asn1": "^5.0.0"
+ }
+ },
+ "browserify-zlib": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
+ "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
+ "requires": {
+ "pako": "~1.0.5"
+ }
+ },
+ "browserslist": {
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.7.0.tgz",
+ "integrity": "sha512-9rGNDtnj+HaahxiVV38Gn8n8Lr8REKsel68v1sPFfIGEK6uSXTY3h9acgiT1dZVtOOUtifo/Dn8daDQ5dUgVsA==",
+ "requires": {
+ "caniuse-lite": "^1.0.30000989",
+ "electron-to-chromium": "^1.3.247",
+ "node-releases": "^1.1.29"
+ }
+ },
+ "buffer": {
+ "version": "4.9.1",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz",
+ "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=",
+ "requires": {
+ "base64-js": "^1.0.2",
+ "ieee754": "^1.1.4",
+ "isarray": "^1.0.0"
+ }
+ },
+ "buffer-from": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
+ "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A=="
+ },
+ "buffer-indexof": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz",
+ "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g=="
+ },
+ "buffer-json": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/buffer-json/-/buffer-json-2.0.0.tgz",
+ "integrity": "sha512-+jjPFVqyfF1esi9fvfUs3NqM0pH1ziZ36VP4hmA/y/Ssfo/5w5xHKfTw9BwQjoJ1w/oVtpLomqwUHKdefGyuHw=="
+ },
+ "buffer-xor": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
+ "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk="
+ },
+ "builtin-status-codes": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
+ "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug="
+ },
+ "bytes": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
+ "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg=="
+ },
+ "cacache": {
+ "version": "12.0.3",
+ "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz",
+ "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==",
+ "requires": {
+ "bluebird": "^3.5.5",
+ "chownr": "^1.1.1",
+ "figgy-pudding": "^3.5.1",
+ "glob": "^7.1.4",
+ "graceful-fs": "^4.1.15",
+ "infer-owner": "^1.0.3",
+ "lru-cache": "^5.1.1",
+ "mississippi": "^3.0.0",
+ "mkdirp": "^0.5.1",
+ "move-concurrently": "^1.0.1",
+ "promise-inflight": "^1.0.1",
+ "rimraf": "^2.6.3",
+ "ssri": "^6.0.1",
+ "unique-filename": "^1.1.1",
+ "y18n": "^4.0.0"
+ }
+ },
+ "cache-base": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
+ "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
+ "requires": {
+ "collection-visit": "^1.0.0",
+ "component-emitter": "^1.2.1",
+ "get-value": "^2.0.6",
+ "has-value": "^1.0.0",
+ "isobject": "^3.0.1",
+ "set-value": "^2.0.0",
+ "to-object-path": "^0.3.0",
+ "union-value": "^1.0.0",
+ "unset-value": "^1.0.0"
+ }
+ },
+ "cache-loader": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/cache-loader/-/cache-loader-4.1.0.tgz",
+ "integrity": "sha512-ftOayxve0PwKzBF/GLsZNC9fJBXl8lkZE3TOsjkboHfVHVkL39iUEs1FO07A33mizmci5Dudt38UZrrYXDtbhw==",
+ "requires": {
+ "buffer-json": "^2.0.0",
+ "find-cache-dir": "^3.0.0",
+ "loader-utils": "^1.2.3",
+ "mkdirp": "^0.5.1",
+ "neo-async": "^2.6.1",
+ "schema-utils": "^2.0.0"
+ },
+ "dependencies": {
+ "find-cache-dir": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.0.0.tgz",
+ "integrity": "sha512-t7ulV1fmbxh5G9l/492O1p5+EBbr3uwpt6odhFTMc+nWyhmbloe+ja9BZ8pIBtqFWhOmCWVjx+pTW4zDkFoclw==",
+ "requires": {
+ "commondir": "^1.0.1",
+ "make-dir": "^3.0.0",
+ "pkg-dir": "^4.1.0"
+ }
+ },
+ "find-up": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+ "requires": {
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
+ }
+ },
+ "locate-path": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+ "requires": {
+ "p-locate": "^4.1.0"
+ }
+ },
+ "make-dir": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.0.0.tgz",
+ "integrity": "sha512-grNJDhb8b1Jm1qeqW5R/O63wUo4UXo2v2HMic6YT9i/HBlF93S8jkMgH7yugvY9ABDShH4VZMn8I+U8+fCNegw==",
+ "requires": {
+ "semver": "^6.0.0"
+ }
+ },
+ "p-limit": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz",
+ "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==",
+ "requires": {
+ "p-try": "^2.0.0"
+ }
+ },
+ "p-locate": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+ "requires": {
+ "p-limit": "^2.2.0"
+ }
+ },
+ "p-try": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
+ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="
+ },
+ "path-exists": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="
+ },
+ "pkg-dir": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
+ "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
+ "requires": {
+ "find-up": "^4.0.0"
+ }
+ },
+ "schema-utils": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.5.0.tgz",
+ "integrity": "sha512-32ISrwW2scPXHUSusP8qMg5dLUawKkyV+/qIEV9JdXKx+rsM6mi8vZY8khg2M69Qom16rtroWXD3Ybtiws38gQ==",
+ "requires": {
+ "ajv": "^6.10.2",
+ "ajv-keywords": "^3.4.1"
+ }
+ },
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
+ }
+ }
+ },
+ "call-me-maybe": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz",
+ "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms="
+ },
+ "caller-callsite": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz",
+ "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=",
+ "requires": {
+ "callsites": "^2.0.0"
+ }
+ },
+ "caller-path": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz",
+ "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=",
+ "requires": {
+ "caller-callsite": "^2.0.0"
+ }
+ },
+ "callsites": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz",
+ "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA="
+ },
+ "camel-case": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz",
+ "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=",
+ "requires": {
+ "no-case": "^2.2.0",
+ "upper-case": "^1.1.1"
+ }
+ },
+ "camelcase": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg=="
+ },
+ "caniuse-api": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz",
+ "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==",
+ "requires": {
+ "browserslist": "^4.0.0",
+ "caniuse-lite": "^1.0.0",
+ "lodash.memoize": "^4.1.2",
+ "lodash.uniq": "^4.5.0"
+ }
+ },
+ "caniuse-lite": {
+ "version": "1.0.30000999",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000999.tgz",
+ "integrity": "sha512-1CUyKyecPeksKwXZvYw0tEoaMCo/RwBlXmEtN5vVnabvO0KPd9RQLcaAuR9/1F+KDMv6esmOFWlsXuzDk+8rxg=="
+ },
+ "case-sensitive-paths-webpack-plugin": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.2.0.tgz",
+ "integrity": "sha512-u5ElzokS8A1pm9vM3/iDgTcI3xqHxuCao94Oz8etI3cf0Tio0p8izkDYbTIn09uP3yUUr6+veaE6IkjnTYS46g=="
+ },
+ "caseless": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
+ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
+ },
+ "chai": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz",
+ "integrity": "sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==",
+ "requires": {
+ "assertion-error": "^1.1.0",
+ "check-error": "^1.0.2",
+ "deep-eql": "^3.0.1",
+ "get-func-name": "^2.0.0",
+ "pathval": "^1.1.0",
+ "type-detect": "^4.0.5"
+ }
+ },
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
+ },
+ "chardet": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
+ "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA=="
+ },
+ "check-error": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz",
+ "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII="
+ },
+ "check-types": {
+ "version": "8.0.3",
+ "resolved": "https://registry.npmjs.org/check-types/-/check-types-8.0.3.tgz",
+ "integrity": "sha512-YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ=="
+ },
+ "chokidar": {
+ "version": "2.1.8",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
+ "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
+ "requires": {
+ "anymatch": "^2.0.0",
+ "async-each": "^1.0.1",
+ "braces": "^2.3.2",
+ "fsevents": "^1.2.7",
+ "glob-parent": "^3.1.0",
+ "inherits": "^2.0.3",
+ "is-binary-path": "^1.0.0",
+ "is-glob": "^4.0.0",
+ "normalize-path": "^3.0.0",
+ "path-is-absolute": "^1.0.0",
+ "readdirp": "^2.2.1",
+ "upath": "^1.1.1"
+ }
+ },
+ "chownr": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz",
+ "integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw=="
+ },
+ "chrome-trace-event": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz",
+ "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==",
+ "requires": {
+ "tslib": "^1.9.0"
+ }
+ },
+ "ci-info": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz",
+ "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A=="
+ },
+ "cipher-base": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
+ "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
+ "requires": {
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "class-utils": {
+ "version": "0.3.6",
+ "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
+ "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
+ "requires": {
+ "arr-union": "^3.1.0",
+ "define-property": "^0.2.5",
+ "isobject": "^3.0.0",
+ "static-extend": "^0.1.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ }
+ }
+ },
+ "clean-css": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.1.tgz",
+ "integrity": "sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g==",
+ "requires": {
+ "source-map": "~0.6.0"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ }
+ }
+ },
+ "clean-stack": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
+ "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A=="
+ },
+ "cli-cursor": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
+ "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
+ "requires": {
+ "restore-cursor": "^2.0.0"
+ }
+ },
+ "cli-highlight": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.1.tgz",
+ "integrity": "sha512-0y0VlNmdD99GXZHYnvrQcmHxP8Bi6T00qucGgBgGv4kJ0RyDthNnnFPupHV7PYv/OXSVk+azFbOeaW6+vGmx9A==",
+ "requires": {
+ "chalk": "^2.3.0",
+ "highlight.js": "^9.6.0",
+ "mz": "^2.4.0",
+ "parse5": "^4.0.0",
+ "yargs": "^13.0.0"
+ },
+ "dependencies": {
+ "parse5": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz",
+ "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA=="
+ }
+ }
+ },
+ "cli-spinners": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.2.0.tgz",
+ "integrity": "sha512-tgU3fKwzYjiLEQgPMD9Jt+JjHVL9kW93FiIMX/l7rivvOD4/LL0Mf7gda3+4U2KJBloybwgj5KEoQgGRioMiKQ=="
+ },
+ "cli-width": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz",
+ "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk="
+ },
+ "clipboardy": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-2.1.0.tgz",
+ "integrity": "sha512-2pzOUxWcLlXWtn+Jd6js3o12TysNOOVes/aQfg+MT/35vrxWzedHlLwyoJpXjsFKWm95BTNEcMGD9+a7mKzZkQ==",
+ "requires": {
+ "arch": "^2.1.1",
+ "execa": "^1.0.0"
+ }
+ },
+ "cliui": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz",
+ "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
+ "requires": {
+ "string-width": "^3.1.0",
+ "strip-ansi": "^5.2.0",
+ "wrap-ansi": "^5.1.0"
+ },
+ "dependencies": {
+ "string-width": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
+ "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+ "requires": {
+ "emoji-regex": "^7.0.1",
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^5.1.0"
+ }
+ }
+ }
+ },
+ "clone": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
+ "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4="
+ },
+ "clone-deep": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz",
+ "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==",
+ "requires": {
+ "is-plain-object": "^2.0.4",
+ "kind-of": "^6.0.2",
+ "shallow-clone": "^3.0.0"
+ }
+ },
+ "coa": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz",
+ "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==",
+ "requires": {
+ "@types/q": "^1.5.1",
+ "chalk": "^2.4.1",
+ "q": "^1.1.2"
+ }
+ },
+ "code-point-at": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
+ "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c="
+ },
+ "collection-visit": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
+ "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
+ "requires": {
+ "map-visit": "^1.0.0",
+ "object-visit": "^1.0.0"
+ }
+ },
+ "color": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/color/-/color-3.1.2.tgz",
+ "integrity": "sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==",
+ "requires": {
+ "color-convert": "^1.9.1",
+ "color-string": "^1.5.2"
+ }
+ },
+ "color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "requires": {
+ "color-name": "1.1.3"
+ }
+ },
+ "color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
+ },
+ "color-string": {
+ "version": "1.5.3",
+ "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz",
+ "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==",
+ "requires": {
+ "color-name": "^1.0.0",
+ "simple-swizzle": "^0.2.2"
+ }
+ },
+ "combined-stream": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+ "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
+ "requires": {
+ "delayed-stream": "~1.0.0"
+ }
+ },
+ "commander": {
+ "version": "2.20.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.1.tgz",
+ "integrity": "sha512-cCuLsMhJeWQ/ZpsFTbE765kvVfoeSddc4nU3up4fV+fDBcfUXnbITJ+JzhkdjzOqhURjZgujxaioam4RM9yGUg=="
+ },
+ "commondir": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
+ "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs="
+ },
+ "component-emitter": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
+ "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg=="
+ },
+ "compressible": {
+ "version": "2.0.17",
+ "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.17.tgz",
+ "integrity": "sha512-BGHeLCK1GV7j1bSmQQAi26X+GgWcTjLr/0tzSvMCl3LH1w1IJ4PFSPoV5316b30cneTziC+B1a+3OjoSUcQYmw==",
+ "requires": {
+ "mime-db": ">= 1.40.0 < 2"
+ }
+ },
+ "compression": {
+ "version": "1.7.4",
+ "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz",
+ "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==",
+ "requires": {
+ "accepts": "~1.3.5",
+ "bytes": "3.0.0",
+ "compressible": "~2.0.16",
+ "debug": "2.6.9",
+ "on-headers": "~1.0.2",
+ "safe-buffer": "5.1.2",
+ "vary": "~1.1.2"
+ },
+ "dependencies": {
+ "bytes": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
+ "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg="
+ },
+ "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"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+ }
+ }
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
+ },
+ "concat-stream": {
+ "version": "1.6.2",
+ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
+ "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
+ "requires": {
+ "buffer-from": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^2.2.2",
+ "typedarray": "^0.0.6"
+ }
+ },
+ "confusing-browser-globals": {
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.9.tgz",
+ "integrity": "sha512-KbS1Y0jMtyPgIxjO7ZzMAuUpAKMt1SzCL9fsrKsX6b0zJPTaT0SiSPmewwVZg9UAO83HVIlEhZF84LIjZ0lmAw=="
+ },
+ "connect-history-api-fallback": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz",
+ "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg=="
+ },
+ "consola": {
+ "version": "2.10.1",
+ "resolved": "https://registry.npmjs.org/consola/-/consola-2.10.1.tgz",
+ "integrity": "sha512-4sxpH6SGFYLADfUip4vuY65f/gEogrzJoniVhNUYkJHtng0l8ZjnDCqxxrSVRHOHwKxsy8Vm5ONZh1wOR3/l/w=="
+ },
+ "console-browserify": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz",
+ "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=",
+ "requires": {
+ "date-now": "^0.1.4"
+ }
+ },
+ "consolidate": {
+ "version": "0.15.1",
+ "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.15.1.tgz",
+ "integrity": "sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==",
+ "requires": {
+ "bluebird": "^3.1.1"
+ }
+ },
+ "constants-browserify": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
+ "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U="
+ },
+ "contains-path": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz",
+ "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo="
+ },
+ "content-disposition": {
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz",
+ "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==",
+ "requires": {
+ "safe-buffer": "5.1.2"
+ }
+ },
+ "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=="
+ },
+ "convert-source-map": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz",
+ "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==",
+ "requires": {
+ "safe-buffer": "~5.1.1"
+ }
+ },
+ "cookie": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz",
+ "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg=="
+ },
+ "cookie-signature": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
+ "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
+ },
+ "copy-concurrently": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz",
+ "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==",
+ "requires": {
+ "aproba": "^1.1.1",
+ "fs-write-stream-atomic": "^1.0.8",
+ "iferr": "^0.1.5",
+ "mkdirp": "^0.5.1",
+ "rimraf": "^2.5.4",
+ "run-queue": "^1.0.0"
+ }
+ },
+ "copy-descriptor": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
+ "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40="
+ },
+ "copy-webpack-plugin": {
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-5.0.4.tgz",
+ "integrity": "sha512-YBuYGpSzoCHSSDGyHy6VJ7SHojKp6WHT4D7ItcQFNAYx2hrwkMe56e97xfVR0/ovDuMTrMffXUiltvQljtAGeg==",
+ "requires": {
+ "cacache": "^11.3.3",
+ "find-cache-dir": "^2.1.0",
+ "glob-parent": "^3.1.0",
+ "globby": "^7.1.1",
+ "is-glob": "^4.0.1",
+ "loader-utils": "^1.2.3",
+ "minimatch": "^3.0.4",
+ "normalize-path": "^3.0.0",
+ "p-limit": "^2.2.0",
+ "schema-utils": "^1.0.0",
+ "serialize-javascript": "^1.7.0",
+ "webpack-log": "^2.0.0"
+ },
+ "dependencies": {
+ "cacache": {
+ "version": "11.3.3",
+ "resolved": "https://registry.npmjs.org/cacache/-/cacache-11.3.3.tgz",
+ "integrity": "sha512-p8WcneCytvzPxhDvYp31PD039vi77I12W+/KfR9S8AZbaiARFBCpsPJS+9uhWfeBfeAtW7o/4vt3MUqLkbY6nA==",
+ "requires": {
+ "bluebird": "^3.5.5",
+ "chownr": "^1.1.1",
+ "figgy-pudding": "^3.5.1",
+ "glob": "^7.1.4",
+ "graceful-fs": "^4.1.15",
+ "lru-cache": "^5.1.1",
+ "mississippi": "^3.0.0",
+ "mkdirp": "^0.5.1",
+ "move-concurrently": "^1.0.1",
+ "promise-inflight": "^1.0.1",
+ "rimraf": "^2.6.3",
+ "ssri": "^6.0.1",
+ "unique-filename": "^1.1.1",
+ "y18n": "^4.0.0"
+ }
+ },
+ "globby": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz",
+ "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=",
+ "requires": {
+ "array-union": "^1.0.1",
+ "dir-glob": "^2.0.0",
+ "glob": "^7.1.2",
+ "ignore": "^3.3.5",
+ "pify": "^3.0.0",
+ "slash": "^1.0.0"
+ }
+ },
+ "ignore": {
+ "version": "3.3.10",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz",
+ "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug=="
+ },
+ "p-limit": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz",
+ "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==",
+ "requires": {
+ "p-try": "^2.0.0"
+ }
+ },
+ "p-try": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
+ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="
+ },
+ "pify": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY="
+ },
+ "slash": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
+ "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU="
+ }
+ }
+ },
+ "core-js": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.3.2.tgz",
+ "integrity": "sha512-S1FfZpeBchkhyoY76YAdFzKS4zz9aOK7EeFaNA2aJlyXyA+sgqz6xdxmLPGXEAf0nF44MVN1kSjrA9Kt3ATDQg=="
+ },
+ "core-js-compat": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.3.2.tgz",
+ "integrity": "sha512-gfiK4QnNXhnnHVOIZst2XHdFfdMTPxtR0EGs0TdILMlGIft+087oH6/Sw2xTTIjpWXC9vEwsJA8VG3XTGcmO5g==",
+ "requires": {
+ "browserslist": "^4.7.0",
+ "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=="
+ }
+ }
+ },
+ "core-js-pure": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.3.2.tgz",
+ "integrity": "sha512-sw695hB0UxFXrSkUthEby5tMdjOYN3hVC8IGQePF1m3JYb9e/KjT0TOFWzaSzlKwGNglKCgLYUjiJ7uZvactiw=="
+ },
+ "core-util-is": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
+ },
+ "cosmiconfig": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz",
+ "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==",
+ "requires": {
+ "import-fresh": "^2.0.0",
+ "is-directory": "^0.3.1",
+ "js-yaml": "^3.13.1",
+ "parse-json": "^4.0.0"
+ }
+ },
+ "create-ecdh": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz",
+ "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==",
+ "requires": {
+ "bn.js": "^4.1.0",
+ "elliptic": "^6.0.0"
+ }
+ },
+ "create-hash": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
+ "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
+ "requires": {
+ "cipher-base": "^1.0.1",
+ "inherits": "^2.0.1",
+ "md5.js": "^1.3.4",
+ "ripemd160": "^2.0.1",
+ "sha.js": "^2.4.0"
+ }
+ },
+ "create-hmac": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
+ "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
+ "requires": {
+ "cipher-base": "^1.0.3",
+ "create-hash": "^1.1.0",
+ "inherits": "^2.0.1",
+ "ripemd160": "^2.0.0",
+ "safe-buffer": "^5.0.1",
+ "sha.js": "^2.4.8"
+ }
+ },
+ "cross-spawn": {
+ "version": "6.0.5",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
+ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
+ "requires": {
+ "nice-try": "^1.0.4",
+ "path-key": "^2.0.1",
+ "semver": "^5.5.0",
+ "shebang-command": "^1.2.0",
+ "which": "^1.2.9"
+ }
+ },
+ "crypto-browserify": {
+ "version": "3.12.0",
+ "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
+ "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
+ "requires": {
+ "browserify-cipher": "^1.0.0",
+ "browserify-sign": "^4.0.0",
+ "create-ecdh": "^4.0.0",
+ "create-hash": "^1.1.0",
+ "create-hmac": "^1.1.0",
+ "diffie-hellman": "^5.0.0",
+ "inherits": "^2.0.1",
+ "pbkdf2": "^3.0.3",
+ "public-encrypt": "^4.0.0",
+ "randombytes": "^2.0.0",
+ "randomfill": "^1.0.3"
+ }
+ },
+ "css-color-names": {
+ "version": "0.0.4",
+ "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz",
+ "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA="
+ },
+ "css-declaration-sorter": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz",
+ "integrity": "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==",
+ "requires": {
+ "postcss": "^7.0.1",
+ "timsort": "^0.3.0"
+ }
+ },
+ "css-loader": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.2.0.tgz",
+ "integrity": "sha512-QTF3Ud5H7DaZotgdcJjGMvyDj5F3Pn1j/sC6VBEOVp94cbwqyIBdcs/quzj4MC1BKQSrTpQznegH/5giYbhnCQ==",
+ "requires": {
+ "camelcase": "^5.3.1",
+ "cssesc": "^3.0.0",
+ "icss-utils": "^4.1.1",
+ "loader-utils": "^1.2.3",
+ "normalize-path": "^3.0.0",
+ "postcss": "^7.0.17",
+ "postcss-modules-extract-imports": "^2.0.0",
+ "postcss-modules-local-by-default": "^3.0.2",
+ "postcss-modules-scope": "^2.1.0",
+ "postcss-modules-values": "^3.0.0",
+ "postcss-value-parser": "^4.0.0",
+ "schema-utils": "^2.0.0"
+ },
+ "dependencies": {
+ "cssesc": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
+ "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg=="
+ },
+ "postcss-value-parser": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.0.2.tgz",
+ "integrity": "sha512-LmeoohTpp/K4UiyQCwuGWlONxXamGzCMtFxLq4W1nZVGIQLYvMCJx3yAF9qyyuFpflABI9yVdtJAqbihOsCsJQ=="
+ },
+ "schema-utils": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.5.0.tgz",
+ "integrity": "sha512-32ISrwW2scPXHUSusP8qMg5dLUawKkyV+/qIEV9JdXKx+rsM6mi8vZY8khg2M69Qom16rtroWXD3Ybtiws38gQ==",
+ "requires": {
+ "ajv": "^6.10.2",
+ "ajv-keywords": "^3.4.1"
+ }
+ }
+ }
+ },
+ "css-select": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.0.2.tgz",
+ "integrity": "sha512-dSpYaDVoWaELjvZ3mS6IKZM/y2PMPa/XYoEfYNZePL4U/XgyxZNroHEHReDx/d+VgXh9VbCTtFqLkFbmeqeaRQ==",
+ "requires": {
+ "boolbase": "^1.0.0",
+ "css-what": "^2.1.2",
+ "domutils": "^1.7.0",
+ "nth-check": "^1.0.2"
+ }
+ },
+ "css-select-base-adapter": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz",
+ "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w=="
+ },
+ "css-tree": {
+ "version": "1.0.0-alpha.33",
+ "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.33.tgz",
+ "integrity": "sha512-SPt57bh5nQnpsTBsx/IXbO14sRc9xXu5MtMAVuo0BaQQmyf0NupNPPSoMaqiAF5tDFafYsTkfeH4Q/HCKXkg4w==",
+ "requires": {
+ "mdn-data": "2.0.4",
+ "source-map": "^0.5.3"
+ }
+ },
+ "css-unit-converter": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/css-unit-converter/-/css-unit-converter-1.1.1.tgz",
+ "integrity": "sha1-2bkoGtz9jO2TW9urqDeGiX9k6ZY="
+ },
+ "css-what": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz",
+ "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg=="
+ },
+ "cssesc": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz",
+ "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg=="
+ },
+ "cssnano": {
+ "version": "4.1.10",
+ "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.10.tgz",
+ "integrity": "sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==",
+ "requires": {
+ "cosmiconfig": "^5.0.0",
+ "cssnano-preset-default": "^4.0.7",
+ "is-resolvable": "^1.0.0",
+ "postcss": "^7.0.0"
+ }
+ },
+ "cssnano-preset-default": {
+ "version": "4.0.7",
+ "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz",
+ "integrity": "sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==",
+ "requires": {
+ "css-declaration-sorter": "^4.0.1",
+ "cssnano-util-raw-cache": "^4.0.1",
+ "postcss": "^7.0.0",
+ "postcss-calc": "^7.0.1",
+ "postcss-colormin": "^4.0.3",
+ "postcss-convert-values": "^4.0.1",
+ "postcss-discard-comments": "^4.0.2",
+ "postcss-discard-duplicates": "^4.0.2",
+ "postcss-discard-empty": "^4.0.1",
+ "postcss-discard-overridden": "^4.0.1",
+ "postcss-merge-longhand": "^4.0.11",
+ "postcss-merge-rules": "^4.0.3",
+ "postcss-minify-font-values": "^4.0.2",
+ "postcss-minify-gradients": "^4.0.2",
+ "postcss-minify-params": "^4.0.2",
+ "postcss-minify-selectors": "^4.0.2",
+ "postcss-normalize-charset": "^4.0.1",
+ "postcss-normalize-display-values": "^4.0.2",
+ "postcss-normalize-positions": "^4.0.2",
+ "postcss-normalize-repeat-style": "^4.0.2",
+ "postcss-normalize-string": "^4.0.2",
+ "postcss-normalize-timing-functions": "^4.0.2",
+ "postcss-normalize-unicode": "^4.0.1",
+ "postcss-normalize-url": "^4.0.1",
+ "postcss-normalize-whitespace": "^4.0.2",
+ "postcss-ordered-values": "^4.1.2",
+ "postcss-reduce-initial": "^4.0.3",
+ "postcss-reduce-transforms": "^4.0.2",
+ "postcss-svgo": "^4.0.2",
+ "postcss-unique-selectors": "^4.0.1"
+ }
+ },
+ "cssnano-util-get-arguments": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz",
+ "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8="
+ },
+ "cssnano-util-get-match": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz",
+ "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0="
+ },
+ "cssnano-util-raw-cache": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz",
+ "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==",
+ "requires": {
+ "postcss": "^7.0.0"
+ }
+ },
+ "cssnano-util-same-parent": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz",
+ "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q=="
+ },
+ "csso": {
+ "version": "3.5.1",
+ "resolved": "https://registry.npmjs.org/csso/-/csso-3.5.1.tgz",
+ "integrity": "sha512-vrqULLffYU1Q2tLdJvaCYbONStnfkfimRxXNaGjxMldI0C7JPBC4rB1RyjhfdZ4m1frm8pM9uRPKH3d2knZ8gg==",
+ "requires": {
+ "css-tree": "1.0.0-alpha.29"
+ },
+ "dependencies": {
+ "css-tree": {
+ "version": "1.0.0-alpha.29",
+ "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.29.tgz",
+ "integrity": "sha512-sRNb1XydwkW9IOci6iB2xmy8IGCj6r/fr+JWitvJ2JxQRPzN3T4AGGVWCMlVmVwM1gtgALJRmGIlWv5ppnGGkg==",
+ "requires": {
+ "mdn-data": "~1.1.0",
+ "source-map": "^0.5.3"
+ }
+ },
+ "mdn-data": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-1.1.4.tgz",
+ "integrity": "sha512-FSYbp3lyKjyj3E7fMl6rYvUdX0FBXaluGqlFoYESWQlyUTq8R+wp0rkFxoYFqZlHCvsUXGjyJmLQSnXToYhOSA=="
+ }
+ }
+ },
+ "cssom": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.1.tgz",
+ "integrity": "sha512-6Aajq0XmukE7HdXUU6IoSWuH1H6gH9z6qmagsstTiN7cW2FNTsb+J2Chs+ufPgZCsV/yo8oaEudQLrb9dGxSVQ=="
+ },
+ "cssstyle": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.0.0.tgz",
+ "integrity": "sha512-QXSAu2WBsSRXCPjvI43Y40m6fMevvyRm8JVAuF9ksQz5jha4pWP1wpaK7Yu5oLFc6+XAY+hj8YhefyXcBB53gg==",
+ "requires": {
+ "cssom": "~0.3.6"
+ },
+ "dependencies": {
+ "cssom": {
+ "version": "0.3.8",
+ "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz",
+ "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg=="
+ }
+ }
+ },
+ "current-script-polyfill": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/current-script-polyfill/-/current-script-polyfill-1.0.0.tgz",
+ "integrity": "sha1-8xz35PPiGLBybnOMqSoC00iO9hU="
+ },
+ "cyclist": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz",
+ "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk="
+ },
+ "dashdash": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
+ "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
+ "requires": {
+ "assert-plus": "^1.0.0"
+ }
+ },
+ "data-urls": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz",
+ "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==",
+ "requires": {
+ "abab": "^2.0.0",
+ "whatwg-mimetype": "^2.2.0",
+ "whatwg-url": "^7.0.0"
+ }
+ },
+ "date-now": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz",
+ "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs="
+ },
+ "de-indent": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz",
+ "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0="
+ },
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "decamelize": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA="
+ },
+ "decode-uri-component": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
+ "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU="
+ },
+ "deep-eql": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz",
+ "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==",
+ "requires": {
+ "type-detect": "^4.0.0"
+ }
+ },
+ "deep-equal": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.0.tgz",
+ "integrity": "sha512-ZbfWJq/wN1Z273o7mUSjILYqehAktR2NVoSrOukDkU9kg2v/Uv89yU4Cvz8seJeAmtN5oqiefKq8FPuXOboqLw==",
+ "requires": {
+ "is-arguments": "^1.0.4",
+ "is-date-object": "^1.0.1",
+ "is-regex": "^1.0.4",
+ "object-is": "^1.0.1",
+ "object-keys": "^1.1.1",
+ "regexp.prototype.flags": "^1.2.0"
+ }
+ },
+ "deep-is": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
+ "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ="
+ },
+ "deepmerge": {
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz",
+ "integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ=="
+ },
+ "default-gateway": {
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-5.0.4.tgz",
+ "integrity": "sha512-RncYZFuHZlB69pT3aAZK/YUjOpllMc3pKm/dIxHR0AyJlhRKSFbLIQbZia1WOrNoY0F1UsqadrHW9mx/lAWAgg==",
+ "requires": {
+ "execa": "^3.0.0"
+ },
+ "dependencies": {
+ "cross-spawn": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.1.tgz",
+ "integrity": "sha512-u7v4o84SwFpD32Z8IIcPZ6z1/ie24O6RU3RbtL5Y316l3KuHVPx9ItBgWQ6VlfAFnRnTtMUrsQ9MUUTuEZjogg==",
+ "requires": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ }
+ },
+ "execa": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-3.2.0.tgz",
+ "integrity": "sha512-kJJfVbI/lZE1PZYDI5VPxp8zXPO9rtxOkhpZ0jMKha56AI9y2gGVC6bkukStQf0ka5Rh15BA5m7cCCH4jmHqkw==",
+ "requires": {
+ "cross-spawn": "^7.0.0",
+ "get-stream": "^5.0.0",
+ "human-signals": "^1.1.1",
+ "is-stream": "^2.0.0",
+ "merge-stream": "^2.0.0",
+ "npm-run-path": "^4.0.0",
+ "onetime": "^5.1.0",
+ "p-finally": "^2.0.0",
+ "signal-exit": "^3.0.2",
+ "strip-final-newline": "^2.0.0"
+ }
+ },
+ "get-stream": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz",
+ "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==",
+ "requires": {
+ "pump": "^3.0.0"
+ }
+ },
+ "is-stream": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz",
+ "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw=="
+ },
+ "mimic-fn": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
+ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg=="
+ },
+ "npm-run-path": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.0.tgz",
+ "integrity": "sha512-8eyAOAH+bYXFPSnNnKr3J+yoybe8O87Is5rtAQ8qRczJz1ajcsjg8l2oZqP+Ppx15Ii3S1vUTjQN2h4YO2tWWQ==",
+ "requires": {
+ "path-key": "^3.0.0"
+ }
+ },
+ "onetime": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz",
+ "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==",
+ "requires": {
+ "mimic-fn": "^2.1.0"
+ }
+ },
+ "p-finally": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz",
+ "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw=="
+ },
+ "path-key": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.0.tgz",
+ "integrity": "sha512-8cChqz0RP6SHJkMt48FW0A7+qUOn+OsnOsVtzI59tZ8m+5bCSk7hzwET0pulwOM2YMn9J1efb07KB9l9f30SGg=="
+ },
+ "shebang-command": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+ "requires": {
+ "shebang-regex": "^3.0.0"
+ }
+ },
+ "shebang-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="
+ },
+ "which": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.1.tgz",
+ "integrity": "sha512-N7GBZOTswtB9lkQBZA4+zAXrjEIWAUOB93AvzUiudRzRxhUdLURQ7D/gAIMY1gatT/LTbmbcv8SiYazy3eYB7w==",
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ }
+ }
+ },
+ "defaults": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
+ "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=",
+ "requires": {
+ "clone": "^1.0.2"
+ }
+ },
+ "define-properties": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
+ "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
+ "requires": {
+ "object-keys": "^1.0.12"
+ }
+ },
+ "define-property": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
+ "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
+ "requires": {
+ "is-descriptor": "^1.0.2",
+ "isobject": "^3.0.1"
+ },
+ "dependencies": {
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "requires": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ }
+ }
+ }
+ },
+ "del": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz",
+ "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==",
+ "requires": {
+ "@types/glob": "^7.1.1",
+ "globby": "^6.1.0",
+ "is-path-cwd": "^2.0.0",
+ "is-path-in-cwd": "^2.0.0",
+ "p-map": "^2.0.0",
+ "pify": "^4.0.1",
+ "rimraf": "^2.6.3"
+ },
+ "dependencies": {
+ "globby": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz",
+ "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=",
+ "requires": {
+ "array-union": "^1.0.1",
+ "glob": "^7.0.3",
+ "object-assign": "^4.0.1",
+ "pify": "^2.0.0",
+ "pinkie-promise": "^2.0.0"
+ },
+ "dependencies": {
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
+ }
+ }
+ },
+ "p-map": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz",
+ "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw=="
+ }
+ }
+ },
+ "delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
+ },
+ "depd": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
+ "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
+ },
+ "des.js": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz",
+ "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=",
+ "requires": {
+ "inherits": "^2.0.1",
+ "minimalistic-assert": "^1.0.0"
+ }
+ },
+ "destroy": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
+ "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
+ },
+ "detect-node": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz",
+ "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw=="
+ },
+ "diff": {
+ "version": "3.5.0",
+ "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
+ "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA=="
+ },
+ "diffie-hellman": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
+ "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
+ "requires": {
+ "bn.js": "^4.1.0",
+ "miller-rabin": "^4.0.0",
+ "randombytes": "^2.0.0"
+ }
+ },
+ "dir-glob": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz",
+ "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==",
+ "requires": {
+ "path-type": "^3.0.0"
+ }
+ },
+ "dns-equal": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz",
+ "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0="
+ },
+ "dns-packet": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz",
+ "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==",
+ "requires": {
+ "ip": "^1.1.0",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "dns-txt": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz",
+ "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=",
+ "requires": {
+ "buffer-indexof": "^1.0.0"
+ }
+ },
+ "doctrine": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
+ "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
+ "requires": {
+ "esutils": "^2.0.2"
+ }
+ },
+ "dom-converter": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz",
+ "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==",
+ "requires": {
+ "utila": "~0.4"
+ }
+ },
+ "dom-event-types": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/dom-event-types/-/dom-event-types-1.0.0.tgz",
+ "integrity": "sha512-2G2Vwi2zXTHBGqXHsJ4+ak/iP0N8Ar+G8a7LiD2oup5o4sQWytwqqrZu/O6hIMV0KMID2PL69OhpshLO0n7UJQ=="
+ },
+ "dom-serializer": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.1.tgz",
+ "integrity": "sha512-sK3ujri04WyjwQXVoK4PU3y8ula1stq10GJZpqHIUgoGZdsGzAGu65BnU3d08aTVSvO7mGPZUc0wTEDL+qGE0Q==",
+ "requires": {
+ "domelementtype": "^2.0.1",
+ "entities": "^2.0.0"
+ },
+ "dependencies": {
+ "domelementtype": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz",
+ "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ=="
+ }
+ }
+ },
+ "domain-browser": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
+ "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA=="
+ },
+ "domelementtype": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz",
+ "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w=="
+ },
+ "domexception": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz",
+ "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==",
+ "requires": {
+ "webidl-conversions": "^4.0.2"
+ }
+ },
+ "domhandler": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz",
+ "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==",
+ "requires": {
+ "domelementtype": "1"
+ }
+ },
+ "domutils": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz",
+ "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==",
+ "requires": {
+ "dom-serializer": "0",
+ "domelementtype": "1"
+ }
+ },
+ "dot-prop": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz",
+ "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==",
+ "requires": {
+ "is-obj": "^1.0.0"
+ }
+ },
+ "dotenv": {
+ "version": "8.2.0",
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz",
+ "integrity": "sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw=="
+ },
+ "dotenv-expand": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz",
+ "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA=="
+ },
+ "duplexer": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz",
+ "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E="
+ },
+ "duplexify": {
+ "version": "3.7.1",
+ "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz",
+ "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==",
+ "requires": {
+ "end-of-stream": "^1.0.0",
+ "inherits": "^2.0.1",
+ "readable-stream": "^2.0.0",
+ "stream-shift": "^1.0.0"
+ }
+ },
+ "easy-stack": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/easy-stack/-/easy-stack-1.0.0.tgz",
+ "integrity": "sha1-EskbMIWjfwuqM26UhurEv5Tj54g="
+ },
+ "ecc-jsbn": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
+ "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
+ "requires": {
+ "jsbn": "~0.1.0",
+ "safer-buffer": "^2.1.0"
+ }
+ },
+ "ee-first": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
+ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
+ },
+ "ejs": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.1.tgz",
+ "integrity": "sha512-kS/gEPzZs3Y1rRsbGX4UOSjtP/CeJP0CxSNZHYxGfVM/VgLcv0ZqM7C45YyTj2DI2g7+P9Dd24C+IMIg6D0nYQ=="
+ },
+ "electron-to-chromium": {
+ "version": "1.3.282",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.282.tgz",
+ "integrity": "sha512-irSaDeCGgfMu1OA30bhqIBr+dx+pDJjRbwCpob7YWqVZbzXblybNzPGklVnWqv4EXxbkEAzQYqiNCqNTgu00lQ=="
+ },
+ "element-in-view": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/element-in-view/-/element-in-view-0.1.0.tgz",
+ "integrity": "sha1-Zi9B+ajTuMpFh8HdtCe30nr4i8k="
+ },
+ "elliptic": {
+ "version": "6.5.1",
+ "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.1.tgz",
+ "integrity": "sha512-xvJINNLbTeWQjrl6X+7eQCrIy/YPv5XCpKW6kB5mKvtnGILoLDcySuwomfdzt0BMdLNVnuRNTuzKNHj0bva1Cg==",
+ "requires": {
+ "bn.js": "^4.4.0",
+ "brorand": "^1.0.1",
+ "hash.js": "^1.0.0",
+ "hmac-drbg": "^1.0.0",
+ "inherits": "^2.0.1",
+ "minimalistic-assert": "^1.0.0",
+ "minimalistic-crypto-utils": "^1.0.0"
+ }
+ },
+ "emoji-regex": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
+ "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA=="
+ },
+ "emojis-list": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
+ "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k="
+ },
+ "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"
+ }
+ },
+ "enhanced-resolve": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz",
+ "integrity": "sha512-98p2zE+rL7/g/DzMHMTF4zZlCgeVdJ7yr6xzEpJRYwFYrGi9ANdn5DnJURg6RpBkyk60XYDnWIv51VfIhfNGuA==",
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "memory-fs": "^0.5.0",
+ "tapable": "^1.0.0"
+ },
+ "dependencies": {
+ "memory-fs": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz",
+ "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==",
+ "requires": {
+ "errno": "^0.1.3",
+ "readable-stream": "^2.0.1"
+ }
+ }
+ }
+ },
+ "entities": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.0.tgz",
+ "integrity": "sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw=="
+ },
+ "errno": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz",
+ "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==",
+ "requires": {
+ "prr": "~1.0.1"
+ }
+ },
+ "error-ex": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
+ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+ "requires": {
+ "is-arrayish": "^0.2.1"
+ }
+ },
+ "error-stack-parser": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.4.tgz",
+ "integrity": "sha512-fZ0KkoxSjLFmhW5lHbUT3tLwy3nX1qEzMYo8koY1vrsAco53CMT1djnBSeC/wUjTEZRhZl9iRw7PaMaxfJ4wzQ==",
+ "requires": {
+ "stackframe": "^1.1.0"
+ }
+ },
+ "es-abstract": {
+ "version": "1.15.0",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.15.0.tgz",
+ "integrity": "sha512-bhkEqWJ2t2lMeaJDuk7okMkJWI/yqgH/EoGwpcvv0XW9RWQsRspI4wt6xuyuvMvvQE3gg/D9HXppgk21w78GyQ==",
+ "requires": {
+ "es-to-primitive": "^1.2.0",
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.0",
+ "is-callable": "^1.1.4",
+ "is-regex": "^1.0.4",
+ "object-inspect": "^1.6.0",
+ "object-keys": "^1.1.1",
+ "string.prototype.trimleft": "^2.1.0",
+ "string.prototype.trimright": "^2.1.0"
+ }
+ },
+ "es-to-primitive": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz",
+ "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==",
+ "requires": {
+ "is-callable": "^1.1.4",
+ "is-date-object": "^1.0.1",
+ "is-symbol": "^1.0.2"
+ }
+ },
+ "escape-html": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+ "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
+ },
+ "escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
+ },
+ "escodegen": {
+ "version": "1.12.0",
+ "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.12.0.tgz",
+ "integrity": "sha512-TuA+EhsanGcme5T3R0L80u4t8CpbXQjegRmf7+FPTJrtCTErXFeelblRgHQa1FofEzqYYJmJ/OqjTwREp9qgmg==",
+ "requires": {
+ "esprima": "^3.1.3",
+ "estraverse": "^4.2.0",
+ "esutils": "^2.0.2",
+ "optionator": "^0.8.1",
+ "source-map": "~0.6.1"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "optional": true
+ }
+ }
+ },
+ "eslint": {
+ "version": "6.5.1",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.5.1.tgz",
+ "integrity": "sha512-32h99BoLYStT1iq1v2P9uwpyznQ4M2jRiFB6acitKz52Gqn+vPaMDUTB1bYi1WN4Nquj2w+t+bimYUG83DC55A==",
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "ajv": "^6.10.0",
+ "chalk": "^2.1.0",
+ "cross-spawn": "^6.0.5",
+ "debug": "^4.0.1",
+ "doctrine": "^3.0.0",
+ "eslint-scope": "^5.0.0",
+ "eslint-utils": "^1.4.2",
+ "eslint-visitor-keys": "^1.1.0",
+ "espree": "^6.1.1",
+ "esquery": "^1.0.1",
+ "esutils": "^2.0.2",
+ "file-entry-cache": "^5.0.1",
+ "functional-red-black-tree": "^1.0.1",
+ "glob-parent": "^5.0.0",
+ "globals": "^11.7.0",
+ "ignore": "^4.0.6",
+ "import-fresh": "^3.0.0",
+ "imurmurhash": "^0.1.4",
+ "inquirer": "^6.4.1",
+ "is-glob": "^4.0.0",
+ "js-yaml": "^3.13.1",
+ "json-stable-stringify-without-jsonify": "^1.0.1",
+ "levn": "^0.3.0",
+ "lodash": "^4.17.14",
+ "minimatch": "^3.0.4",
+ "mkdirp": "^0.5.1",
+ "natural-compare": "^1.4.0",
+ "optionator": "^0.8.2",
+ "progress": "^2.0.0",
+ "regexpp": "^2.0.1",
+ "semver": "^6.1.2",
+ "strip-ansi": "^5.2.0",
+ "strip-json-comments": "^3.0.1",
+ "table": "^5.2.3",
+ "text-table": "^0.2.0",
+ "v8-compile-cache": "^2.0.3"
+ },
+ "dependencies": {
+ "eslint-scope": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz",
+ "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==",
+ "requires": {
+ "esrecurse": "^4.1.0",
+ "estraverse": "^4.1.1"
+ }
+ },
+ "glob-parent": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz",
+ "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==",
+ "requires": {
+ "is-glob": "^4.0.1"
+ }
+ },
+ "import-fresh": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.1.0.tgz",
+ "integrity": "sha512-PpuksHKGt8rXfWEr9m9EHIpgyyaltBy8+eF6GJM0QCAxMgxCfucMF3mjecK2QsJr0amJW7gTqh5/wht0z2UhEQ==",
+ "requires": {
+ "parent-module": "^1.0.0",
+ "resolve-from": "^4.0.0"
+ }
+ },
+ "resolve-from": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
+ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g=="
+ },
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
+ },
+ "strip-json-comments": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz",
+ "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw=="
+ }
+ }
+ },
+ "eslint-config-airbnb-base": {
+ "version": "14.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-14.0.0.tgz",
+ "integrity": "sha512-2IDHobw97upExLmsebhtfoD3NAKhV4H0CJWP3Uprd/uk+cHuWYOczPVxQ8PxLFUAw7o3Th1RAU8u1DoUpr+cMA==",
+ "requires": {
+ "confusing-browser-globals": "^1.0.7",
+ "object.assign": "^4.1.0",
+ "object.entries": "^1.1.0"
+ }
+ },
+ "eslint-config-habitrpg": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-config-habitrpg/-/eslint-config-habitrpg-6.1.0.tgz",
+ "integrity": "sha512-kB5xmxsw87Tj9wbSkBgI6H8XILVU70qw0oc4oxvQe34q3JEYgsy7ZNqtNGUd6AJY7AdxWXIvWfsrmJQp2E1l1g==",
+ "requires": {
+ "eslint": "^6.5.1",
+ "eslint-config-airbnb-base": "^14.0.0",
+ "eslint-plugin-import": "^2.18.2",
+ "eslint-plugin-mocha": "^6.1.1",
+ "eslint-plugin-vue": "^5.2.3"
+ },
+ "dependencies": {
+ "acorn": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.0.tgz",
+ "integrity": "sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ=="
+ },
+ "eslint": {
+ "version": "6.5.1",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.5.1.tgz",
+ "integrity": "sha512-32h99BoLYStT1iq1v2P9uwpyznQ4M2jRiFB6acitKz52Gqn+vPaMDUTB1bYi1WN4Nquj2w+t+bimYUG83DC55A==",
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "ajv": "^6.10.0",
+ "chalk": "^2.1.0",
+ "cross-spawn": "^6.0.5",
+ "debug": "^4.0.1",
+ "doctrine": "^3.0.0",
+ "eslint-scope": "^5.0.0",
+ "eslint-utils": "^1.4.2",
+ "eslint-visitor-keys": "^1.1.0",
+ "espree": "^6.1.1",
+ "esquery": "^1.0.1",
+ "esutils": "^2.0.2",
+ "file-entry-cache": "^5.0.1",
+ "functional-red-black-tree": "^1.0.1",
+ "glob-parent": "^5.0.0",
+ "globals": "^11.7.0",
+ "ignore": "^4.0.6",
+ "import-fresh": "^3.0.0",
+ "imurmurhash": "^0.1.4",
+ "inquirer": "^6.4.1",
+ "is-glob": "^4.0.0",
+ "js-yaml": "^3.13.1",
+ "json-stable-stringify-without-jsonify": "^1.0.1",
+ "levn": "^0.3.0",
+ "lodash": "^4.17.14",
+ "minimatch": "^3.0.4",
+ "mkdirp": "^0.5.1",
+ "natural-compare": "^1.4.0",
+ "optionator": "^0.8.2",
+ "progress": "^2.0.0",
+ "regexpp": "^2.0.1",
+ "semver": "^6.1.2",
+ "strip-ansi": "^5.2.0",
+ "strip-json-comments": "^3.0.1",
+ "table": "^5.2.3",
+ "text-table": "^0.2.0",
+ "v8-compile-cache": "^2.0.3"
+ }
+ },
+ "eslint-plugin-mocha": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-6.2.0.tgz",
+ "integrity": "sha512-vE/+tHJVom2BkMOiwkOKcAM5YqGPk3C6gMvQ32DHihKkaXF6vmxtj3UEOg64wP3m8/Zk5V/UmQbFE5nqu1EXSg==",
+ "requires": {
+ "ramda": "^0.26.1"
+ }
+ },
+ "eslint-scope": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz",
+ "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==",
+ "requires": {
+ "esrecurse": "^4.1.0",
+ "estraverse": "^4.1.1"
+ }
+ },
+ "espree": {
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-6.1.1.tgz",
+ "integrity": "sha512-EYbr8XZUhWbYCqQRW0duU5LxzL5bETN6AjKBGy1302qqzPaCH10QbRg3Wvco79Z8x9WbiE8HYB4e75xl6qUYvQ==",
+ "requires": {
+ "acorn": "^7.0.0",
+ "acorn-jsx": "^5.0.2",
+ "eslint-visitor-keys": "^1.1.0"
+ }
+ },
+ "glob-parent": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz",
+ "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==",
+ "requires": {
+ "is-glob": "^4.0.1"
+ }
+ },
+ "import-fresh": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.1.0.tgz",
+ "integrity": "sha512-PpuksHKGt8rXfWEr9m9EHIpgyyaltBy8+eF6GJM0QCAxMgxCfucMF3mjecK2QsJr0amJW7gTqh5/wht0z2UhEQ==",
+ "requires": {
+ "parent-module": "^1.0.0",
+ "resolve-from": "^4.0.0"
+ }
+ },
+ "resolve-from": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
+ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g=="
+ },
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
+ },
+ "strip-json-comments": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz",
+ "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw=="
+ }
+ }
+ },
+ "eslint-import-resolver-node": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz",
+ "integrity": "sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q==",
+ "requires": {
+ "debug": "^2.6.9",
+ "resolve": "^1.5.0"
+ },
+ "dependencies": {
+ "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"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+ }
+ }
+ },
+ "eslint-loader": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/eslint-loader/-/eslint-loader-2.2.1.tgz",
+ "integrity": "sha512-RLgV9hoCVsMLvOxCuNjdqOrUqIj9oJg8hF44vzJaYqsAHuY9G2YAeN3joQ9nxP0p5Th9iFSIpKo+SD8KISxXRg==",
+ "requires": {
+ "loader-fs-cache": "^1.0.0",
+ "loader-utils": "^1.0.2",
+ "object-assign": "^4.0.1",
+ "object-hash": "^1.1.4",
+ "rimraf": "^2.6.1"
+ }
+ },
+ "eslint-module-utils": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.4.1.tgz",
+ "integrity": "sha512-H6DOj+ejw7Tesdgbfs4jeS4YMFrT8uI8xwd1gtQqXssaR0EQ26L+2O/w6wkYFy2MymON0fTwHmXBvvfLNZVZEw==",
+ "requires": {
+ "debug": "^2.6.8",
+ "pkg-dir": "^2.0.0"
+ },
+ "dependencies": {
+ "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"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+ },
+ "pkg-dir": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz",
+ "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=",
+ "requires": {
+ "find-up": "^2.1.0"
+ }
+ }
+ }
+ },
+ "eslint-plugin-import": {
+ "version": "2.18.2",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.18.2.tgz",
+ "integrity": "sha512-5ohpsHAiUBRNaBWAF08izwUGlbrJoJJ+W9/TBwsGoR1MnlgfwMIKrFeSjWbt6moabiXW9xNvtFz+97KHRfI4HQ==",
+ "requires": {
+ "array-includes": "^3.0.3",
+ "contains-path": "^0.1.0",
+ "debug": "^2.6.9",
+ "doctrine": "1.5.0",
+ "eslint-import-resolver-node": "^0.3.2",
+ "eslint-module-utils": "^2.4.0",
+ "has": "^1.0.3",
+ "minimatch": "^3.0.4",
+ "object.values": "^1.1.0",
+ "read-pkg-up": "^2.0.0",
+ "resolve": "^1.11.0"
+ },
+ "dependencies": {
+ "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"
+ }
+ },
+ "doctrine": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz",
+ "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=",
+ "requires": {
+ "esutils": "^2.0.2",
+ "isarray": "^1.0.0"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+ }
+ }
+ },
+ "eslint-plugin-mocha": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-5.3.0.tgz",
+ "integrity": "sha512-3uwlJVLijjEmBeNyH60nzqgA1gacUWLUmcKV8PIGNvj1kwP/CTgAWQHn2ayyJVwziX+KETkr9opNwT1qD/RZ5A==",
+ "requires": {
+ "ramda": "^0.26.1"
+ }
+ },
+ "eslint-plugin-vue": {
+ "version": "5.2.3",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-5.2.3.tgz",
+ "integrity": "sha512-mGwMqbbJf0+VvpGR5Lllq0PMxvTdrZ/ZPjmhkacrCHbubJeJOt+T6E3HUzAifa2Mxi7RSdJfC9HFpOeSYVMMIw==",
+ "requires": {
+ "vue-eslint-parser": "^5.0.0"
+ }
+ },
+ "eslint-scope": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz",
+ "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==",
+ "requires": {
+ "esrecurse": "^4.1.0",
+ "estraverse": "^4.1.1"
+ }
+ },
+ "eslint-utils": {
+ "version": "1.4.2",
+ "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.2.tgz",
+ "integrity": "sha512-eAZS2sEUMlIeCjBeubdj45dmBHQwPHWyBcT1VSYB7o9x9WRRqKxyUoiXlRjyAwzN7YEzHJlYg0NmzDRWx6GP4Q==",
+ "requires": {
+ "eslint-visitor-keys": "^1.0.0"
+ }
+ },
+ "eslint-visitor-keys": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz",
+ "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A=="
+ },
+ "espree": {
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-6.1.1.tgz",
+ "integrity": "sha512-EYbr8XZUhWbYCqQRW0duU5LxzL5bETN6AjKBGy1302qqzPaCH10QbRg3Wvco79Z8x9WbiE8HYB4e75xl6qUYvQ==",
+ "requires": {
+ "acorn": "^7.0.0",
+ "acorn-jsx": "^5.0.2",
+ "eslint-visitor-keys": "^1.1.0"
+ },
+ "dependencies": {
+ "acorn": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.0.tgz",
+ "integrity": "sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ=="
+ }
+ }
+ },
+ "esprima": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz",
+ "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM="
+ },
+ "esquery": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz",
+ "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==",
+ "requires": {
+ "estraverse": "^4.0.0"
+ }
+ },
+ "esrecurse": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz",
+ "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==",
+ "requires": {
+ "estraverse": "^4.1.0"
+ }
+ },
+ "estraverse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
+ "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw=="
+ },
+ "esutils": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
+ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="
+ },
+ "etag": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
+ "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
+ },
+ "event-pubsub": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/event-pubsub/-/event-pubsub-4.3.0.tgz",
+ "integrity": "sha512-z7IyloorXvKbFx9Bpie2+vMJKKx1fH1EN5yiTfp8CiLOTptSYy1g8H4yDpGlEdshL1PBiFtBHepF2cNsqeEeFQ=="
+ },
+ "eventemitter3": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.0.tgz",
+ "integrity": "sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg=="
+ },
+ "events": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz",
+ "integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA=="
+ },
+ "eventsource": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz",
+ "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==",
+ "requires": {
+ "original": "^1.0.0"
+ }
+ },
+ "evp_bytestokey": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
+ "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
+ "requires": {
+ "md5.js": "^1.3.4",
+ "safe-buffer": "^5.1.1"
+ }
+ },
+ "execa": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
+ "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
+ "requires": {
+ "cross-spawn": "^6.0.0",
+ "get-stream": "^4.0.0",
+ "is-stream": "^1.1.0",
+ "npm-run-path": "^2.0.0",
+ "p-finally": "^1.0.0",
+ "signal-exit": "^3.0.0",
+ "strip-eof": "^1.0.0"
+ }
+ },
+ "expand-brackets": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
+ "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
+ "requires": {
+ "debug": "^2.3.3",
+ "define-property": "^0.2.5",
+ "extend-shallow": "^2.0.1",
+ "posix-character-classes": "^0.1.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "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"
+ }
+ },
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+ }
+ }
+ },
+ "express": {
+ "version": "4.17.1",
+ "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
+ "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==",
+ "requires": {
+ "accepts": "~1.3.7",
+ "array-flatten": "1.1.1",
+ "body-parser": "1.19.0",
+ "content-disposition": "0.5.3",
+ "content-type": "~1.0.4",
+ "cookie": "0.4.0",
+ "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.5",
+ "qs": "6.7.0",
+ "range-parser": "~1.2.1",
+ "safe-buffer": "5.1.2",
+ "send": "0.17.1",
+ "serve-static": "1.14.1",
+ "setprototypeof": "1.1.1",
+ "statuses": "~1.5.0",
+ "type-is": "~1.6.18",
+ "utils-merge": "1.0.1",
+ "vary": "~1.1.2"
+ },
+ "dependencies": {
+ "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"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+ },
+ "qs": {
+ "version": "6.7.0",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
+ "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ=="
+ }
+ }
+ },
+ "extend": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
+ },
+ "extend-shallow": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
+ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
+ "requires": {
+ "assign-symbols": "^1.0.0",
+ "is-extendable": "^1.0.1"
+ },
+ "dependencies": {
+ "is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "requires": {
+ "is-plain-object": "^2.0.4"
+ }
+ }
+ }
+ },
+ "external-editor": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
+ "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
+ "requires": {
+ "chardet": "^0.7.0",
+ "iconv-lite": "^0.4.24",
+ "tmp": "^0.0.33"
+ }
+ },
+ "extglob": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
+ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
+ "requires": {
+ "array-unique": "^0.3.2",
+ "define-property": "^1.0.0",
+ "expand-brackets": "^2.1.4",
+ "extend-shallow": "^2.0.1",
+ "fragment-cache": "^0.2.1",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "requires": {
+ "is-descriptor": "^1.0.0"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "requires": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ }
+ }
+ }
+ },
+ "extsprintf": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
+ "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
+ },
+ "fast-deep-equal": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
+ "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk="
+ },
+ "fast-glob": {
+ "version": "2.2.7",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz",
+ "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==",
+ "requires": {
+ "@mrmlnc/readdir-enhanced": "^2.2.1",
+ "@nodelib/fs.stat": "^1.1.2",
+ "glob-parent": "^3.1.0",
+ "is-glob": "^4.0.0",
+ "merge2": "^1.2.3",
+ "micromatch": "^3.1.10"
+ }
+ },
+ "fast-json-stable-stringify": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
+ "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I="
+ },
+ "fast-levenshtein": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc="
+ },
+ "fastq": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.6.0.tgz",
+ "integrity": "sha512-jmxqQ3Z/nXoeyDmWAzF9kH1aGZSis6e/SbfPmJpUnyZ0ogr6iscHQaml4wsEepEWSdtmpy+eVXmCRIMpxaXqOA==",
+ "requires": {
+ "reusify": "^1.0.0"
+ }
+ },
+ "faye-websocket": {
+ "version": "0.10.0",
+ "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz",
+ "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=",
+ "requires": {
+ "websocket-driver": ">=0.5.1"
+ }
+ },
+ "figgy-pudding": {
+ "version": "3.5.1",
+ "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz",
+ "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w=="
+ },
+ "figures": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
+ "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=",
+ "requires": {
+ "escape-string-regexp": "^1.0.5"
+ }
+ },
+ "file-entry-cache": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz",
+ "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==",
+ "requires": {
+ "flat-cache": "^2.0.1"
+ }
+ },
+ "file-loader": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-4.2.0.tgz",
+ "integrity": "sha512-+xZnaK5R8kBJrHK0/6HRlrKNamvVS5rjyuju+rnyxRGuwUJwpAMsVzUl5dz6rK8brkzjV6JpcFNjp6NqV0g1OQ==",
+ "requires": {
+ "loader-utils": "^1.2.3",
+ "schema-utils": "^2.0.0"
+ },
+ "dependencies": {
+ "schema-utils": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.4.1.tgz",
+ "integrity": "sha512-RqYLpkPZX5Oc3fw/kHHHyP56fg5Y+XBpIpV8nCg0znIALfq3OH+Ea9Hfeac9BAMwG5IICltiZ0vxFvJQONfA5w==",
+ "requires": {
+ "ajv": "^6.10.2",
+ "ajv-keywords": "^3.4.1"
+ }
+ }
+ }
+ },
+ "filesize": {
+ "version": "3.6.1",
+ "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz",
+ "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg=="
+ },
+ "fill-range": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
+ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+ "requires": {
+ "extend-shallow": "^2.0.1",
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1",
+ "to-regex-range": "^2.1.0"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "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"
+ },
+ "dependencies": {
+ "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"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+ }
+ }
+ },
+ "find-babel-config": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/find-babel-config/-/find-babel-config-1.2.0.tgz",
+ "integrity": "sha512-jB2CHJeqy6a820ssiqwrKMeyC6nNdmrcgkKWJWmpoxpE8RKciYJXCcXRq1h2AzCo5I5BJeN2tkGEO3hLTuePRA==",
+ "requires": {
+ "json5": "^0.5.1",
+ "path-exists": "^3.0.0"
+ },
+ "dependencies": {
+ "json5": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
+ "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE="
+ }
+ }
+ },
+ "find-cache-dir": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz",
+ "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==",
+ "requires": {
+ "commondir": "^1.0.1",
+ "make-dir": "^2.0.0",
+ "pkg-dir": "^3.0.0"
+ }
+ },
+ "find-up": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
+ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
+ "requires": {
+ "locate-path": "^2.0.0"
+ }
+ },
+ "flat": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.0.tgz",
+ "integrity": "sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw==",
+ "requires": {
+ "is-buffer": "~2.0.3"
+ },
+ "dependencies": {
+ "is-buffer": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz",
+ "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A=="
+ }
+ }
+ },
+ "flat-cache": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz",
+ "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==",
+ "requires": {
+ "flatted": "^2.0.0",
+ "rimraf": "2.6.3",
+ "write": "1.0.3"
+ },
+ "dependencies": {
+ "rimraf": {
+ "version": "2.6.3",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
+ "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ }
+ }
+ },
+ "flatted": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz",
+ "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg=="
+ },
+ "flush-write-stream": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz",
+ "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==",
+ "requires": {
+ "inherits": "^2.0.3",
+ "readable-stream": "^2.3.6"
+ }
+ },
+ "follow-redirects": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.9.0.tgz",
+ "integrity": "sha512-CRcPzsSIbXyVDl0QI01muNDu69S8trU4jArW9LpOt2WtC6LyUJetcIrmfHsRBx7/Jb6GHJUiuqyYxPooFfNt6A==",
+ "requires": {
+ "debug": "^3.0.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
+ "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ }
+ }
+ },
+ "for-in": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
+ "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA="
+ },
+ "forever-agent": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+ "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
+ },
+ "form-data": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
+ "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
+ "requires": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.6",
+ "mime-types": "^2.1.12"
+ }
+ },
+ "forwarded": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
+ "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ="
+ },
+ "fp-ts": {
+ "version": "1.19.5",
+ "resolved": "https://registry.npmjs.org/fp-ts/-/fp-ts-1.19.5.tgz",
+ "integrity": "sha512-wDNqTimnzs8QqpldiId9OavWK2NptormjXnRJTQecNjzwfyp6P/8s/zG8e4h3ja3oqkKaY72UlTjQYt/1yXf9A=="
+ },
+ "fragment-cache": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
+ "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
+ "requires": {
+ "map-cache": "^0.2.2"
+ }
+ },
+ "fresh": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
+ "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
+ },
+ "from2": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
+ "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
+ "requires": {
+ "inherits": "^2.0.1",
+ "readable-stream": "^2.0.0"
+ }
+ },
+ "fs-extra": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
+ "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "jsonfile": "^4.0.0",
+ "universalify": "^0.1.0"
+ }
+ },
+ "fs-minipass": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.0.0.tgz",
+ "integrity": "sha512-40Qz+LFXmd9tzYVnnBmZvFfvAADfUA14TXPK1s7IfElJTIZ97rA8w4Kin7Wt5JBrC3ShnnFJO/5vPjPEeJIq9A==",
+ "requires": {
+ "minipass": "^3.0.0"
+ }
+ },
+ "fs-write-stream-atomic": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz",
+ "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=",
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "iferr": "^0.1.5",
+ "imurmurhash": "^0.1.4",
+ "readable-stream": "1 || 2"
+ }
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
+ },
+ "fsevents": {
+ "version": "1.2.9",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz",
+ "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==",
+ "optional": true,
+ "requires": {
+ "nan": "^2.12.1",
+ "node-pre-gyp": "^0.12.0"
+ },
+ "dependencies": {
+ "abbrev": {
+ "version": "1.1.1",
+ "resolved": false,
+ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
+ "optional": true
+ },
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": false,
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "optional": true
+ },
+ "aproba": {
+ "version": "1.2.0",
+ "resolved": false,
+ "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
+ "optional": true
+ },
+ "are-we-there-yet": {
+ "version": "1.1.5",
+ "resolved": false,
+ "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==",
+ "optional": true,
+ "requires": {
+ "delegates": "^1.0.0",
+ "readable-stream": "^2.0.6"
+ }
+ },
+ "balanced-match": {
+ "version": "1.0.0",
+ "resolved": false,
+ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
+ "optional": true
+ },
+ "brace-expansion": {
+ "version": "1.1.11",
+ "resolved": false,
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "optional": true,
+ "requires": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "chownr": {
+ "version": "1.1.1",
+ "resolved": false,
+ "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==",
+ "optional": true
+ },
+ "code-point-at": {
+ "version": "1.1.0",
+ "resolved": false,
+ "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
+ "optional": true
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "resolved": false,
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
+ "optional": true
+ },
+ "console-control-strings": {
+ "version": "1.1.0",
+ "resolved": false,
+ "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
+ "optional": true
+ },
+ "core-util-is": {
+ "version": "1.0.2",
+ "resolved": false,
+ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
+ "optional": true
+ },
+ "debug": {
+ "version": "4.1.1",
+ "resolved": false,
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "optional": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "deep-extend": {
+ "version": "0.6.0",
+ "resolved": false,
+ "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
+ "optional": true
+ },
+ "delegates": {
+ "version": "1.0.0",
+ "resolved": false,
+ "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=",
+ "optional": true
+ },
+ "detect-libc": {
+ "version": "1.0.3",
+ "resolved": false,
+ "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=",
+ "optional": true
+ },
+ "fs-minipass": {
+ "version": "1.2.5",
+ "resolved": false,
+ "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==",
+ "optional": true,
+ "requires": {
+ "minipass": "^2.2.1"
+ }
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "resolved": false,
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
+ "optional": true
+ },
+ "gauge": {
+ "version": "2.7.4",
+ "resolved": false,
+ "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
+ "optional": true,
+ "requires": {
+ "aproba": "^1.0.3",
+ "console-control-strings": "^1.0.0",
+ "has-unicode": "^2.0.0",
+ "object-assign": "^4.1.0",
+ "signal-exit": "^3.0.0",
+ "string-width": "^1.0.1",
+ "strip-ansi": "^3.0.1",
+ "wide-align": "^1.1.0"
+ }
+ },
+ "glob": {
+ "version": "7.1.3",
+ "resolved": false,
+ "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
+ "optional": true,
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ },
+ "has-unicode": {
+ "version": "2.0.1",
+ "resolved": false,
+ "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=",
+ "optional": true
+ },
+ "iconv-lite": {
+ "version": "0.4.24",
+ "resolved": false,
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+ "optional": true,
+ "requires": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ }
+ },
+ "ignore-walk": {
+ "version": "3.0.1",
+ "resolved": false,
+ "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==",
+ "optional": true,
+ "requires": {
+ "minimatch": "^3.0.4"
+ }
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "resolved": false,
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "optional": true,
+ "requires": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "inherits": {
+ "version": "2.0.3",
+ "resolved": false,
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
+ "optional": true
+ },
+ "ini": {
+ "version": "1.3.5",
+ "resolved": false,
+ "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
+ "optional": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "resolved": false,
+ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+ "optional": true,
+ "requires": {
+ "number-is-nan": "^1.0.0"
+ }
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": false,
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "optional": true
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "resolved": false,
+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "optional": true,
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ },
+ "minimist": {
+ "version": "0.0.8",
+ "resolved": false,
+ "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
+ "optional": true
+ },
+ "minipass": {
+ "version": "2.3.5",
+ "resolved": false,
+ "integrity": "sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==",
+ "optional": true,
+ "requires": {
+ "safe-buffer": "^5.1.2",
+ "yallist": "^3.0.0"
+ }
+ },
+ "minizlib": {
+ "version": "1.2.1",
+ "resolved": false,
+ "integrity": "sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA==",
+ "optional": true,
+ "requires": {
+ "minipass": "^2.2.1"
+ }
+ },
+ "mkdirp": {
+ "version": "0.5.1",
+ "resolved": false,
+ "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+ "optional": true,
+ "requires": {
+ "minimist": "0.0.8"
+ }
+ },
+ "ms": {
+ "version": "2.1.1",
+ "resolved": false,
+ "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
+ "optional": true
+ },
+ "needle": {
+ "version": "2.3.0",
+ "resolved": false,
+ "integrity": "sha512-QBZu7aAFR0522EyaXZM0FZ9GLpq6lvQ3uq8gteiDUp7wKdy0lSd2hPlgFwVuW1CBkfEs9PfDQsQzZghLs/psdg==",
+ "optional": true,
+ "requires": {
+ "debug": "^4.1.0",
+ "iconv-lite": "^0.4.4",
+ "sax": "^1.2.4"
+ }
+ },
+ "node-pre-gyp": {
+ "version": "0.12.0",
+ "resolved": false,
+ "integrity": "sha512-4KghwV8vH5k+g2ylT+sLTjy5wmUOb9vPhnM8NHvRf9dHmnW/CndrFXy2aRPaPST6dugXSdHXfeaHQm77PIz/1A==",
+ "optional": true,
+ "requires": {
+ "detect-libc": "^1.0.2",
+ "mkdirp": "^0.5.1",
+ "needle": "^2.2.1",
+ "nopt": "^4.0.1",
+ "npm-packlist": "^1.1.6",
+ "npmlog": "^4.0.2",
+ "rc": "^1.2.7",
+ "rimraf": "^2.6.1",
+ "semver": "^5.3.0",
+ "tar": "^4"
+ }
+ },
+ "nopt": {
+ "version": "4.0.1",
+ "resolved": false,
+ "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=",
+ "optional": true,
+ "requires": {
+ "abbrev": "1",
+ "osenv": "^0.1.4"
+ }
+ },
+ "npm-bundled": {
+ "version": "1.0.6",
+ "resolved": false,
+ "integrity": "sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g==",
+ "optional": true
+ },
+ "npm-packlist": {
+ "version": "1.4.1",
+ "resolved": false,
+ "integrity": "sha512-+TcdO7HJJ8peiiYhvPxsEDhF3PJFGUGRcFsGve3vxvxdcpO2Z4Z7rkosRM0kWj6LfbK/P0gu3dzk5RU1ffvFcw==",
+ "optional": true,
+ "requires": {
+ "ignore-walk": "^3.0.1",
+ "npm-bundled": "^1.0.1"
+ }
+ },
+ "npmlog": {
+ "version": "4.1.2",
+ "resolved": false,
+ "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
+ "optional": true,
+ "requires": {
+ "are-we-there-yet": "~1.1.2",
+ "console-control-strings": "~1.1.0",
+ "gauge": "~2.7.3",
+ "set-blocking": "~2.0.0"
+ }
+ },
+ "number-is-nan": {
+ "version": "1.0.1",
+ "resolved": false,
+ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
+ "optional": true
+ },
+ "object-assign": {
+ "version": "4.1.1",
+ "resolved": false,
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "optional": true
+ },
+ "once": {
+ "version": "1.4.0",
+ "resolved": false,
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "optional": true,
+ "requires": {
+ "wrappy": "1"
+ }
+ },
+ "os-homedir": {
+ "version": "1.0.2",
+ "resolved": false,
+ "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
+ "optional": true
+ },
+ "os-tmpdir": {
+ "version": "1.0.2",
+ "resolved": false,
+ "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
+ "optional": true
+ },
+ "osenv": {
+ "version": "0.1.5",
+ "resolved": false,
+ "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
+ "optional": true,
+ "requires": {
+ "os-homedir": "^1.0.0",
+ "os-tmpdir": "^1.0.0"
+ }
+ },
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": false,
+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
+ "optional": true
+ },
+ "process-nextick-args": {
+ "version": "2.0.0",
+ "resolved": false,
+ "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
+ "optional": true
+ },
+ "rc": {
+ "version": "1.2.8",
+ "resolved": false,
+ "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
+ "optional": true,
+ "requires": {
+ "deep-extend": "^0.6.0",
+ "ini": "~1.3.0",
+ "minimist": "^1.2.0",
+ "strip-json-comments": "~2.0.1"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": false,
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "optional": true
+ }
+ }
+ },
+ "readable-stream": {
+ "version": "2.3.6",
+ "resolved": false,
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "optional": true,
+ "requires": {
+ "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"
+ }
+ },
+ "rimraf": {
+ "version": "2.6.3",
+ "resolved": false,
+ "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
+ "optional": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
+ "safe-buffer": {
+ "version": "5.1.2",
+ "resolved": false,
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+ "optional": true
+ },
+ "safer-buffer": {
+ "version": "2.1.2",
+ "resolved": false,
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+ "optional": true
+ },
+ "sax": {
+ "version": "1.2.4",
+ "resolved": false,
+ "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
+ "optional": true
+ },
+ "semver": {
+ "version": "5.7.0",
+ "resolved": false,
+ "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==",
+ "optional": true
+ },
+ "set-blocking": {
+ "version": "2.0.0",
+ "resolved": false,
+ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
+ "optional": true
+ },
+ "signal-exit": {
+ "version": "3.0.2",
+ "resolved": false,
+ "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
+ "optional": true
+ },
+ "string-width": {
+ "version": "1.0.2",
+ "resolved": false,
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "optional": true,
+ "requires": {
+ "code-point-at": "^1.0.0",
+ "is-fullwidth-code-point": "^1.0.0",
+ "strip-ansi": "^3.0.0"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "resolved": false,
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "optional": true,
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": false,
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "optional": true,
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "strip-json-comments": {
+ "version": "2.0.1",
+ "resolved": false,
+ "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
+ "optional": true
+ },
+ "tar": {
+ "version": "4.4.8",
+ "resolved": false,
+ "integrity": "sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ==",
+ "optional": true,
+ "requires": {
+ "chownr": "^1.1.1",
+ "fs-minipass": "^1.2.5",
+ "minipass": "^2.3.4",
+ "minizlib": "^1.1.1",
+ "mkdirp": "^0.5.0",
+ "safe-buffer": "^5.1.2",
+ "yallist": "^3.0.2"
+ }
+ },
+ "util-deprecate": {
+ "version": "1.0.2",
+ "resolved": false,
+ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
+ "optional": true
+ },
+ "wide-align": {
+ "version": "1.1.3",
+ "resolved": false,
+ "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==",
+ "optional": true,
+ "requires": {
+ "string-width": "^1.0.2 || 2"
+ }
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "resolved": false,
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
+ "optional": true
+ },
+ "yallist": {
+ "version": "3.0.3",
+ "resolved": false,
+ "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==",
+ "optional": true
+ }
+ }
+ },
+ "function-bind": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
+ },
+ "functional-red-black-tree": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
+ "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc="
+ },
+ "get-caller-file": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="
+ },
+ "get-func-name": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz",
+ "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE="
+ },
+ "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"
+ }
+ },
+ "get-value": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
+ "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg="
+ },
+ "getpass": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
+ "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
+ "requires": {
+ "assert-plus": "^1.0.0"
+ }
+ },
+ "glob": {
+ "version": "7.1.4",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz",
+ "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==",
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ },
+ "glob-parent": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
+ "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
+ "requires": {
+ "is-glob": "^3.1.0",
+ "path-dirname": "^1.0.0"
+ },
+ "dependencies": {
+ "is-glob": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
+ "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
+ "requires": {
+ "is-extglob": "^2.1.0"
+ }
+ }
+ }
+ },
+ "glob-to-regexp": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz",
+ "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs="
+ },
+ "globals": {
+ "version": "11.12.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
+ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA=="
+ },
+ "globby": {
+ "version": "9.2.0",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz",
+ "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==",
+ "requires": {
+ "@types/glob": "^7.1.1",
+ "array-union": "^1.0.2",
+ "dir-glob": "^2.2.2",
+ "fast-glob": "^2.2.6",
+ "glob": "^7.1.3",
+ "ignore": "^4.0.3",
+ "pify": "^4.0.1",
+ "slash": "^2.0.0"
+ }
+ },
+ "graceful-fs": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz",
+ "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q=="
+ },
+ "growl": {
+ "version": "1.10.5",
+ "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz",
+ "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA=="
+ },
+ "gzip-size": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz",
+ "integrity": "sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==",
+ "requires": {
+ "duplexer": "^0.1.1",
+ "pify": "^4.0.1"
+ }
+ },
+ "habitica-markdown": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/habitica-markdown/-/habitica-markdown-1.3.0.tgz",
+ "integrity": "sha1-DN8rTqjwNjPXBmBRyI0W6YOTeSE=",
+ "requires": {
+ "habitica-markdown-emoji": "1.2.4",
+ "markdown-it": "8.0.0",
+ "markdown-it-link-attributes": "1.0.0",
+ "markdown-it-linkify-images": "1.0.0"
+ }
+ },
+ "habitica-markdown-emoji": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/habitica-markdown-emoji/-/habitica-markdown-emoji-1.2.4.tgz",
+ "integrity": "sha1-iCobZmVpDGTLO90KTtxf91W67dE=",
+ "requires": {
+ "markdown-it-emoji": "^1.1.1"
+ }
+ },
+ "handle-thing": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.0.tgz",
+ "integrity": "sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ=="
+ },
+ "har-schema": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
+ "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI="
+ },
+ "har-validator": {
+ "version": "5.1.3",
+ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
+ "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
+ "requires": {
+ "ajv": "^6.5.5",
+ "har-schema": "^2.0.0"
+ }
+ },
+ "has": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+ "requires": {
+ "function-bind": "^1.1.1"
+ }
+ },
+ "has-ansi": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
+ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
+ }
+ }
+ },
+ "has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
+ },
+ "has-symbols": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz",
+ "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q="
+ },
+ "has-value": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
+ "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
+ "requires": {
+ "get-value": "^2.0.6",
+ "has-values": "^1.0.0",
+ "isobject": "^3.0.0"
+ }
+ },
+ "has-values": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
+ "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
+ "requires": {
+ "is-number": "^3.0.0",
+ "kind-of": "^4.0.0"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
+ "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "hash-base": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz",
+ "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=",
+ "requires": {
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "hash-sum": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz",
+ "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ="
+ },
+ "hash.js": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz",
+ "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==",
+ "requires": {
+ "inherits": "^2.0.3",
+ "minimalistic-assert": "^1.0.1"
+ }
+ },
+ "he": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
+ "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw=="
+ },
+ "hellojs": {
+ "version": "1.18.1",
+ "resolved": "https://registry.npmjs.org/hellojs/-/hellojs-1.18.1.tgz",
+ "integrity": "sha512-T673GW3RSuM4xzYfJpp/wNPDbUG9FlNSNkQn0thII8DOpl3NphcmtmNrHrmv8hyk1fosJHkgzDfbcpJvmeq5Gw=="
+ },
+ "hex-color-regex": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz",
+ "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ=="
+ },
+ "highlight.js": {
+ "version": "9.15.10",
+ "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.15.10.tgz",
+ "integrity": "sha512-RoV7OkQm0T3os3Dd2VHLNMoaoDVx77Wygln3n9l5YV172XonWG6rgQD3XnF/BuFFZw9A0TJgmMSO8FEWQgvcXw=="
+ },
+ "hmac-drbg": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
+ "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
+ "requires": {
+ "hash.js": "^1.0.3",
+ "minimalistic-assert": "^1.0.0",
+ "minimalistic-crypto-utils": "^1.0.1"
+ }
+ },
+ "hoopy": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz",
+ "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ=="
+ },
+ "hosted-git-info": {
+ "version": "2.8.4",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.4.tgz",
+ "integrity": "sha512-pzXIvANXEFrc5oFFXRMkbLPQ2rXRoDERwDLyrcUxGhaZhgP54BBSl9Oheh7Vv0T090cszWBxPjkQQ5Sq1PbBRQ=="
+ },
+ "hpack.js": {
+ "version": "2.1.6",
+ "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz",
+ "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=",
+ "requires": {
+ "inherits": "^2.0.1",
+ "obuf": "^1.0.0",
+ "readable-stream": "^2.0.1",
+ "wbuf": "^1.1.0"
+ }
+ },
+ "hsl-regex": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz",
+ "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4="
+ },
+ "hsla-regex": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz",
+ "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg="
+ },
+ "html-comment-regex": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz",
+ "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ=="
+ },
+ "html-encoding-sniffer": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz",
+ "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==",
+ "requires": {
+ "whatwg-encoding": "^1.0.1"
+ }
+ },
+ "html-entities": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz",
+ "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8="
+ },
+ "html-minifier": {
+ "version": "3.5.21",
+ "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz",
+ "integrity": "sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==",
+ "requires": {
+ "camel-case": "3.0.x",
+ "clean-css": "4.2.x",
+ "commander": "2.17.x",
+ "he": "1.2.x",
+ "param-case": "2.1.x",
+ "relateurl": "0.2.x",
+ "uglify-js": "3.4.x"
+ },
+ "dependencies": {
+ "commander": {
+ "version": "2.17.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz",
+ "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg=="
+ }
+ }
+ },
+ "html-tags": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz",
+ "integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos="
+ },
+ "html-webpack-plugin": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz",
+ "integrity": "sha1-sBq71yOsqqeze2r0SS69oD2d03s=",
+ "requires": {
+ "html-minifier": "^3.2.3",
+ "loader-utils": "^0.2.16",
+ "lodash": "^4.17.3",
+ "pretty-error": "^2.0.2",
+ "tapable": "^1.0.0",
+ "toposort": "^1.0.0",
+ "util.promisify": "1.0.0"
+ },
+ "dependencies": {
+ "big.js": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz",
+ "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q=="
+ },
+ "json5": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
+ "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE="
+ },
+ "loader-utils": {
+ "version": "0.2.17",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
+ "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=",
+ "requires": {
+ "big.js": "^3.1.3",
+ "emojis-list": "^2.0.0",
+ "json5": "^0.5.0",
+ "object-assign": "^4.0.1"
+ }
+ },
+ "toposort": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz",
+ "integrity": "sha1-LmhELZ9k7HILjMieZEOsbKqVACk="
+ }
+ }
+ },
+ "htmlparser2": {
+ "version": "3.10.1",
+ "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz",
+ "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==",
+ "requires": {
+ "domelementtype": "^1.3.1",
+ "domhandler": "^2.3.0",
+ "domutils": "^1.5.1",
+ "entities": "^1.1.1",
+ "inherits": "^2.0.1",
+ "readable-stream": "^3.1.1"
+ },
+ "dependencies": {
+ "entities": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
+ "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w=="
+ },
+ "readable-stream": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz",
+ "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==",
+ "requires": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ }
+ }
+ }
+ },
+ "http-deceiver": {
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz",
+ "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc="
+ },
+ "http-errors": {
+ "version": "1.7.2",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
+ "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==",
+ "requires": {
+ "depd": "~1.1.2",
+ "inherits": "2.0.3",
+ "setprototypeof": "1.1.1",
+ "statuses": ">= 1.5.0 < 2",
+ "toidentifier": "1.0.0"
+ },
+ "dependencies": {
+ "inherits": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
+ }
+ }
+ },
+ "http-parser-js": {
+ "version": "0.4.10",
+ "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz",
+ "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q="
+ },
+ "http-proxy": {
+ "version": "1.18.0",
+ "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.0.tgz",
+ "integrity": "sha512-84I2iJM/n1d4Hdgc6y2+qY5mDaz2PUVjlg9znE9byl+q0uC3DeByqBGReQu5tpLK0TAqTIXScRUV+dg7+bUPpQ==",
+ "requires": {
+ "eventemitter3": "^4.0.0",
+ "follow-redirects": "^1.0.0",
+ "requires-port": "^1.0.0"
+ }
+ },
+ "http-proxy-middleware": {
+ "version": "0.19.1",
+ "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz",
+ "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==",
+ "requires": {
+ "http-proxy": "^1.17.0",
+ "is-glob": "^4.0.0",
+ "lodash": "^4.17.11",
+ "micromatch": "^3.1.10"
+ }
+ },
+ "http-signature": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
+ "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
+ "requires": {
+ "assert-plus": "^1.0.0",
+ "jsprim": "^1.2.2",
+ "sshpk": "^1.7.0"
+ }
+ },
+ "https-browserify": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
+ "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM="
+ },
+ "human-signals": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz",
+ "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw=="
+ },
+ "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"
+ }
+ },
+ "icss-utils": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz",
+ "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==",
+ "requires": {
+ "postcss": "^7.0.14"
+ }
+ },
+ "ieee754": {
+ "version": "1.1.13",
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz",
+ "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg=="
+ },
+ "iferr": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz",
+ "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE="
+ },
+ "ignore": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
+ "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg=="
+ },
+ "import-cwd": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz",
+ "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=",
+ "requires": {
+ "import-from": "^2.1.0"
+ }
+ },
+ "import-fresh": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz",
+ "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=",
+ "requires": {
+ "caller-path": "^2.0.0",
+ "resolve-from": "^3.0.0"
+ }
+ },
+ "import-from": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz",
+ "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=",
+ "requires": {
+ "resolve-from": "^3.0.0"
+ }
+ },
+ "import-local": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz",
+ "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==",
+ "requires": {
+ "pkg-dir": "^3.0.0",
+ "resolve-cwd": "^2.0.0"
+ }
+ },
+ "imurmurhash": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o="
+ },
+ "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=="
+ },
+ "indexes-of": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz",
+ "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc="
+ },
+ "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=="
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "requires": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
+ },
+ "ini": {
+ "version": "1.3.5",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
+ "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw=="
+ },
+ "inquirer": {
+ "version": "6.5.2",
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz",
+ "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==",
+ "requires": {
+ "ansi-escapes": "^3.2.0",
+ "chalk": "^2.4.2",
+ "cli-cursor": "^2.1.0",
+ "cli-width": "^2.0.0",
+ "external-editor": "^3.0.3",
+ "figures": "^2.0.0",
+ "lodash": "^4.17.12",
+ "mute-stream": "0.0.7",
+ "run-async": "^2.2.0",
+ "rxjs": "^6.4.0",
+ "string-width": "^2.1.0",
+ "strip-ansi": "^5.1.0",
+ "through": "^2.3.6"
+ }
+ },
+ "inspectpack": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/inspectpack/-/inspectpack-4.2.2.tgz",
+ "integrity": "sha512-UrEVd1ykpWCMgEkfGzxrPQA8D1Md017t7IgeiYOp7ulG3rvGusyYq9AfUvKsNfEWCDyVjLhRbancnl4XxLwvBA==",
+ "requires": {
+ "chalk": "^2.4.0",
+ "io-ts": "^1.0.5",
+ "io-ts-reporters": "^0.0.20",
+ "pify": "^3.0.0",
+ "semver-compare": "^1.0.0",
+ "yargs": "^13.3.0"
+ },
+ "dependencies": {
+ "pify": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY="
+ }
+ }
+ },
+ "internal-ip": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz",
+ "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==",
+ "requires": {
+ "default-gateway": "^4.2.0",
+ "ipaddr.js": "^1.9.0"
+ },
+ "dependencies": {
+ "default-gateway": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz",
+ "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==",
+ "requires": {
+ "execa": "^1.0.0",
+ "ip-regex": "^2.1.0"
+ }
+ }
+ }
+ },
+ "interpret": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz",
+ "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw=="
+ },
+ "intro.js": {
+ "version": "2.9.3",
+ "resolved": "https://registry.npmjs.org/intro.js/-/intro.js-2.9.3.tgz",
+ "integrity": "sha512-hC+EXWnEuJeA3CveGMat3XHePd2iaXNFJIVfvJh2E9IzBMGLTlhWvPIVHAgKlOpO4lNayCxEqzr4N02VmHFr9Q=="
+ },
+ "invariant": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
+ "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
+ "requires": {
+ "loose-envify": "^1.0.0"
+ }
+ },
+ "invert-kv": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz",
+ "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA=="
+ },
+ "io-ts": {
+ "version": "1.10.4",
+ "resolved": "https://registry.npmjs.org/io-ts/-/io-ts-1.10.4.tgz",
+ "integrity": "sha512-b23PteSnYXSONJ6JQXRAlvJhuw8KOtkqa87W4wDtvMrud/DTJd5X+NpOOI+O/zZwVq6v0VLAaJ+1EDViKEuN9g==",
+ "requires": {
+ "fp-ts": "^1.0.0"
+ }
+ },
+ "io-ts-reporters": {
+ "version": "0.0.20",
+ "resolved": "https://registry.npmjs.org/io-ts-reporters/-/io-ts-reporters-0.0.20.tgz",
+ "integrity": "sha512-ZGyPkto96U8exipqA915ZqxIJsaFLavgZIQOEgg4Pa8qgq1Hl9ZKBtN708ZXPzlAGR/jxofrD4QNT8SHowIDVA==",
+ "requires": {
+ "fp-ts": "^1.0.1",
+ "io-ts": "^1.0.2"
+ }
+ },
+ "ip": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
+ "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo="
+ },
+ "ip-regex": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz",
+ "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk="
+ },
+ "ipaddr.js": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz",
+ "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA=="
+ },
+ "is-absolute-url": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz",
+ "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY="
+ },
+ "is-accessor-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-arguments": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz",
+ "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA=="
+ },
+ "is-arrayish": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0="
+ },
+ "is-binary-path": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
+ "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
+ "requires": {
+ "binary-extensions": "^1.0.0"
+ }
+ },
+ "is-buffer": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
+ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
+ },
+ "is-callable": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz",
+ "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA=="
+ },
+ "is-ci": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz",
+ "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==",
+ "requires": {
+ "ci-info": "^1.5.0"
+ }
+ },
+ "is-color-stop": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz",
+ "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=",
+ "requires": {
+ "css-color-names": "^0.0.4",
+ "hex-color-regex": "^1.1.0",
+ "hsl-regex": "^1.0.0",
+ "hsla-regex": "^1.0.0",
+ "rgb-regex": "^1.0.1",
+ "rgba-regex": "^1.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-date-object": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
+ "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY="
+ },
+ "is-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "requires": {
+ "is-accessor-descriptor": "^0.1.6",
+ "is-data-descriptor": "^0.1.4",
+ "kind-of": "^5.0.0"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw=="
+ }
+ }
+ },
+ "is-directory": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz",
+ "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE="
+ },
+ "is-extendable": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik="
+ },
+ "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": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8="
+ },
+ "is-glob": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
+ "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
+ "requires": {
+ "is-extglob": "^2.1.1"
+ }
+ },
+ "is-number": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-obj": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
+ "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8="
+ },
+ "is-path-cwd": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz",
+ "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ=="
+ },
+ "is-path-in-cwd": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz",
+ "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==",
+ "requires": {
+ "is-path-inside": "^2.1.0"
+ }
+ },
+ "is-path-inside": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz",
+ "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==",
+ "requires": {
+ "path-is-inside": "^1.0.2"
+ }
+ },
+ "is-plain-obj": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
+ "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4="
+ },
+ "is-plain-object": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
+ "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
+ "requires": {
+ "isobject": "^3.0.1"
+ }
+ },
+ "is-promise": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
+ "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o="
+ },
+ "is-regex": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
+ "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
+ "requires": {
+ "has": "^1.0.1"
+ }
+ },
+ "is-resolvable": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz",
+ "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg=="
+ },
+ "is-stream": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+ "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ="
+ },
+ "is-svg": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz",
+ "integrity": "sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==",
+ "requires": {
+ "html-comment-regex": "^1.1.0"
+ }
+ },
+ "is-symbol": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz",
+ "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==",
+ "requires": {
+ "has-symbols": "^1.0.0"
+ }
+ },
+ "is-typedarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
+ },
+ "is-windows": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
+ "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA=="
+ },
+ "is-wsl": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz",
+ "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0="
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
+ },
+ "isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
+ },
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
+ },
+ "isstream": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
+ },
+ "javascript-stringify": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-2.0.0.tgz",
+ "integrity": "sha512-zzK8+ByrzvOL6N92hRewwUKL0wN0TOaIuUjX0Jj8lraxWvr5wHYs2YTjaj2lstF+8qMv5cmPPef47va8NT8lDw=="
+ },
+ "jest-worker": {
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz",
+ "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==",
+ "requires": {
+ "merge-stream": "^2.0.0",
+ "supports-color": "^6.1.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "jquery": {
+ "version": "3.4.1",
+ "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.4.1.tgz",
+ "integrity": "sha512-36+AdBzCL+y6qjw5Tx7HgzeGCzC81MDDgaUP8ld2zhx58HdqXGoBd+tHdrBMiyjGQs0Hxs/MLZTu/eHNJJuWPw=="
+ },
+ "js-levenshtein": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz",
+ "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g=="
+ },
+ "js-message": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/js-message/-/js-message-1.0.5.tgz",
+ "integrity": "sha1-IwDSSxrwjondCVvBpMnJz8uJLRU="
+ },
+ "js-queue": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/js-queue/-/js-queue-2.0.0.tgz",
+ "integrity": "sha1-NiITz4YPRo8BJfxslqvBdCUx+Ug=",
+ "requires": {
+ "easy-stack": "^1.0.0"
+ }
+ },
+ "js-tokens": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
+ },
+ "js-yaml": {
+ "version": "3.13.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
+ "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
+ "requires": {
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
+ },
+ "dependencies": {
+ "esprima": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="
+ }
+ }
+ },
+ "jsbn": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+ "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM="
+ },
+ "jsdom": {
+ "version": "15.2.0",
+ "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-15.2.0.tgz",
+ "integrity": "sha512-+hRyEfjRPFwTYMmSQ3/f7U9nP8ZNZmbkmUek760ZpxnCPWJIhaaLRuUSvpJ36fZKCGENxLwxClzwpOpnXNfChQ==",
+ "requires": {
+ "abab": "^2.0.0",
+ "acorn": "^7.1.0",
+ "acorn-globals": "^4.3.2",
+ "array-equal": "^1.0.0",
+ "cssom": "^0.4.1",
+ "cssstyle": "^2.0.0",
+ "data-urls": "^1.1.0",
+ "domexception": "^1.0.1",
+ "escodegen": "^1.11.1",
+ "html-encoding-sniffer": "^1.0.2",
+ "nwsapi": "^2.1.4",
+ "parse5": "5.1.0",
+ "pn": "^1.1.0",
+ "request": "^2.88.0",
+ "request-promise-native": "^1.0.7",
+ "saxes": "^3.1.9",
+ "symbol-tree": "^3.2.2",
+ "tough-cookie": "^3.0.1",
+ "w3c-hr-time": "^1.0.1",
+ "w3c-xmlserializer": "^1.1.2",
+ "webidl-conversions": "^4.0.2",
+ "whatwg-encoding": "^1.0.5",
+ "whatwg-mimetype": "^2.3.0",
+ "whatwg-url": "^7.0.0",
+ "ws": "^7.0.0",
+ "xml-name-validator": "^3.0.0"
+ },
+ "dependencies": {
+ "acorn": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.0.tgz",
+ "integrity": "sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ=="
+ },
+ "tough-cookie": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz",
+ "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==",
+ "requires": {
+ "ip-regex": "^2.1.0",
+ "psl": "^1.1.28",
+ "punycode": "^2.1.1"
+ }
+ }
+ }
+ },
+ "jsdom-global": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/jsdom-global/-/jsdom-global-3.0.2.tgz",
+ "integrity": "sha1-a9KZwTsMRiay2iwDk81DhdYGrLk="
+ },
+ "jsesc": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
+ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA=="
+ },
+ "json-parse-better-errors": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
+ "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw=="
+ },
+ "json-schema": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
+ "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM="
+ },
+ "json-schema-traverse": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
+ },
+ "json-stable-stringify-without-jsonify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
+ "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE="
+ },
+ "json-stringify-safe": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
+ },
+ "json3": {
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz",
+ "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA=="
+ },
+ "json5": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.1.tgz",
+ "integrity": "sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==",
+ "requires": {
+ "minimist": "^1.2.0"
+ }
+ },
+ "jsonfile": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
+ "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
+ "requires": {
+ "graceful-fs": "^4.1.6"
+ }
+ },
+ "jsprim": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
+ "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
+ "requires": {
+ "assert-plus": "1.0.0",
+ "extsprintf": "1.3.0",
+ "json-schema": "0.2.3",
+ "verror": "1.10.0"
+ }
+ },
+ "killable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz",
+ "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg=="
+ },
+ "kind-of": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+ "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
+ },
+ "launch-editor": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.2.1.tgz",
+ "integrity": "sha512-On+V7K2uZK6wK7x691ycSUbLD/FyKKelArkbaAMSSJU8JmqmhwN2+mnJDNINuJWSrh2L0kDk+ZQtbC/gOWUwLw==",
+ "requires": {
+ "chalk": "^2.3.0",
+ "shell-quote": "^1.6.1"
+ }
+ },
+ "launch-editor-middleware": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/launch-editor-middleware/-/launch-editor-middleware-2.2.1.tgz",
+ "integrity": "sha512-s0UO2/gEGiCgei3/2UN3SMuUj1phjQN8lcpnvgLSz26fAzNWPQ6Nf/kF5IFClnfU2ehp6LrmKdMU/beveO+2jg==",
+ "requires": {
+ "launch-editor": "^2.2.1"
+ }
+ },
+ "lcid": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz",
+ "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==",
+ "requires": {
+ "invert-kv": "^2.0.0"
+ }
+ },
+ "levn": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
+ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
+ "requires": {
+ "prelude-ls": "~1.1.2",
+ "type-check": "~0.3.2"
+ }
+ },
+ "lines-and-columns": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz",
+ "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA="
+ },
+ "linkify-it": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz",
+ "integrity": "sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==",
+ "requires": {
+ "uc.micro": "^1.0.1"
+ }
+ },
+ "load-json-file": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
+ "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "parse-json": "^2.2.0",
+ "pify": "^2.0.0",
+ "strip-bom": "^3.0.0"
+ },
+ "dependencies": {
+ "parse-json": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
+ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
+ "requires": {
+ "error-ex": "^1.2.0"
+ }
+ },
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
+ }
+ }
+ },
+ "loader-fs-cache": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/loader-fs-cache/-/loader-fs-cache-1.0.2.tgz",
+ "integrity": "sha512-70IzT/0/L+M20jUlEqZhZyArTU6VKLRTYRDAYN26g4jfzpJqjipLL3/hgYpySqI9PwsVRHHFja0LfEmsx9X2Cw==",
+ "requires": {
+ "find-cache-dir": "^0.1.1",
+ "mkdirp": "0.5.1"
+ },
+ "dependencies": {
+ "find-cache-dir": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz",
+ "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=",
+ "requires": {
+ "commondir": "^1.0.1",
+ "mkdirp": "^0.5.1",
+ "pkg-dir": "^1.0.0"
+ }
+ },
+ "find-up": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
+ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
+ "requires": {
+ "path-exists": "^2.0.0",
+ "pinkie-promise": "^2.0.0"
+ }
+ },
+ "path-exists": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
+ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
+ "requires": {
+ "pinkie-promise": "^2.0.0"
+ }
+ },
+ "pkg-dir": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz",
+ "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=",
+ "requires": {
+ "find-up": "^1.0.0"
+ }
+ }
+ }
+ },
+ "loader-runner": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz",
+ "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw=="
+ },
+ "loader-utils": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz",
+ "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==",
+ "requires": {
+ "big.js": "^5.2.2",
+ "emojis-list": "^2.0.0",
+ "json5": "^1.0.1"
+ },
+ "dependencies": {
+ "json5": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
+ "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+ "requires": {
+ "minimist": "^1.2.0"
+ }
+ }
+ }
+ },
+ "locate-path": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
+ "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
+ "requires": {
+ "p-locate": "^2.0.0",
+ "path-exists": "^3.0.0"
+ }
+ },
+ "lodash": {
+ "version": "4.17.15",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
+ "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A=="
+ },
+ "lodash.defaultsdeep": {
+ "version": "4.6.1",
+ "resolved": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz",
+ "integrity": "sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA=="
+ },
+ "lodash.kebabcase": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz",
+ "integrity": "sha1-hImxyw0p/4gZXM7KRI/21swpXDY="
+ },
+ "lodash.mapvalues": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz",
+ "integrity": "sha1-G6+lAF3p3W9PJmaMMMo3IwzJaJw="
+ },
+ "lodash.memoize": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
+ "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4="
+ },
+ "lodash.sortby": {
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz",
+ "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg="
+ },
+ "lodash.transform": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/lodash.transform/-/lodash.transform-4.6.0.tgz",
+ "integrity": "sha1-EjBkIvYzJK7YSD0/ODMrX2cFR6A="
+ },
+ "lodash.uniq": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
+ "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M="
+ },
+ "log-symbols": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz",
+ "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==",
+ "requires": {
+ "chalk": "^2.0.1"
+ }
+ },
+ "loglevel": {
+ "version": "1.6.4",
+ "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.4.tgz",
+ "integrity": "sha512-p0b6mOGKcGa+7nnmKbpzR6qloPbrgLcnio++E+14Vo/XffOGwZtRpUhr8dTH/x2oCMmEoIU0Zwm3ZauhvYD17g=="
+ },
+ "loose-envify": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
+ "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
+ "requires": {
+ "js-tokens": "^3.0.0 || ^4.0.0"
+ }
+ },
+ "lower-case": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz",
+ "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw="
+ },
+ "lru-cache": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
+ "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
+ "requires": {
+ "yallist": "^3.0.2"
+ }
+ },
+ "make-dir": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
+ "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
+ "requires": {
+ "pify": "^4.0.1",
+ "semver": "^5.6.0"
+ }
+ },
+ "mamacro": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz",
+ "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA=="
+ },
+ "map-age-cleaner": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz",
+ "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==",
+ "requires": {
+ "p-defer": "^1.0.0"
+ }
+ },
+ "map-cache": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
+ "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8="
+ },
+ "map-visit": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
+ "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
+ "requires": {
+ "object-visit": "^1.0.0"
+ }
+ },
+ "markdown-it": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-8.0.0.tgz",
+ "integrity": "sha1-5mJVSXoOQJ6Bb7xngHl19PJvb4I=",
+ "requires": {
+ "argparse": "^1.0.7",
+ "entities": "~1.1.1",
+ "linkify-it": "^2.0.0",
+ "mdurl": "^1.0.1",
+ "uc.micro": "^1.0.3"
+ },
+ "dependencies": {
+ "entities": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
+ "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w=="
+ }
+ }
+ },
+ "markdown-it-emoji": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/markdown-it-emoji/-/markdown-it-emoji-1.4.0.tgz",
+ "integrity": "sha1-m+4OmpkKljupbfaYDE/dsF37Tcw="
+ },
+ "markdown-it-link-attributes": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/markdown-it-link-attributes/-/markdown-it-link-attributes-1.0.0.tgz",
+ "integrity": "sha1-jaHKFynw+hbGVhWwsQdbecg3Gi4="
+ },
+ "markdown-it-linkify-images": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/markdown-it-linkify-images/-/markdown-it-linkify-images-1.0.0.tgz",
+ "integrity": "sha1-gTTsj0gM4pxD44Ck4narBnyuRoY="
+ },
+ "md5.js": {
+ "version": "1.3.5",
+ "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
+ "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
+ "requires": {
+ "hash-base": "^3.0.0",
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.1.2"
+ }
+ },
+ "mdn-data": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz",
+ "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA=="
+ },
+ "mdurl": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
+ "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4="
+ },
+ "media-typer": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
+ "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
+ },
+ "mem": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz",
+ "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==",
+ "requires": {
+ "map-age-cleaner": "^0.1.1",
+ "mimic-fn": "^2.0.0",
+ "p-is-promise": "^2.0.0"
+ },
+ "dependencies": {
+ "mimic-fn": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
+ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg=="
+ }
+ }
+ },
+ "memory-fs": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
+ "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
+ "requires": {
+ "errno": "^0.1.3",
+ "readable-stream": "^2.0.1"
+ }
+ },
+ "merge-descriptors": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
+ "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E="
+ },
+ "merge-source-map": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz",
+ "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==",
+ "requires": {
+ "source-map": "^0.6.1"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ }
+ }
+ },
+ "merge-stream": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
+ "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w=="
+ },
+ "merge2": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.3.0.tgz",
+ "integrity": "sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw=="
+ },
+ "methods": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
+ "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4="
+ },
+ "micromatch": {
+ "version": "3.1.10",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
+ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
+ "requires": {
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "braces": "^2.3.1",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "extglob": "^2.0.4",
+ "fragment-cache": "^0.2.1",
+ "kind-of": "^6.0.2",
+ "nanomatch": "^1.2.9",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.2"
+ }
+ },
+ "miller-rabin": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
+ "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
+ "requires": {
+ "bn.js": "^4.0.0",
+ "brorand": "^1.0.1"
+ }
+ },
+ "mime": {
+ "version": "2.4.4",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz",
+ "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA=="
+ },
+ "mime-db": {
+ "version": "1.40.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz",
+ "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA=="
+ },
+ "mime-types": {
+ "version": "2.1.24",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz",
+ "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==",
+ "requires": {
+ "mime-db": "1.40.0"
+ }
+ },
+ "mimic-fn": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
+ "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ=="
+ },
+ "mini-css-extract-plugin": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.8.0.tgz",
+ "integrity": "sha512-MNpRGbNA52q6U92i0qbVpQNsgk7LExy41MdAlG84FeytfDOtRIf/mCHdEgG8rpTKOaNKiqUnZdlptF469hxqOw==",
+ "requires": {
+ "loader-utils": "^1.1.0",
+ "normalize-url": "1.9.1",
+ "schema-utils": "^1.0.0",
+ "webpack-sources": "^1.1.0"
+ },
+ "dependencies": {
+ "normalize-url": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz",
+ "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=",
+ "requires": {
+ "object-assign": "^4.0.1",
+ "prepend-http": "^1.0.0",
+ "query-string": "^4.1.0",
+ "sort-keys": "^1.0.0"
+ }
+ }
+ }
+ },
+ "minimalistic-assert": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
+ "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A=="
+ },
+ "minimalistic-crypto-utils": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
+ "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo="
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ },
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
+ },
+ "minipass": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.0.1.tgz",
+ "integrity": "sha512-2y5okJ4uBsjoD2vAbLKL9EUQPPkC0YMIp+2mZOXG3nBba++pdfJWRxx2Ewirc0pwAJYu4XtWg2EkVo1nRXuO/w==",
+ "requires": {
+ "yallist": "^4.0.0"
+ },
+ "dependencies": {
+ "yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
+ }
+ }
+ },
+ "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==",
+ "requires": {
+ "minipass": "^3.0.0"
+ }
+ },
+ "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==",
+ "requires": {
+ "minipass": "^3.0.0"
+ }
+ },
+ "minipass-pipeline": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.2.tgz",
+ "integrity": "sha512-3JS5A2DKhD2g0Gg8x3yamO0pj7YeKGwVlDS90pF++kxptwx/F+B//roxf9SqYil5tQo65bijy+dAuAFZmYOouA==",
+ "requires": {
+ "minipass": "^3.0.0"
+ }
+ },
+ "mississippi": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz",
+ "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==",
+ "requires": {
+ "concat-stream": "^1.5.0",
+ "duplexify": "^3.4.2",
+ "end-of-stream": "^1.1.0",
+ "flush-write-stream": "^1.0.0",
+ "from2": "^2.1.0",
+ "parallel-transform": "^1.1.0",
+ "pump": "^3.0.0",
+ "pumpify": "^1.3.3",
+ "stream-each": "^1.1.0",
+ "through2": "^2.0.0"
+ }
+ },
+ "mixin-deep": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
+ "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
+ "requires": {
+ "for-in": "^1.0.2",
+ "is-extendable": "^1.0.1"
+ },
+ "dependencies": {
+ "is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "requires": {
+ "is-plain-object": "^2.0.4"
+ }
+ }
+ }
+ },
+ "mkdirp": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+ "requires": {
+ "minimist": "0.0.8"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
+ "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
+ }
+ }
+ },
+ "mocha": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/mocha/-/mocha-6.2.2.tgz",
+ "integrity": "sha512-FgDS9Re79yU1xz5d+C4rv1G7QagNGHZ+iXF81hO8zY35YZZcLEsJVfFolfsqKFWunATEvNzMK0r/CwWd/szO9A==",
+ "requires": {
+ "ansi-colors": "3.2.3",
+ "browser-stdout": "1.3.1",
+ "debug": "3.2.6",
+ "diff": "3.5.0",
+ "escape-string-regexp": "1.0.5",
+ "find-up": "3.0.0",
+ "glob": "7.1.3",
+ "growl": "1.10.5",
+ "he": "1.2.0",
+ "js-yaml": "3.13.1",
+ "log-symbols": "2.2.0",
+ "minimatch": "3.0.4",
+ "mkdirp": "0.5.1",
+ "ms": "2.1.1",
+ "node-environment-flags": "1.0.5",
+ "object.assign": "4.1.0",
+ "strip-json-comments": "2.0.1",
+ "supports-color": "6.0.0",
+ "which": "1.3.1",
+ "wide-align": "1.1.3",
+ "yargs": "13.3.0",
+ "yargs-parser": "13.1.1",
+ "yargs-unparser": "1.6.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
+ "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "find-up": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
+ "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
+ "requires": {
+ "locate-path": "^3.0.0"
+ }
+ },
+ "glob": {
+ "version": "7.1.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
+ "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ },
+ "locate-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
+ "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
+ "requires": {
+ "p-locate": "^3.0.0",
+ "path-exists": "^3.0.0"
+ }
+ },
+ "ms": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
+ "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg=="
+ },
+ "p-limit": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz",
+ "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==",
+ "requires": {
+ "p-try": "^2.0.0"
+ }
+ },
+ "p-locate": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
+ "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
+ "requires": {
+ "p-limit": "^2.0.0"
+ }
+ },
+ "p-try": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
+ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="
+ },
+ "supports-color": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz",
+ "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==",
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "mochapack": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/mochapack/-/mochapack-1.1.5.tgz",
+ "integrity": "sha512-k4Qukx7lpHLgvQcjCaJDa/PqvQED9DjsuuwaS2dTmjK2vus++DTYDRrnf4KYH2/aROgFqwPe+5gDhnAiwoxQ8Q==",
+ "requires": {
+ "babel-runtime": "^6.26.0",
+ "chalk": "^2.4.2",
+ "chokidar": "^3.0.2",
+ "glob-parent": "^5.0.0",
+ "globby": "^10.0.1",
+ "interpret": "^1.2.0",
+ "is-glob": "^4.0.1",
+ "loader-utils": "^1.2.3",
+ "lodash": "^4.17.15",
+ "memory-fs": "^0.4.1",
+ "minimatch": "^3.0.4",
+ "nodent-runtime": "^3.2.1",
+ "normalize-path": "^3.0.0",
+ "progress": "^2.0.3",
+ "source-map-support": "^0.5.13",
+ "strip-ansi": "^5.2.0",
+ "toposort": "^2.0.2",
+ "yargs": "^13.0.0"
+ },
+ "dependencies": {
+ "@nodelib/fs.stat": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz",
+ "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA=="
+ },
+ "anymatch": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
+ "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
+ "requires": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ }
+ },
+ "array-union": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
+ "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw=="
+ },
+ "binary-extensions": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz",
+ "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow=="
+ },
+ "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"
+ }
+ },
+ "chokidar": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.2.2.tgz",
+ "integrity": "sha512-bw3pm7kZ2Wa6+jQWYP/c7bAZy3i4GwiIiMO2EeRjrE48l8vBqC/WvFhSF0xyM8fQiPEGvwMY/5bqDG7sSEOuhg==",
+ "requires": {
+ "anymatch": "~3.1.1",
+ "braces": "~3.0.2",
+ "fsevents": "~2.1.1",
+ "glob-parent": "~5.1.0",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.2.0"
+ }
+ },
+ "dir-glob": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
+ "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
+ "requires": {
+ "path-type": "^4.0.0"
+ }
+ },
+ "fast-glob": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.1.0.tgz",
+ "integrity": "sha512-TrUz3THiq2Vy3bjfQUB2wNyPdGBeGmdjbzzBLhfHN4YFurYptCKwGq/TfiRavbGywFRzY6U2CdmQ1zmsY5yYaw==",
+ "requires": {
+ "@nodelib/fs.stat": "^2.0.2",
+ "@nodelib/fs.walk": "^1.2.3",
+ "glob-parent": "^5.1.0",
+ "merge2": "^1.3.0",
+ "micromatch": "^4.0.2"
+ }
+ },
+ "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"
+ }
+ },
+ "fsevents": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.1.tgz",
+ "integrity": "sha512-4FRPXWETxtigtJW/gxzEDsX1LVbPAM93VleB83kZB+ellqbHMkyt2aJfuzNLRvFPnGi6bcE5SvfxgbXPeKteJw==",
+ "optional": true
+ },
+ "glob-parent": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz",
+ "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==",
+ "requires": {
+ "is-glob": "^4.0.1"
+ }
+ },
+ "globby": {
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.1.tgz",
+ "integrity": "sha512-sSs4inE1FB2YQiymcmTv6NWENryABjUNPeWhOvmn4SjtKybglsyPZxFB3U1/+L1bYi0rNZDqCLlHyLYDl1Pq5A==",
+ "requires": {
+ "@types/glob": "^7.1.1",
+ "array-union": "^2.1.0",
+ "dir-glob": "^3.0.1",
+ "fast-glob": "^3.0.3",
+ "glob": "^7.1.3",
+ "ignore": "^5.1.1",
+ "merge2": "^1.2.3",
+ "slash": "^3.0.0"
+ }
+ },
+ "ignore": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.4.tgz",
+ "integrity": "sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A=="
+ },
+ "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-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
+ },
+ "micromatch": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
+ "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
+ "requires": {
+ "braces": "^3.0.1",
+ "picomatch": "^2.0.5"
+ }
+ },
+ "path-type": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
+ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw=="
+ },
+ "readdirp": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz",
+ "integrity": "sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==",
+ "requires": {
+ "picomatch": "^2.0.4"
+ }
+ },
+ "slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q=="
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "moment": {
+ "version": "2.24.0",
+ "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz",
+ "integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg=="
+ },
+ "move-concurrently": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",
+ "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=",
+ "requires": {
+ "aproba": "^1.1.1",
+ "copy-concurrently": "^1.0.0",
+ "fs-write-stream-atomic": "^1.0.8",
+ "mkdirp": "^0.5.1",
+ "rimraf": "^2.5.4",
+ "run-queue": "^1.0.3"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ },
+ "multicast-dns": {
+ "version": "6.2.3",
+ "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz",
+ "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==",
+ "requires": {
+ "dns-packet": "^1.3.1",
+ "thunky": "^1.0.2"
+ }
+ },
+ "multicast-dns-service-types": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz",
+ "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE="
+ },
+ "mute-stream": {
+ "version": "0.0.7",
+ "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
+ "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s="
+ },
+ "mz": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz",
+ "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==",
+ "requires": {
+ "any-promise": "^1.0.0",
+ "object-assign": "^4.0.1",
+ "thenify-all": "^1.0.0"
+ }
+ },
+ "nan": {
+ "version": "2.14.0",
+ "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz",
+ "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==",
+ "optional": true
+ },
+ "nanomatch": {
+ "version": "1.2.13",
+ "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
+ "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
+ "requires": {
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "fragment-cache": "^0.2.1",
+ "is-windows": "^1.0.2",
+ "kind-of": "^6.0.2",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ }
+ },
+ "natural-compare": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
+ "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc="
+ },
+ "nconf": {
+ "version": "0.10.0",
+ "resolved": "https://registry.npmjs.org/nconf/-/nconf-0.10.0.tgz",
+ "integrity": "sha512-fKiXMQrpP7CYWJQzKkPPx9hPgmq+YLDyxcG9N8RpiE9FoCkCbzD0NyW0YhE3xn3Aupe7nnDeIx4PFzYehpHT9Q==",
+ "requires": {
+ "async": "^1.4.0",
+ "ini": "^1.3.0",
+ "secure-keys": "^1.0.0",
+ "yargs": "^3.19.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
+ },
+ "camelcase": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
+ "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8="
+ },
+ "cliui": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
+ "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
+ "requires": {
+ "string-width": "^1.0.1",
+ "strip-ansi": "^3.0.1",
+ "wrap-ansi": "^2.0.0"
+ }
+ },
+ "invert-kv": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
+ "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY="
+ },
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+ "requires": {
+ "number-is-nan": "^1.0.0"
+ }
+ },
+ "lcid": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
+ "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
+ "requires": {
+ "invert-kv": "^1.0.0"
+ }
+ },
+ "os-locale": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
+ "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
+ "requires": {
+ "lcid": "^1.0.0"
+ }
+ },
+ "string-width": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "requires": {
+ "code-point-at": "^1.0.0",
+ "is-fullwidth-code-point": "^1.0.0",
+ "strip-ansi": "^3.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "wrap-ansi": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
+ "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
+ "requires": {
+ "string-width": "^1.0.1",
+ "strip-ansi": "^3.0.1"
+ }
+ },
+ "y18n": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
+ "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE="
+ },
+ "yargs": {
+ "version": "3.32.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz",
+ "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=",
+ "requires": {
+ "camelcase": "^2.0.1",
+ "cliui": "^3.0.3",
+ "decamelize": "^1.1.1",
+ "os-locale": "^1.4.0",
+ "string-width": "^1.0.1",
+ "window-size": "^0.1.4",
+ "y18n": "^3.2.0"
+ }
+ }
+ }
+ },
+ "negotiator": {
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
+ "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw=="
+ },
+ "neo-async": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz",
+ "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw=="
+ },
+ "nice-try": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
+ "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ=="
+ },
+ "no-case": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz",
+ "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==",
+ "requires": {
+ "lower-case": "^1.1.1"
+ }
+ },
+ "node-environment-flags": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.5.tgz",
+ "integrity": "sha512-VNYPRfGfmZLx0Ye20jWzHUjyTW/c+6Wq+iLhDzUI4XmhrDd9l/FozXV3F2xOaXjvp0co0+v1YSR3CMP6g+VvLQ==",
+ "requires": {
+ "object.getownpropertydescriptors": "^2.0.3",
+ "semver": "^5.7.0"
+ }
+ },
+ "node-fetch": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz",
+ "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA=="
+ },
+ "node-forge": {
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.0.tgz",
+ "integrity": "sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ=="
+ },
+ "node-ipc": {
+ "version": "9.1.1",
+ "resolved": "https://registry.npmjs.org/node-ipc/-/node-ipc-9.1.1.tgz",
+ "integrity": "sha512-FAyICv0sIRJxVp3GW5fzgaf9jwwRQxAKDJlmNFUL5hOy+W4X/I5AypyHoq0DXXbo9o/gt79gj++4cMr4jVWE/w==",
+ "requires": {
+ "event-pubsub": "4.3.0",
+ "js-message": "1.0.5",
+ "js-queue": "2.0.0"
+ }
+ },
+ "node-libs-browser": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz",
+ "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==",
+ "requires": {
+ "assert": "^1.1.1",
+ "browserify-zlib": "^0.2.0",
+ "buffer": "^4.3.0",
+ "console-browserify": "^1.1.0",
+ "constants-browserify": "^1.0.0",
+ "crypto-browserify": "^3.11.0",
+ "domain-browser": "^1.1.1",
+ "events": "^3.0.0",
+ "https-browserify": "^1.0.0",
+ "os-browserify": "^0.3.0",
+ "path-browserify": "0.0.1",
+ "process": "^0.11.10",
+ "punycode": "^1.2.4",
+ "querystring-es3": "^0.2.0",
+ "readable-stream": "^2.3.3",
+ "stream-browserify": "^2.0.1",
+ "stream-http": "^2.7.2",
+ "string_decoder": "^1.0.0",
+ "timers-browserify": "^2.0.4",
+ "tty-browserify": "0.0.0",
+ "url": "^0.11.0",
+ "util": "^0.11.0",
+ "vm-browserify": "^1.0.1"
+ },
+ "dependencies": {
+ "punycode": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+ "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
+ }
+ }
+ },
+ "node-releases": {
+ "version": "1.1.35",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.35.tgz",
+ "integrity": "sha512-JGcM/wndCN/2elJlU0IGdVEJQQnJwsLbgPCFd2pY7V0mxf17bZ0Gb/lgOtL29ZQhvEX5shnVhxQyZz3ex94N8w==",
+ "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=="
+ }
+ }
+ },
+ "nodent-runtime": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/nodent-runtime/-/nodent-runtime-3.2.1.tgz",
+ "integrity": "sha512-7Ws63oC+215smeKJQCxzrK21VFVlCFBkwl0MOObt0HOpVQXs3u483sAmtkF33nNqZ5rSOQjB76fgyPBmAUrtCA=="
+ },
+ "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==",
+ "requires": {
+ "hosted-git-info": "^2.1.4",
+ "resolve": "^1.10.0",
+ "semver": "2 || 3 || 4 || 5",
+ "validate-npm-package-license": "^3.0.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-range": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
+ "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI="
+ },
+ "normalize-url": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz",
+ "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg=="
+ },
+ "npm-run-path": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
+ "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
+ "requires": {
+ "path-key": "^2.0.0"
+ }
+ },
+ "nth-check": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz",
+ "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==",
+ "requires": {
+ "boolbase": "~1.0.0"
+ }
+ },
+ "num2fraction": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz",
+ "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4="
+ },
+ "number-is-nan": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
+ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0="
+ },
+ "nwsapi": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.1.4.tgz",
+ "integrity": "sha512-iGfd9Y6SFdTNldEy2L0GUhcarIutFmk+MPWIn9dmj8NMIup03G08uUF2KGbbmv/Ux4RT0VZJoP/sVbWA6d/VIw=="
+ },
+ "oauth-sign": {
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
+ "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="
+ },
+ "object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
+ },
+ "object-copy": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
+ "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
+ "requires": {
+ "copy-descriptor": "^0.1.0",
+ "define-property": "^0.2.5",
+ "kind-of": "^3.0.3"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "object-hash": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-1.3.1.tgz",
+ "integrity": "sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA=="
+ },
+ "object-inspect": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz",
+ "integrity": "sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ=="
+ },
+ "object-is": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.0.1.tgz",
+ "integrity": "sha1-CqYOyZiaCz7Xlc9NBvYs8a1lObY="
+ },
+ "object-keys": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
+ "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA=="
+ },
+ "object-visit": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
+ "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
+ "requires": {
+ "isobject": "^3.0.0"
+ }
+ },
+ "object.assign": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz",
+ "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==",
+ "requires": {
+ "define-properties": "^1.1.2",
+ "function-bind": "^1.1.1",
+ "has-symbols": "^1.0.0",
+ "object-keys": "^1.0.11"
+ }
+ },
+ "object.entries": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.0.tgz",
+ "integrity": "sha512-l+H6EQ8qzGRxbkHOd5I/aHRhHDKoQXQ8g0BYt4uSweQU1/J6dZUOyWh9a2Vky35YCKjzmgxOzta2hH6kf9HuXA==",
+ "requires": {
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.12.0",
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3"
+ }
+ },
+ "object.getownpropertydescriptors": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz",
+ "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=",
+ "requires": {
+ "define-properties": "^1.1.2",
+ "es-abstract": "^1.5.1"
+ }
+ },
+ "object.pick": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
+ "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
+ "requires": {
+ "isobject": "^3.0.1"
+ }
+ },
+ "object.values": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.0.tgz",
+ "integrity": "sha512-8mf0nKLAoFX6VlNVdhGj31SVYpaNFtUnuoOXWyFEstsWRgU837AK+JYM0iAxwkSzGRbwn8cbFmgbyxj1j4VbXg==",
+ "requires": {
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.12.0",
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3"
+ }
+ },
+ "obuf": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz",
+ "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg=="
+ },
+ "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"
+ }
+ },
+ "on-headers": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz",
+ "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA=="
+ },
+ "once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "requires": {
+ "wrappy": "1"
+ }
+ },
+ "onetime": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
+ "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
+ "requires": {
+ "mimic-fn": "^1.0.0"
+ }
+ },
+ "open": {
+ "version": "6.4.0",
+ "resolved": "https://registry.npmjs.org/open/-/open-6.4.0.tgz",
+ "integrity": "sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==",
+ "requires": {
+ "is-wsl": "^1.1.0"
+ }
+ },
+ "opener": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.1.tgz",
+ "integrity": "sha512-goYSy5c2UXE4Ra1xixabeVh1guIX/ZV/YokJksb6q2lubWu6UbvPQ20p542/sFIll1nl8JnCyK9oBaOcCWXwvA=="
+ },
+ "opn": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz",
+ "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==",
+ "requires": {
+ "is-wsl": "^1.1.0"
+ }
+ },
+ "optionator": {
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",
+ "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=",
+ "requires": {
+ "deep-is": "~0.1.3",
+ "fast-levenshtein": "~2.0.4",
+ "levn": "~0.3.0",
+ "prelude-ls": "~1.1.2",
+ "type-check": "~0.3.2",
+ "wordwrap": "~1.0.0"
+ }
+ },
+ "ora": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/ora/-/ora-3.4.0.tgz",
+ "integrity": "sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==",
+ "requires": {
+ "chalk": "^2.4.2",
+ "cli-cursor": "^2.1.0",
+ "cli-spinners": "^2.0.0",
+ "log-symbols": "^2.2.0",
+ "strip-ansi": "^5.2.0",
+ "wcwidth": "^1.0.1"
+ }
+ },
+ "original": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz",
+ "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==",
+ "requires": {
+ "url-parse": "^1.4.3"
+ }
+ },
+ "os-browserify": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
+ "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc="
+ },
+ "os-locale": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz",
+ "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==",
+ "requires": {
+ "execa": "^1.0.0",
+ "lcid": "^2.0.0",
+ "mem": "^4.0.0"
+ }
+ },
+ "os-tmpdir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
+ "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ="
+ },
+ "p-defer": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz",
+ "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww="
+ },
+ "p-finally": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
+ "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4="
+ },
+ "p-is-promise": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz",
+ "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg=="
+ },
+ "p-limit": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
+ "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
+ "requires": {
+ "p-try": "^1.0.0"
+ }
+ },
+ "p-locate": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
+ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
+ "requires": {
+ "p-limit": "^1.1.0"
+ }
+ },
+ "p-map": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz",
+ "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==",
+ "requires": {
+ "aggregate-error": "^3.0.0"
+ }
+ },
+ "p-retry": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz",
+ "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==",
+ "requires": {
+ "retry": "^0.12.0"
+ }
+ },
+ "p-try": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
+ "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M="
+ },
+ "pako": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz",
+ "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw=="
+ },
+ "parallel-transform": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz",
+ "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==",
+ "requires": {
+ "cyclist": "^1.0.1",
+ "inherits": "^2.0.3",
+ "readable-stream": "^2.1.5"
+ }
+ },
+ "param-case": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz",
+ "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=",
+ "requires": {
+ "no-case": "^2.2.0"
+ }
+ },
+ "parent-module": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
+ "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
+ "requires": {
+ "callsites": "^3.0.0"
+ },
+ "dependencies": {
+ "callsites": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="
+ }
+ }
+ },
+ "parse-asn1": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz",
+ "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==",
+ "requires": {
+ "asn1.js": "^4.0.0",
+ "browserify-aes": "^1.0.0",
+ "create-hash": "^1.1.0",
+ "evp_bytestokey": "^1.0.0",
+ "pbkdf2": "^3.0.3",
+ "safe-buffer": "^5.1.1"
+ }
+ },
+ "parse-json": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
+ "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
+ "requires": {
+ "error-ex": "^1.3.1",
+ "json-parse-better-errors": "^1.0.1"
+ }
+ },
+ "parse5": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz",
+ "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ=="
+ },
+ "parseurl": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
+ "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="
+ },
+ "pascalcase": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
+ "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ="
+ },
+ "path-browserify": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz",
+ "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ=="
+ },
+ "path-dirname": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
+ "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA="
+ },
+ "path-exists": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
+ "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU="
+ },
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
+ },
+ "path-is-inside": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
+ "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM="
+ },
+ "path-key": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
+ "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A="
+ },
+ "path-parse": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
+ "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw=="
+ },
+ "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="
+ },
+ "path-type": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
+ "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
+ "requires": {
+ "pify": "^3.0.0"
+ },
+ "dependencies": {
+ "pify": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY="
+ }
+ }
+ },
+ "pathval": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz",
+ "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA="
+ },
+ "pbkdf2": {
+ "version": "3.0.17",
+ "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz",
+ "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==",
+ "requires": {
+ "create-hash": "^1.1.2",
+ "create-hmac": "^1.1.4",
+ "ripemd160": "^2.0.1",
+ "safe-buffer": "^5.0.1",
+ "sha.js": "^2.4.8"
+ }
+ },
+ "performance-now": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
+ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
+ },
+ "picomatch": {
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.0.7.tgz",
+ "integrity": "sha512-oLHIdio3tZ0qH76NybpeneBhYVj0QFTfXEFTc/B3zKQspYfYYkWYgFsmzo+4kvId/bQRcNkVeguI3y+CD22BtA=="
+ },
+ "pify": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
+ "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g=="
+ },
+ "pinkie": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
+ "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA="
+ },
+ "pinkie-promise": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
+ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
+ "requires": {
+ "pinkie": "^2.0.0"
+ }
+ },
+ "pkg-dir": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
+ "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
+ "requires": {
+ "find-up": "^3.0.0"
+ },
+ "dependencies": {
+ "find-up": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
+ "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
+ "requires": {
+ "locate-path": "^3.0.0"
+ }
+ },
+ "locate-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
+ "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
+ "requires": {
+ "p-locate": "^3.0.0",
+ "path-exists": "^3.0.0"
+ }
+ },
+ "p-limit": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz",
+ "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==",
+ "requires": {
+ "p-try": "^2.0.0"
+ }
+ },
+ "p-locate": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
+ "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
+ "requires": {
+ "p-limit": "^2.0.0"
+ }
+ },
+ "p-try": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
+ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="
+ }
+ }
+ },
+ "pkg-up": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz",
+ "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=",
+ "requires": {
+ "find-up": "^2.1.0"
+ }
+ },
+ "pn": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz",
+ "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA=="
+ },
+ "popper.js": {
+ "version": "1.16.0",
+ "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.0.tgz",
+ "integrity": "sha512-+G+EkOPoE5S/zChTpmBSSDYmhXJ5PsW8eMhH8cP/CQHMFPBG/kC9Y5IIw6qNYgdJ+/COf0ddY2li28iHaZRSjw=="
+ },
+ "portal-vue": {
+ "version": "2.1.6",
+ "resolved": "https://registry.npmjs.org/portal-vue/-/portal-vue-2.1.6.tgz",
+ "integrity": "sha512-lvCF85D4e8whd0nN32D8FqKwwkk7nYUI3Ku8UAEx4Z1reomu75dv5evRUTZNaj1EalxxWNXiNl0EHRq36fG8WA=="
+ },
+ "portfinder": {
+ "version": "1.0.25",
+ "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.25.tgz",
+ "integrity": "sha512-6ElJnHBbxVA1XSLgBp7G1FiCkQdlqGzuF7DswL5tcea+E8UpuvPU7beVAjjRwCioTS9ZluNbu+ZyRvgTsmqEBg==",
+ "requires": {
+ "async": "^2.6.2",
+ "debug": "^3.1.1",
+ "mkdirp": "^0.5.1"
+ },
+ "dependencies": {
+ "async": {
+ "version": "2.6.3",
+ "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
+ "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
+ "requires": {
+ "lodash": "^4.17.14"
+ }
+ },
+ "debug": {
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
+ "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ }
+ }
+ },
+ "posix-character-classes": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
+ "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs="
+ },
+ "postcss": {
+ "version": "7.0.18",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.18.tgz",
+ "integrity": "sha512-/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g==",
+ "requires": {
+ "chalk": "^2.4.2",
+ "source-map": "^0.6.1",
+ "supports-color": "^6.1.0"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ },
+ "supports-color": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "postcss-calc": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.1.tgz",
+ "integrity": "sha512-oXqx0m6tb4N3JGdmeMSc/i91KppbYsFZKdH0xMOqK8V1rJlzrKlTdokz8ozUXLVejydRN6u2IddxpcijRj2FqQ==",
+ "requires": {
+ "css-unit-converter": "^1.1.1",
+ "postcss": "^7.0.5",
+ "postcss-selector-parser": "^5.0.0-rc.4",
+ "postcss-value-parser": "^3.3.1"
+ }
+ },
+ "postcss-colormin": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz",
+ "integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==",
+ "requires": {
+ "browserslist": "^4.0.0",
+ "color": "^3.0.0",
+ "has": "^1.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ }
+ },
+ "postcss-convert-values": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz",
+ "integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==",
+ "requires": {
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ }
+ },
+ "postcss-discard-comments": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz",
+ "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==",
+ "requires": {
+ "postcss": "^7.0.0"
+ }
+ },
+ "postcss-discard-duplicates": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz",
+ "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==",
+ "requires": {
+ "postcss": "^7.0.0"
+ }
+ },
+ "postcss-discard-empty": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz",
+ "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==",
+ "requires": {
+ "postcss": "^7.0.0"
+ }
+ },
+ "postcss-discard-overridden": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz",
+ "integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==",
+ "requires": {
+ "postcss": "^7.0.0"
+ }
+ },
+ "postcss-load-config": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.0.tgz",
+ "integrity": "sha512-4pV3JJVPLd5+RueiVVB+gFOAa7GWc25XQcMp86Zexzke69mKf6Nx9LRcQywdz7yZI9n1udOxmLuAwTBypypF8Q==",
+ "requires": {
+ "cosmiconfig": "^5.0.0",
+ "import-cwd": "^2.0.0"
+ }
+ },
+ "postcss-loader": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz",
+ "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==",
+ "requires": {
+ "loader-utils": "^1.1.0",
+ "postcss": "^7.0.0",
+ "postcss-load-config": "^2.0.0",
+ "schema-utils": "^1.0.0"
+ }
+ },
+ "postcss-merge-longhand": {
+ "version": "4.0.11",
+ "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz",
+ "integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==",
+ "requires": {
+ "css-color-names": "0.0.4",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0",
+ "stylehacks": "^4.0.0"
+ }
+ },
+ "postcss-merge-rules": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz",
+ "integrity": "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==",
+ "requires": {
+ "browserslist": "^4.0.0",
+ "caniuse-api": "^3.0.0",
+ "cssnano-util-same-parent": "^4.0.0",
+ "postcss": "^7.0.0",
+ "postcss-selector-parser": "^3.0.0",
+ "vendors": "^1.0.0"
+ },
+ "dependencies": {
+ "postcss-selector-parser": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz",
+ "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=",
+ "requires": {
+ "dot-prop": "^4.1.1",
+ "indexes-of": "^1.0.1",
+ "uniq": "^1.0.1"
+ }
+ }
+ }
+ },
+ "postcss-minify-font-values": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz",
+ "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==",
+ "requires": {
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ }
+ },
+ "postcss-minify-gradients": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz",
+ "integrity": "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==",
+ "requires": {
+ "cssnano-util-get-arguments": "^4.0.0",
+ "is-color-stop": "^1.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ }
+ },
+ "postcss-minify-params": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz",
+ "integrity": "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==",
+ "requires": {
+ "alphanum-sort": "^1.0.0",
+ "browserslist": "^4.0.0",
+ "cssnano-util-get-arguments": "^4.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0",
+ "uniqs": "^2.0.0"
+ }
+ },
+ "postcss-minify-selectors": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz",
+ "integrity": "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==",
+ "requires": {
+ "alphanum-sort": "^1.0.0",
+ "has": "^1.0.0",
+ "postcss": "^7.0.0",
+ "postcss-selector-parser": "^3.0.0"
+ },
+ "dependencies": {
+ "postcss-selector-parser": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz",
+ "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=",
+ "requires": {
+ "dot-prop": "^4.1.1",
+ "indexes-of": "^1.0.1",
+ "uniq": "^1.0.1"
+ }
+ }
+ }
+ },
+ "postcss-modules-extract-imports": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz",
+ "integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==",
+ "requires": {
+ "postcss": "^7.0.5"
+ }
+ },
+ "postcss-modules-local-by-default": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.2.tgz",
+ "integrity": "sha512-jM/V8eqM4oJ/22j0gx4jrp63GSvDH6v86OqyTHHUvk4/k1vceipZsaymiZ5PvocqZOl5SFHiFJqjs3la0wnfIQ==",
+ "requires": {
+ "icss-utils": "^4.1.1",
+ "postcss": "^7.0.16",
+ "postcss-selector-parser": "^6.0.2",
+ "postcss-value-parser": "^4.0.0"
+ },
+ "dependencies": {
+ "cssesc": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
+ "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg=="
+ },
+ "postcss-selector-parser": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz",
+ "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==",
+ "requires": {
+ "cssesc": "^3.0.0",
+ "indexes-of": "^1.0.1",
+ "uniq": "^1.0.1"
+ }
+ },
+ "postcss-value-parser": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.0.2.tgz",
+ "integrity": "sha512-LmeoohTpp/K4UiyQCwuGWlONxXamGzCMtFxLq4W1nZVGIQLYvMCJx3yAF9qyyuFpflABI9yVdtJAqbihOsCsJQ=="
+ }
+ }
+ },
+ "postcss-modules-scope": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.1.0.tgz",
+ "integrity": "sha512-91Rjps0JnmtUB0cujlc8KIKCsJXWjzuxGeT/+Q2i2HXKZ7nBUeF9YQTZZTNvHVoNYj1AthsjnGLtqDUE0Op79A==",
+ "requires": {
+ "postcss": "^7.0.6",
+ "postcss-selector-parser": "^6.0.0"
+ },
+ "dependencies": {
+ "cssesc": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
+ "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg=="
+ },
+ "postcss-selector-parser": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz",
+ "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==",
+ "requires": {
+ "cssesc": "^3.0.0",
+ "indexes-of": "^1.0.1",
+ "uniq": "^1.0.1"
+ }
+ }
+ }
+ },
+ "postcss-modules-values": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz",
+ "integrity": "sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==",
+ "requires": {
+ "icss-utils": "^4.0.0",
+ "postcss": "^7.0.6"
+ }
+ },
+ "postcss-normalize-charset": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz",
+ "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==",
+ "requires": {
+ "postcss": "^7.0.0"
+ }
+ },
+ "postcss-normalize-display-values": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz",
+ "integrity": "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==",
+ "requires": {
+ "cssnano-util-get-match": "^4.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ }
+ },
+ "postcss-normalize-positions": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz",
+ "integrity": "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==",
+ "requires": {
+ "cssnano-util-get-arguments": "^4.0.0",
+ "has": "^1.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ }
+ },
+ "postcss-normalize-repeat-style": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz",
+ "integrity": "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==",
+ "requires": {
+ "cssnano-util-get-arguments": "^4.0.0",
+ "cssnano-util-get-match": "^4.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ }
+ },
+ "postcss-normalize-string": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz",
+ "integrity": "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==",
+ "requires": {
+ "has": "^1.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ }
+ },
+ "postcss-normalize-timing-functions": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz",
+ "integrity": "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==",
+ "requires": {
+ "cssnano-util-get-match": "^4.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ }
+ },
+ "postcss-normalize-unicode": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz",
+ "integrity": "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==",
+ "requires": {
+ "browserslist": "^4.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ }
+ },
+ "postcss-normalize-url": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz",
+ "integrity": "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==",
+ "requires": {
+ "is-absolute-url": "^2.0.0",
+ "normalize-url": "^3.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ }
+ },
+ "postcss-normalize-whitespace": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz",
+ "integrity": "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==",
+ "requires": {
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ }
+ },
+ "postcss-ordered-values": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz",
+ "integrity": "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==",
+ "requires": {
+ "cssnano-util-get-arguments": "^4.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ }
+ },
+ "postcss-reduce-initial": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz",
+ "integrity": "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==",
+ "requires": {
+ "browserslist": "^4.0.0",
+ "caniuse-api": "^3.0.0",
+ "has": "^1.0.0",
+ "postcss": "^7.0.0"
+ }
+ },
+ "postcss-reduce-transforms": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz",
+ "integrity": "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==",
+ "requires": {
+ "cssnano-util-get-match": "^4.0.0",
+ "has": "^1.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0"
+ }
+ },
+ "postcss-selector-parser": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz",
+ "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==",
+ "requires": {
+ "cssesc": "^2.0.0",
+ "indexes-of": "^1.0.1",
+ "uniq": "^1.0.1"
+ }
+ },
+ "postcss-svgo": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.2.tgz",
+ "integrity": "sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw==",
+ "requires": {
+ "is-svg": "^3.0.0",
+ "postcss": "^7.0.0",
+ "postcss-value-parser": "^3.0.0",
+ "svgo": "^1.0.0"
+ }
+ },
+ "postcss-unique-selectors": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz",
+ "integrity": "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==",
+ "requires": {
+ "alphanum-sort": "^1.0.0",
+ "postcss": "^7.0.0",
+ "uniqs": "^2.0.0"
+ }
+ },
+ "postcss-value-parser": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
+ "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ=="
+ },
+ "prelude-ls": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
+ "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ="
+ },
+ "prepend-http": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz",
+ "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw="
+ },
+ "prettier": {
+ "version": "1.16.3",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.16.3.tgz",
+ "integrity": "sha512-kn/GU6SMRYPxUakNXhpP0EedT/KmaPzr0H5lIsDogrykbaxOpOfAFfk5XA7DZrJyMAv1wlMV3CPcZruGXVVUZw=="
+ },
+ "pretty-error": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz",
+ "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=",
+ "requires": {
+ "renderkid": "^2.0.1",
+ "utila": "~0.4"
+ }
+ },
+ "private": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
+ "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg=="
+ },
+ "process": {
+ "version": "0.11.10",
+ "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
+ "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI="
+ },
+ "process-nextick-args": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
+ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
+ },
+ "progress": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
+ "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA=="
+ },
+ "promise-inflight": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
+ "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM="
+ },
+ "proxy-addr": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz",
+ "integrity": "sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==",
+ "requires": {
+ "forwarded": "~0.1.2",
+ "ipaddr.js": "1.9.0"
+ }
+ },
+ "prr": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
+ "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY="
+ },
+ "pseudomap": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
+ "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM="
+ },
+ "psl": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/psl/-/psl-1.4.0.tgz",
+ "integrity": "sha512-HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw=="
+ },
+ "public-encrypt": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
+ "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
+ "requires": {
+ "bn.js": "^4.1.0",
+ "browserify-rsa": "^4.0.0",
+ "create-hash": "^1.1.0",
+ "parse-asn1": "^5.0.0",
+ "randombytes": "^2.0.1",
+ "safe-buffer": "^5.1.2"
+ }
+ },
+ "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"
+ }
+ },
+ "pumpify": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz",
+ "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==",
+ "requires": {
+ "duplexify": "^3.6.0",
+ "inherits": "^2.0.3",
+ "pump": "^2.0.0"
+ },
+ "dependencies": {
+ "pump": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
+ "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
+ "requires": {
+ "end-of-stream": "^1.1.0",
+ "once": "^1.3.1"
+ }
+ }
+ }
+ },
+ "punycode": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
+ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
+ },
+ "q": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
+ "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc="
+ },
+ "qs": {
+ "version": "6.5.2",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
+ "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
+ },
+ "query-string": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz",
+ "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=",
+ "requires": {
+ "object-assign": "^4.1.0",
+ "strict-uri-encode": "^1.0.0"
+ }
+ },
+ "querystring": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
+ "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA="
+ },
+ "querystring-es3": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
+ "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM="
+ },
+ "querystringify": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz",
+ "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA=="
+ },
+ "ramda": {
+ "version": "0.26.1",
+ "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.26.1.tgz",
+ "integrity": "sha512-hLWjpy7EnsDBb0p+Z3B7rPi3GDeRG5ZtiI33kJhTt+ORCd38AbAIjB/9zRIUoeTbE/AVX5ZkU7m6bznsvrf8eQ=="
+ },
+ "randombytes": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
+ "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
+ "requires": {
+ "safe-buffer": "^5.1.0"
+ }
+ },
+ "randomfill": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
+ "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
+ "requires": {
+ "randombytes": "^2.0.5",
+ "safe-buffer": "^5.1.0"
+ }
+ },
+ "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.0",
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz",
+ "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==",
+ "requires": {
+ "bytes": "3.1.0",
+ "http-errors": "1.7.2",
+ "iconv-lite": "0.4.24",
+ "unpipe": "1.0.0"
+ }
+ },
+ "read-pkg": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
+ "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
+ "requires": {
+ "@types/normalize-package-data": "^2.4.0",
+ "normalize-package-data": "^2.5.0",
+ "parse-json": "^5.0.0",
+ "type-fest": "^0.6.0"
+ },
+ "dependencies": {
+ "parse-json": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz",
+ "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==",
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "error-ex": "^1.3.1",
+ "json-parse-better-errors": "^1.0.1",
+ "lines-and-columns": "^1.1.6"
+ }
+ }
+ }
+ },
+ "read-pkg-up": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
+ "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
+ "requires": {
+ "find-up": "^2.0.0",
+ "read-pkg": "^2.0.0"
+ },
+ "dependencies": {
+ "path-type": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
+ "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
+ "requires": {
+ "pify": "^2.0.0"
+ }
+ },
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
+ },
+ "read-pkg": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
+ "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
+ "requires": {
+ "load-json-file": "^2.0.0",
+ "normalize-package-data": "^2.3.2",
+ "path-type": "^2.0.0"
+ }
+ }
+ }
+ },
+ "readable-stream": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "requires": {
+ "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"
+ }
+ },
+ "readdirp": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
+ "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
+ "requires": {
+ "graceful-fs": "^4.1.11",
+ "micromatch": "^3.1.10",
+ "readable-stream": "^2.0.2"
+ }
+ },
+ "regenerate": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz",
+ "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg=="
+ },
+ "regenerate-unicode-properties": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz",
+ "integrity": "sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA==",
+ "requires": {
+ "regenerate": "^1.4.0"
+ }
+ },
+ "regenerator-runtime": {
+ "version": "0.13.3",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz",
+ "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw=="
+ },
+ "regenerator-transform": {
+ "version": "0.14.1",
+ "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.1.tgz",
+ "integrity": "sha512-flVuee02C3FKRISbxhXl9mGzdbWUVHubl1SMaknjxkFB1/iqpJhArQUvRxOOPEc/9tAiX0BaQ28FJH10E4isSQ==",
+ "requires": {
+ "private": "^0.1.6"
+ }
+ },
+ "regex-not": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
+ "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
+ "requires": {
+ "extend-shallow": "^3.0.2",
+ "safe-regex": "^1.1.0"
+ }
+ },
+ "regexp.prototype.flags": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.2.0.tgz",
+ "integrity": "sha512-ztaw4M1VqgMwl9HlPpOuiYgItcHlunW0He2fE6eNfT6E/CF2FtYi9ofOYe4mKntstYk0Fyh/rDRBdS3AnxjlrA==",
+ "requires": {
+ "define-properties": "^1.1.2"
+ }
+ },
+ "regexpp": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz",
+ "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw=="
+ },
+ "regexpu-core": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.6.0.tgz",
+ "integrity": "sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg==",
+ "requires": {
+ "regenerate": "^1.4.0",
+ "regenerate-unicode-properties": "^8.1.0",
+ "regjsgen": "^0.5.0",
+ "regjsparser": "^0.6.0",
+ "unicode-match-property-ecmascript": "^1.0.4",
+ "unicode-match-property-value-ecmascript": "^1.1.0"
+ }
+ },
+ "regjsgen": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.0.tgz",
+ "integrity": "sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA=="
+ },
+ "regjsparser": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz",
+ "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==",
+ "requires": {
+ "jsesc": "~0.5.0"
+ },
+ "dependencies": {
+ "jsesc": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
+ "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0="
+ }
+ }
+ },
+ "relateurl": {
+ "version": "0.2.7",
+ "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz",
+ "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk="
+ },
+ "remove-trailing-separator": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
+ "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8="
+ },
+ "renderkid": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.3.tgz",
+ "integrity": "sha512-z8CLQp7EZBPCwCnncgf9C4XAi3WR0dv+uWu/PjIyhhAb5d6IJ/QZqlHFprHeKT+59//V6BNUsLbvN8+2LarxGA==",
+ "requires": {
+ "css-select": "^1.1.0",
+ "dom-converter": "^0.2",
+ "htmlparser2": "^3.3.0",
+ "strip-ansi": "^3.0.0",
+ "utila": "^0.4.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
+ },
+ "css-select": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz",
+ "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=",
+ "requires": {
+ "boolbase": "~1.0.0",
+ "css-what": "2.1",
+ "domutils": "1.5.1",
+ "nth-check": "~1.0.1"
+ }
+ },
+ "domutils": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz",
+ "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=",
+ "requires": {
+ "dom-serializer": "0",
+ "domelementtype": "1"
+ }
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ }
+ }
+ },
+ "repeat-element": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
+ "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g=="
+ },
+ "repeat-string": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
+ "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc="
+ },
+ "request": {
+ "version": "2.88.0",
+ "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz",
+ "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",
+ "requires": {
+ "aws-sign2": "~0.7.0",
+ "aws4": "^1.8.0",
+ "caseless": "~0.12.0",
+ "combined-stream": "~1.0.6",
+ "extend": "~3.0.2",
+ "forever-agent": "~0.6.1",
+ "form-data": "~2.3.2",
+ "har-validator": "~5.1.0",
+ "http-signature": "~1.2.0",
+ "is-typedarray": "~1.0.0",
+ "isstream": "~0.1.2",
+ "json-stringify-safe": "~5.0.1",
+ "mime-types": "~2.1.19",
+ "oauth-sign": "~0.9.0",
+ "performance-now": "^2.1.0",
+ "qs": "~6.5.2",
+ "safe-buffer": "^5.1.2",
+ "tough-cookie": "~2.4.3",
+ "tunnel-agent": "^0.6.0",
+ "uuid": "^3.3.2"
+ }
+ },
+ "request-promise-core": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.2.tgz",
+ "integrity": "sha512-UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag==",
+ "requires": {
+ "lodash": "^4.17.11"
+ }
+ },
+ "request-promise-native": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.7.tgz",
+ "integrity": "sha512-rIMnbBdgNViL37nZ1b3L/VfPOpSi0TqVDQPAvO6U14lMzOLrt5nilxCQqtDKhZeDiW0/hkCXGoQjhgJd/tCh6w==",
+ "requires": {
+ "request-promise-core": "1.1.2",
+ "stealthy-require": "^1.1.1",
+ "tough-cookie": "^2.3.3"
+ }
+ },
+ "require-directory": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I="
+ },
+ "require-main-filename": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
+ "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg=="
+ },
+ "requires-port": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
+ "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8="
+ },
+ "reselect": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/reselect/-/reselect-3.0.1.tgz",
+ "integrity": "sha1-79qpjqdFEyTQkrKyFjpqHXqaIUc="
+ },
+ "resolve": {
+ "version": "1.12.0",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz",
+ "integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==",
+ "requires": {
+ "path-parse": "^1.0.6"
+ }
+ },
+ "resolve-cwd": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz",
+ "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=",
+ "requires": {
+ "resolve-from": "^3.0.0"
+ }
+ },
+ "resolve-from": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
+ "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g="
+ },
+ "resolve-url": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
+ "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo="
+ },
+ "restore-cursor": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
+ "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
+ "requires": {
+ "onetime": "^2.0.0",
+ "signal-exit": "^3.0.2"
+ }
+ },
+ "ret": {
+ "version": "0.1.15",
+ "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
+ "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg=="
+ },
+ "retry": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz",
+ "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs="
+ },
+ "reusify": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
+ "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw=="
+ },
+ "rgb-regex": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz",
+ "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE="
+ },
+ "rgba-regex": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz",
+ "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM="
+ },
+ "rimraf": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
+ "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
+ "ripemd160": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
+ "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
+ "requires": {
+ "hash-base": "^3.0.0",
+ "inherits": "^2.0.1"
+ }
+ },
+ "run-async": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
+ "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=",
+ "requires": {
+ "is-promise": "^2.1.0"
+ }
+ },
+ "run-parallel": {
+ "version": "1.1.9",
+ "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz",
+ "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q=="
+ },
+ "run-queue": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz",
+ "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=",
+ "requires": {
+ "aproba": "^1.1.1"
+ }
+ },
+ "rxjs": {
+ "version": "6.5.3",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz",
+ "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==",
+ "requires": {
+ "tslib": "^1.9.0"
+ }
+ },
+ "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=="
+ },
+ "safe-regex": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
+ "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
+ "requires": {
+ "ret": "~0.1.10"
+ }
+ },
+ "safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
+ },
+ "sass": {
+ "version": "1.23.0",
+ "resolved": "https://registry.npmjs.org/sass/-/sass-1.23.0.tgz",
+ "integrity": "sha512-W4HT8+WE31Rzk3EPQC++CXjD5O+lOxgYBIB8Ohvt7/zeE2UzYW+TOczDrRU3KcEy3+xwXXbmDsOZFkoqgD4TKw==",
+ "requires": {
+ "chokidar": ">=2.0.0 <4.0.0"
+ }
+ },
+ "sass-loader": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-8.0.0.tgz",
+ "integrity": "sha512-+qeMu563PN7rPdit2+n5uuYVR0SSVwm0JsOUsaJXzgYcClWSlmX0iHDnmeOobPkf5kUglVot3QS6SyLyaQoJ4w==",
+ "requires": {
+ "clone-deep": "^4.0.1",
+ "loader-utils": "^1.2.3",
+ "neo-async": "^2.6.1",
+ "schema-utils": "^2.1.0",
+ "semver": "^6.3.0"
+ },
+ "dependencies": {
+ "schema-utils": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.4.1.tgz",
+ "integrity": "sha512-RqYLpkPZX5Oc3fw/kHHHyP56fg5Y+XBpIpV8nCg0znIALfq3OH+Ea9Hfeac9BAMwG5IICltiZ0vxFvJQONfA5w==",
+ "requires": {
+ "ajv": "^6.10.2",
+ "ajv-keywords": "^3.4.1"
+ }
+ },
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
+ }
+ }
+ },
+ "sax": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
+ "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
+ },
+ "saxes": {
+ "version": "3.1.11",
+ "resolved": "https://registry.npmjs.org/saxes/-/saxes-3.1.11.tgz",
+ "integrity": "sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==",
+ "requires": {
+ "xmlchars": "^2.1.1"
+ }
+ },
+ "schema-utils": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
+ "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
+ "requires": {
+ "ajv": "^6.1.0",
+ "ajv-errors": "^1.0.0",
+ "ajv-keywords": "^3.1.0"
+ }
+ },
+ "secure-keys": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/secure-keys/-/secure-keys-1.0.0.tgz",
+ "integrity": "sha1-8MgtmKOxOah3aogIBQuCRDEIf8o="
+ },
+ "select-hose": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz",
+ "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo="
+ },
+ "selfsigned": {
+ "version": "1.10.7",
+ "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.7.tgz",
+ "integrity": "sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA==",
+ "requires": {
+ "node-forge": "0.9.0"
+ }
+ },
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
+ },
+ "semver-compare": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz",
+ "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w="
+ },
+ "send": {
+ "version": "0.17.1",
+ "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz",
+ "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==",
+ "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.7.2",
+ "mime": "1.6.0",
+ "ms": "2.1.1",
+ "on-finished": "~2.3.0",
+ "range-parser": "~1.2.1",
+ "statuses": "~1.5.0"
+ },
+ "dependencies": {
+ "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"
+ },
+ "dependencies": {
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+ }
+ }
+ },
+ "mime": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="
+ },
+ "ms": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
+ "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg=="
+ }
+ }
+ },
+ "serialize-javascript": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.9.1.tgz",
+ "integrity": "sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A=="
+ },
+ "serve-index": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz",
+ "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=",
+ "requires": {
+ "accepts": "~1.3.4",
+ "batch": "0.6.1",
+ "debug": "2.6.9",
+ "escape-html": "~1.0.3",
+ "http-errors": "~1.6.2",
+ "mime-types": "~2.1.17",
+ "parseurl": "~1.3.2"
+ },
+ "dependencies": {
+ "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"
+ }
+ },
+ "http-errors": {
+ "version": "1.6.3",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
+ "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
+ "requires": {
+ "depd": "~1.1.2",
+ "inherits": "2.0.3",
+ "setprototypeof": "1.1.0",
+ "statuses": ">= 1.4.0 < 2"
+ }
+ },
+ "inherits": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+ },
+ "setprototypeof": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
+ "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ=="
+ }
+ }
+ },
+ "serve-static": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz",
+ "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==",
+ "requires": {
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "parseurl": "~1.3.3",
+ "send": "0.17.1"
+ }
+ },
+ "set-blocking": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc="
+ },
+ "set-value": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
+ "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
+ "requires": {
+ "extend-shallow": "^2.0.1",
+ "is-extendable": "^0.1.1",
+ "is-plain-object": "^2.0.3",
+ "split-string": "^3.0.1"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "setimmediate": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
+ "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU="
+ },
+ "setprototypeof": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
+ "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw=="
+ },
+ "sha.js": {
+ "version": "2.4.11",
+ "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
+ "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
+ "requires": {
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "shallow-clone": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz",
+ "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==",
+ "requires": {
+ "kind-of": "^6.0.2"
+ }
+ },
+ "shebang-command": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
+ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
+ "requires": {
+ "shebang-regex": "^1.0.0"
+ }
+ },
+ "shebang-regex": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
+ "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM="
+ },
+ "shell-quote": {
+ "version": "1.7.2",
+ "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz",
+ "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg=="
+ },
+ "signal-exit": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
+ "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0="
+ },
+ "simple-html-tokenizer": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/simple-html-tokenizer/-/simple-html-tokenizer-0.1.1.tgz",
+ "integrity": "sha1-BcLuxXn//+FFoDCsJs/qYbmA+r4="
+ },
+ "simple-swizzle": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
+ "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=",
+ "requires": {
+ "is-arrayish": "^0.3.1"
+ },
+ "dependencies": {
+ "is-arrayish": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
+ "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ=="
+ }
+ }
+ },
+ "slash": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz",
+ "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A=="
+ },
+ "slice-ansi": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
+ "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
+ "requires": {
+ "ansi-styles": "^3.2.0",
+ "astral-regex": "^1.0.0",
+ "is-fullwidth-code-point": "^2.0.0"
+ }
+ },
+ "smartbanner.js": {
+ "version": "1.14.6",
+ "resolved": "https://registry.npmjs.org/smartbanner.js/-/smartbanner.js-1.14.6.tgz",
+ "integrity": "sha512-yAc7ueVIiQ3kyHrQxOZncZiEFv6ubXxWj5E01xj45njFk8XZ8zG3VpAFPl70Yvmv/H0L/qjxOmQqF3H3T0j/SQ=="
+ },
+ "snapdragon": {
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
+ "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
+ "requires": {
+ "base": "^0.11.1",
+ "debug": "^2.2.0",
+ "define-property": "^0.2.5",
+ "extend-shallow": "^2.0.1",
+ "map-cache": "^0.2.2",
+ "source-map": "^0.5.6",
+ "source-map-resolve": "^0.5.0",
+ "use": "^3.1.0"
+ },
+ "dependencies": {
+ "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"
+ }
+ },
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+ }
+ }
+ },
+ "snapdragon-node": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
+ "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
+ "requires": {
+ "define-property": "^1.0.0",
+ "isobject": "^3.0.0",
+ "snapdragon-util": "^3.0.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "requires": {
+ "is-descriptor": "^1.0.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "requires": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ }
+ }
+ }
+ },
+ "snapdragon-util": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
+ "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
+ "requires": {
+ "kind-of": "^3.2.0"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "sockjs": {
+ "version": "0.3.19",
+ "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz",
+ "integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==",
+ "requires": {
+ "faye-websocket": "^0.10.0",
+ "uuid": "^3.0.1"
+ }
+ },
+ "sockjs-client": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz",
+ "integrity": "sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g==",
+ "requires": {
+ "debug": "^3.2.5",
+ "eventsource": "^1.0.7",
+ "faye-websocket": "~0.11.1",
+ "inherits": "^2.0.3",
+ "json3": "^3.3.2",
+ "url-parse": "^1.4.3"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
+ "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "faye-websocket": {
+ "version": "0.11.3",
+ "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz",
+ "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==",
+ "requires": {
+ "websocket-driver": ">=0.5.1"
+ }
+ }
+ }
+ },
+ "sort-keys": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz",
+ "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=",
+ "requires": {
+ "is-plain-obj": "^1.0.0"
+ }
+ },
+ "sortablejs": {
+ "version": "1.10.1",
+ "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.10.1.tgz",
+ "integrity": "sha512-N6r7GrVmO8RW1rn0cTdvK3JR0BcqecAJ0PmYMCL3ZuqTH3pY+9QyqkmJSkkLyyDvd+AJnwaxTP22Ybr/83V9hQ=="
+ },
+ "source-list-map": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz",
+ "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw=="
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
+ },
+ "source-map-resolve": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz",
+ "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==",
+ "requires": {
+ "atob": "^2.1.1",
+ "decode-uri-component": "^0.2.0",
+ "resolve-url": "^0.2.1",
+ "source-map-url": "^0.4.0",
+ "urix": "^0.1.0"
+ }
+ },
+ "source-map-support": {
+ "version": "0.5.13",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz",
+ "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==",
+ "requires": {
+ "buffer-from": "^1.0.0",
+ "source-map": "^0.6.0"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ }
+ }
+ },
+ "source-map-url": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
+ "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM="
+ },
+ "spdx-correct": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz",
+ "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==",
+ "requires": {
+ "spdx-expression-parse": "^3.0.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "spdx-exceptions": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz",
+ "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA=="
+ },
+ "spdx-expression-parse": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz",
+ "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
+ "requires": {
+ "spdx-exceptions": "^2.1.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "spdx-license-ids": {
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz",
+ "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q=="
+ },
+ "spdy": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.1.tgz",
+ "integrity": "sha512-HeZS3PBdMA+sZSu0qwpCxl3DeALD5ASx8pAX0jZdKXSpPWbQ6SYGnlg3BBmYLx5LtiZrmkAZfErCm2oECBcioA==",
+ "requires": {
+ "debug": "^4.1.0",
+ "handle-thing": "^2.0.0",
+ "http-deceiver": "^1.2.7",
+ "select-hose": "^2.0.0",
+ "spdy-transport": "^3.0.0"
+ }
+ },
+ "spdy-transport": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz",
+ "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==",
+ "requires": {
+ "debug": "^4.1.0",
+ "detect-node": "^2.0.4",
+ "hpack.js": "^2.1.6",
+ "obuf": "^1.1.2",
+ "readable-stream": "^3.0.6",
+ "wbuf": "^1.7.3"
+ },
+ "dependencies": {
+ "readable-stream": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz",
+ "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==",
+ "requires": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ }
+ }
+ }
+ },
+ "split-string": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
+ "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
+ "requires": {
+ "extend-shallow": "^3.0.0"
+ }
+ },
+ "sprintf-js": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw="
+ },
+ "sshpk": {
+ "version": "1.16.1",
+ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
+ "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
+ "requires": {
+ "asn1": "~0.2.3",
+ "assert-plus": "^1.0.0",
+ "bcrypt-pbkdf": "^1.0.0",
+ "dashdash": "^1.12.0",
+ "ecc-jsbn": "~0.1.1",
+ "getpass": "^0.1.1",
+ "jsbn": "~0.1.0",
+ "safer-buffer": "^2.0.2",
+ "tweetnacl": "~0.14.0"
+ }
+ },
+ "ssri": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz",
+ "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==",
+ "requires": {
+ "figgy-pudding": "^3.5.1"
+ }
+ },
+ "stable": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz",
+ "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w=="
+ },
+ "stackframe": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.1.0.tgz",
+ "integrity": "sha512-Vx6W1Yvy+AM1R/ckVwcHQHV147pTPBKWCRLrXMuPrFVfvBUc3os7PR1QLIWCMhPpRg5eX9ojzbQIMLGBwyLjqg=="
+ },
+ "static-extend": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
+ "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
+ "requires": {
+ "define-property": "^0.2.5",
+ "object-copy": "^0.1.0"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ }
+ }
+ },
+ "statuses": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
+ "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
+ },
+ "stealthy-require": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz",
+ "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks="
+ },
+ "stream-browserify": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz",
+ "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==",
+ "requires": {
+ "inherits": "~2.0.1",
+ "readable-stream": "^2.0.2"
+ }
+ },
+ "stream-each": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz",
+ "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==",
+ "requires": {
+ "end-of-stream": "^1.1.0",
+ "stream-shift": "^1.0.0"
+ }
+ },
+ "stream-http": {
+ "version": "2.8.3",
+ "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz",
+ "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==",
+ "requires": {
+ "builtin-status-codes": "^3.0.0",
+ "inherits": "^2.0.1",
+ "readable-stream": "^2.3.6",
+ "to-arraybuffer": "^1.0.0",
+ "xtend": "^4.0.0"
+ }
+ },
+ "stream-shift": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz",
+ "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI="
+ },
+ "strict-uri-encode": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz",
+ "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM="
+ },
+ "string-width": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
+ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "requires": {
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^4.0.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg="
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "requires": {
+ "ansi-regex": "^3.0.0"
+ }
+ }
+ }
+ },
+ "string.prototype.padend": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.0.0.tgz",
+ "integrity": "sha1-86rvfBcZ8XDF6rHDK/eA2W4h8vA=",
+ "requires": {
+ "define-properties": "^1.1.2",
+ "es-abstract": "^1.4.3",
+ "function-bind": "^1.0.2"
+ }
+ },
+ "string.prototype.padstart": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/string.prototype.padstart/-/string.prototype.padstart-3.0.0.tgz",
+ "integrity": "sha1-W8+tOfRkm7LQMSkuGbzwtRDUskI=",
+ "requires": {
+ "define-properties": "^1.1.2",
+ "es-abstract": "^1.4.3",
+ "function-bind": "^1.0.2"
+ }
+ },
+ "string.prototype.trimleft": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz",
+ "integrity": "sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw==",
+ "requires": {
+ "define-properties": "^1.1.3",
+ "function-bind": "^1.1.1"
+ }
+ },
+ "string.prototype.trimright": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz",
+ "integrity": "sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg==",
+ "requires": {
+ "define-properties": "^1.1.3",
+ "function-bind": "^1.1.1"
+ }
+ },
+ "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==",
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
+ "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+ "requires": {
+ "ansi-regex": "^4.1.0"
+ }
+ },
+ "strip-bom": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+ "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM="
+ },
+ "strip-eof": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
+ "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8="
+ },
+ "strip-final-newline": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
+ "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA=="
+ },
+ "strip-indent": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz",
+ "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g="
+ },
+ "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="
+ },
+ "stylehacks": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz",
+ "integrity": "sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==",
+ "requires": {
+ "browserslist": "^4.0.0",
+ "postcss": "^7.0.0",
+ "postcss-selector-parser": "^3.0.0"
+ },
+ "dependencies": {
+ "postcss-selector-parser": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz",
+ "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=",
+ "requires": {
+ "dot-prop": "^4.1.1",
+ "indexes-of": "^1.0.1",
+ "uniq": "^1.0.1"
+ }
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "svg-inline-loader": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/svg-inline-loader/-/svg-inline-loader-0.8.0.tgz",
+ "integrity": "sha512-rynplY2eXFrdNomL1FvyTFQlP+dx0WqbzHglmNtA9M4IHRC3no2aPAl3ny9lUpJzFzFMZfWRK5YIclNU+FRePA==",
+ "requires": {
+ "loader-utils": "^0.2.11",
+ "object-assign": "^4.0.1",
+ "simple-html-tokenizer": "^0.1.1"
+ },
+ "dependencies": {
+ "big.js": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz",
+ "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q=="
+ },
+ "json5": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
+ "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE="
+ },
+ "loader-utils": {
+ "version": "0.2.17",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
+ "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=",
+ "requires": {
+ "big.js": "^3.1.3",
+ "emojis-list": "^2.0.0",
+ "json5": "^0.5.0",
+ "object-assign": "^4.0.1"
+ }
+ }
+ }
+ },
+ "svg-tags": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz",
+ "integrity": "sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q="
+ },
+ "svg-url-loader": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/svg-url-loader/-/svg-url-loader-3.0.2.tgz",
+ "integrity": "sha512-MUJFVU2uuOTZW6Eq6NuXZxhaIyWiuKtZMcT90nCkcvIZPGGc0CYyZWYP/rtXUkja5qagNMpxDwdZ/tuC6ywfWg==",
+ "requires": {
+ "file-loader": "~4.2.0",
+ "loader-utils": "~1.2.3"
+ }
+ },
+ "svgo": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.0.tgz",
+ "integrity": "sha512-MLfUA6O+qauLDbym+mMZgtXCGRfIxyQoeH6IKVcFslyODEe/ElJNwr0FohQ3xG4C6HK6bk3KYPPXwHVJk3V5NQ==",
+ "requires": {
+ "chalk": "^2.4.1",
+ "coa": "^2.0.2",
+ "css-select": "^2.0.0",
+ "css-select-base-adapter": "^0.1.1",
+ "css-tree": "1.0.0-alpha.33",
+ "csso": "^3.5.1",
+ "js-yaml": "^3.13.1",
+ "mkdirp": "~0.5.1",
+ "object.values": "^1.1.0",
+ "sax": "~1.2.4",
+ "stable": "^0.1.8",
+ "unquote": "~1.1.1",
+ "util.promisify": "~1.0.0"
+ }
+ },
+ "svgo-loader": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/svgo-loader/-/svgo-loader-2.2.1.tgz",
+ "integrity": "sha512-9dyz/h6ae04pAVRz7QY8bLXtMbwA19NPpCPfCixgW0qXNDCOlHbDRqvtT5/2gzRxfuibWCUP6ZBQmZWF9rjWhQ==",
+ "requires": {
+ "js-yaml": "^3.13.1",
+ "loader-utils": "^1.0.3"
+ }
+ },
+ "symbol-tree": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
+ "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw=="
+ },
+ "table": {
+ "version": "5.4.6",
+ "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
+ "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
+ "requires": {
+ "ajv": "^6.10.2",
+ "lodash": "^4.17.14",
+ "slice-ansi": "^2.1.0",
+ "string-width": "^3.0.0"
+ },
+ "dependencies": {
+ "string-width": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
+ "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+ "requires": {
+ "emoji-regex": "^7.0.1",
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^5.1.0"
+ }
+ }
+ }
+ },
+ "tapable": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz",
+ "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA=="
+ },
+ "terser": {
+ "version": "4.3.9",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-4.3.9.tgz",
+ "integrity": "sha512-NFGMpHjlzmyOtPL+fDw3G7+6Ueh/sz4mkaUYa4lJCxOPTNzd0Uj0aZJOmsDYoSQyfuVoWDMSWTPU3huyOm2zdA==",
+ "requires": {
+ "commander": "^2.20.0",
+ "source-map": "~0.6.1",
+ "source-map-support": "~0.5.12"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ }
+ }
+ },
+ "terser-webpack-plugin": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.1.tgz",
+ "integrity": "sha512-ZXmmfiwtCLfz8WKZyYUuuHf3dMYEjg8NrjHMb0JqHVHVOSkzp3cW2/XG1fP3tRhqEqSzMwzzRQGtAPbs4Cncxg==",
+ "requires": {
+ "cacache": "^12.0.2",
+ "find-cache-dir": "^2.1.0",
+ "is-wsl": "^1.1.0",
+ "schema-utils": "^1.0.0",
+ "serialize-javascript": "^1.7.0",
+ "source-map": "^0.6.1",
+ "terser": "^4.1.2",
+ "webpack-sources": "^1.4.0",
+ "worker-farm": "^1.7.0"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ }
+ }
+ },
+ "text-table": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
+ "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ="
+ },
+ "thenify": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.0.tgz",
+ "integrity": "sha1-5p44obq+lpsBCCB5eLn2K4hgSDk=",
+ "requires": {
+ "any-promise": "^1.0.0"
+ }
+ },
+ "thenify-all": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz",
+ "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=",
+ "requires": {
+ "thenify": ">= 3.1.0 < 4"
+ }
+ },
+ "thread-loader": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/thread-loader/-/thread-loader-2.1.3.tgz",
+ "integrity": "sha512-wNrVKH2Lcf8ZrWxDF/khdlLlsTMczdcwPA9VEK4c2exlEPynYWxi9op3nPTo5lAnDIkE0rQEB3VBP+4Zncc9Hg==",
+ "requires": {
+ "loader-runner": "^2.3.1",
+ "loader-utils": "^1.1.0",
+ "neo-async": "^2.6.0"
+ }
+ },
+ "throttleit": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz",
+ "integrity": "sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw="
+ },
+ "through": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
+ "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
+ },
+ "through2": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
+ "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
+ "requires": {
+ "readable-stream": "~2.3.6",
+ "xtend": "~4.0.1"
+ }
+ },
+ "thunky": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz",
+ "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA=="
+ },
+ "timers-browserify": {
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz",
+ "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==",
+ "requires": {
+ "setimmediate": "^1.0.4"
+ }
+ },
+ "timsort": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz",
+ "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q="
+ },
+ "tmp": {
+ "version": "0.0.33",
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
+ "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
+ "requires": {
+ "os-tmpdir": "~1.0.2"
+ }
+ },
+ "to-arraybuffer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
+ "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M="
+ },
+ "to-fast-properties": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+ "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4="
+ },
+ "to-object-path": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
+ "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "to-regex": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
+ "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
+ "requires": {
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "regex-not": "^1.0.2",
+ "safe-regex": "^1.1.0"
+ }
+ },
+ "to-regex-range": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
+ "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
+ "requires": {
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1"
+ }
+ },
+ "toidentifier": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
+ "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw=="
+ },
+ "toposort": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/toposort/-/toposort-2.0.2.tgz",
+ "integrity": "sha1-riF2gXXRVZ1IvvNUILL0li8JwzA="
+ },
+ "tough-cookie": {
+ "version": "2.4.3",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
+ "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
+ "requires": {
+ "psl": "^1.1.24",
+ "punycode": "^1.4.1"
+ },
+ "dependencies": {
+ "punycode": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+ "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
+ }
+ }
+ },
+ "tr46": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz",
+ "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=",
+ "requires": {
+ "punycode": "^2.1.0"
+ }
+ },
+ "tryer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz",
+ "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA=="
+ },
+ "tslib": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz",
+ "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ=="
+ },
+ "tty-browserify": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
+ "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY="
+ },
+ "tunnel-agent": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
+ "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
+ "requires": {
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "tweetnacl": {
+ "version": "0.14.5",
+ "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
+ "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
+ },
+ "type-check": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
+ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
+ "requires": {
+ "prelude-ls": "~1.1.2"
+ }
+ },
+ "type-detect": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
+ "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g=="
+ },
+ "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=="
+ },
+ "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": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
+ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
+ },
+ "uc.micro": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz",
+ "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA=="
+ },
+ "uglify-js": {
+ "version": "3.4.10",
+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz",
+ "integrity": "sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==",
+ "requires": {
+ "commander": "~2.19.0",
+ "source-map": "~0.6.1"
+ },
+ "dependencies": {
+ "commander": {
+ "version": "2.19.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz",
+ "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg=="
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ }
+ }
+ },
+ "unicode-canonical-property-names-ecmascript": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz",
+ "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ=="
+ },
+ "unicode-match-property-ecmascript": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz",
+ "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==",
+ "requires": {
+ "unicode-canonical-property-names-ecmascript": "^1.0.4",
+ "unicode-property-aliases-ecmascript": "^1.0.4"
+ }
+ },
+ "unicode-match-property-value-ecmascript": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz",
+ "integrity": "sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g=="
+ },
+ "unicode-property-aliases-ecmascript": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz",
+ "integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw=="
+ },
+ "union-value": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
+ "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
+ "requires": {
+ "arr-union": "^3.1.0",
+ "get-value": "^2.0.6",
+ "is-extendable": "^0.1.1",
+ "set-value": "^2.0.1"
+ }
+ },
+ "uniq": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz",
+ "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8="
+ },
+ "uniqs": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz",
+ "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI="
+ },
+ "unique-filename": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz",
+ "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==",
+ "requires": {
+ "unique-slug": "^2.0.0"
+ }
+ },
+ "unique-slug": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz",
+ "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==",
+ "requires": {
+ "imurmurhash": "^0.1.4"
+ }
+ },
+ "universalify": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
+ "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="
+ },
+ "unpipe": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
+ "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
+ },
+ "unquote": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz",
+ "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ="
+ },
+ "unset-value": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
+ "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
+ "requires": {
+ "has-value": "^0.3.1",
+ "isobject": "^3.0.0"
+ },
+ "dependencies": {
+ "has-value": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
+ "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
+ "requires": {
+ "get-value": "^2.0.3",
+ "has-values": "^0.1.4",
+ "isobject": "^2.0.0"
+ },
+ "dependencies": {
+ "isobject": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
+ "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
+ "requires": {
+ "isarray": "1.0.0"
+ }
+ }
+ }
+ },
+ "has-values": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
+ "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E="
+ }
+ }
+ },
+ "upath": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz",
+ "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg=="
+ },
+ "upper-case": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz",
+ "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg="
+ },
+ "uri-js": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
+ "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
+ "requires": {
+ "punycode": "^2.1.0"
+ }
+ },
+ "urix": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
+ "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI="
+ },
+ "url": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
+ "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
+ "requires": {
+ "punycode": "1.3.2",
+ "querystring": "0.2.0"
+ },
+ "dependencies": {
+ "punycode": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
+ "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0="
+ }
+ }
+ },
+ "url-loader": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-2.2.0.tgz",
+ "integrity": "sha512-G8nk3np8ZAnwhHXas1JxJEwJyQdqFXAKJehfgZ/XrC48volFBRtO+FIKtF2u0Ma3bw+4vnDVjHPAQYlF9p2vsw==",
+ "requires": {
+ "loader-utils": "^1.2.3",
+ "mime": "^2.4.4",
+ "schema-utils": "^2.4.1"
+ },
+ "dependencies": {
+ "schema-utils": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.5.0.tgz",
+ "integrity": "sha512-32ISrwW2scPXHUSusP8qMg5dLUawKkyV+/qIEV9JdXKx+rsM6mi8vZY8khg2M69Qom16rtroWXD3Ybtiws38gQ==",
+ "requires": {
+ "ajv": "^6.10.2",
+ "ajv-keywords": "^3.4.1"
+ }
+ }
+ }
+ },
+ "url-parse": {
+ "version": "1.4.7",
+ "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz",
+ "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==",
+ "requires": {
+ "querystringify": "^2.1.1",
+ "requires-port": "^1.0.0"
+ }
+ },
+ "use": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
+ "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ=="
+ },
+ "util": {
+ "version": "0.11.1",
+ "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz",
+ "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==",
+ "requires": {
+ "inherits": "2.0.3"
+ },
+ "dependencies": {
+ "inherits": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
+ }
+ }
+ },
+ "util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
+ },
+ "util.promisify": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz",
+ "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==",
+ "requires": {
+ "define-properties": "^1.1.2",
+ "object.getownpropertydescriptors": "^2.0.3"
+ }
+ },
+ "utila": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz",
+ "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw="
+ },
+ "utils-merge": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
+ "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
+ },
+ "uuid": {
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz",
+ "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ=="
+ },
+ "v8-compile-cache": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz",
+ "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g=="
+ },
+ "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==",
+ "requires": {
+ "spdx-correct": "^3.0.0",
+ "spdx-expression-parse": "^3.0.0"
+ }
+ },
+ "validator": {
+ "version": "11.1.0",
+ "resolved": "https://registry.npmjs.org/validator/-/validator-11.1.0.tgz",
+ "integrity": "sha512-qiQ5ktdO7CD6C/5/mYV4jku/7qnqzjrxb3C/Q5wR3vGGinHTgJZN/TdFT3ZX4vXhX2R1PXx42fB1cn5W+uJ4lg=="
+ },
+ "vary": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
+ "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
+ },
+ "vendors": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.3.tgz",
+ "integrity": "sha512-fOi47nsJP5Wqefa43kyWSg80qF+Q3XA6MUkgi7Hp1HQaKDQW4cQrK2D0P7mmbFtsV1N89am55Yru/nyEwRubcw=="
+ },
+ "verror": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
+ "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
+ "requires": {
+ "assert-plus": "^1.0.0",
+ "core-util-is": "1.0.2",
+ "extsprintf": "^1.2.0"
+ }
+ },
+ "vm-browserify": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.0.tgz",
+ "integrity": "sha512-iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw=="
+ },
+ "vue": {
+ "version": "2.6.10",
+ "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.10.tgz",
+ "integrity": "sha512-ImThpeNU9HbdZL3utgMCq0oiMzAkt1mcgy3/E6zWC/G6AaQoeuFdsl9nDhTDU3X1R6FK7nsIUuRACVcjI+A2GQ=="
+ },
+ "vue-eslint-parser": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-5.0.0.tgz",
+ "integrity": "sha512-JlHVZwBBTNVvzmifwjpZYn0oPWH2SgWv5dojlZBsrhablDu95VFD+hriB1rQGwbD+bms6g+rAFhQHk6+NyiS6g==",
+ "requires": {
+ "debug": "^4.1.0",
+ "eslint-scope": "^4.0.0",
+ "eslint-visitor-keys": "^1.0.0",
+ "espree": "^4.1.0",
+ "esquery": "^1.0.1",
+ "lodash": "^4.17.11"
+ },
+ "dependencies": {
+ "espree": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-4.1.0.tgz",
+ "integrity": "sha512-I5BycZW6FCVIub93TeVY1s7vjhP9CY6cXCznIRfiig7nRviKZYdRnj/sHEWC6A7WE9RDWOFq9+7OsWSYz8qv2w==",
+ "requires": {
+ "acorn": "^6.0.2",
+ "acorn-jsx": "^5.0.0",
+ "eslint-visitor-keys": "^1.0.0"
+ }
+ }
+ }
+ },
+ "vue-functional-data-merge": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/vue-functional-data-merge/-/vue-functional-data-merge-3.1.0.tgz",
+ "integrity": "sha512-leT4kdJVQyeZNY1kmnS1xiUlQ9z1B/kdBFCILIjYYQDqZgLqCLa0UhjSSeRX6c3mUe6U5qYeM8LrEqkHJ1B4LA=="
+ },
+ "vue-hot-reload-api": {
+ "version": "2.3.4",
+ "resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz",
+ "integrity": "sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog=="
+ },
+ "vue-loader": {
+ "version": "15.7.1",
+ "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.7.1.tgz",
+ "integrity": "sha512-fwIKtA23Pl/rqfYP5TSGK7gkEuLhoTvRYW+TU7ER3q9GpNLt/PjG5NLv3XHRDiTg7OPM1JcckBgds+VnAc+HbA==",
+ "requires": {
+ "@vue/component-compiler-utils": "^3.0.0",
+ "hash-sum": "^1.0.2",
+ "loader-utils": "^1.1.0",
+ "vue-hot-reload-api": "^2.3.0",
+ "vue-style-loader": "^4.1.0"
+ }
+ },
+ "vue-mugen-scroll": {
+ "version": "0.2.6",
+ "resolved": "https://registry.npmjs.org/vue-mugen-scroll/-/vue-mugen-scroll-0.2.6.tgz",
+ "integrity": "sha512-6FOBzotc8p/GDQZYkEdenxPydDvABUuxqMese6Zv4fpEZf7CjNSabRtAeBUtg+339Z9iKMdpzussbqFHCRXVqA==",
+ "requires": {
+ "element-in-view": "^0.1.0",
+ "throttleit": "^1.0.0"
+ }
+ },
+ "vue-router": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.1.3.tgz",
+ "integrity": "sha512-8iSa4mGNXBjyuSZFCCO4fiKfvzqk+mhL0lnKuGcQtO1eoj8nq3CmbEG8FwK5QqoqwDgsjsf1GDuisDX4cdb/aQ=="
+ },
+ "vue-style-loader": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.2.tgz",
+ "integrity": "sha512-0ip8ge6Gzz/Bk0iHovU9XAUQaFt/G2B61bnWa2tCcqqdgfHs1lF9xXorFbE55Gmy92okFT+8bfmySuUOu13vxQ==",
+ "requires": {
+ "hash-sum": "^1.0.2",
+ "loader-utils": "^1.0.2"
+ }
+ },
+ "vue-template-compiler": {
+ "version": "2.6.10",
+ "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.10.tgz",
+ "integrity": "sha512-jVZkw4/I/HT5ZMvRnhv78okGusqe0+qH2A0Em0Cp8aq78+NK9TII263CDVz2QXZsIT+yyV/gZc/j/vlwa+Epyg==",
+ "requires": {
+ "de-indent": "^1.0.2",
+ "he": "^1.1.0"
+ }
+ },
+ "vue-template-es2015-compiler": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz",
+ "integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw=="
+ },
+ "vuedraggable": {
+ "version": "2.23.2",
+ "resolved": "https://registry.npmjs.org/vuedraggable/-/vuedraggable-2.23.2.tgz",
+ "integrity": "sha512-PgHCjUpxEAEZJq36ys49HfQmXglattf/7ofOzUrW2/rRdG7tu6fK84ir14t1jYv4kdXewTEa2ieKEAhhEMdwkQ==",
+ "requires": {
+ "sortablejs": "^1.10.1"
+ }
+ },
+ "vuejs-datepicker": {
+ "version": "git://github.com/habitrpg/vuejs-datepicker.git#5d237615463a84a23dd6f3f77c6ab577d68593ec",
+ "from": "git://github.com/habitrpg/vuejs-datepicker.git#5d237615463a84a23dd6f3f77c6ab577d68593ec"
+ },
+ "w3c-hr-time": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz",
+ "integrity": "sha1-gqwr/2PZUOqeMYmlimViX+3xkEU=",
+ "requires": {
+ "browser-process-hrtime": "^0.1.2"
+ }
+ },
+ "w3c-xmlserializer": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz",
+ "integrity": "sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg==",
+ "requires": {
+ "domexception": "^1.0.1",
+ "webidl-conversions": "^4.0.2",
+ "xml-name-validator": "^3.0.0"
+ }
+ },
+ "watchpack": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz",
+ "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==",
+ "requires": {
+ "chokidar": "^2.0.2",
+ "graceful-fs": "^4.1.2",
+ "neo-async": "^2.5.0"
+ }
+ },
+ "wbuf": {
+ "version": "1.7.3",
+ "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz",
+ "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==",
+ "requires": {
+ "minimalistic-assert": "^1.0.0"
+ }
+ },
+ "wcwidth": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
+ "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=",
+ "requires": {
+ "defaults": "^1.0.3"
+ }
+ },
+ "webidl-conversions": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz",
+ "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg=="
+ },
+ "webpack": {
+ "version": "4.41.2",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.41.2.tgz",
+ "integrity": "sha512-Zhw69edTGfbz9/8JJoyRQ/pq8FYUoY0diOXqW0T6yhgdhCv6wr0hra5DwwWexNRns2Z2+gsnrNcbe9hbGBgk/A==",
+ "requires": {
+ "@webassemblyjs/ast": "1.8.5",
+ "@webassemblyjs/helper-module-context": "1.8.5",
+ "@webassemblyjs/wasm-edit": "1.8.5",
+ "@webassemblyjs/wasm-parser": "1.8.5",
+ "acorn": "^6.2.1",
+ "ajv": "^6.10.2",
+ "ajv-keywords": "^3.4.1",
+ "chrome-trace-event": "^1.0.2",
+ "enhanced-resolve": "^4.1.0",
+ "eslint-scope": "^4.0.3",
+ "json-parse-better-errors": "^1.0.2",
+ "loader-runner": "^2.4.0",
+ "loader-utils": "^1.2.3",
+ "memory-fs": "^0.4.1",
+ "micromatch": "^3.1.10",
+ "mkdirp": "^0.5.1",
+ "neo-async": "^2.6.1",
+ "node-libs-browser": "^2.2.1",
+ "schema-utils": "^1.0.0",
+ "tapable": "^1.1.3",
+ "terser-webpack-plugin": "^1.4.1",
+ "watchpack": "^1.6.0",
+ "webpack-sources": "^1.4.1"
+ }
+ },
+ "webpack-bundle-analyzer": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.6.0.tgz",
+ "integrity": "sha512-orUfvVYEfBMDXgEKAKVvab5iQ2wXneIEorGNsyuOyVYpjYrI7CUOhhXNDd3huMwQ3vNNWWlGP+hzflMFYNzi2g==",
+ "requires": {
+ "acorn": "^6.0.7",
+ "acorn-walk": "^6.1.1",
+ "bfj": "^6.1.1",
+ "chalk": "^2.4.1",
+ "commander": "^2.18.0",
+ "ejs": "^2.6.1",
+ "express": "^4.16.3",
+ "filesize": "^3.6.1",
+ "gzip-size": "^5.0.0",
+ "lodash": "^4.17.15",
+ "mkdirp": "^0.5.1",
+ "opener": "^1.5.1",
+ "ws": "^6.0.0"
+ },
+ "dependencies": {
+ "ws": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz",
+ "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==",
+ "requires": {
+ "async-limiter": "~1.0.0"
+ }
+ }
+ }
+ },
+ "webpack-chain": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/webpack-chain/-/webpack-chain-6.0.0.tgz",
+ "integrity": "sha512-NK62XgJOOSmYs4kaXFIKKeClpuOVHY7m6e4XwxbVX/2HAUboH6xFCTVXMVv8+jB6K8o/UGjlo1Cv3XXOyNAAGw==",
+ "requires": {
+ "deepmerge": "^1.5.2",
+ "javascript-stringify": "^2.0.0"
+ }
+ },
+ "webpack-dev-middleware": {
+ "version": "3.7.2",
+ "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz",
+ "integrity": "sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw==",
+ "requires": {
+ "memory-fs": "^0.4.1",
+ "mime": "^2.4.4",
+ "mkdirp": "^0.5.1",
+ "range-parser": "^1.2.1",
+ "webpack-log": "^2.0.0"
+ }
+ },
+ "webpack-dev-server": {
+ "version": "3.8.2",
+ "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.8.2.tgz",
+ "integrity": "sha512-0xxogS7n5jHDQWy0WST0q6Ykp7UGj4YvWh+HVN71JoE7BwPxMZrwgraBvmdEMbDVMBzF0u+mEzn8TQzBm5NYJQ==",
+ "requires": {
+ "ansi-html": "0.0.7",
+ "bonjour": "^3.5.0",
+ "chokidar": "^2.1.8",
+ "compression": "^1.7.4",
+ "connect-history-api-fallback": "^1.6.0",
+ "debug": "^4.1.1",
+ "del": "^4.1.1",
+ "express": "^4.17.1",
+ "html-entities": "^1.2.1",
+ "http-proxy-middleware": "0.19.1",
+ "import-local": "^2.0.0",
+ "internal-ip": "^4.3.0",
+ "ip": "^1.1.5",
+ "is-absolute-url": "^3.0.3",
+ "killable": "^1.0.1",
+ "loglevel": "^1.6.4",
+ "opn": "^5.5.0",
+ "p-retry": "^3.0.1",
+ "portfinder": "^1.0.24",
+ "schema-utils": "^1.0.0",
+ "selfsigned": "^1.10.7",
+ "semver": "^6.3.0",
+ "serve-index": "^1.9.1",
+ "sockjs": "0.3.19",
+ "sockjs-client": "1.4.0",
+ "spdy": "^4.0.1",
+ "strip-ansi": "^3.0.1",
+ "supports-color": "^6.1.0",
+ "url": "^0.11.0",
+ "webpack-dev-middleware": "^3.7.2",
+ "webpack-log": "^2.0.0",
+ "ws": "^6.2.1",
+ "yargs": "12.0.5"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
+ },
+ "cliui": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz",
+ "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==",
+ "requires": {
+ "string-width": "^2.1.1",
+ "strip-ansi": "^4.0.0",
+ "wrap-ansi": "^2.0.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg="
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "requires": {
+ "ansi-regex": "^3.0.0"
+ }
+ }
+ }
+ },
+ "find-up": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
+ "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
+ "requires": {
+ "locate-path": "^3.0.0"
+ }
+ },
+ "get-caller-file": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
+ "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w=="
+ },
+ "is-absolute-url": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz",
+ "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q=="
+ },
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+ "requires": {
+ "number-is-nan": "^1.0.0"
+ }
+ },
+ "locate-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
+ "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
+ "requires": {
+ "p-locate": "^3.0.0",
+ "path-exists": "^3.0.0"
+ }
+ },
+ "p-limit": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz",
+ "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==",
+ "requires": {
+ "p-try": "^2.0.0"
+ }
+ },
+ "p-locate": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
+ "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
+ "requires": {
+ "p-limit": "^2.0.0"
+ }
+ },
+ "p-try": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
+ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="
+ },
+ "require-main-filename": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
+ "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE="
+ },
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ },
+ "wrap-ansi": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
+ "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
+ "requires": {
+ "string-width": "^1.0.1",
+ "strip-ansi": "^3.0.1"
+ },
+ "dependencies": {
+ "string-width": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "requires": {
+ "code-point-at": "^1.0.0",
+ "is-fullwidth-code-point": "^1.0.0",
+ "strip-ansi": "^3.0.0"
+ }
+ }
+ }
+ },
+ "ws": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz",
+ "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==",
+ "requires": {
+ "async-limiter": "~1.0.0"
+ }
+ },
+ "yargs": {
+ "version": "12.0.5",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz",
+ "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==",
+ "requires": {
+ "cliui": "^4.0.0",
+ "decamelize": "^1.2.0",
+ "find-up": "^3.0.0",
+ "get-caller-file": "^1.0.1",
+ "os-locale": "^3.0.0",
+ "require-directory": "^2.1.1",
+ "require-main-filename": "^1.0.1",
+ "set-blocking": "^2.0.0",
+ "string-width": "^2.0.0",
+ "which-module": "^2.0.0",
+ "y18n": "^3.2.1 || ^4.0.0",
+ "yargs-parser": "^11.1.1"
+ }
+ },
+ "yargs-parser": {
+ "version": "11.1.1",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz",
+ "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==",
+ "requires": {
+ "camelcase": "^5.0.0",
+ "decamelize": "^1.2.0"
+ }
+ }
+ }
+ },
+ "webpack-log": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz",
+ "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==",
+ "requires": {
+ "ansi-colors": "^3.0.0",
+ "uuid": "^3.3.2"
+ }
+ },
+ "webpack-merge": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.2.tgz",
+ "integrity": "sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==",
+ "requires": {
+ "lodash": "^4.17.15"
+ }
+ },
+ "webpack-sources": {
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz",
+ "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==",
+ "requires": {
+ "source-list-map": "^2.0.0",
+ "source-map": "~0.6.1"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ }
+ }
+ },
+ "websocket-driver": {
+ "version": "0.7.3",
+ "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz",
+ "integrity": "sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==",
+ "requires": {
+ "http-parser-js": ">=0.4.0 <0.4.11",
+ "safe-buffer": ">=5.1.0",
+ "websocket-extensions": ">=0.1.1"
+ }
+ },
+ "websocket-extensions": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz",
+ "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg=="
+ },
+ "whatwg-encoding": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz",
+ "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==",
+ "requires": {
+ "iconv-lite": "0.4.24"
+ }
+ },
+ "whatwg-mimetype": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz",
+ "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g=="
+ },
+ "whatwg-url": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.0.0.tgz",
+ "integrity": "sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ==",
+ "requires": {
+ "lodash.sortby": "^4.7.0",
+ "tr46": "^1.0.1",
+ "webidl-conversions": "^4.0.2"
+ }
+ },
+ "which": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ },
+ "which-module": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
+ "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho="
+ },
+ "wide-align": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz",
+ "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==",
+ "requires": {
+ "string-width": "^1.0.2 || 2"
+ }
+ },
+ "window-size": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz",
+ "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY="
+ },
+ "wordwrap": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
+ "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus="
+ },
+ "worker-farm": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz",
+ "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==",
+ "requires": {
+ "errno": "~0.1.7"
+ }
+ },
+ "wrap-ansi": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
+ "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
+ "requires": {
+ "ansi-styles": "^3.2.0",
+ "string-width": "^3.0.0",
+ "strip-ansi": "^5.0.0"
+ },
+ "dependencies": {
+ "string-width": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
+ "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+ "requires": {
+ "emoji-regex": "^7.0.1",
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^5.1.0"
+ }
+ }
+ }
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
+ },
+ "write": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz",
+ "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==",
+ "requires": {
+ "mkdirp": "^0.5.1"
+ }
+ },
+ "ws": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-7.1.2.tgz",
+ "integrity": "sha512-gftXq3XI81cJCgkUiAVixA0raD9IVmXqsylCrjRygw4+UOOGzPoxnQ6r/CnVL9i+mDncJo94tSkyrtuuQVBmrg==",
+ "requires": {
+ "async-limiter": "^1.0.0"
+ }
+ },
+ "xml-name-validator": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz",
+ "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw=="
+ },
+ "xmlchars": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",
+ "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw=="
+ },
+ "xtend": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
+ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ=="
+ },
+ "y18n": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
+ "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w=="
+ },
+ "yallist": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
+ },
+ "yargs": {
+ "version": "13.3.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz",
+ "integrity": "sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==",
+ "requires": {
+ "cliui": "^5.0.0",
+ "find-up": "^3.0.0",
+ "get-caller-file": "^2.0.1",
+ "require-directory": "^2.1.1",
+ "require-main-filename": "^2.0.0",
+ "set-blocking": "^2.0.0",
+ "string-width": "^3.0.0",
+ "which-module": "^2.0.0",
+ "y18n": "^4.0.0",
+ "yargs-parser": "^13.1.1"
+ },
+ "dependencies": {
+ "find-up": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
+ "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
+ "requires": {
+ "locate-path": "^3.0.0"
+ }
+ },
+ "locate-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
+ "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
+ "requires": {
+ "p-locate": "^3.0.0",
+ "path-exists": "^3.0.0"
+ }
+ },
+ "p-limit": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz",
+ "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==",
+ "requires": {
+ "p-try": "^2.0.0"
+ }
+ },
+ "p-locate": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
+ "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
+ "requires": {
+ "p-limit": "^2.0.0"
+ }
+ },
+ "p-try": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
+ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="
+ },
+ "string-width": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
+ "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+ "requires": {
+ "emoji-regex": "^7.0.1",
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^5.1.0"
+ }
+ }
+ }
+ },
+ "yargs-parser": {
+ "version": "13.1.1",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz",
+ "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==",
+ "requires": {
+ "camelcase": "^5.0.0",
+ "decamelize": "^1.2.0"
+ }
+ },
+ "yargs-unparser": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz",
+ "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==",
+ "requires": {
+ "flat": "^4.1.0",
+ "lodash": "^4.17.15",
+ "yargs": "^13.3.0"
+ }
+ },
+ "yorkie": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/yorkie/-/yorkie-2.0.0.tgz",
+ "integrity": "sha512-jcKpkthap6x63MB4TxwCyuIGkV0oYP/YRyuQU5UO0Yz/E/ZAu+653/uov+phdmO54n6BcvFRyyt0RRrWdN2mpw==",
+ "requires": {
+ "execa": "^0.8.0",
+ "is-ci": "^1.0.10",
+ "normalize-path": "^1.0.0",
+ "strip-indent": "^2.0.0"
+ },
+ "dependencies": {
+ "cross-spawn": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
+ "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
+ "requires": {
+ "lru-cache": "^4.0.1",
+ "shebang-command": "^1.2.0",
+ "which": "^1.2.9"
+ }
+ },
+ "execa": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz",
+ "integrity": "sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=",
+ "requires": {
+ "cross-spawn": "^5.0.1",
+ "get-stream": "^3.0.0",
+ "is-stream": "^1.1.0",
+ "npm-run-path": "^2.0.0",
+ "p-finally": "^1.0.0",
+ "signal-exit": "^3.0.0",
+ "strip-eof": "^1.0.0"
+ }
+ },
+ "get-stream": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
+ "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ="
+ },
+ "lru-cache": {
+ "version": "4.1.5",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
+ "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
+ "requires": {
+ "pseudomap": "^1.0.2",
+ "yallist": "^2.1.2"
+ }
+ },
+ "normalize-path": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-1.0.0.tgz",
+ "integrity": "sha1-MtDkcvkf80VwHBWoMRAY07CpA3k="
+ },
+ "yallist": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
+ "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI="
+ }
+ }
+ }
+ }
+}
diff --git a/website/client/package.json b/website/client/package.json
new file mode 100644
index 0000000000..07fb2d29e0
--- /dev/null
+++ b/website/client/package.json
@@ -0,0 +1,56 @@
+{
+ "name": "habitica-client",
+ "version": "1.0.0",
+ "private": true,
+ "scripts": {
+ "serve": "vue-cli-service serve",
+ "build": "vue-cli-service build",
+ "test:unit": "vue-cli-service test:unit --require ./tests/unit/helpers.js",
+ "lint": "vue-cli-service lint",
+ "postinstall": "if [ -n \"$npm_config_production\" ]; then npm run build; fi"
+ },
+ "dependencies": {
+ "@vue/cli-plugin-babel": "^4.0.4",
+ "@vue/cli-plugin-eslint": "^4.0.4",
+ "@vue/cli-plugin-router": "^4.0.4",
+ "@vue/cli-plugin-unit-mocha": "^4.0.4",
+ "@vue/cli-service": "^4.0.4",
+ "@vue/test-utils": "1.0.0-beta.29",
+ "amplitude-js": "^5.5.0",
+ "axios": "^0.19.0",
+ "axios-progress-bar": "^1.2.0",
+ "babel-eslint": "^10.0.1",
+ "bootstrap": "^4.3.1",
+ "bootstrap-vue": "^2.0.4",
+ "chai": "^4.1.2",
+ "core-js": "^3.3.2",
+ "eslint": "^6.5.1",
+ "eslint-config-habitrpg": "^6.1.0",
+ "eslint-plugin-mocha": "^5.3.0",
+ "eslint-plugin-vue": "^5.0.0",
+ "habitica-markdown": "^1.3.0",
+ "hellojs": "^1.18.1",
+ "inspectpack": "^4.2.2",
+ "intro.js": "^2.9.3",
+ "jquery": "^3.4.1",
+ "lodash": "^4.17.15",
+ "moment": "^2.24.0",
+ "nconf": "^0.10.0",
+ "sass": "^1.19.0",
+ "sass-loader": "^8.0.0",
+ "smartbanner.js": "^1.14.5",
+ "svg-inline-loader": "^0.8.0",
+ "svg-url-loader": "^3.0.2",
+ "svgo": "^1.3.0",
+ "svgo-loader": "^2.2.1",
+ "uuid": "^3.3.3",
+ "validator": "^11.1.0",
+ "vue": "^2.6.10",
+ "vue-mugen-scroll": "^0.2.6",
+ "vue-router": "^3.0.6",
+ "vue-template-compiler": "^2.6.10",
+ "vuedraggable": "^2.23.1",
+ "vuejs-datepicker": "git://github.com/habitrpg/vuejs-datepicker.git#5d237615463a84a23dd6f3f77c6ab577d68593ec",
+ "webpack": "^4.41.2"
+ }
+}
diff --git a/website/client/postcss.config.js b/website/client/postcss.config.js
new file mode 100644
index 0000000000..c50b2f27f7
--- /dev/null
+++ b/website/client/postcss.config.js
@@ -0,0 +1,6 @@
+/* eslint-disable import/no-commonjs */
+module.exports = {
+ plugins: {
+ autoprefixer: {},
+ },
+};
diff --git a/website/client/index.html b/website/client/public/index.html
similarity index 98%
rename from website/client/index.html
rename to website/client/public/index.html
index 32ecee0b0e..8e65f80c3b 100644
--- a/website/client/index.html
+++ b/website/client/public/index.html
@@ -2,6 +2,7 @@
+
Habitica - Gamify Your Life
diff --git a/website/static/audio/airuTheme/Achievement_Unlocked.mp3 b/website/client/public/static/audio/airuTheme/Achievement_Unlocked.mp3
similarity index 100%
rename from website/static/audio/airuTheme/Achievement_Unlocked.mp3
rename to website/client/public/static/audio/airuTheme/Achievement_Unlocked.mp3
diff --git a/website/static/audio/airuTheme/Achievement_Unlocked.ogg b/website/client/public/static/audio/airuTheme/Achievement_Unlocked.ogg
similarity index 100%
rename from website/static/audio/airuTheme/Achievement_Unlocked.ogg
rename to website/client/public/static/audio/airuTheme/Achievement_Unlocked.ogg
diff --git a/website/static/audio/airuTheme/Chat.mp3 b/website/client/public/static/audio/airuTheme/Chat.mp3
similarity index 100%
rename from website/static/audio/airuTheme/Chat.mp3
rename to website/client/public/static/audio/airuTheme/Chat.mp3
diff --git a/website/static/audio/airuTheme/Chat.ogg b/website/client/public/static/audio/airuTheme/Chat.ogg
similarity index 100%
rename from website/static/audio/airuTheme/Chat.ogg
rename to website/client/public/static/audio/airuTheme/Chat.ogg
diff --git a/website/static/audio/airuTheme/Daily.mp3 b/website/client/public/static/audio/airuTheme/Daily.mp3
similarity index 100%
rename from website/static/audio/airuTheme/Daily.mp3
rename to website/client/public/static/audio/airuTheme/Daily.mp3
diff --git a/website/static/audio/airuTheme/Daily.ogg b/website/client/public/static/audio/airuTheme/Daily.ogg
similarity index 100%
rename from website/static/audio/airuTheme/Daily.ogg
rename to website/client/public/static/audio/airuTheme/Daily.ogg
diff --git a/website/static/audio/airuTheme/Death.mp3 b/website/client/public/static/audio/airuTheme/Death.mp3
similarity index 100%
rename from website/static/audio/airuTheme/Death.mp3
rename to website/client/public/static/audio/airuTheme/Death.mp3
diff --git a/website/static/audio/airuTheme/Death.ogg b/website/client/public/static/audio/airuTheme/Death.ogg
similarity index 100%
rename from website/static/audio/airuTheme/Death.ogg
rename to website/client/public/static/audio/airuTheme/Death.ogg
diff --git a/website/static/audio/airuTheme/Item_Drop.mp3 b/website/client/public/static/audio/airuTheme/Item_Drop.mp3
similarity index 100%
rename from website/static/audio/airuTheme/Item_Drop.mp3
rename to website/client/public/static/audio/airuTheme/Item_Drop.mp3
diff --git a/website/static/audio/airuTheme/Item_Drop.ogg b/website/client/public/static/audio/airuTheme/Item_Drop.ogg
similarity index 100%
rename from website/static/audio/airuTheme/Item_Drop.ogg
rename to website/client/public/static/audio/airuTheme/Item_Drop.ogg
diff --git a/website/static/audio/airuTheme/Level_Up.mp3 b/website/client/public/static/audio/airuTheme/Level_Up.mp3
similarity index 100%
rename from website/static/audio/airuTheme/Level_Up.mp3
rename to website/client/public/static/audio/airuTheme/Level_Up.mp3
diff --git a/website/static/audio/airuTheme/Level_Up.ogg b/website/client/public/static/audio/airuTheme/Level_Up.ogg
similarity index 100%
rename from website/static/audio/airuTheme/Level_Up.ogg
rename to website/client/public/static/audio/airuTheme/Level_Up.ogg
diff --git a/website/static/audio/airuTheme/Minus_Habit.mp3 b/website/client/public/static/audio/airuTheme/Minus_Habit.mp3
similarity index 100%
rename from website/static/audio/airuTheme/Minus_Habit.mp3
rename to website/client/public/static/audio/airuTheme/Minus_Habit.mp3
diff --git a/website/static/audio/airuTheme/Minus_Habit.ogg b/website/client/public/static/audio/airuTheme/Minus_Habit.ogg
similarity index 100%
rename from website/static/audio/airuTheme/Minus_Habit.ogg
rename to website/client/public/static/audio/airuTheme/Minus_Habit.ogg
diff --git a/website/static/audio/airuTheme/Plus_Habit.mp3 b/website/client/public/static/audio/airuTheme/Plus_Habit.mp3
similarity index 100%
rename from website/static/audio/airuTheme/Plus_Habit.mp3
rename to website/client/public/static/audio/airuTheme/Plus_Habit.mp3
diff --git a/website/static/audio/airuTheme/Plus_Habit.ogg b/website/client/public/static/audio/airuTheme/Plus_Habit.ogg
similarity index 100%
rename from website/static/audio/airuTheme/Plus_Habit.ogg
rename to website/client/public/static/audio/airuTheme/Plus_Habit.ogg
diff --git a/website/static/audio/airuTheme/Reward.mp3 b/website/client/public/static/audio/airuTheme/Reward.mp3
similarity index 100%
rename from website/static/audio/airuTheme/Reward.mp3
rename to website/client/public/static/audio/airuTheme/Reward.mp3
diff --git a/website/static/audio/airuTheme/Reward.ogg b/website/client/public/static/audio/airuTheme/Reward.ogg
similarity index 100%
rename from website/static/audio/airuTheme/Reward.ogg
rename to website/client/public/static/audio/airuTheme/Reward.ogg
diff --git a/website/static/audio/airuTheme/Todo.mp3 b/website/client/public/static/audio/airuTheme/Todo.mp3
similarity index 100%
rename from website/static/audio/airuTheme/Todo.mp3
rename to website/client/public/static/audio/airuTheme/Todo.mp3
diff --git a/website/static/audio/airuTheme/Todo.ogg b/website/client/public/static/audio/airuTheme/Todo.ogg
similarity index 100%
rename from website/static/audio/airuTheme/Todo.ogg
rename to website/client/public/static/audio/airuTheme/Todo.ogg
diff --git a/website/static/audio/arashiTheme/Achievement_Unlocked.mp3 b/website/client/public/static/audio/arashiTheme/Achievement_Unlocked.mp3
similarity index 100%
rename from website/static/audio/arashiTheme/Achievement_Unlocked.mp3
rename to website/client/public/static/audio/arashiTheme/Achievement_Unlocked.mp3
diff --git a/website/static/audio/arashiTheme/Achievement_Unlocked.ogg b/website/client/public/static/audio/arashiTheme/Achievement_Unlocked.ogg
similarity index 100%
rename from website/static/audio/arashiTheme/Achievement_Unlocked.ogg
rename to website/client/public/static/audio/arashiTheme/Achievement_Unlocked.ogg
diff --git a/website/static/audio/arashiTheme/Chat.mp3 b/website/client/public/static/audio/arashiTheme/Chat.mp3
similarity index 100%
rename from website/static/audio/arashiTheme/Chat.mp3
rename to website/client/public/static/audio/arashiTheme/Chat.mp3
diff --git a/website/static/audio/arashiTheme/Chat.ogg b/website/client/public/static/audio/arashiTheme/Chat.ogg
similarity index 100%
rename from website/static/audio/arashiTheme/Chat.ogg
rename to website/client/public/static/audio/arashiTheme/Chat.ogg
diff --git a/website/static/audio/arashiTheme/Daily.mp3 b/website/client/public/static/audio/arashiTheme/Daily.mp3
similarity index 100%
rename from website/static/audio/arashiTheme/Daily.mp3
rename to website/client/public/static/audio/arashiTheme/Daily.mp3
diff --git a/website/static/audio/arashiTheme/Daily.ogg b/website/client/public/static/audio/arashiTheme/Daily.ogg
similarity index 100%
rename from website/static/audio/arashiTheme/Daily.ogg
rename to website/client/public/static/audio/arashiTheme/Daily.ogg
diff --git a/website/static/audio/arashiTheme/Death.mp3 b/website/client/public/static/audio/arashiTheme/Death.mp3
similarity index 100%
rename from website/static/audio/arashiTheme/Death.mp3
rename to website/client/public/static/audio/arashiTheme/Death.mp3
diff --git a/website/static/audio/arashiTheme/Death.ogg b/website/client/public/static/audio/arashiTheme/Death.ogg
similarity index 100%
rename from website/static/audio/arashiTheme/Death.ogg
rename to website/client/public/static/audio/arashiTheme/Death.ogg
diff --git a/website/static/audio/arashiTheme/Item_Drop.mp3 b/website/client/public/static/audio/arashiTheme/Item_Drop.mp3
similarity index 100%
rename from website/static/audio/arashiTheme/Item_Drop.mp3
rename to website/client/public/static/audio/arashiTheme/Item_Drop.mp3
diff --git a/website/static/audio/arashiTheme/Item_Drop.ogg b/website/client/public/static/audio/arashiTheme/Item_Drop.ogg
similarity index 100%
rename from website/static/audio/arashiTheme/Item_Drop.ogg
rename to website/client/public/static/audio/arashiTheme/Item_Drop.ogg
diff --git a/website/static/audio/arashiTheme/Level_Up.mp3 b/website/client/public/static/audio/arashiTheme/Level_Up.mp3
similarity index 100%
rename from website/static/audio/arashiTheme/Level_Up.mp3
rename to website/client/public/static/audio/arashiTheme/Level_Up.mp3
diff --git a/website/static/audio/arashiTheme/Level_Up.ogg b/website/client/public/static/audio/arashiTheme/Level_Up.ogg
similarity index 100%
rename from website/static/audio/arashiTheme/Level_Up.ogg
rename to website/client/public/static/audio/arashiTheme/Level_Up.ogg
diff --git a/website/static/audio/arashiTheme/Minus_Habit.mp3 b/website/client/public/static/audio/arashiTheme/Minus_Habit.mp3
similarity index 100%
rename from website/static/audio/arashiTheme/Minus_Habit.mp3
rename to website/client/public/static/audio/arashiTheme/Minus_Habit.mp3
diff --git a/website/static/audio/arashiTheme/Minus_Habit.ogg b/website/client/public/static/audio/arashiTheme/Minus_Habit.ogg
similarity index 100%
rename from website/static/audio/arashiTheme/Minus_Habit.ogg
rename to website/client/public/static/audio/arashiTheme/Minus_Habit.ogg
diff --git a/website/static/audio/arashiTheme/Plus_Habit.mp3 b/website/client/public/static/audio/arashiTheme/Plus_Habit.mp3
similarity index 100%
rename from website/static/audio/arashiTheme/Plus_Habit.mp3
rename to website/client/public/static/audio/arashiTheme/Plus_Habit.mp3
diff --git a/website/static/audio/arashiTheme/Plus_Habit.ogg b/website/client/public/static/audio/arashiTheme/Plus_Habit.ogg
similarity index 100%
rename from website/static/audio/arashiTheme/Plus_Habit.ogg
rename to website/client/public/static/audio/arashiTheme/Plus_Habit.ogg
diff --git a/website/static/audio/arashiTheme/Reward.mp3 b/website/client/public/static/audio/arashiTheme/Reward.mp3
similarity index 100%
rename from website/static/audio/arashiTheme/Reward.mp3
rename to website/client/public/static/audio/arashiTheme/Reward.mp3
diff --git a/website/static/audio/arashiTheme/Reward.ogg b/website/client/public/static/audio/arashiTheme/Reward.ogg
similarity index 100%
rename from website/static/audio/arashiTheme/Reward.ogg
rename to website/client/public/static/audio/arashiTheme/Reward.ogg
diff --git a/website/static/audio/arashiTheme/Todo.mp3 b/website/client/public/static/audio/arashiTheme/Todo.mp3
similarity index 100%
rename from website/static/audio/arashiTheme/Todo.mp3
rename to website/client/public/static/audio/arashiTheme/Todo.mp3
diff --git a/website/static/audio/arashiTheme/Todo.ogg b/website/client/public/static/audio/arashiTheme/Todo.ogg
similarity index 100%
rename from website/static/audio/arashiTheme/Todo.ogg
rename to website/client/public/static/audio/arashiTheme/Todo.ogg
diff --git a/website/static/audio/beatscribeNesTheme/Achievement_Unlocked.mp3 b/website/client/public/static/audio/beatscribeNesTheme/Achievement_Unlocked.mp3
similarity index 100%
rename from website/static/audio/beatscribeNesTheme/Achievement_Unlocked.mp3
rename to website/client/public/static/audio/beatscribeNesTheme/Achievement_Unlocked.mp3
diff --git a/website/static/audio/beatscribeNesTheme/Achievement_Unlocked.ogg b/website/client/public/static/audio/beatscribeNesTheme/Achievement_Unlocked.ogg
similarity index 100%
rename from website/static/audio/beatscribeNesTheme/Achievement_Unlocked.ogg
rename to website/client/public/static/audio/beatscribeNesTheme/Achievement_Unlocked.ogg
diff --git a/website/static/audio/beatscribeNesTheme/Chat.mp3 b/website/client/public/static/audio/beatscribeNesTheme/Chat.mp3
similarity index 100%
rename from website/static/audio/beatscribeNesTheme/Chat.mp3
rename to website/client/public/static/audio/beatscribeNesTheme/Chat.mp3
diff --git a/website/static/audio/beatscribeNesTheme/Chat.ogg b/website/client/public/static/audio/beatscribeNesTheme/Chat.ogg
similarity index 100%
rename from website/static/audio/beatscribeNesTheme/Chat.ogg
rename to website/client/public/static/audio/beatscribeNesTheme/Chat.ogg
diff --git a/website/static/audio/beatscribeNesTheme/Daily.mp3 b/website/client/public/static/audio/beatscribeNesTheme/Daily.mp3
similarity index 100%
rename from website/static/audio/beatscribeNesTheme/Daily.mp3
rename to website/client/public/static/audio/beatscribeNesTheme/Daily.mp3
diff --git a/website/static/audio/beatscribeNesTheme/Daily.ogg b/website/client/public/static/audio/beatscribeNesTheme/Daily.ogg
similarity index 100%
rename from website/static/audio/beatscribeNesTheme/Daily.ogg
rename to website/client/public/static/audio/beatscribeNesTheme/Daily.ogg
diff --git a/website/static/audio/beatscribeNesTheme/Death.mp3 b/website/client/public/static/audio/beatscribeNesTheme/Death.mp3
similarity index 100%
rename from website/static/audio/beatscribeNesTheme/Death.mp3
rename to website/client/public/static/audio/beatscribeNesTheme/Death.mp3
diff --git a/website/static/audio/beatscribeNesTheme/Death.ogg b/website/client/public/static/audio/beatscribeNesTheme/Death.ogg
similarity index 100%
rename from website/static/audio/beatscribeNesTheme/Death.ogg
rename to website/client/public/static/audio/beatscribeNesTheme/Death.ogg
diff --git a/website/static/audio/beatscribeNesTheme/Item_Drop.mp3 b/website/client/public/static/audio/beatscribeNesTheme/Item_Drop.mp3
similarity index 100%
rename from website/static/audio/beatscribeNesTheme/Item_Drop.mp3
rename to website/client/public/static/audio/beatscribeNesTheme/Item_Drop.mp3
diff --git a/website/static/audio/beatscribeNesTheme/Item_Drop.ogg b/website/client/public/static/audio/beatscribeNesTheme/Item_Drop.ogg
similarity index 100%
rename from website/static/audio/beatscribeNesTheme/Item_Drop.ogg
rename to website/client/public/static/audio/beatscribeNesTheme/Item_Drop.ogg
diff --git a/website/static/audio/beatscribeNesTheme/Minus_Habit.mp3 b/website/client/public/static/audio/beatscribeNesTheme/Minus_Habit.mp3
similarity index 100%
rename from website/static/audio/beatscribeNesTheme/Minus_Habit.mp3
rename to website/client/public/static/audio/beatscribeNesTheme/Minus_Habit.mp3
diff --git a/website/static/audio/beatscribeNesTheme/Minus_Habit.ogg b/website/client/public/static/audio/beatscribeNesTheme/Minus_Habit.ogg
similarity index 100%
rename from website/static/audio/beatscribeNesTheme/Minus_Habit.ogg
rename to website/client/public/static/audio/beatscribeNesTheme/Minus_Habit.ogg
diff --git a/website/static/audio/beatscribeNesTheme/Plus_Habit.mp3 b/website/client/public/static/audio/beatscribeNesTheme/Plus_Habit.mp3
similarity index 100%
rename from website/static/audio/beatscribeNesTheme/Plus_Habit.mp3
rename to website/client/public/static/audio/beatscribeNesTheme/Plus_Habit.mp3
diff --git a/website/static/audio/beatscribeNesTheme/Plus_Habit.ogg b/website/client/public/static/audio/beatscribeNesTheme/Plus_Habit.ogg
similarity index 100%
rename from website/static/audio/beatscribeNesTheme/Plus_Habit.ogg
rename to website/client/public/static/audio/beatscribeNesTheme/Plus_Habit.ogg
diff --git a/website/static/audio/beatscribeNesTheme/Reward.mp3 b/website/client/public/static/audio/beatscribeNesTheme/Reward.mp3
similarity index 100%
rename from website/static/audio/beatscribeNesTheme/Reward.mp3
rename to website/client/public/static/audio/beatscribeNesTheme/Reward.mp3
diff --git a/website/static/audio/beatscribeNesTheme/Reward.ogg b/website/client/public/static/audio/beatscribeNesTheme/Reward.ogg
similarity index 100%
rename from website/static/audio/beatscribeNesTheme/Reward.ogg
rename to website/client/public/static/audio/beatscribeNesTheme/Reward.ogg
diff --git a/website/static/audio/beatscribeNesTheme/Todo.mp3 b/website/client/public/static/audio/beatscribeNesTheme/Todo.mp3
similarity index 100%
rename from website/static/audio/beatscribeNesTheme/Todo.mp3
rename to website/client/public/static/audio/beatscribeNesTheme/Todo.mp3
diff --git a/website/static/audio/beatscribeNesTheme/Todo.ogg b/website/client/public/static/audio/beatscribeNesTheme/Todo.ogg
similarity index 100%
rename from website/static/audio/beatscribeNesTheme/Todo.ogg
rename to website/client/public/static/audio/beatscribeNesTheme/Todo.ogg
diff --git a/website/static/audio/danielTheBard/Achievement_Unlocked.mp3 b/website/client/public/static/audio/danielTheBard/Achievement_Unlocked.mp3
similarity index 100%
rename from website/static/audio/danielTheBard/Achievement_Unlocked.mp3
rename to website/client/public/static/audio/danielTheBard/Achievement_Unlocked.mp3
diff --git a/website/static/audio/danielTheBard/Achievement_Unlocked.ogg b/website/client/public/static/audio/danielTheBard/Achievement_Unlocked.ogg
similarity index 100%
rename from website/static/audio/danielTheBard/Achievement_Unlocked.ogg
rename to website/client/public/static/audio/danielTheBard/Achievement_Unlocked.ogg
diff --git a/website/static/audio/danielTheBard/Chat.mp3 b/website/client/public/static/audio/danielTheBard/Chat.mp3
similarity index 100%
rename from website/static/audio/danielTheBard/Chat.mp3
rename to website/client/public/static/audio/danielTheBard/Chat.mp3
diff --git a/website/static/audio/danielTheBard/Chat.ogg b/website/client/public/static/audio/danielTheBard/Chat.ogg
similarity index 100%
rename from website/static/audio/danielTheBard/Chat.ogg
rename to website/client/public/static/audio/danielTheBard/Chat.ogg
diff --git a/website/static/audio/danielTheBard/Daily.mp3 b/website/client/public/static/audio/danielTheBard/Daily.mp3
similarity index 100%
rename from website/static/audio/danielTheBard/Daily.mp3
rename to website/client/public/static/audio/danielTheBard/Daily.mp3
diff --git a/website/static/audio/danielTheBard/Daily.ogg b/website/client/public/static/audio/danielTheBard/Daily.ogg
similarity index 100%
rename from website/static/audio/danielTheBard/Daily.ogg
rename to website/client/public/static/audio/danielTheBard/Daily.ogg
diff --git a/website/static/audio/danielTheBard/Death.mp3 b/website/client/public/static/audio/danielTheBard/Death.mp3
similarity index 100%
rename from website/static/audio/danielTheBard/Death.mp3
rename to website/client/public/static/audio/danielTheBard/Death.mp3
diff --git a/website/static/audio/danielTheBard/Death.ogg b/website/client/public/static/audio/danielTheBard/Death.ogg
similarity index 100%
rename from website/static/audio/danielTheBard/Death.ogg
rename to website/client/public/static/audio/danielTheBard/Death.ogg
diff --git a/website/static/audio/danielTheBard/Item_Drop.mp3 b/website/client/public/static/audio/danielTheBard/Item_Drop.mp3
similarity index 100%
rename from website/static/audio/danielTheBard/Item_Drop.mp3
rename to website/client/public/static/audio/danielTheBard/Item_Drop.mp3
diff --git a/website/static/audio/danielTheBard/Item_Drop.ogg b/website/client/public/static/audio/danielTheBard/Item_Drop.ogg
similarity index 100%
rename from website/static/audio/danielTheBard/Item_Drop.ogg
rename to website/client/public/static/audio/danielTheBard/Item_Drop.ogg
diff --git a/website/static/audio/danielTheBard/Level_Up.mp3 b/website/client/public/static/audio/danielTheBard/Level_Up.mp3
similarity index 100%
rename from website/static/audio/danielTheBard/Level_Up.mp3
rename to website/client/public/static/audio/danielTheBard/Level_Up.mp3
diff --git a/website/static/audio/danielTheBard/Level_Up.ogg b/website/client/public/static/audio/danielTheBard/Level_Up.ogg
similarity index 100%
rename from website/static/audio/danielTheBard/Level_Up.ogg
rename to website/client/public/static/audio/danielTheBard/Level_Up.ogg
diff --git a/website/static/audio/danielTheBard/Minus_Habit.mp3 b/website/client/public/static/audio/danielTheBard/Minus_Habit.mp3
similarity index 100%
rename from website/static/audio/danielTheBard/Minus_Habit.mp3
rename to website/client/public/static/audio/danielTheBard/Minus_Habit.mp3
diff --git a/website/static/audio/danielTheBard/Minus_Habit.ogg b/website/client/public/static/audio/danielTheBard/Minus_Habit.ogg
similarity index 100%
rename from website/static/audio/danielTheBard/Minus_Habit.ogg
rename to website/client/public/static/audio/danielTheBard/Minus_Habit.ogg
diff --git a/website/static/audio/danielTheBard/Plus_Habit.mp3 b/website/client/public/static/audio/danielTheBard/Plus_Habit.mp3
similarity index 100%
rename from website/static/audio/danielTheBard/Plus_Habit.mp3
rename to website/client/public/static/audio/danielTheBard/Plus_Habit.mp3
diff --git a/website/static/audio/danielTheBard/Plus_Habit.ogg b/website/client/public/static/audio/danielTheBard/Plus_Habit.ogg
similarity index 100%
rename from website/static/audio/danielTheBard/Plus_Habit.ogg
rename to website/client/public/static/audio/danielTheBard/Plus_Habit.ogg
diff --git a/website/static/audio/danielTheBard/Reward.mp3 b/website/client/public/static/audio/danielTheBard/Reward.mp3
similarity index 100%
rename from website/static/audio/danielTheBard/Reward.mp3
rename to website/client/public/static/audio/danielTheBard/Reward.mp3
diff --git a/website/static/audio/danielTheBard/Reward.ogg b/website/client/public/static/audio/danielTheBard/Reward.ogg
similarity index 100%
rename from website/static/audio/danielTheBard/Reward.ogg
rename to website/client/public/static/audio/danielTheBard/Reward.ogg
diff --git a/website/static/audio/danielTheBard/Todo.mp3 b/website/client/public/static/audio/danielTheBard/Todo.mp3
similarity index 100%
rename from website/static/audio/danielTheBard/Todo.mp3
rename to website/client/public/static/audio/danielTheBard/Todo.mp3
diff --git a/website/static/audio/danielTheBard/Todo.ogg b/website/client/public/static/audio/danielTheBard/Todo.ogg
similarity index 100%
rename from website/static/audio/danielTheBard/Todo.ogg
rename to website/client/public/static/audio/danielTheBard/Todo.ogg
diff --git a/website/static/audio/dewinTheme/Achievement_Unlocked.mp3 b/website/client/public/static/audio/dewinTheme/Achievement_Unlocked.mp3
similarity index 100%
rename from website/static/audio/dewinTheme/Achievement_Unlocked.mp3
rename to website/client/public/static/audio/dewinTheme/Achievement_Unlocked.mp3
diff --git a/website/static/audio/dewinTheme/Achievement_Unlocked.ogg b/website/client/public/static/audio/dewinTheme/Achievement_Unlocked.ogg
similarity index 100%
rename from website/static/audio/dewinTheme/Achievement_Unlocked.ogg
rename to website/client/public/static/audio/dewinTheme/Achievement_Unlocked.ogg
diff --git a/website/static/audio/dewinTheme/Boss_Battles_Background_Music.mp3 b/website/client/public/static/audio/dewinTheme/Boss_Battles_Background_Music.mp3
similarity index 100%
rename from website/static/audio/dewinTheme/Boss_Battles_Background_Music.mp3
rename to website/client/public/static/audio/dewinTheme/Boss_Battles_Background_Music.mp3
diff --git a/website/static/audio/dewinTheme/Boss_Battles_Background_Music.ogg b/website/client/public/static/audio/dewinTheme/Boss_Battles_Background_Music.ogg
similarity index 100%
rename from website/static/audio/dewinTheme/Boss_Battles_Background_Music.ogg
rename to website/client/public/static/audio/dewinTheme/Boss_Battles_Background_Music.ogg
diff --git a/website/static/audio/dewinTheme/Chat.mp3 b/website/client/public/static/audio/dewinTheme/Chat.mp3
similarity index 100%
rename from website/static/audio/dewinTheme/Chat.mp3
rename to website/client/public/static/audio/dewinTheme/Chat.mp3
diff --git a/website/static/audio/dewinTheme/Chat.ogg b/website/client/public/static/audio/dewinTheme/Chat.ogg
similarity index 100%
rename from website/static/audio/dewinTheme/Chat.ogg
rename to website/client/public/static/audio/dewinTheme/Chat.ogg
diff --git a/website/static/audio/dewinTheme/Checklist_Complete.mp3 b/website/client/public/static/audio/dewinTheme/Checklist_Complete.mp3
similarity index 100%
rename from website/static/audio/dewinTheme/Checklist_Complete.mp3
rename to website/client/public/static/audio/dewinTheme/Checklist_Complete.mp3
diff --git a/website/static/audio/dewinTheme/Checklist_Complete.ogg b/website/client/public/static/audio/dewinTheme/Checklist_Complete.ogg
similarity index 100%
rename from website/static/audio/dewinTheme/Checklist_Complete.ogg
rename to website/client/public/static/audio/dewinTheme/Checklist_Complete.ogg
diff --git a/website/static/audio/dewinTheme/Daily.mp3 b/website/client/public/static/audio/dewinTheme/Daily.mp3
similarity index 100%
rename from website/static/audio/dewinTheme/Daily.mp3
rename to website/client/public/static/audio/dewinTheme/Daily.mp3
diff --git a/website/static/audio/dewinTheme/Daily.ogg b/website/client/public/static/audio/dewinTheme/Daily.ogg
similarity index 100%
rename from website/static/audio/dewinTheme/Daily.ogg
rename to website/client/public/static/audio/dewinTheme/Daily.ogg
diff --git a/website/static/audio/dewinTheme/Death.mp3 b/website/client/public/static/audio/dewinTheme/Death.mp3
similarity index 100%
rename from website/static/audio/dewinTheme/Death.mp3
rename to website/client/public/static/audio/dewinTheme/Death.mp3
diff --git a/website/static/audio/dewinTheme/Death.ogg b/website/client/public/static/audio/dewinTheme/Death.ogg
similarity index 100%
rename from website/static/audio/dewinTheme/Death.ogg
rename to website/client/public/static/audio/dewinTheme/Death.ogg
diff --git a/website/static/audio/dewinTheme/Item_Drop.mp3 b/website/client/public/static/audio/dewinTheme/Item_Drop.mp3
similarity index 100%
rename from website/static/audio/dewinTheme/Item_Drop.mp3
rename to website/client/public/static/audio/dewinTheme/Item_Drop.mp3
diff --git a/website/static/audio/dewinTheme/Item_Drop.ogg b/website/client/public/static/audio/dewinTheme/Item_Drop.ogg
similarity index 100%
rename from website/static/audio/dewinTheme/Item_Drop.ogg
rename to website/client/public/static/audio/dewinTheme/Item_Drop.ogg
diff --git a/website/static/audio/dewinTheme/Level_Up.mp3 b/website/client/public/static/audio/dewinTheme/Level_Up.mp3
similarity index 100%
rename from website/static/audio/dewinTheme/Level_Up.mp3
rename to website/client/public/static/audio/dewinTheme/Level_Up.mp3
diff --git a/website/static/audio/dewinTheme/Level_Up.ogg b/website/client/public/static/audio/dewinTheme/Level_Up.ogg
similarity index 100%
rename from website/static/audio/dewinTheme/Level_Up.ogg
rename to website/client/public/static/audio/dewinTheme/Level_Up.ogg
diff --git a/website/static/audio/dewinTheme/Minus_Habit.mp3 b/website/client/public/static/audio/dewinTheme/Minus_Habit.mp3
similarity index 100%
rename from website/static/audio/dewinTheme/Minus_Habit.mp3
rename to website/client/public/static/audio/dewinTheme/Minus_Habit.mp3
diff --git a/website/static/audio/dewinTheme/Minus_Habit.ogg b/website/client/public/static/audio/dewinTheme/Minus_Habit.ogg
similarity index 100%
rename from website/static/audio/dewinTheme/Minus_Habit.ogg
rename to website/client/public/static/audio/dewinTheme/Minus_Habit.ogg
diff --git a/website/static/audio/dewinTheme/Plus_Habit.mp3 b/website/client/public/static/audio/dewinTheme/Plus_Habit.mp3
similarity index 100%
rename from website/static/audio/dewinTheme/Plus_Habit.mp3
rename to website/client/public/static/audio/dewinTheme/Plus_Habit.mp3
diff --git a/website/static/audio/dewinTheme/Plus_Habit.ogg b/website/client/public/static/audio/dewinTheme/Plus_Habit.ogg
similarity index 100%
rename from website/static/audio/dewinTheme/Plus_Habit.ogg
rename to website/client/public/static/audio/dewinTheme/Plus_Habit.ogg
diff --git a/website/static/audio/dewinTheme/Reward.mp3 b/website/client/public/static/audio/dewinTheme/Reward.mp3
similarity index 100%
rename from website/static/audio/dewinTheme/Reward.mp3
rename to website/client/public/static/audio/dewinTheme/Reward.mp3
diff --git a/website/static/audio/dewinTheme/Reward.ogg b/website/client/public/static/audio/dewinTheme/Reward.ogg
similarity index 100%
rename from website/static/audio/dewinTheme/Reward.ogg
rename to website/client/public/static/audio/dewinTheme/Reward.ogg
diff --git a/website/static/audio/dewinTheme/Settings_Page_Background_Music.mp3 b/website/client/public/static/audio/dewinTheme/Settings_Page_Background_Music.mp3
similarity index 100%
rename from website/static/audio/dewinTheme/Settings_Page_Background_Music.mp3
rename to website/client/public/static/audio/dewinTheme/Settings_Page_Background_Music.mp3
diff --git a/website/static/audio/dewinTheme/Settings_Page_Background_Music.ogg b/website/client/public/static/audio/dewinTheme/Settings_Page_Background_Music.ogg
similarity index 100%
rename from website/static/audio/dewinTheme/Settings_Page_Background_Music.ogg
rename to website/client/public/static/audio/dewinTheme/Settings_Page_Background_Music.ogg
diff --git a/website/static/audio/dewinTheme/Todo.mp3 b/website/client/public/static/audio/dewinTheme/Todo.mp3
similarity index 100%
rename from website/static/audio/dewinTheme/Todo.mp3
rename to website/client/public/static/audio/dewinTheme/Todo.mp3
diff --git a/website/static/audio/dewinTheme/Todo.ogg b/website/client/public/static/audio/dewinTheme/Todo.ogg
similarity index 100%
rename from website/static/audio/dewinTheme/Todo.ogg
rename to website/client/public/static/audio/dewinTheme/Todo.ogg
diff --git a/website/static/audio/farvoidTheme/Achievement_Unlocked.mp3 b/website/client/public/static/audio/farvoidTheme/Achievement_Unlocked.mp3
similarity index 100%
rename from website/static/audio/farvoidTheme/Achievement_Unlocked.mp3
rename to website/client/public/static/audio/farvoidTheme/Achievement_Unlocked.mp3
diff --git a/website/static/audio/farvoidTheme/Achievement_Unlocked.ogg b/website/client/public/static/audio/farvoidTheme/Achievement_Unlocked.ogg
similarity index 100%
rename from website/static/audio/farvoidTheme/Achievement_Unlocked.ogg
rename to website/client/public/static/audio/farvoidTheme/Achievement_Unlocked.ogg
diff --git a/website/static/audio/farvoidTheme/Chat.mp3 b/website/client/public/static/audio/farvoidTheme/Chat.mp3
similarity index 100%
rename from website/static/audio/farvoidTheme/Chat.mp3
rename to website/client/public/static/audio/farvoidTheme/Chat.mp3
diff --git a/website/static/audio/farvoidTheme/Chat.ogg b/website/client/public/static/audio/farvoidTheme/Chat.ogg
similarity index 100%
rename from website/static/audio/farvoidTheme/Chat.ogg
rename to website/client/public/static/audio/farvoidTheme/Chat.ogg
diff --git a/website/static/audio/farvoidTheme/Daily.mp3 b/website/client/public/static/audio/farvoidTheme/Daily.mp3
similarity index 100%
rename from website/static/audio/farvoidTheme/Daily.mp3
rename to website/client/public/static/audio/farvoidTheme/Daily.mp3
diff --git a/website/static/audio/farvoidTheme/Daily.ogg b/website/client/public/static/audio/farvoidTheme/Daily.ogg
similarity index 100%
rename from website/static/audio/farvoidTheme/Daily.ogg
rename to website/client/public/static/audio/farvoidTheme/Daily.ogg
diff --git a/website/static/audio/farvoidTheme/Death.mp3 b/website/client/public/static/audio/farvoidTheme/Death.mp3
similarity index 100%
rename from website/static/audio/farvoidTheme/Death.mp3
rename to website/client/public/static/audio/farvoidTheme/Death.mp3
diff --git a/website/static/audio/farvoidTheme/Death.ogg b/website/client/public/static/audio/farvoidTheme/Death.ogg
similarity index 100%
rename from website/static/audio/farvoidTheme/Death.ogg
rename to website/client/public/static/audio/farvoidTheme/Death.ogg
diff --git a/website/static/audio/farvoidTheme/Item_Drop.mp3 b/website/client/public/static/audio/farvoidTheme/Item_Drop.mp3
similarity index 100%
rename from website/static/audio/farvoidTheme/Item_Drop.mp3
rename to website/client/public/static/audio/farvoidTheme/Item_Drop.mp3
diff --git a/website/static/audio/farvoidTheme/Item_Drop.ogg b/website/client/public/static/audio/farvoidTheme/Item_Drop.ogg
similarity index 100%
rename from website/static/audio/farvoidTheme/Item_Drop.ogg
rename to website/client/public/static/audio/farvoidTheme/Item_Drop.ogg
diff --git a/website/static/audio/farvoidTheme/Level_Up.mp3 b/website/client/public/static/audio/farvoidTheme/Level_Up.mp3
similarity index 100%
rename from website/static/audio/farvoidTheme/Level_Up.mp3
rename to website/client/public/static/audio/farvoidTheme/Level_Up.mp3
diff --git a/website/static/audio/farvoidTheme/Level_Up.ogg b/website/client/public/static/audio/farvoidTheme/Level_Up.ogg
similarity index 100%
rename from website/static/audio/farvoidTheme/Level_Up.ogg
rename to website/client/public/static/audio/farvoidTheme/Level_Up.ogg
diff --git a/website/static/audio/farvoidTheme/Minus_Habit.mp3 b/website/client/public/static/audio/farvoidTheme/Minus_Habit.mp3
similarity index 100%
rename from website/static/audio/farvoidTheme/Minus_Habit.mp3
rename to website/client/public/static/audio/farvoidTheme/Minus_Habit.mp3
diff --git a/website/static/audio/farvoidTheme/Minus_Habit.ogg b/website/client/public/static/audio/farvoidTheme/Minus_Habit.ogg
similarity index 100%
rename from website/static/audio/farvoidTheme/Minus_Habit.ogg
rename to website/client/public/static/audio/farvoidTheme/Minus_Habit.ogg
diff --git a/website/static/audio/farvoidTheme/Plus_Habit.mp3 b/website/client/public/static/audio/farvoidTheme/Plus_Habit.mp3
similarity index 100%
rename from website/static/audio/farvoidTheme/Plus_Habit.mp3
rename to website/client/public/static/audio/farvoidTheme/Plus_Habit.mp3
diff --git a/website/static/audio/farvoidTheme/Plus_Habit.ogg b/website/client/public/static/audio/farvoidTheme/Plus_Habit.ogg
similarity index 100%
rename from website/static/audio/farvoidTheme/Plus_Habit.ogg
rename to website/client/public/static/audio/farvoidTheme/Plus_Habit.ogg
diff --git a/website/static/audio/farvoidTheme/Reward.mp3 b/website/client/public/static/audio/farvoidTheme/Reward.mp3
similarity index 100%
rename from website/static/audio/farvoidTheme/Reward.mp3
rename to website/client/public/static/audio/farvoidTheme/Reward.mp3
diff --git a/website/static/audio/farvoidTheme/Reward.ogg b/website/client/public/static/audio/farvoidTheme/Reward.ogg
similarity index 100%
rename from website/static/audio/farvoidTheme/Reward.ogg
rename to website/client/public/static/audio/farvoidTheme/Reward.ogg
diff --git a/website/static/audio/farvoidTheme/Todo.mp3 b/website/client/public/static/audio/farvoidTheme/Todo.mp3
similarity index 100%
rename from website/static/audio/farvoidTheme/Todo.mp3
rename to website/client/public/static/audio/farvoidTheme/Todo.mp3
diff --git a/website/static/audio/farvoidTheme/Todo.ogg b/website/client/public/static/audio/farvoidTheme/Todo.ogg
similarity index 100%
rename from website/static/audio/farvoidTheme/Todo.ogg
rename to website/client/public/static/audio/farvoidTheme/Todo.ogg
diff --git a/website/static/audio/gokulTheme/Achievement_Unlocked.mp3 b/website/client/public/static/audio/gokulTheme/Achievement_Unlocked.mp3
similarity index 100%
rename from website/static/audio/gokulTheme/Achievement_Unlocked.mp3
rename to website/client/public/static/audio/gokulTheme/Achievement_Unlocked.mp3
diff --git a/website/static/audio/gokulTheme/Achievement_Unlocked.ogg b/website/client/public/static/audio/gokulTheme/Achievement_Unlocked.ogg
similarity index 100%
rename from website/static/audio/gokulTheme/Achievement_Unlocked.ogg
rename to website/client/public/static/audio/gokulTheme/Achievement_Unlocked.ogg
diff --git a/website/static/audio/gokulTheme/Chat.mp3 b/website/client/public/static/audio/gokulTheme/Chat.mp3
similarity index 100%
rename from website/static/audio/gokulTheme/Chat.mp3
rename to website/client/public/static/audio/gokulTheme/Chat.mp3
diff --git a/website/static/audio/gokulTheme/Chat.ogg b/website/client/public/static/audio/gokulTheme/Chat.ogg
similarity index 100%
rename from website/static/audio/gokulTheme/Chat.ogg
rename to website/client/public/static/audio/gokulTheme/Chat.ogg
diff --git a/website/static/audio/gokulTheme/Daily.mp3 b/website/client/public/static/audio/gokulTheme/Daily.mp3
similarity index 100%
rename from website/static/audio/gokulTheme/Daily.mp3
rename to website/client/public/static/audio/gokulTheme/Daily.mp3
diff --git a/website/static/audio/gokulTheme/Daily.ogg b/website/client/public/static/audio/gokulTheme/Daily.ogg
similarity index 100%
rename from website/static/audio/gokulTheme/Daily.ogg
rename to website/client/public/static/audio/gokulTheme/Daily.ogg
diff --git a/website/static/audio/gokulTheme/Death.mp3 b/website/client/public/static/audio/gokulTheme/Death.mp3
similarity index 100%
rename from website/static/audio/gokulTheme/Death.mp3
rename to website/client/public/static/audio/gokulTheme/Death.mp3
diff --git a/website/static/audio/gokulTheme/Death.ogg b/website/client/public/static/audio/gokulTheme/Death.ogg
similarity index 100%
rename from website/static/audio/gokulTheme/Death.ogg
rename to website/client/public/static/audio/gokulTheme/Death.ogg
diff --git a/website/static/audio/gokulTheme/Item_Drop.mp3 b/website/client/public/static/audio/gokulTheme/Item_Drop.mp3
similarity index 100%
rename from website/static/audio/gokulTheme/Item_Drop.mp3
rename to website/client/public/static/audio/gokulTheme/Item_Drop.mp3
diff --git a/website/static/audio/gokulTheme/Item_Drop.ogg b/website/client/public/static/audio/gokulTheme/Item_Drop.ogg
similarity index 100%
rename from website/static/audio/gokulTheme/Item_Drop.ogg
rename to website/client/public/static/audio/gokulTheme/Item_Drop.ogg
diff --git a/website/static/audio/gokulTheme/Level_Up.mp3 b/website/client/public/static/audio/gokulTheme/Level_Up.mp3
similarity index 100%
rename from website/static/audio/gokulTheme/Level_Up.mp3
rename to website/client/public/static/audio/gokulTheme/Level_Up.mp3
diff --git a/website/static/audio/gokulTheme/Level_Up.ogg b/website/client/public/static/audio/gokulTheme/Level_Up.ogg
similarity index 100%
rename from website/static/audio/gokulTheme/Level_Up.ogg
rename to website/client/public/static/audio/gokulTheme/Level_Up.ogg
diff --git a/website/static/audio/gokulTheme/Minus_Habit.mp3 b/website/client/public/static/audio/gokulTheme/Minus_Habit.mp3
similarity index 100%
rename from website/static/audio/gokulTheme/Minus_Habit.mp3
rename to website/client/public/static/audio/gokulTheme/Minus_Habit.mp3
diff --git a/website/static/audio/gokulTheme/Minus_Habit.ogg b/website/client/public/static/audio/gokulTheme/Minus_Habit.ogg
similarity index 100%
rename from website/static/audio/gokulTheme/Minus_Habit.ogg
rename to website/client/public/static/audio/gokulTheme/Minus_Habit.ogg
diff --git a/website/static/audio/gokulTheme/Plus_Habit.mp3 b/website/client/public/static/audio/gokulTheme/Plus_Habit.mp3
similarity index 100%
rename from website/static/audio/gokulTheme/Plus_Habit.mp3
rename to website/client/public/static/audio/gokulTheme/Plus_Habit.mp3
diff --git a/website/static/audio/gokulTheme/Plus_Habit.ogg b/website/client/public/static/audio/gokulTheme/Plus_Habit.ogg
similarity index 100%
rename from website/static/audio/gokulTheme/Plus_Habit.ogg
rename to website/client/public/static/audio/gokulTheme/Plus_Habit.ogg
diff --git a/website/static/audio/gokulTheme/Reward.mp3 b/website/client/public/static/audio/gokulTheme/Reward.mp3
similarity index 100%
rename from website/static/audio/gokulTheme/Reward.mp3
rename to website/client/public/static/audio/gokulTheme/Reward.mp3
diff --git a/website/static/audio/gokulTheme/Reward.ogg b/website/client/public/static/audio/gokulTheme/Reward.ogg
similarity index 100%
rename from website/static/audio/gokulTheme/Reward.ogg
rename to website/client/public/static/audio/gokulTheme/Reward.ogg
diff --git a/website/static/audio/gokulTheme/Todo.mp3 b/website/client/public/static/audio/gokulTheme/Todo.mp3
similarity index 100%
rename from website/static/audio/gokulTheme/Todo.mp3
rename to website/client/public/static/audio/gokulTheme/Todo.mp3
diff --git a/website/static/audio/gokulTheme/Todo.ogg b/website/client/public/static/audio/gokulTheme/Todo.ogg
similarity index 100%
rename from website/static/audio/gokulTheme/Todo.ogg
rename to website/client/public/static/audio/gokulTheme/Todo.ogg
diff --git a/website/static/audio/lunasolTheme/Achievement_Unlocked.mp3 b/website/client/public/static/audio/lunasolTheme/Achievement_Unlocked.mp3
similarity index 100%
rename from website/static/audio/lunasolTheme/Achievement_Unlocked.mp3
rename to website/client/public/static/audio/lunasolTheme/Achievement_Unlocked.mp3
diff --git a/website/static/audio/lunasolTheme/Achievement_Unlocked.ogg b/website/client/public/static/audio/lunasolTheme/Achievement_Unlocked.ogg
similarity index 100%
rename from website/static/audio/lunasolTheme/Achievement_Unlocked.ogg
rename to website/client/public/static/audio/lunasolTheme/Achievement_Unlocked.ogg
diff --git a/website/static/audio/lunasolTheme/Chat.mp3 b/website/client/public/static/audio/lunasolTheme/Chat.mp3
similarity index 100%
rename from website/static/audio/lunasolTheme/Chat.mp3
rename to website/client/public/static/audio/lunasolTheme/Chat.mp3
diff --git a/website/static/audio/lunasolTheme/Chat.ogg b/website/client/public/static/audio/lunasolTheme/Chat.ogg
similarity index 100%
rename from website/static/audio/lunasolTheme/Chat.ogg
rename to website/client/public/static/audio/lunasolTheme/Chat.ogg
diff --git a/website/static/audio/lunasolTheme/Daily.mp3 b/website/client/public/static/audio/lunasolTheme/Daily.mp3
similarity index 100%
rename from website/static/audio/lunasolTheme/Daily.mp3
rename to website/client/public/static/audio/lunasolTheme/Daily.mp3
diff --git a/website/static/audio/lunasolTheme/Daily.ogg b/website/client/public/static/audio/lunasolTheme/Daily.ogg
similarity index 100%
rename from website/static/audio/lunasolTheme/Daily.ogg
rename to website/client/public/static/audio/lunasolTheme/Daily.ogg
diff --git a/website/static/audio/lunasolTheme/Death.mp3 b/website/client/public/static/audio/lunasolTheme/Death.mp3
similarity index 100%
rename from website/static/audio/lunasolTheme/Death.mp3
rename to website/client/public/static/audio/lunasolTheme/Death.mp3
diff --git a/website/static/audio/lunasolTheme/Death.ogg b/website/client/public/static/audio/lunasolTheme/Death.ogg
similarity index 100%
rename from website/static/audio/lunasolTheme/Death.ogg
rename to website/client/public/static/audio/lunasolTheme/Death.ogg
diff --git a/website/static/audio/lunasolTheme/Item_Drop.mp3 b/website/client/public/static/audio/lunasolTheme/Item_Drop.mp3
similarity index 100%
rename from website/static/audio/lunasolTheme/Item_Drop.mp3
rename to website/client/public/static/audio/lunasolTheme/Item_Drop.mp3
diff --git a/website/static/audio/lunasolTheme/Item_Drop.ogg b/website/client/public/static/audio/lunasolTheme/Item_Drop.ogg
similarity index 100%
rename from website/static/audio/lunasolTheme/Item_Drop.ogg
rename to website/client/public/static/audio/lunasolTheme/Item_Drop.ogg
diff --git a/website/static/audio/lunasolTheme/Level_Up.mp3 b/website/client/public/static/audio/lunasolTheme/Level_Up.mp3
similarity index 100%
rename from website/static/audio/lunasolTheme/Level_Up.mp3
rename to website/client/public/static/audio/lunasolTheme/Level_Up.mp3
diff --git a/website/static/audio/lunasolTheme/Level_Up.ogg b/website/client/public/static/audio/lunasolTheme/Level_Up.ogg
similarity index 100%
rename from website/static/audio/lunasolTheme/Level_Up.ogg
rename to website/client/public/static/audio/lunasolTheme/Level_Up.ogg
diff --git a/website/static/audio/lunasolTheme/Minus_Habit.mp3 b/website/client/public/static/audio/lunasolTheme/Minus_Habit.mp3
similarity index 100%
rename from website/static/audio/lunasolTheme/Minus_Habit.mp3
rename to website/client/public/static/audio/lunasolTheme/Minus_Habit.mp3
diff --git a/website/static/audio/lunasolTheme/Minus_Habit.ogg b/website/client/public/static/audio/lunasolTheme/Minus_Habit.ogg
similarity index 100%
rename from website/static/audio/lunasolTheme/Minus_Habit.ogg
rename to website/client/public/static/audio/lunasolTheme/Minus_Habit.ogg
diff --git a/website/static/audio/lunasolTheme/Plus_Habit.mp3 b/website/client/public/static/audio/lunasolTheme/Plus_Habit.mp3
similarity index 100%
rename from website/static/audio/lunasolTheme/Plus_Habit.mp3
rename to website/client/public/static/audio/lunasolTheme/Plus_Habit.mp3
diff --git a/website/static/audio/lunasolTheme/Plus_Habit.ogg b/website/client/public/static/audio/lunasolTheme/Plus_Habit.ogg
similarity index 100%
rename from website/static/audio/lunasolTheme/Plus_Habit.ogg
rename to website/client/public/static/audio/lunasolTheme/Plus_Habit.ogg
diff --git a/website/static/audio/lunasolTheme/Reward.mp3 b/website/client/public/static/audio/lunasolTheme/Reward.mp3
similarity index 100%
rename from website/static/audio/lunasolTheme/Reward.mp3
rename to website/client/public/static/audio/lunasolTheme/Reward.mp3
diff --git a/website/static/audio/lunasolTheme/Reward.ogg b/website/client/public/static/audio/lunasolTheme/Reward.ogg
similarity index 100%
rename from website/static/audio/lunasolTheme/Reward.ogg
rename to website/client/public/static/audio/lunasolTheme/Reward.ogg
diff --git a/website/static/audio/lunasolTheme/Todo.mp3 b/website/client/public/static/audio/lunasolTheme/Todo.mp3
similarity index 100%
rename from website/static/audio/lunasolTheme/Todo.mp3
rename to website/client/public/static/audio/lunasolTheme/Todo.mp3
diff --git a/website/static/audio/lunasolTheme/Todo.ogg b/website/client/public/static/audio/lunasolTheme/Todo.ogg
similarity index 100%
rename from website/static/audio/lunasolTheme/Todo.ogg
rename to website/client/public/static/audio/lunasolTheme/Todo.ogg
diff --git a/website/static/audio/luneFoxTheme/Achievement_Unlocked.mp3 b/website/client/public/static/audio/luneFoxTheme/Achievement_Unlocked.mp3
similarity index 100%
rename from website/static/audio/luneFoxTheme/Achievement_Unlocked.mp3
rename to website/client/public/static/audio/luneFoxTheme/Achievement_Unlocked.mp3
diff --git a/website/static/audio/luneFoxTheme/Achievement_Unlocked.ogg b/website/client/public/static/audio/luneFoxTheme/Achievement_Unlocked.ogg
similarity index 100%
rename from website/static/audio/luneFoxTheme/Achievement_Unlocked.ogg
rename to website/client/public/static/audio/luneFoxTheme/Achievement_Unlocked.ogg
diff --git a/website/static/audio/luneFoxTheme/Chat.mp3 b/website/client/public/static/audio/luneFoxTheme/Chat.mp3
similarity index 100%
rename from website/static/audio/luneFoxTheme/Chat.mp3
rename to website/client/public/static/audio/luneFoxTheme/Chat.mp3
diff --git a/website/static/audio/luneFoxTheme/Chat.ogg b/website/client/public/static/audio/luneFoxTheme/Chat.ogg
similarity index 100%
rename from website/static/audio/luneFoxTheme/Chat.ogg
rename to website/client/public/static/audio/luneFoxTheme/Chat.ogg
diff --git a/website/static/audio/luneFoxTheme/Daily.mp3 b/website/client/public/static/audio/luneFoxTheme/Daily.mp3
similarity index 100%
rename from website/static/audio/luneFoxTheme/Daily.mp3
rename to website/client/public/static/audio/luneFoxTheme/Daily.mp3
diff --git a/website/static/audio/luneFoxTheme/Daily.ogg b/website/client/public/static/audio/luneFoxTheme/Daily.ogg
similarity index 100%
rename from website/static/audio/luneFoxTheme/Daily.ogg
rename to website/client/public/static/audio/luneFoxTheme/Daily.ogg
diff --git a/website/static/audio/luneFoxTheme/Death.mp3 b/website/client/public/static/audio/luneFoxTheme/Death.mp3
similarity index 100%
rename from website/static/audio/luneFoxTheme/Death.mp3
rename to website/client/public/static/audio/luneFoxTheme/Death.mp3
diff --git a/website/static/audio/luneFoxTheme/Death.ogg b/website/client/public/static/audio/luneFoxTheme/Death.ogg
similarity index 100%
rename from website/static/audio/luneFoxTheme/Death.ogg
rename to website/client/public/static/audio/luneFoxTheme/Death.ogg
diff --git a/website/static/audio/luneFoxTheme/Item_Drop.mp3 b/website/client/public/static/audio/luneFoxTheme/Item_Drop.mp3
similarity index 100%
rename from website/static/audio/luneFoxTheme/Item_Drop.mp3
rename to website/client/public/static/audio/luneFoxTheme/Item_Drop.mp3
diff --git a/website/static/audio/luneFoxTheme/Item_Drop.ogg b/website/client/public/static/audio/luneFoxTheme/Item_Drop.ogg
similarity index 100%
rename from website/static/audio/luneFoxTheme/Item_Drop.ogg
rename to website/client/public/static/audio/luneFoxTheme/Item_Drop.ogg
diff --git a/website/static/audio/luneFoxTheme/Level_Up.mp3 b/website/client/public/static/audio/luneFoxTheme/Level_Up.mp3
similarity index 100%
rename from website/static/audio/luneFoxTheme/Level_Up.mp3
rename to website/client/public/static/audio/luneFoxTheme/Level_Up.mp3
diff --git a/website/static/audio/luneFoxTheme/Level_Up.ogg b/website/client/public/static/audio/luneFoxTheme/Level_Up.ogg
similarity index 100%
rename from website/static/audio/luneFoxTheme/Level_Up.ogg
rename to website/client/public/static/audio/luneFoxTheme/Level_Up.ogg
diff --git a/website/static/audio/luneFoxTheme/Minus_Habit.mp3 b/website/client/public/static/audio/luneFoxTheme/Minus_Habit.mp3
similarity index 100%
rename from website/static/audio/luneFoxTheme/Minus_Habit.mp3
rename to website/client/public/static/audio/luneFoxTheme/Minus_Habit.mp3
diff --git a/website/static/audio/luneFoxTheme/Minus_Habit.ogg b/website/client/public/static/audio/luneFoxTheme/Minus_Habit.ogg
similarity index 100%
rename from website/static/audio/luneFoxTheme/Minus_Habit.ogg
rename to website/client/public/static/audio/luneFoxTheme/Minus_Habit.ogg
diff --git a/website/static/audio/luneFoxTheme/Plus_Habit.mp3 b/website/client/public/static/audio/luneFoxTheme/Plus_Habit.mp3
similarity index 100%
rename from website/static/audio/luneFoxTheme/Plus_Habit.mp3
rename to website/client/public/static/audio/luneFoxTheme/Plus_Habit.mp3
diff --git a/website/static/audio/luneFoxTheme/Plus_Habit.ogg b/website/client/public/static/audio/luneFoxTheme/Plus_Habit.ogg
similarity index 100%
rename from website/static/audio/luneFoxTheme/Plus_Habit.ogg
rename to website/client/public/static/audio/luneFoxTheme/Plus_Habit.ogg
diff --git a/website/static/audio/luneFoxTheme/Reward.mp3 b/website/client/public/static/audio/luneFoxTheme/Reward.mp3
similarity index 100%
rename from website/static/audio/luneFoxTheme/Reward.mp3
rename to website/client/public/static/audio/luneFoxTheme/Reward.mp3
diff --git a/website/static/audio/luneFoxTheme/Reward.ogg b/website/client/public/static/audio/luneFoxTheme/Reward.ogg
similarity index 100%
rename from website/static/audio/luneFoxTheme/Reward.ogg
rename to website/client/public/static/audio/luneFoxTheme/Reward.ogg
diff --git a/website/static/audio/luneFoxTheme/Todo.mp3 b/website/client/public/static/audio/luneFoxTheme/Todo.mp3
similarity index 100%
rename from website/static/audio/luneFoxTheme/Todo.mp3
rename to website/client/public/static/audio/luneFoxTheme/Todo.mp3
diff --git a/website/static/audio/luneFoxTheme/Todo.ogg b/website/client/public/static/audio/luneFoxTheme/Todo.ogg
similarity index 100%
rename from website/static/audio/luneFoxTheme/Todo.ogg
rename to website/client/public/static/audio/luneFoxTheme/Todo.ogg
diff --git a/website/static/audio/maflTheme/Achievement_Unlocked.mp3 b/website/client/public/static/audio/maflTheme/Achievement_Unlocked.mp3
similarity index 100%
rename from website/static/audio/maflTheme/Achievement_Unlocked.mp3
rename to website/client/public/static/audio/maflTheme/Achievement_Unlocked.mp3
diff --git a/website/static/audio/maflTheme/Achievement_Unlocked.ogg b/website/client/public/static/audio/maflTheme/Achievement_Unlocked.ogg
similarity index 100%
rename from website/static/audio/maflTheme/Achievement_Unlocked.ogg
rename to website/client/public/static/audio/maflTheme/Achievement_Unlocked.ogg
diff --git a/website/static/audio/maflTheme/Boss_Battles_Background_Music.mp3 b/website/client/public/static/audio/maflTheme/Boss_Battles_Background_Music.mp3
similarity index 100%
rename from website/static/audio/maflTheme/Boss_Battles_Background_Music.mp3
rename to website/client/public/static/audio/maflTheme/Boss_Battles_Background_Music.mp3
diff --git a/website/static/audio/maflTheme/Boss_Battles_Background_Music.ogg b/website/client/public/static/audio/maflTheme/Boss_Battles_Background_Music.ogg
similarity index 100%
rename from website/static/audio/maflTheme/Boss_Battles_Background_Music.ogg
rename to website/client/public/static/audio/maflTheme/Boss_Battles_Background_Music.ogg
diff --git a/website/static/audio/maflTheme/Chat.mp3 b/website/client/public/static/audio/maflTheme/Chat.mp3
similarity index 100%
rename from website/static/audio/maflTheme/Chat.mp3
rename to website/client/public/static/audio/maflTheme/Chat.mp3
diff --git a/website/static/audio/maflTheme/Chat.ogg b/website/client/public/static/audio/maflTheme/Chat.ogg
similarity index 100%
rename from website/static/audio/maflTheme/Chat.ogg
rename to website/client/public/static/audio/maflTheme/Chat.ogg
diff --git a/website/static/audio/maflTheme/Checklist_Complete.mp3 b/website/client/public/static/audio/maflTheme/Checklist_Complete.mp3
similarity index 100%
rename from website/static/audio/maflTheme/Checklist_Complete.mp3
rename to website/client/public/static/audio/maflTheme/Checklist_Complete.mp3
diff --git a/website/static/audio/maflTheme/Checklist_Complete.ogg b/website/client/public/static/audio/maflTheme/Checklist_Complete.ogg
similarity index 100%
rename from website/static/audio/maflTheme/Checklist_Complete.ogg
rename to website/client/public/static/audio/maflTheme/Checklist_Complete.ogg
diff --git a/website/static/audio/maflTheme/Daily.mp3 b/website/client/public/static/audio/maflTheme/Daily.mp3
similarity index 100%
rename from website/static/audio/maflTheme/Daily.mp3
rename to website/client/public/static/audio/maflTheme/Daily.mp3
diff --git a/website/static/audio/maflTheme/Daily.ogg b/website/client/public/static/audio/maflTheme/Daily.ogg
similarity index 100%
rename from website/static/audio/maflTheme/Daily.ogg
rename to website/client/public/static/audio/maflTheme/Daily.ogg
diff --git a/website/static/audio/maflTheme/Death.mp3 b/website/client/public/static/audio/maflTheme/Death.mp3
similarity index 100%
rename from website/static/audio/maflTheme/Death.mp3
rename to website/client/public/static/audio/maflTheme/Death.mp3
diff --git a/website/static/audio/maflTheme/Death.ogg b/website/client/public/static/audio/maflTheme/Death.ogg
similarity index 100%
rename from website/static/audio/maflTheme/Death.ogg
rename to website/client/public/static/audio/maflTheme/Death.ogg
diff --git a/website/static/audio/maflTheme/Item_Drop.mp3 b/website/client/public/static/audio/maflTheme/Item_Drop.mp3
similarity index 100%
rename from website/static/audio/maflTheme/Item_Drop.mp3
rename to website/client/public/static/audio/maflTheme/Item_Drop.mp3
diff --git a/website/static/audio/maflTheme/Item_Drop.ogg b/website/client/public/static/audio/maflTheme/Item_Drop.ogg
similarity index 100%
rename from website/static/audio/maflTheme/Item_Drop.ogg
rename to website/client/public/static/audio/maflTheme/Item_Drop.ogg
diff --git a/website/static/audio/maflTheme/Level_Up.mp3 b/website/client/public/static/audio/maflTheme/Level_Up.mp3
similarity index 100%
rename from website/static/audio/maflTheme/Level_Up.mp3
rename to website/client/public/static/audio/maflTheme/Level_Up.mp3
diff --git a/website/static/audio/maflTheme/Level_Up.ogg b/website/client/public/static/audio/maflTheme/Level_Up.ogg
similarity index 100%
rename from website/static/audio/maflTheme/Level_Up.ogg
rename to website/client/public/static/audio/maflTheme/Level_Up.ogg
diff --git a/website/static/audio/maflTheme/Login.mp3 b/website/client/public/static/audio/maflTheme/Login.mp3
similarity index 100%
rename from website/static/audio/maflTheme/Login.mp3
rename to website/client/public/static/audio/maflTheme/Login.mp3
diff --git a/website/static/audio/maflTheme/Login.ogg b/website/client/public/static/audio/maflTheme/Login.ogg
similarity index 100%
rename from website/static/audio/maflTheme/Login.ogg
rename to website/client/public/static/audio/maflTheme/Login.ogg
diff --git a/website/static/audio/maflTheme/Minus_Habit.mp3 b/website/client/public/static/audio/maflTheme/Minus_Habit.mp3
similarity index 100%
rename from website/static/audio/maflTheme/Minus_Habit.mp3
rename to website/client/public/static/audio/maflTheme/Minus_Habit.mp3
diff --git a/website/static/audio/maflTheme/Minus_Habit.ogg b/website/client/public/static/audio/maflTheme/Minus_Habit.ogg
similarity index 100%
rename from website/static/audio/maflTheme/Minus_Habit.ogg
rename to website/client/public/static/audio/maflTheme/Minus_Habit.ogg
diff --git a/website/static/audio/maflTheme/Plus_Habit.mp3 b/website/client/public/static/audio/maflTheme/Plus_Habit.mp3
similarity index 100%
rename from website/static/audio/maflTheme/Plus_Habit.mp3
rename to website/client/public/static/audio/maflTheme/Plus_Habit.mp3
diff --git a/website/static/audio/maflTheme/Plus_Habit.ogg b/website/client/public/static/audio/maflTheme/Plus_Habit.ogg
similarity index 100%
rename from website/static/audio/maflTheme/Plus_Habit.ogg
rename to website/client/public/static/audio/maflTheme/Plus_Habit.ogg
diff --git a/website/static/audio/maflTheme/Reward.mp3 b/website/client/public/static/audio/maflTheme/Reward.mp3
similarity index 100%
rename from website/static/audio/maflTheme/Reward.mp3
rename to website/client/public/static/audio/maflTheme/Reward.mp3
diff --git a/website/static/audio/maflTheme/Reward.ogg b/website/client/public/static/audio/maflTheme/Reward.ogg
similarity index 100%
rename from website/static/audio/maflTheme/Reward.ogg
rename to website/client/public/static/audio/maflTheme/Reward.ogg
diff --git a/website/static/audio/maflTheme/Settings_Page_Background_Music.mp3 b/website/client/public/static/audio/maflTheme/Settings_Page_Background_Music.mp3
similarity index 100%
rename from website/static/audio/maflTheme/Settings_Page_Background_Music.mp3
rename to website/client/public/static/audio/maflTheme/Settings_Page_Background_Music.mp3
diff --git a/website/static/audio/maflTheme/Settings_Page_Background_Music.ogg b/website/client/public/static/audio/maflTheme/Settings_Page_Background_Music.ogg
similarity index 100%
rename from website/static/audio/maflTheme/Settings_Page_Background_Music.ogg
rename to website/client/public/static/audio/maflTheme/Settings_Page_Background_Music.ogg
diff --git a/website/static/audio/maflTheme/Todo.mp3 b/website/client/public/static/audio/maflTheme/Todo.mp3
similarity index 100%
rename from website/static/audio/maflTheme/Todo.mp3
rename to website/client/public/static/audio/maflTheme/Todo.mp3
diff --git a/website/static/audio/maflTheme/Todo.ogg b/website/client/public/static/audio/maflTheme/Todo.ogg
similarity index 100%
rename from website/static/audio/maflTheme/Todo.ogg
rename to website/client/public/static/audio/maflTheme/Todo.ogg
diff --git a/website/static/audio/pizildenTheme/Achievement_Unlocked.mp3 b/website/client/public/static/audio/pizildenTheme/Achievement_Unlocked.mp3
similarity index 100%
rename from website/static/audio/pizildenTheme/Achievement_Unlocked.mp3
rename to website/client/public/static/audio/pizildenTheme/Achievement_Unlocked.mp3
diff --git a/website/static/audio/pizildenTheme/Achievement_Unlocked.ogg b/website/client/public/static/audio/pizildenTheme/Achievement_Unlocked.ogg
similarity index 100%
rename from website/static/audio/pizildenTheme/Achievement_Unlocked.ogg
rename to website/client/public/static/audio/pizildenTheme/Achievement_Unlocked.ogg
diff --git a/website/static/audio/pizildenTheme/Chat.mp3 b/website/client/public/static/audio/pizildenTheme/Chat.mp3
similarity index 100%
rename from website/static/audio/pizildenTheme/Chat.mp3
rename to website/client/public/static/audio/pizildenTheme/Chat.mp3
diff --git a/website/static/audio/pizildenTheme/Chat.ogg b/website/client/public/static/audio/pizildenTheme/Chat.ogg
similarity index 100%
rename from website/static/audio/pizildenTheme/Chat.ogg
rename to website/client/public/static/audio/pizildenTheme/Chat.ogg
diff --git a/website/static/audio/pizildenTheme/Daily.mp3 b/website/client/public/static/audio/pizildenTheme/Daily.mp3
similarity index 100%
rename from website/static/audio/pizildenTheme/Daily.mp3
rename to website/client/public/static/audio/pizildenTheme/Daily.mp3
diff --git a/website/static/audio/pizildenTheme/Daily.ogg b/website/client/public/static/audio/pizildenTheme/Daily.ogg
similarity index 100%
rename from website/static/audio/pizildenTheme/Daily.ogg
rename to website/client/public/static/audio/pizildenTheme/Daily.ogg
diff --git a/website/static/audio/pizildenTheme/Death.mp3 b/website/client/public/static/audio/pizildenTheme/Death.mp3
similarity index 100%
rename from website/static/audio/pizildenTheme/Death.mp3
rename to website/client/public/static/audio/pizildenTheme/Death.mp3
diff --git a/website/static/audio/pizildenTheme/Death.ogg b/website/client/public/static/audio/pizildenTheme/Death.ogg
similarity index 100%
rename from website/static/audio/pizildenTheme/Death.ogg
rename to website/client/public/static/audio/pizildenTheme/Death.ogg
diff --git a/website/static/audio/pizildenTheme/Item_Drop.mp3 b/website/client/public/static/audio/pizildenTheme/Item_Drop.mp3
similarity index 100%
rename from website/static/audio/pizildenTheme/Item_Drop.mp3
rename to website/client/public/static/audio/pizildenTheme/Item_Drop.mp3
diff --git a/website/static/audio/pizildenTheme/Item_Drop.ogg b/website/client/public/static/audio/pizildenTheme/Item_Drop.ogg
similarity index 100%
rename from website/static/audio/pizildenTheme/Item_Drop.ogg
rename to website/client/public/static/audio/pizildenTheme/Item_Drop.ogg
diff --git a/website/static/audio/pizildenTheme/Level_Up.mp3 b/website/client/public/static/audio/pizildenTheme/Level_Up.mp3
similarity index 100%
rename from website/static/audio/pizildenTheme/Level_Up.mp3
rename to website/client/public/static/audio/pizildenTheme/Level_Up.mp3
diff --git a/website/static/audio/pizildenTheme/Level_Up.ogg b/website/client/public/static/audio/pizildenTheme/Level_Up.ogg
similarity index 100%
rename from website/static/audio/pizildenTheme/Level_Up.ogg
rename to website/client/public/static/audio/pizildenTheme/Level_Up.ogg
diff --git a/website/static/audio/pizildenTheme/Minus_Habit.mp3 b/website/client/public/static/audio/pizildenTheme/Minus_Habit.mp3
similarity index 100%
rename from website/static/audio/pizildenTheme/Minus_Habit.mp3
rename to website/client/public/static/audio/pizildenTheme/Minus_Habit.mp3
diff --git a/website/static/audio/pizildenTheme/Minus_Habit.ogg b/website/client/public/static/audio/pizildenTheme/Minus_Habit.ogg
similarity index 100%
rename from website/static/audio/pizildenTheme/Minus_Habit.ogg
rename to website/client/public/static/audio/pizildenTheme/Minus_Habit.ogg
diff --git a/website/static/audio/pizildenTheme/Plus_Habit.mp3 b/website/client/public/static/audio/pizildenTheme/Plus_Habit.mp3
similarity index 100%
rename from website/static/audio/pizildenTheme/Plus_Habit.mp3
rename to website/client/public/static/audio/pizildenTheme/Plus_Habit.mp3
diff --git a/website/static/audio/pizildenTheme/Plus_Habit.ogg b/website/client/public/static/audio/pizildenTheme/Plus_Habit.ogg
similarity index 100%
rename from website/static/audio/pizildenTheme/Plus_Habit.ogg
rename to website/client/public/static/audio/pizildenTheme/Plus_Habit.ogg
diff --git a/website/static/audio/pizildenTheme/Reward.mp3 b/website/client/public/static/audio/pizildenTheme/Reward.mp3
similarity index 100%
rename from website/static/audio/pizildenTheme/Reward.mp3
rename to website/client/public/static/audio/pizildenTheme/Reward.mp3
diff --git a/website/static/audio/pizildenTheme/Reward.ogg b/website/client/public/static/audio/pizildenTheme/Reward.ogg
similarity index 100%
rename from website/static/audio/pizildenTheme/Reward.ogg
rename to website/client/public/static/audio/pizildenTheme/Reward.ogg
diff --git a/website/static/audio/pizildenTheme/Todo.mp3 b/website/client/public/static/audio/pizildenTheme/Todo.mp3
similarity index 100%
rename from website/static/audio/pizildenTheme/Todo.mp3
rename to website/client/public/static/audio/pizildenTheme/Todo.mp3
diff --git a/website/static/audio/pizildenTheme/Todo.ogg b/website/client/public/static/audio/pizildenTheme/Todo.ogg
similarity index 100%
rename from website/static/audio/pizildenTheme/Todo.ogg
rename to website/client/public/static/audio/pizildenTheme/Todo.ogg
diff --git a/website/static/audio/rosstavoTheme/Achievement_Unlocked.mp3 b/website/client/public/static/audio/rosstavoTheme/Achievement_Unlocked.mp3
similarity index 100%
rename from website/static/audio/rosstavoTheme/Achievement_Unlocked.mp3
rename to website/client/public/static/audio/rosstavoTheme/Achievement_Unlocked.mp3
diff --git a/website/static/audio/rosstavoTheme/Achievement_Unlocked.ogg b/website/client/public/static/audio/rosstavoTheme/Achievement_Unlocked.ogg
similarity index 100%
rename from website/static/audio/rosstavoTheme/Achievement_Unlocked.ogg
rename to website/client/public/static/audio/rosstavoTheme/Achievement_Unlocked.ogg
diff --git a/website/static/audio/rosstavoTheme/Chat.mp3 b/website/client/public/static/audio/rosstavoTheme/Chat.mp3
similarity index 100%
rename from website/static/audio/rosstavoTheme/Chat.mp3
rename to website/client/public/static/audio/rosstavoTheme/Chat.mp3
diff --git a/website/static/audio/rosstavoTheme/Chat.ogg b/website/client/public/static/audio/rosstavoTheme/Chat.ogg
similarity index 100%
rename from website/static/audio/rosstavoTheme/Chat.ogg
rename to website/client/public/static/audio/rosstavoTheme/Chat.ogg
diff --git a/website/static/audio/rosstavoTheme/Daily.mp3 b/website/client/public/static/audio/rosstavoTheme/Daily.mp3
similarity index 100%
rename from website/static/audio/rosstavoTheme/Daily.mp3
rename to website/client/public/static/audio/rosstavoTheme/Daily.mp3
diff --git a/website/static/audio/rosstavoTheme/Daily.ogg b/website/client/public/static/audio/rosstavoTheme/Daily.ogg
similarity index 100%
rename from website/static/audio/rosstavoTheme/Daily.ogg
rename to website/client/public/static/audio/rosstavoTheme/Daily.ogg
diff --git a/website/static/audio/rosstavoTheme/Death.mp3 b/website/client/public/static/audio/rosstavoTheme/Death.mp3
similarity index 100%
rename from website/static/audio/rosstavoTheme/Death.mp3
rename to website/client/public/static/audio/rosstavoTheme/Death.mp3
diff --git a/website/static/audio/rosstavoTheme/Death.ogg b/website/client/public/static/audio/rosstavoTheme/Death.ogg
similarity index 100%
rename from website/static/audio/rosstavoTheme/Death.ogg
rename to website/client/public/static/audio/rosstavoTheme/Death.ogg
diff --git a/website/static/audio/rosstavoTheme/Item_Drop.mp3 b/website/client/public/static/audio/rosstavoTheme/Item_Drop.mp3
similarity index 100%
rename from website/static/audio/rosstavoTheme/Item_Drop.mp3
rename to website/client/public/static/audio/rosstavoTheme/Item_Drop.mp3
diff --git a/website/static/audio/rosstavoTheme/Item_Drop.ogg b/website/client/public/static/audio/rosstavoTheme/Item_Drop.ogg
similarity index 100%
rename from website/static/audio/rosstavoTheme/Item_Drop.ogg
rename to website/client/public/static/audio/rosstavoTheme/Item_Drop.ogg
diff --git a/website/static/audio/rosstavoTheme/Level_Up.mp3 b/website/client/public/static/audio/rosstavoTheme/Level_Up.mp3
similarity index 100%
rename from website/static/audio/rosstavoTheme/Level_Up.mp3
rename to website/client/public/static/audio/rosstavoTheme/Level_Up.mp3
diff --git a/website/static/audio/rosstavoTheme/Level_Up.ogg b/website/client/public/static/audio/rosstavoTheme/Level_Up.ogg
similarity index 100%
rename from website/static/audio/rosstavoTheme/Level_Up.ogg
rename to website/client/public/static/audio/rosstavoTheme/Level_Up.ogg
diff --git a/website/static/audio/rosstavoTheme/Minus_Habit.mp3 b/website/client/public/static/audio/rosstavoTheme/Minus_Habit.mp3
similarity index 100%
rename from website/static/audio/rosstavoTheme/Minus_Habit.mp3
rename to website/client/public/static/audio/rosstavoTheme/Minus_Habit.mp3
diff --git a/website/static/audio/rosstavoTheme/Minus_Habit.ogg b/website/client/public/static/audio/rosstavoTheme/Minus_Habit.ogg
similarity index 100%
rename from website/static/audio/rosstavoTheme/Minus_Habit.ogg
rename to website/client/public/static/audio/rosstavoTheme/Minus_Habit.ogg
diff --git a/website/static/audio/rosstavoTheme/Plus_Habit.mp3 b/website/client/public/static/audio/rosstavoTheme/Plus_Habit.mp3
similarity index 100%
rename from website/static/audio/rosstavoTheme/Plus_Habit.mp3
rename to website/client/public/static/audio/rosstavoTheme/Plus_Habit.mp3
diff --git a/website/static/audio/rosstavoTheme/Plus_Habit.ogg b/website/client/public/static/audio/rosstavoTheme/Plus_Habit.ogg
similarity index 100%
rename from website/static/audio/rosstavoTheme/Plus_Habit.ogg
rename to website/client/public/static/audio/rosstavoTheme/Plus_Habit.ogg
diff --git a/website/static/audio/rosstavoTheme/Reward.mp3 b/website/client/public/static/audio/rosstavoTheme/Reward.mp3
similarity index 100%
rename from website/static/audio/rosstavoTheme/Reward.mp3
rename to website/client/public/static/audio/rosstavoTheme/Reward.mp3
diff --git a/website/static/audio/rosstavoTheme/Reward.ogg b/website/client/public/static/audio/rosstavoTheme/Reward.ogg
similarity index 100%
rename from website/static/audio/rosstavoTheme/Reward.ogg
rename to website/client/public/static/audio/rosstavoTheme/Reward.ogg
diff --git a/website/static/audio/rosstavoTheme/Todo.mp3 b/website/client/public/static/audio/rosstavoTheme/Todo.mp3
similarity index 100%
rename from website/static/audio/rosstavoTheme/Todo.mp3
rename to website/client/public/static/audio/rosstavoTheme/Todo.mp3
diff --git a/website/static/audio/rosstavoTheme/Todo.ogg b/website/client/public/static/audio/rosstavoTheme/Todo.ogg
similarity index 100%
rename from website/static/audio/rosstavoTheme/Todo.ogg
rename to website/client/public/static/audio/rosstavoTheme/Todo.ogg
diff --git a/website/static/audio/spacePenguinTheme/Achievement_Unlocked.mp3 b/website/client/public/static/audio/spacePenguinTheme/Achievement_Unlocked.mp3
similarity index 100%
rename from website/static/audio/spacePenguinTheme/Achievement_Unlocked.mp3
rename to website/client/public/static/audio/spacePenguinTheme/Achievement_Unlocked.mp3
diff --git a/website/static/audio/spacePenguinTheme/Achievement_Unlocked.ogg b/website/client/public/static/audio/spacePenguinTheme/Achievement_Unlocked.ogg
similarity index 100%
rename from website/static/audio/spacePenguinTheme/Achievement_Unlocked.ogg
rename to website/client/public/static/audio/spacePenguinTheme/Achievement_Unlocked.ogg
diff --git a/website/static/audio/spacePenguinTheme/Chat.mp3 b/website/client/public/static/audio/spacePenguinTheme/Chat.mp3
similarity index 100%
rename from website/static/audio/spacePenguinTheme/Chat.mp3
rename to website/client/public/static/audio/spacePenguinTheme/Chat.mp3
diff --git a/website/static/audio/spacePenguinTheme/Chat.ogg b/website/client/public/static/audio/spacePenguinTheme/Chat.ogg
similarity index 100%
rename from website/static/audio/spacePenguinTheme/Chat.ogg
rename to website/client/public/static/audio/spacePenguinTheme/Chat.ogg
diff --git a/website/static/audio/spacePenguinTheme/Daily.mp3 b/website/client/public/static/audio/spacePenguinTheme/Daily.mp3
similarity index 100%
rename from website/static/audio/spacePenguinTheme/Daily.mp3
rename to website/client/public/static/audio/spacePenguinTheme/Daily.mp3
diff --git a/website/static/audio/spacePenguinTheme/Daily.ogg b/website/client/public/static/audio/spacePenguinTheme/Daily.ogg
similarity index 100%
rename from website/static/audio/spacePenguinTheme/Daily.ogg
rename to website/client/public/static/audio/spacePenguinTheme/Daily.ogg
diff --git a/website/static/audio/spacePenguinTheme/Death.mp3 b/website/client/public/static/audio/spacePenguinTheme/Death.mp3
similarity index 100%
rename from website/static/audio/spacePenguinTheme/Death.mp3
rename to website/client/public/static/audio/spacePenguinTheme/Death.mp3
diff --git a/website/static/audio/spacePenguinTheme/Death.ogg b/website/client/public/static/audio/spacePenguinTheme/Death.ogg
similarity index 100%
rename from website/static/audio/spacePenguinTheme/Death.ogg
rename to website/client/public/static/audio/spacePenguinTheme/Death.ogg
diff --git a/website/static/audio/spacePenguinTheme/Item_Drop.mp3 b/website/client/public/static/audio/spacePenguinTheme/Item_Drop.mp3
similarity index 100%
rename from website/static/audio/spacePenguinTheme/Item_Drop.mp3
rename to website/client/public/static/audio/spacePenguinTheme/Item_Drop.mp3
diff --git a/website/static/audio/spacePenguinTheme/Item_Drop.ogg b/website/client/public/static/audio/spacePenguinTheme/Item_Drop.ogg
similarity index 100%
rename from website/static/audio/spacePenguinTheme/Item_Drop.ogg
rename to website/client/public/static/audio/spacePenguinTheme/Item_Drop.ogg
diff --git a/website/static/audio/spacePenguinTheme/Level_Up.mp3 b/website/client/public/static/audio/spacePenguinTheme/Level_Up.mp3
similarity index 100%
rename from website/static/audio/spacePenguinTheme/Level_Up.mp3
rename to website/client/public/static/audio/spacePenguinTheme/Level_Up.mp3
diff --git a/website/static/audio/spacePenguinTheme/Level_Up.ogg b/website/client/public/static/audio/spacePenguinTheme/Level_Up.ogg
similarity index 100%
rename from website/static/audio/spacePenguinTheme/Level_Up.ogg
rename to website/client/public/static/audio/spacePenguinTheme/Level_Up.ogg
diff --git a/website/static/audio/spacePenguinTheme/Minus_Habit.mp3 b/website/client/public/static/audio/spacePenguinTheme/Minus_Habit.mp3
similarity index 100%
rename from website/static/audio/spacePenguinTheme/Minus_Habit.mp3
rename to website/client/public/static/audio/spacePenguinTheme/Minus_Habit.mp3
diff --git a/website/static/audio/spacePenguinTheme/Minus_Habit.ogg b/website/client/public/static/audio/spacePenguinTheme/Minus_Habit.ogg
similarity index 100%
rename from website/static/audio/spacePenguinTheme/Minus_Habit.ogg
rename to website/client/public/static/audio/spacePenguinTheme/Minus_Habit.ogg
diff --git a/website/static/audio/spacePenguinTheme/Plus_Habit.mp3 b/website/client/public/static/audio/spacePenguinTheme/Plus_Habit.mp3
similarity index 100%
rename from website/static/audio/spacePenguinTheme/Plus_Habit.mp3
rename to website/client/public/static/audio/spacePenguinTheme/Plus_Habit.mp3
diff --git a/website/static/audio/spacePenguinTheme/Plus_Habit.ogg b/website/client/public/static/audio/spacePenguinTheme/Plus_Habit.ogg
similarity index 100%
rename from website/static/audio/spacePenguinTheme/Plus_Habit.ogg
rename to website/client/public/static/audio/spacePenguinTheme/Plus_Habit.ogg
diff --git a/website/static/audio/spacePenguinTheme/Reward.mp3 b/website/client/public/static/audio/spacePenguinTheme/Reward.mp3
similarity index 100%
rename from website/static/audio/spacePenguinTheme/Reward.mp3
rename to website/client/public/static/audio/spacePenguinTheme/Reward.mp3
diff --git a/website/static/audio/spacePenguinTheme/Reward.ogg b/website/client/public/static/audio/spacePenguinTheme/Reward.ogg
similarity index 100%
rename from website/static/audio/spacePenguinTheme/Reward.ogg
rename to website/client/public/static/audio/spacePenguinTheme/Reward.ogg
diff --git a/website/static/audio/spacePenguinTheme/Todo.mp3 b/website/client/public/static/audio/spacePenguinTheme/Todo.mp3
similarity index 100%
rename from website/static/audio/spacePenguinTheme/Todo.mp3
rename to website/client/public/static/audio/spacePenguinTheme/Todo.mp3
diff --git a/website/static/audio/spacePenguinTheme/Todo.ogg b/website/client/public/static/audio/spacePenguinTheme/Todo.ogg
similarity index 100%
rename from website/static/audio/spacePenguinTheme/Todo.ogg
rename to website/client/public/static/audio/spacePenguinTheme/Todo.ogg
diff --git a/website/static/audio/triumphTheme/Achievement_Unlocked.mp3 b/website/client/public/static/audio/triumphTheme/Achievement_Unlocked.mp3
similarity index 100%
rename from website/static/audio/triumphTheme/Achievement_Unlocked.mp3
rename to website/client/public/static/audio/triumphTheme/Achievement_Unlocked.mp3
diff --git a/website/static/audio/triumphTheme/Achievement_Unlocked.ogg b/website/client/public/static/audio/triumphTheme/Achievement_Unlocked.ogg
similarity index 100%
rename from website/static/audio/triumphTheme/Achievement_Unlocked.ogg
rename to website/client/public/static/audio/triumphTheme/Achievement_Unlocked.ogg
diff --git a/website/static/audio/triumphTheme/Chat.mp3 b/website/client/public/static/audio/triumphTheme/Chat.mp3
similarity index 100%
rename from website/static/audio/triumphTheme/Chat.mp3
rename to website/client/public/static/audio/triumphTheme/Chat.mp3
diff --git a/website/static/audio/triumphTheme/Chat.ogg b/website/client/public/static/audio/triumphTheme/Chat.ogg
similarity index 100%
rename from website/static/audio/triumphTheme/Chat.ogg
rename to website/client/public/static/audio/triumphTheme/Chat.ogg
diff --git a/website/static/audio/triumphTheme/Daily.mp3 b/website/client/public/static/audio/triumphTheme/Daily.mp3
similarity index 100%
rename from website/static/audio/triumphTheme/Daily.mp3
rename to website/client/public/static/audio/triumphTheme/Daily.mp3
diff --git a/website/static/audio/triumphTheme/Daily.ogg b/website/client/public/static/audio/triumphTheme/Daily.ogg
similarity index 100%
rename from website/static/audio/triumphTheme/Daily.ogg
rename to website/client/public/static/audio/triumphTheme/Daily.ogg
diff --git a/website/static/audio/triumphTheme/Death.mp3 b/website/client/public/static/audio/triumphTheme/Death.mp3
similarity index 100%
rename from website/static/audio/triumphTheme/Death.mp3
rename to website/client/public/static/audio/triumphTheme/Death.mp3
diff --git a/website/static/audio/triumphTheme/Death.ogg b/website/client/public/static/audio/triumphTheme/Death.ogg
similarity index 100%
rename from website/static/audio/triumphTheme/Death.ogg
rename to website/client/public/static/audio/triumphTheme/Death.ogg
diff --git a/website/static/audio/triumphTheme/Item_Drop.mp3 b/website/client/public/static/audio/triumphTheme/Item_Drop.mp3
similarity index 100%
rename from website/static/audio/triumphTheme/Item_Drop.mp3
rename to website/client/public/static/audio/triumphTheme/Item_Drop.mp3
diff --git a/website/static/audio/triumphTheme/Item_Drop.ogg b/website/client/public/static/audio/triumphTheme/Item_Drop.ogg
similarity index 100%
rename from website/static/audio/triumphTheme/Item_Drop.ogg
rename to website/client/public/static/audio/triumphTheme/Item_Drop.ogg
diff --git a/website/static/audio/triumphTheme/Level_Up.mp3 b/website/client/public/static/audio/triumphTheme/Level_Up.mp3
similarity index 100%
rename from website/static/audio/triumphTheme/Level_Up.mp3
rename to website/client/public/static/audio/triumphTheme/Level_Up.mp3
diff --git a/website/static/audio/triumphTheme/Level_Up.ogg b/website/client/public/static/audio/triumphTheme/Level_Up.ogg
similarity index 100%
rename from website/static/audio/triumphTheme/Level_Up.ogg
rename to website/client/public/static/audio/triumphTheme/Level_Up.ogg
diff --git a/website/static/audio/triumphTheme/Minus_Habit.mp3 b/website/client/public/static/audio/triumphTheme/Minus_Habit.mp3
similarity index 100%
rename from website/static/audio/triumphTheme/Minus_Habit.mp3
rename to website/client/public/static/audio/triumphTheme/Minus_Habit.mp3
diff --git a/website/static/audio/triumphTheme/Minus_Habit.ogg b/website/client/public/static/audio/triumphTheme/Minus_Habit.ogg
similarity index 100%
rename from website/static/audio/triumphTheme/Minus_Habit.ogg
rename to website/client/public/static/audio/triumphTheme/Minus_Habit.ogg
diff --git a/website/static/audio/triumphTheme/Plus_Habit.mp3 b/website/client/public/static/audio/triumphTheme/Plus_Habit.mp3
similarity index 100%
rename from website/static/audio/triumphTheme/Plus_Habit.mp3
rename to website/client/public/static/audio/triumphTheme/Plus_Habit.mp3
diff --git a/website/static/audio/triumphTheme/Plus_Habit.ogg b/website/client/public/static/audio/triumphTheme/Plus_Habit.ogg
similarity index 100%
rename from website/static/audio/triumphTheme/Plus_Habit.ogg
rename to website/client/public/static/audio/triumphTheme/Plus_Habit.ogg
diff --git a/website/static/audio/triumphTheme/Reward.mp3 b/website/client/public/static/audio/triumphTheme/Reward.mp3
similarity index 100%
rename from website/static/audio/triumphTheme/Reward.mp3
rename to website/client/public/static/audio/triumphTheme/Reward.mp3
diff --git a/website/static/audio/triumphTheme/Reward.ogg b/website/client/public/static/audio/triumphTheme/Reward.ogg
similarity index 100%
rename from website/static/audio/triumphTheme/Reward.ogg
rename to website/client/public/static/audio/triumphTheme/Reward.ogg
diff --git a/website/static/audio/triumphTheme/Todo.mp3 b/website/client/public/static/audio/triumphTheme/Todo.mp3
similarity index 100%
rename from website/static/audio/triumphTheme/Todo.mp3
rename to website/client/public/static/audio/triumphTheme/Todo.mp3
diff --git a/website/static/audio/triumphTheme/Todo.ogg b/website/client/public/static/audio/triumphTheme/Todo.ogg
similarity index 100%
rename from website/static/audio/triumphTheme/Todo.ogg
rename to website/client/public/static/audio/triumphTheme/Todo.ogg
diff --git a/website/static/audio/wattsTheme/Achievement_Unlocked.mp3 b/website/client/public/static/audio/wattsTheme/Achievement_Unlocked.mp3
similarity index 100%
rename from website/static/audio/wattsTheme/Achievement_Unlocked.mp3
rename to website/client/public/static/audio/wattsTheme/Achievement_Unlocked.mp3
diff --git a/website/static/audio/wattsTheme/Achievement_Unlocked.ogg b/website/client/public/static/audio/wattsTheme/Achievement_Unlocked.ogg
similarity index 100%
rename from website/static/audio/wattsTheme/Achievement_Unlocked.ogg
rename to website/client/public/static/audio/wattsTheme/Achievement_Unlocked.ogg
diff --git a/website/static/audio/wattsTheme/Chat.mp3 b/website/client/public/static/audio/wattsTheme/Chat.mp3
similarity index 100%
rename from website/static/audio/wattsTheme/Chat.mp3
rename to website/client/public/static/audio/wattsTheme/Chat.mp3
diff --git a/website/static/audio/wattsTheme/Chat.ogg b/website/client/public/static/audio/wattsTheme/Chat.ogg
similarity index 100%
rename from website/static/audio/wattsTheme/Chat.ogg
rename to website/client/public/static/audio/wattsTheme/Chat.ogg
diff --git a/website/static/audio/wattsTheme/Daily.mp3 b/website/client/public/static/audio/wattsTheme/Daily.mp3
similarity index 100%
rename from website/static/audio/wattsTheme/Daily.mp3
rename to website/client/public/static/audio/wattsTheme/Daily.mp3
diff --git a/website/static/audio/wattsTheme/Daily.ogg b/website/client/public/static/audio/wattsTheme/Daily.ogg
similarity index 100%
rename from website/static/audio/wattsTheme/Daily.ogg
rename to website/client/public/static/audio/wattsTheme/Daily.ogg
diff --git a/website/static/audio/wattsTheme/Death.mp3 b/website/client/public/static/audio/wattsTheme/Death.mp3
similarity index 100%
rename from website/static/audio/wattsTheme/Death.mp3
rename to website/client/public/static/audio/wattsTheme/Death.mp3
diff --git a/website/static/audio/wattsTheme/Death.ogg b/website/client/public/static/audio/wattsTheme/Death.ogg
similarity index 100%
rename from website/static/audio/wattsTheme/Death.ogg
rename to website/client/public/static/audio/wattsTheme/Death.ogg
diff --git a/website/static/audio/wattsTheme/Item_Drop.mp3 b/website/client/public/static/audio/wattsTheme/Item_Drop.mp3
similarity index 100%
rename from website/static/audio/wattsTheme/Item_Drop.mp3
rename to website/client/public/static/audio/wattsTheme/Item_Drop.mp3
diff --git a/website/static/audio/wattsTheme/Item_Drop.ogg b/website/client/public/static/audio/wattsTheme/Item_Drop.ogg
similarity index 100%
rename from website/static/audio/wattsTheme/Item_Drop.ogg
rename to website/client/public/static/audio/wattsTheme/Item_Drop.ogg
diff --git a/website/static/audio/wattsTheme/Level_Up.mp3 b/website/client/public/static/audio/wattsTheme/Level_Up.mp3
similarity index 100%
rename from website/static/audio/wattsTheme/Level_Up.mp3
rename to website/client/public/static/audio/wattsTheme/Level_Up.mp3
diff --git a/website/static/audio/wattsTheme/Level_Up.ogg b/website/client/public/static/audio/wattsTheme/Level_Up.ogg
similarity index 100%
rename from website/static/audio/wattsTheme/Level_Up.ogg
rename to website/client/public/static/audio/wattsTheme/Level_Up.ogg
diff --git a/website/static/audio/wattsTheme/Minus_Habit.mp3 b/website/client/public/static/audio/wattsTheme/Minus_Habit.mp3
similarity index 100%
rename from website/static/audio/wattsTheme/Minus_Habit.mp3
rename to website/client/public/static/audio/wattsTheme/Minus_Habit.mp3
diff --git a/website/static/audio/wattsTheme/Minus_Habit.ogg b/website/client/public/static/audio/wattsTheme/Minus_Habit.ogg
similarity index 100%
rename from website/static/audio/wattsTheme/Minus_Habit.ogg
rename to website/client/public/static/audio/wattsTheme/Minus_Habit.ogg
diff --git a/website/static/audio/wattsTheme/Plus_Habit.mp3 b/website/client/public/static/audio/wattsTheme/Plus_Habit.mp3
similarity index 100%
rename from website/static/audio/wattsTheme/Plus_Habit.mp3
rename to website/client/public/static/audio/wattsTheme/Plus_Habit.mp3
diff --git a/website/static/audio/wattsTheme/Plus_Habit.ogg b/website/client/public/static/audio/wattsTheme/Plus_Habit.ogg
similarity index 100%
rename from website/static/audio/wattsTheme/Plus_Habit.ogg
rename to website/client/public/static/audio/wattsTheme/Plus_Habit.ogg
diff --git a/website/static/audio/wattsTheme/Reward.mp3 b/website/client/public/static/audio/wattsTheme/Reward.mp3
similarity index 100%
rename from website/static/audio/wattsTheme/Reward.mp3
rename to website/client/public/static/audio/wattsTheme/Reward.mp3
diff --git a/website/static/audio/wattsTheme/Reward.ogg b/website/client/public/static/audio/wattsTheme/Reward.ogg
similarity index 100%
rename from website/static/audio/wattsTheme/Reward.ogg
rename to website/client/public/static/audio/wattsTheme/Reward.ogg
diff --git a/website/static/audio/wattsTheme/Todo.mp3 b/website/client/public/static/audio/wattsTheme/Todo.mp3
similarity index 100%
rename from website/static/audio/wattsTheme/Todo.mp3
rename to website/client/public/static/audio/wattsTheme/Todo.mp3
diff --git a/website/static/audio/wattsTheme/Todo.ogg b/website/client/public/static/audio/wattsTheme/Todo.ogg
similarity index 100%
rename from website/static/audio/wattsTheme/Todo.ogg
rename to website/client/public/static/audio/wattsTheme/Todo.ogg
diff --git a/website/static/emails/images/10-days-recapture-v1.png b/website/client/public/static/emails/images/10-days-recapture-v1.png
similarity index 100%
rename from website/static/emails/images/10-days-recapture-v1.png
rename to website/client/public/static/emails/images/10-days-recapture-v1.png
diff --git a/website/static/emails/images/3-days-1-month-recapture-v1.png b/website/client/public/static/emails/images/3-days-1-month-recapture-v1.png
similarity index 100%
rename from website/static/emails/images/3-days-1-month-recapture-v1.png
rename to website/client/public/static/emails/images/3-days-1-month-recapture-v1.png
diff --git a/website/static/emails/images/PROMO-Enchanted-Armoire-v1.png b/website/client/public/static/emails/images/PROMO-Enchanted-Armoire-v1.png
similarity index 100%
rename from website/static/emails/images/PROMO-Enchanted-Armoire-v1.png
rename to website/client/public/static/emails/images/PROMO-Enchanted-Armoire-v1.png
diff --git a/website/static/emails/images/android-promo-v1.png b/website/client/public/static/emails/images/android-promo-v1.png
similarity index 100%
rename from website/static/emails/images/android-promo-v1.png
rename to website/client/public/static/emails/images/android-promo-v1.png
diff --git a/website/static/emails/images/iphone-promo-v1.png b/website/client/public/static/emails/images/iphone-promo-v1.png
similarity index 100%
rename from website/static/emails/images/iphone-promo-v1.png
rename to website/client/public/static/emails/images/iphone-promo-v1.png
diff --git a/website/static/emails/images/meta-image.png b/website/client/public/static/emails/images/meta-image.png
similarity index 100%
rename from website/static/emails/images/meta-image.png
rename to website/client/public/static/emails/images/meta-image.png
diff --git a/website/static/emails/images/one-day-v1.png b/website/client/public/static/emails/images/one-day-v1.png
similarity index 100%
rename from website/static/emails/images/one-day-v1.png
rename to website/client/public/static/emails/images/one-day-v1.png
diff --git a/website/static/emails/images/spring-2015-00-v1.png b/website/client/public/static/emails/images/spring-2015-00-v1.png
similarity index 100%
rename from website/static/emails/images/spring-2015-00-v1.png
rename to website/client/public/static/emails/images/spring-2015-00-v1.png
diff --git a/website/static/emails/images/spring-2015-01-v1.png b/website/client/public/static/emails/images/spring-2015-01-v1.png
similarity index 100%
rename from website/static/emails/images/spring-2015-01-v1.png
rename to website/client/public/static/emails/images/spring-2015-01-v1.png
diff --git a/website/static/emails/images/subscription-begins-time-travelers-v1.png b/website/client/public/static/emails/images/subscription-begins-time-travelers-v1.png
similarity index 100%
rename from website/static/emails/images/subscription-begins-time-travelers-v1.png
rename to website/client/public/static/emails/images/subscription-begins-time-travelers-v1.png
diff --git a/website/static/emails/images/subscription-begins-v1.png b/website/client/public/static/emails/images/subscription-begins-v1.png
similarity index 100%
rename from website/static/emails/images/subscription-begins-v1.png
rename to website/client/public/static/emails/images/subscription-begins-v1.png
diff --git a/website/static/icons/favicon.ico b/website/client/public/static/icons/favicon.ico
similarity index 100%
rename from website/static/icons/favicon.ico
rename to website/client/public/static/icons/favicon.ico
diff --git a/website/static/icons/favicon_192x192.png b/website/client/public/static/icons/favicon_192x192.png
similarity index 100%
rename from website/static/icons/favicon_192x192.png
rename to website/client/public/static/icons/favicon_192x192.png
diff --git a/website/static/merch/stickermule-logo.png b/website/client/public/static/merch/stickermule-logo.png
similarity index 100%
rename from website/static/merch/stickermule-logo.png
rename to website/client/public/static/merch/stickermule-logo.png
diff --git a/website/static/merch/stickermule-logo.svg b/website/client/public/static/merch/stickermule-logo.svg
similarity index 100%
rename from website/static/merch/stickermule-logo.svg
rename to website/client/public/static/merch/stickermule-logo.svg
diff --git a/website/static/merch/stickermule.png b/website/client/public/static/merch/stickermule.png
similarity index 100%
rename from website/static/merch/stickermule.png
rename to website/client/public/static/merch/stickermule.png
diff --git a/website/static/merch/teespring-eu-logo.png b/website/client/public/static/merch/teespring-eu-logo.png
similarity index 100%
rename from website/static/merch/teespring-eu-logo.png
rename to website/client/public/static/merch/teespring-eu-logo.png
diff --git a/website/static/merch/teespring-eu.png b/website/client/public/static/merch/teespring-eu.png
similarity index 100%
rename from website/static/merch/teespring-eu.png
rename to website/client/public/static/merch/teespring-eu.png
diff --git a/website/static/merch/teespring-logo.png b/website/client/public/static/merch/teespring-logo.png
similarity index 100%
rename from website/static/merch/teespring-logo.png
rename to website/client/public/static/merch/teespring-logo.png
diff --git a/website/static/merch/teespring-logo.svg b/website/client/public/static/merch/teespring-logo.svg
similarity index 100%
rename from website/static/merch/teespring-logo.svg
rename to website/client/public/static/merch/teespring-logo.svg
diff --git a/website/static/merch/teespring-mug-eu-logo.png b/website/client/public/static/merch/teespring-mug-eu-logo.png
similarity index 100%
rename from website/static/merch/teespring-mug-eu-logo.png
rename to website/client/public/static/merch/teespring-mug-eu-logo.png
diff --git a/website/static/merch/teespring-mug-eu.png b/website/client/public/static/merch/teespring-mug-eu.png
similarity index 100%
rename from website/static/merch/teespring-mug-eu.png
rename to website/client/public/static/merch/teespring-mug-eu.png
diff --git a/website/static/merch/teespring-mug-logo.png b/website/client/public/static/merch/teespring-mug-logo.png
similarity index 100%
rename from website/static/merch/teespring-mug-logo.png
rename to website/client/public/static/merch/teespring-mug-logo.png
diff --git a/website/static/merch/teespring-mug.png b/website/client/public/static/merch/teespring-mug.png
similarity index 100%
rename from website/static/merch/teespring-mug.png
rename to website/client/public/static/merch/teespring-mug.png
diff --git a/website/static/merch/teespring.png b/website/client/public/static/merch/teespring.png
similarity index 100%
rename from website/static/merch/teespring.png
rename to website/client/public/static/merch/teespring.png
diff --git a/website/static/presskit/Boss/Basi-List.png b/website/client/public/static/presskit/Boss/Basi-List.png
similarity index 100%
rename from website/static/presskit/Boss/Basi-List.png
rename to website/client/public/static/presskit/Boss/Basi-List.png
diff --git a/website/static/presskit/Boss/Battling the Ghost Stag.png b/website/client/public/static/presskit/Boss/Battling the Ghost Stag.png
similarity index 100%
rename from website/static/presskit/Boss/Battling the Ghost Stag.png
rename to website/client/public/static/presskit/Boss/Battling the Ghost Stag.png
diff --git a/website/static/presskit/Boss/Dread Drag'on of Dilatory.png b/website/client/public/static/presskit/Boss/Dread Drag'on of Dilatory.png
similarity index 100%
rename from website/static/presskit/Boss/Dread Drag'on of Dilatory.png
rename to website/client/public/static/presskit/Boss/Dread Drag'on of Dilatory.png
diff --git a/website/static/presskit/Boss/Laundromancer.png b/website/client/public/static/presskit/Boss/Laundromancer.png
similarity index 100%
rename from website/static/presskit/Boss/Laundromancer.png
rename to website/client/public/static/presskit/Boss/Laundromancer.png
diff --git a/website/static/presskit/Boss/Necro-Vice.png b/website/client/public/static/presskit/Boss/Necro-Vice.png
similarity index 100%
rename from website/static/presskit/Boss/Necro-Vice.png
rename to website/client/public/static/presskit/Boss/Necro-Vice.png
diff --git a/website/static/presskit/Boss/SnackLess Monster.png b/website/client/public/static/presskit/Boss/SnackLess Monster.png
similarity index 100%
rename from website/static/presskit/Boss/SnackLess Monster.png
rename to website/client/public/static/presskit/Boss/SnackLess Monster.png
diff --git a/website/static/presskit/Boss/Stagnant Dishes.png b/website/client/public/static/presskit/Boss/Stagnant Dishes.png
similarity index 100%
rename from website/static/presskit/Boss/Stagnant Dishes.png
rename to website/client/public/static/presskit/Boss/Stagnant Dishes.png
diff --git a/website/static/presskit/Habitica - Gamify Your Life.mp4 b/website/client/public/static/presskit/Habitica - Gamify Your Life.mp4
similarity index 100%
rename from website/static/presskit/Habitica - Gamify Your Life.mp4
rename to website/client/public/static/presskit/Habitica - Gamify Your Life.mp4
diff --git a/website/static/presskit/Logo/Android.png b/website/client/public/static/presskit/Logo/Android.png
similarity index 100%
rename from website/static/presskit/Logo/Android.png
rename to website/client/public/static/presskit/Logo/Android.png
diff --git a/website/static/presskit/Logo/Habitica Gryphon.png b/website/client/public/static/presskit/Logo/Habitica Gryphon.png
similarity index 100%
rename from website/static/presskit/Logo/Habitica Gryphon.png
rename to website/client/public/static/presskit/Logo/Habitica Gryphon.png
diff --git a/website/static/presskit/Logo/Icon with Text.png b/website/client/public/static/presskit/Logo/Icon with Text.png
similarity index 100%
rename from website/static/presskit/Logo/Icon with Text.png
rename to website/client/public/static/presskit/Logo/Icon with Text.png
diff --git a/website/static/presskit/Logo/Icon.png b/website/client/public/static/presskit/Logo/Icon.png
similarity index 100%
rename from website/static/presskit/Logo/Icon.png
rename to website/client/public/static/presskit/Logo/Icon.png
diff --git a/website/static/presskit/Logo/Text.png b/website/client/public/static/presskit/Logo/Text.png
similarity index 100%
rename from website/static/presskit/Logo/Text.png
rename to website/client/public/static/presskit/Logo/Text.png
diff --git a/website/static/presskit/Logo/iOS.png b/website/client/public/static/presskit/Logo/iOS.png
similarity index 100%
rename from website/static/presskit/Logo/iOS.png
rename to website/client/public/static/presskit/Logo/iOS.png
diff --git a/website/static/presskit/Promo/Promo - Thin.png b/website/client/public/static/presskit/Promo/Promo - Thin.png
similarity index 100%
rename from website/static/presskit/Promo/Promo - Thin.png
rename to website/client/public/static/presskit/Promo/Promo - Thin.png
diff --git a/website/static/presskit/Promo/Promo.png b/website/client/public/static/presskit/Promo/Promo.png
similarity index 100%
rename from website/static/presskit/Promo/Promo.png
rename to website/client/public/static/presskit/Promo/Promo.png
diff --git a/website/static/presskit/Samples/Android/Add Tasks.png b/website/client/public/static/presskit/Samples/Android/Add Tasks.png
similarity index 100%
rename from website/static/presskit/Samples/Android/Add Tasks.png
rename to website/client/public/static/presskit/Samples/Android/Add Tasks.png
diff --git a/website/static/presskit/Samples/Android/Login.png b/website/client/public/static/presskit/Samples/Android/Login.png
similarity index 100%
rename from website/static/presskit/Samples/Android/Login.png
rename to website/client/public/static/presskit/Samples/Android/Login.png
diff --git a/website/static/presskit/Samples/Android/Party.png b/website/client/public/static/presskit/Samples/Android/Party.png
similarity index 100%
rename from website/static/presskit/Samples/Android/Party.png
rename to website/client/public/static/presskit/Samples/Android/Party.png
diff --git a/website/static/presskit/Samples/Android/Shops.png b/website/client/public/static/presskit/Samples/Android/Shops.png
similarity index 100%
rename from website/static/presskit/Samples/Android/Shops.png
rename to website/client/public/static/presskit/Samples/Android/Shops.png
diff --git a/website/static/presskit/Samples/Android/Stats.png b/website/client/public/static/presskit/Samples/Android/Stats.png
similarity index 100%
rename from website/static/presskit/Samples/Android/Stats.png
rename to website/client/public/static/presskit/Samples/Android/Stats.png
diff --git a/website/static/presskit/Samples/Android/Tasks Page.png b/website/client/public/static/presskit/Samples/Android/Tasks Page.png
similarity index 100%
rename from website/static/presskit/Samples/Android/Tasks Page.png
rename to website/client/public/static/presskit/Samples/Android/Tasks Page.png
diff --git a/website/static/presskit/Samples/Android/User.png b/website/client/public/static/presskit/Samples/Android/User.png
similarity index 100%
rename from website/static/presskit/Samples/Android/User.png
rename to website/client/public/static/presskit/Samples/Android/User.png
diff --git a/website/static/presskit/Samples/Website/Challenges.png b/website/client/public/static/presskit/Samples/Website/Challenges.png
similarity index 100%
rename from website/static/presskit/Samples/Website/Challenges.png
rename to website/client/public/static/presskit/Samples/Website/Challenges.png
diff --git a/website/static/presskit/Samples/Website/CheckInIncentives.png b/website/client/public/static/presskit/Samples/Website/CheckInIncentives.png
similarity index 100%
rename from website/static/presskit/Samples/Website/CheckInIncentives.png
rename to website/client/public/static/presskit/Samples/Website/CheckInIncentives.png
diff --git a/website/static/presskit/Samples/Website/Equipment.png b/website/client/public/static/presskit/Samples/Website/Equipment.png
similarity index 100%
rename from website/static/presskit/Samples/Website/Equipment.png
rename to website/client/public/static/presskit/Samples/Website/Equipment.png
diff --git a/website/static/presskit/Samples/Website/Guilds.png b/website/client/public/static/presskit/Samples/Website/Guilds.png
similarity index 100%
rename from website/static/presskit/Samples/Website/Guilds.png
rename to website/client/public/static/presskit/Samples/Website/Guilds.png
diff --git a/website/static/presskit/Samples/Website/Inventory.png b/website/client/public/static/presskit/Samples/Website/Inventory.png
similarity index 100%
rename from website/static/presskit/Samples/Website/Inventory.png
rename to website/client/public/static/presskit/Samples/Website/Inventory.png
diff --git a/website/static/presskit/Samples/Website/Market.png b/website/client/public/static/presskit/Samples/Website/Market.png
similarity index 100%
rename from website/static/presskit/Samples/Website/Market.png
rename to website/client/public/static/presskit/Samples/Website/Market.png
diff --git a/website/static/presskit/Samples/Website/Market2.png b/website/client/public/static/presskit/Samples/Website/Market2.png
similarity index 100%
rename from website/static/presskit/Samples/Website/Market2.png
rename to website/client/public/static/presskit/Samples/Website/Market2.png
diff --git a/website/static/presskit/Samples/Website/Tavern.png b/website/client/public/static/presskit/Samples/Website/Tavern.png
similarity index 100%
rename from website/static/presskit/Samples/Website/Tavern.png
rename to website/client/public/static/presskit/Samples/Website/Tavern.png
diff --git a/website/static/presskit/Samples/iOS/Boss.png b/website/client/public/static/presskit/Samples/iOS/Boss.png
similarity index 100%
rename from website/static/presskit/Samples/iOS/Boss.png
rename to website/client/public/static/presskit/Samples/iOS/Boss.png
diff --git a/website/static/presskit/Samples/iOS/Level Up.png b/website/client/public/static/presskit/Samples/iOS/Level Up.png
similarity index 100%
rename from website/static/presskit/Samples/iOS/Level Up.png
rename to website/client/public/static/presskit/Samples/iOS/Level Up.png
diff --git a/website/static/presskit/Samples/iOS/Market.png b/website/client/public/static/presskit/Samples/iOS/Market.png
similarity index 100%
rename from website/static/presskit/Samples/iOS/Market.png
rename to website/client/public/static/presskit/Samples/iOS/Market.png
diff --git a/website/static/presskit/Samples/iOS/Party.png b/website/client/public/static/presskit/Samples/iOS/Party.png
similarity index 100%
rename from website/static/presskit/Samples/iOS/Party.png
rename to website/client/public/static/presskit/Samples/iOS/Party.png
diff --git a/website/static/presskit/Samples/iOS/Tasks Page.png b/website/client/public/static/presskit/Samples/iOS/Tasks Page.png
similarity index 100%
rename from website/static/presskit/Samples/iOS/Tasks Page.png
rename to website/client/public/static/presskit/Samples/iOS/Tasks Page.png
diff --git a/website/static/presskit/presskit.zip b/website/client/public/static/presskit/presskit.zip
similarity index 100%
rename from website/static/presskit/presskit.zip
rename to website/client/public/static/presskit/presskit.zip
diff --git a/website/client/app.vue b/website/client/src/app.vue
similarity index 61%
rename from website/client/app.vue
rename to website/client/src/app.vue
index 7a2e7c7397..3b2cfc8817 100644
--- a/website/client/app.vue
+++ b/website/client/src/app.vue
@@ -1,56 +1,102 @@
-
-div
- #loading-screen-inapp(v-if='loading')
- .row
- .col-12.text-center
- svg#melior(xmlns='http://www.w3.org/2000/svg', viewbox='0 0 61.91 64')
- path(d='M61.82,64H51.59c-3.08,0-3.72.37-3.67-1,0.07-1.87.67-1.94,2.63-2.49,1.63-.45,1-3.35-0.8-5.88-1.28-1.76-3.89-3.81-7.31-2.22a10.75,10.75,0,0,0-4.56,3.52c-1.68,2.33-1.59,4.54,1,4.54s5.39-1.5,6.23.64c1,2.64.33,2.89-.18,2.89H28.55v0C19.77,64,11,63.93,9,58.38c-2.82-7.68,7.43-10.64,7.75-15.46,0.13-2-1-2.85-2.34-2.85h-6V36.41H4.7v-11H8.36V29.1H12v3.65h3.65v5.08a5.76,5.76,0,0,1,3.07,5.05c-0.17,5.51-9.5,8.57-7.79,14.35,1.56,5.29,13.37,4,13,.74L23.7,56.1c-0.06-2.62-.47-6.12.08-9.22C24.64,42,27.67,37.78,33,37.74c1,0,1.78-.21,1.78-1s-1.55-.84-2.64-0.95a23.35,23.35,0,0,1-12.56-5c-2.43-2-6.21-8.3-3.74-7.83a21.74,21.74,0,0,0,4.06.4c1.24,0,4.44-.35,4.44-1.11,0-1-1.85-.42-4.57-0.68C16.48,21.22,9.6,19.83,6,9.35,4.71,5.43,3.83-1.91,6,.46c12.46,13.7,16.69,11.47,23.84,16.16,3.15,2.06,5.19,7,7,6.58,1.2-.27.46-1.37,0.64-3.93C37.66,17,38.75,16.48,36,15.79c-3.26-.81-6.52-4.38-4.39-4.33a11.89,11.89,0,0,0,5.53-.76c1.87-.81,6.43-4.28,9.18-2.89s5.08-.6,6.94-0.25c2.71,0.51,3.41,4.24,3.05,6.42-0.22,1.38-.22,1.38-2,1.28-3.61-.21-4.53,2.67-2,4.25,3.87,2.42,5.51,4.23,6.56,9.58,0.51,2.6.1,3.2-.76,2.72s-2.34-.72-0.29,4-1.29,10.28-2.39,10.9a1.3,1.3,0,0,0-.91,1.34c0,11.42,0,12.27,1.92,12.48,2.9,0.31,4.14-1.44,5.27.06C63.29,62.73,63.41,64,61.82,64ZM4.7,21.28H1v3.65H4.7V21.28Z', transform='translate(-1.05)', fill='#fff')
- .col-12.text-center
- h2 {{$t('tipTitle', {tipNumber: currentTipNumber})}}
- p {{currentTip}}
- #app(:class='{"casting-spell": castingSpell}')
- banned-account-modal
- amazon-payments-modal(v-if='!isStaticPage')
- payments-success-modal
- sub-cancel-modal-confirm(v-if='isUserLoaded')
- sub-canceled-modal(v-if='isUserLoaded')
- snackbars
- router-view(v-if="!isUserLoggedIn || isStaticPage")
- template(v-else)
- template(v-if="isUserLoaded")
- .resting-banner(v-show="showRestingBanner", ref="restingBanner")
- span.content
- span.label.d-inline.d-sm-none {{ $t('innCheckOutBannerShort') }}
- span.label.d-none.d-sm-inline {{ $t('innCheckOutBanner') }}
- span.separator |
- span.resume(@click="resumeDamage()") {{ $t('resumeDamage') }}
- .closepadding(@click="hideBanner()")
- span.svg-icon.inline.icon-10(aria-hidden="true", v-html="icons.close")
- notifications-display
- app-menu
- .container-fluid
- app-header
- buyModal(
- :item="selectedItemToBuy || {}",
- :withPin="true",
- @buyPressed="customPurchase($event)",
- :genericPurchase="genericPurchase(selectedItemToBuy)",
-
- )
- selectMembersModal(
- :item="selectedSpellToBuy || {}",
- :group="user.party",
- @memberSelected="memberSelected($event)",
- )
-
- div(:class='{sticky: user.preferences.stickyHeader}')
- router-view
- app-footer
- audio#sound(autoplay, ref="sound")
+
+
+
+
+
+
+
{{ $t('tipTitle', {tipNumber: currentTipNumber}) }}
+
{{ currentTip }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('innCheckOutBannerShort') }}
+ {{ $t('innCheckOutBanner') }}
+ |
+ {{ $t('resumeDamage') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/assets/creator/creator-hills-bg.png b/website/client/src/assets/creator/creator-hills-bg.png
similarity index 100%
rename from website/client/assets/creator/creator-hills-bg.png
rename to website/client/src/assets/creator/creator-hills-bg.png
diff --git a/website/client/assets/creator/creator-hills-bg@2x.png b/website/client/src/assets/creator/creator-hills-bg@2x.png
similarity index 100%
rename from website/client/assets/creator/creator-hills-bg@2x.png
rename to website/client/src/assets/creator/creator-hills-bg@2x.png
diff --git a/website/client/assets/creator/creator-hills-bg@3x.png b/website/client/src/assets/creator/creator-hills-bg@3x.png
similarity index 100%
rename from website/client/assets/creator/creator-hills-bg@3x.png
rename to website/client/src/assets/creator/creator-hills-bg@3x.png
diff --git a/website/client/assets/css/sprites.css b/website/client/src/assets/css/sprites.css
similarity index 60%
rename from website/client/assets/css/sprites.css
rename to website/client/src/assets/css/sprites.css
index ded80afcc7..e38bb7c2bf 100755
--- a/website/client/assets/css/sprites.css
+++ b/website/client/src/assets/css/sprites.css
@@ -1,17 +1,17 @@
.quest_dysheartener {
- background: url("~assets/images/quest_dysheartener.gif") no-repeat;
+ background: url("~@/assets/images/quest_dysheartener.gif") no-repeat;
width: 219px;
height: 219px;
}
.quest_lostMasterclasser4 {
- background: url("~assets/images/quest_lostMasterclasser4.gif") no-repeat;
+ background: url("~@/assets/images/quest_lostMasterclasser4.gif") no-repeat;
width: 219px;
height: 219px;
}
.Pet_HatchingPotion_Veggie {
- background: url("~assets/images/Pet_HatchingPotion_Veggie.gif") no-repeat;
+ background: url("~@/assets/images/Pet_HatchingPotion_Veggie.gif") no-repeat;
width: 68px;
height: 68px;
}
@@ -51,7 +51,7 @@
/* Critical */
.weapon_special_critical {
- background: url("~assets/images/weapon_special_critical.gif") no-repeat;
+ background: url("~@/assets/images/weapon_special_critical.gif") no-repeat;
width: 90px;
height: 90px;
margin-left:-12px;
@@ -68,32 +68,32 @@
}
.head_special_0 {
- background: url("~assets/images/BackerOnly-Equip-ShadeHelmet.gif") no-repeat;
+ background: url("~@/assets/images/BackerOnly-Equip-ShadeHelmet.gif") no-repeat;
}
.head_special_1 {
- background: url("~assets/images/ContributorOnly-Equip-CrystalHelmet.gif") no-repeat;
+ background: url("~@/assets/images/ContributorOnly-Equip-CrystalHelmet.gif") no-repeat;
margin-top: 3px;
}
.broad_armor_special_0,.slim_armor_special_0 {
- background: url("~assets/images/BackerOnly-Equip-ShadeArmor.gif") no-repeat;
+ background: url("~@/assets/images/BackerOnly-Equip-ShadeArmor.gif") no-repeat;
}
.broad_armor_special_1,.slim_armor_special_1 {
- background: url("~assets/images/ContributorOnly-Equip-CrystalArmor.gif") no-repeat;
+ background: url("~@/assets/images/ContributorOnly-Equip-CrystalArmor.gif") no-repeat;
}
.shield_special_0 {
- background: url("~assets/images/BackerOnly-Shield-TormentedSkull.gif") no-repeat;
+ background: url("~@/assets/images/BackerOnly-Shield-TormentedSkull.gif") no-repeat;
}
.weapon_special_0 {
- background: url("~assets/images/BackerOnly-Weapon-DarkSoulsBlade.gif") no-repeat;
+ background: url("~@/assets/images/BackerOnly-Weapon-DarkSoulsBlade.gif") no-repeat;
}
.Pet-Wolf-Cerberus {
width: 105px;
height: 72px;
- background: url("~assets/images/BackerOnly-Pet-CerberusPup.gif") no-repeat;
+ background: url("~@/assets/images/BackerOnly-Pet-CerberusPup.gif") no-repeat;
}
.broad_armor_special_ks2019, .slim_armor_special_ks2019, .eyewear_special_ks2019, .head_special_ks2019, .shield_special_ks2019 {
@@ -102,29 +102,29 @@
}
.broad_armor_special_ks2019, .slim_armor_special_ks2019 {
- background: url("~assets/images/BackerOnly-Equip-MythicGryphonArmor.gif") no-repeat;
+ background: url("~@/assets/images/BackerOnly-Equip-MythicGryphonArmor.gif") no-repeat;
}
.eyewear_special_ks2019 {
- background: url("~assets/images/BackerOnly-Equip-MythicGryphonVisor.gif") no-repeat;
+ background: url("~@/assets/images/BackerOnly-Equip-MythicGryphonVisor.gif") no-repeat;
}
.head_special_ks2019 {
- background: url("~assets/images/BackerOnly-Equip-MythicGryphonHelm.gif") no-repeat;
+ background: url("~@/assets/images/BackerOnly-Equip-MythicGryphonHelm.gif") no-repeat;
}
.shield_special_ks2019 {
- background: url("~assets/images/BackerOnly-Equip-MythicGryphonShield.gif") no-repeat;
+ background: url("~@/assets/images/BackerOnly-Equip-MythicGryphonShield.gif") no-repeat;
}
.weapon_special_ks2019 {
- background: url("~assets/images/BackerOnly-Equip-MythicGryphonGlaive.gif") no-repeat;
+ background: url("~@/assets/images/BackerOnly-Equip-MythicGryphonGlaive.gif") no-repeat;
width: 120px;
height: 120px;
}
.Pet-Gryphon-Gryphatrice {
- background: url("~assets/images/BackerOnly-Pet-Gryphatrice.gif") no-repeat;
+ background: url("~@/assets/images/BackerOnly-Pet-Gryphatrice.gif") no-repeat;
width: 81px;
height: 99px;
}
@@ -135,11 +135,11 @@
}
.Mount_Head_Gryphon-Gryphatrice {
- background: url("~assets/images/BackerOnly-Mount-Head-Gryphatrice.gif") no-repeat;
+ background: url("~@/assets/images/BackerOnly-Mount-Head-Gryphatrice.gif") no-repeat;
}
.Mount_Body_Gryphon-Gryphatrice {
- background: url("~assets/images/BackerOnly-Mount-Body-Gryphatrice.gif") no-repeat;
+ background: url("~@/assets/images/BackerOnly-Mount-Body-Gryphatrice.gif") no-repeat;
}
/* FIXME figure out how to handle customize menu!!
diff --git a/website/client/src/assets/css/sprites/spritesmith-largeSprites-0.css b/website/client/src/assets/css/sprites/spritesmith-largeSprites-0.css
new file mode 100644
index 0000000000..32d37057fd
--- /dev/null
+++ b/website/client/src/assets/css/sprites/spritesmith-largeSprites-0.css
@@ -0,0 +1,90 @@
+.promo_armoire_backgrounds_201910 {
+ background-image: url('~@/assets/images/sprites/spritesmith-largeSprites-0.png');
+ background-position: 0px -576px;
+ width: 423px;
+ height: 147px;
+}
+.promo_costume_achievement {
+ background-image: url('~@/assets/images/sprites/spritesmith-largeSprites-0.png');
+ background-position: -376px -190px;
+ width: 144px;
+ height: 156px;
+}
+.promo_desert_pet_achievements {
+ background-image: url('~@/assets/images/sprites/spritesmith-largeSprites-0.png');
+ background-position: -930px -592px;
+ width: 204px;
+ height: 102px;
+}
+.promo_fall_festival_2018 {
+ background-image: url('~@/assets/images/sprites/spritesmith-largeSprites-0.png');
+ background-position: 0px -395px;
+ width: 372px;
+ height: 180px;
+}
+.promo_fall_festival_2019 {
+ background-image: url('~@/assets/images/sprites/spritesmith-largeSprites-0.png');
+ background-position: -376px 0px;
+ width: 360px;
+ height: 189px;
+}
+.promo_fall_skins {
+ background-image: url('~@/assets/images/sprites/spritesmith-largeSprites-0.png');
+ background-position: 0px -187px;
+ width: 336px;
+ height: 207px;
+}
+.customize-option.promo_fall_skins {
+ background-image: url('~@/assets/images/sprites/spritesmith-largeSprites-0.png');
+ background-position: -25px -202px;
+ width: 60px;
+ height: 60px;
+}
+.promo_mystery_201909 {
+ background-image: url('~@/assets/images/sprites/spritesmith-largeSprites-0.png');
+ background-position: -737px -444px;
+ width: 282px;
+ height: 147px;
+}
+.promo_seasonal_shop_fall {
+ background-image: url('~@/assets/images/sprites/spritesmith-largeSprites-0.png');
+ background-position: -521px -190px;
+ width: 162px;
+ height: 138px;
+}
+.promo_shadow_spooky_potions {
+ background-image: url('~@/assets/images/sprites/spritesmith-largeSprites-0.png');
+ background-position: -737px 0px;
+ width: 423px;
+ height: 147px;
+}
+.promo_spooky_sparkles {
+ background-image: url('~@/assets/images/sprites/spritesmith-largeSprites-0.png');
+ background-position: -737px -148px;
+ width: 423px;
+ height: 147px;
+}
+.promo_take_this {
+ background-image: url('~@/assets/images/sprites/spritesmith-largeSprites-0.png');
+ background-position: -1020px -444px;
+ width: 96px;
+ height: 69px;
+}
+.promo_witchy_familiars {
+ background-image: url('~@/assets/images/sprites/spritesmith-largeSprites-0.png');
+ background-position: -737px -296px;
+ width: 423px;
+ height: 147px;
+}
+.scene_quest_shop {
+ background-image: url('~@/assets/images/sprites/spritesmith-largeSprites-0.png');
+ background-position: 0px 0px;
+ width: 375px;
+ height: 186px;
+}
+.scene_strength {
+ background-image: url('~@/assets/images/sprites/spritesmith-largeSprites-0.png');
+ background-position: -737px -592px;
+ width: 192px;
+ height: 129px;
+}
diff --git a/website/client/assets/css/sprites/spritesmith-main-0.css b/website/client/src/assets/css/sprites/spritesmith-main-0.css
similarity index 56%
rename from website/client/assets/css/sprites/spritesmith-main-0.css
rename to website/client/src/assets/css/sprites/spritesmith-main-0.css
index 4f75ae1b0f..77939cc9da 100644
--- a/website/client/assets/css/sprites/spritesmith-main-0.css
+++ b/website/client/src/assets/css/sprites/spritesmith-main-0.css
@@ -1,1152 +1,1152 @@
.achievement-alien {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
background-position: -1421px -1628px;
width: 24px;
height: 26px;
}
.achievement-alien2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1440px -1549px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1295px -1480px;
width: 48px;
height: 52px;
}
.achievement-allYourBase2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
background-position: -1181px -1480px;
width: 64px;
height: 56px;
}
.achievement-alpha2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1323px -1628px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1344px -1480px;
width: 48px;
height: 52px;
}
.achievement-aridAuthority2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -990px -1480px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -852px -1480px;
width: 68px;
height: 68px;
}
.achievement-armor2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1225px -1628px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1393px -1480px;
width: 48px;
height: 52px;
}
.achievement-backToBasics2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
background-position: -1246px -1480px;
width: 48px;
height: 56px;
}
.achievement-bewilder2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1127px -1628px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1442px -1480px;
width: 48px;
height: 52px;
}
.achievement-birthday2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1078px -1628px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1491px -1480px;
width: 48px;
height: 52px;
}
.achievement-boot2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1029px -1628px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1540px -1480px;
width: 48px;
height: 52px;
}
.achievement-bow2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -980px -1628px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1589px -1480px;
width: 48px;
height: 52px;
}
.achievement-burnout2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -931px -1628px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1638px -1480px;
width: 48px;
height: 52px;
}
.achievement-cactus2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -882px -1628px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -852px -1549px;
width: 48px;
height: 52px;
}
.achievement-cake2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -833px -1628px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -901px -1549px;
width: 48px;
height: 52px;
}
.achievement-cave2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -784px -1628px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -950px -1549px;
width: 48px;
height: 52px;
}
.achievement-challenge2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -735px -1628px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -999px -1549px;
width: 48px;
height: 52px;
}
.achievement-comment2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -686px -1628px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1048px -1549px;
width: 48px;
height: 52px;
}
.achievement-congrats2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -637px -1628px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1097px -1549px;
width: 48px;
height: 52px;
}
.achievement-costumeContest2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -588px -1628px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1146px -1549px;
width: 48px;
height: 52px;
}
.achievement-dilatory2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -539px -1628px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1195px -1549px;
width: 48px;
height: 52px;
}
.achievement-dustDevil2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
background-position: -921px -1480px;
width: 68px;
height: 68px;
}
.achievement-dysheartener2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -441px -1628px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1244px -1549px;
width: 48px;
height: 52px;
}
.achievement-friends2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -392px -1628px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1293px -1549px;
width: 48px;
height: 52px;
}
.achievement-getwell2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -343px -1628px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1342px -1549px;
width: 48px;
height: 52px;
}
.achievement-goodluck2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -294px -1628px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1391px -1549px;
width: 48px;
height: 52px;
}
.achievement-greeting2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -245px -1628px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1440px -1549px;
width: 48px;
height: 52px;
}
.achievement-guild2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -196px -1628px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1489px -1549px;
width: 48px;
height: 52px;
}
.achievement-habitBirthday2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -147px -1628px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1538px -1549px;
width: 48px;
height: 52px;
}
.achievement-habiticaDay2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -98px -1628px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1587px -1549px;
width: 48px;
height: 52px;
}
.achievement-heart2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -49px -1628px;
- width: 48px;
- height: 52px;
-}
-.achievement-justAddWater2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1120px -1480px;
- width: 60px;
- height: 64px;
-}
-.achievement-karaoke-2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
background-position: -1636px -1549px;
width: 48px;
height: 52px;
}
+.achievement-justAddWater2x {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1059px -1480px;
+ width: 60px;
+ height: 64px;
+}
+.achievement-karaoke-2x {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: 0px -1628px;
+ width: 48px;
+ height: 52px;
+}
.achievement-karaoke {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
background-position: -1446px -1628px;
width: 24px;
height: 26px;
}
.achievement-kickstarter20192x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -852px -1480px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -990px -1480px;
width: 68px;
height: 68px;
}
.achievement-lostMasterclasser2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1489px -1549px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -49px -1628px;
width: 48px;
height: 52px;
}
.achievement-mindOverMatter2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1059px -1480px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1120px -1480px;
width: 60px;
height: 64px;
}
.achievement-ninja2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1391px -1549px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -98px -1628px;
width: 48px;
height: 52px;
}
.achievement-npc2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1342px -1549px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -147px -1628px;
width: 48px;
height: 52px;
}
.achievement-nye2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1293px -1549px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -196px -1628px;
width: 48px;
height: 52px;
}
.achievement-partyOn2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1244px -1549px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -245px -1628px;
width: 48px;
height: 52px;
}
.achievement-partyUp2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1195px -1549px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -294px -1628px;
width: 48px;
height: 52px;
}
.achievement-perfect2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1146px -1549px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -343px -1628px;
width: 48px;
height: 52px;
}
.achievement-rat2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1097px -1549px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -392px -1628px;
width: 48px;
height: 52px;
}
.achievement-royally-loyal2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1048px -1549px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -441px -1628px;
width: 48px;
height: 52px;
}
.achievement-seafoam2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -999px -1549px;
- width: 48px;
- height: 52px;
-}
-.achievement-shield2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -950px -1549px;
- width: 48px;
- height: 52px;
-}
-.achievement-shinySeed2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -901px -1549px;
- width: 48px;
- height: 52px;
-}
-.achievement-snowball2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -852px -1549px;
- width: 48px;
- height: 52px;
-}
-.achievement-spookySparkles2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1638px -1480px;
- width: 48px;
- height: 52px;
-}
-.achievement-stoikalm2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1589px -1480px;
- width: 48px;
- height: 52px;
-}
-.achievement-sun2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1540px -1480px;
- width: 48px;
- height: 52px;
-}
-.achievement-sword2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1491px -1480px;
- width: 48px;
- height: 52px;
-}
-.achievement-thankyou2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1442px -1480px;
- width: 48px;
- height: 52px;
-}
-.achievement-thermometer2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1393px -1480px;
- width: 48px;
- height: 52px;
-}
-.achievement-tree2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1344px -1480px;
- width: 48px;
- height: 52px;
-}
-.achievement-triadbingo2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1295px -1480px;
- width: 48px;
- height: 52px;
-}
-.achievement-ultimate-healer2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1274px -1628px;
- width: 48px;
- height: 52px;
-}
-.achievement-ultimate-mage2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1176px -1628px;
- width: 48px;
- height: 52px;
-}
-.achievement-ultimate-rogue2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
background-position: -490px -1628px;
width: 48px;
height: 52px;
}
+.achievement-shield2x {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -539px -1628px;
+ width: 48px;
+ height: 52px;
+}
+.achievement-shinySeed2x {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -588px -1628px;
+ width: 48px;
+ height: 52px;
+}
+.achievement-snowball2x {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -637px -1628px;
+ width: 48px;
+ height: 52px;
+}
+.achievement-spookySparkles2x {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -686px -1628px;
+ width: 48px;
+ height: 52px;
+}
+.achievement-stoikalm2x {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -735px -1628px;
+ width: 48px;
+ height: 52px;
+}
+.achievement-sun2x {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -784px -1628px;
+ width: 48px;
+ height: 52px;
+}
+.achievement-sword2x {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -833px -1628px;
+ width: 48px;
+ height: 52px;
+}
+.achievement-thankyou2x {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -882px -1628px;
+ width: 48px;
+ height: 52px;
+}
+.achievement-thermometer2x {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -931px -1628px;
+ width: 48px;
+ height: 52px;
+}
+.achievement-tree2x {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -980px -1628px;
+ width: 48px;
+ height: 52px;
+}
+.achievement-triadbingo2x {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1029px -1628px;
+ width: 48px;
+ height: 52px;
+}
+.achievement-ultimate-healer2x {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1078px -1628px;
+ width: 48px;
+ height: 52px;
+}
+.achievement-ultimate-mage2x {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1127px -1628px;
+ width: 48px;
+ height: 52px;
+}
+.achievement-ultimate-rogue2x {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1176px -1628px;
+ width: 48px;
+ height: 52px;
+}
.achievement-ultimate-warrior2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: 0px -1628px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1225px -1628px;
width: 48px;
height: 52px;
}
.achievement-unearned2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1538px -1549px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1274px -1628px;
width: 48px;
height: 52px;
}
.achievement-valentine2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1587px -1549px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1323px -1628px;
width: 48px;
height: 52px;
}
.achievement-wolf2x {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
background-position: -1372px -1628px;
width: 48px;
height: 52px;
}
.background_alpine_slopes {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: 0px -1036px;
- width: 141px;
- height: 147px;
-}
-.background_amid_ancient_ruins {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -142px -1036px;
- width: 141px;
- height: 147px;
-}
-.background_among_giant_anemones {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -284px -1036px;
- width: 141px;
- height: 147px;
-}
-.background_apple_picking {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -426px -1036px;
- width: 141px;
- height: 147px;
-}
-.background_aquarium {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -568px -1036px;
- width: 141px;
- height: 147px;
-}
-.background_archaeological_dig {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -710px -1036px;
- width: 141px;
- height: 147px;
-}
-.background_archery_range {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -852px -1036px;
- width: 141px;
- height: 147px;
-}
-.background_at_the_docks {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -994px -1036px;
- width: 141px;
- height: 147px;
-}
-.background_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1136px -1036px;
- width: 141px;
- height: 147px;
-}
-.background_autumn_flower_garden {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1278px 0px;
- width: 141px;
- height: 147px;
-}
-.customize-option.background_autumn_flower_garden {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1303px -15px;
- width: 60px;
- height: 60px;
-}
-.background_autumn_forest {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1278px -148px;
- width: 141px;
- height: 147px;
-}
-.background_avalanche {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1278px -296px;
- width: 141px;
- height: 147px;
-}
-.background_back_alley {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1278px -444px;
- width: 141px;
- height: 147px;
-}
-.background_back_of_giant_beast {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1278px -592px;
- width: 141px;
- height: 147px;
-}
-.background_bamboo_forest {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1278px -740px;
- width: 141px;
- height: 147px;
-}
-.background_bayou {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1278px -888px;
- width: 141px;
- height: 147px;
-}
-.background_beach {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1278px -1036px;
- width: 141px;
- height: 147px;
-}
-.background_beehive {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: 0px -1184px;
- width: 141px;
- height: 147px;
-}
-.background_bell_tower {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -142px -1184px;
- width: 141px;
- height: 147px;
-}
-.background_beside_well {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -284px -1184px;
- width: 141px;
- height: 147px;
-}
-.background_birch_forest {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -426px -1184px;
- width: 141px;
- height: 147px;
-}
-.background_blacksmithy {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -568px -1184px;
- width: 141px;
- height: 147px;
-}
-.background_blizzard {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -710px -1184px;
- width: 141px;
- height: 147px;
-}
-.background_blossoming_desert {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -852px -1184px;
- width: 141px;
- height: 147px;
-}
-.background_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -994px -1184px;
- width: 141px;
- height: 147px;
-}
-.background_bridge {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1136px -1184px;
- width: 141px;
- height: 147px;
-}
-.background_bug_covered_log {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1278px -1184px;
- width: 141px;
- height: 147px;
-}
-.background_buried_treasure {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1420px 0px;
- width: 141px;
- height: 147px;
-}
-.background_champions_colosseum {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1420px -148px;
- width: 141px;
- height: 147px;
-}
-.background_cherry_trees {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1420px -296px;
- width: 141px;
- height: 147px;
-}
-.background_chessboard_land {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1420px -444px;
- width: 141px;
- height: 147px;
-}
-.background_clouds {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
background-position: 0px 0px;
width: 141px;
height: 147px;
}
-.background_coral_reef {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1420px -740px;
- width: 141px;
- height: 147px;
-}
-.background_cornfields {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1420px -888px;
- width: 141px;
- height: 147px;
-}
-.background_cozy_barn {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1420px -1036px;
- width: 141px;
- height: 147px;
-}
-.background_cozy_bedroom {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1420px -1184px;
- width: 141px;
- height: 147px;
-}
-.background_cozy_library {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: 0px -1332px;
- width: 141px;
- height: 147px;
-}
-.background_creepy_castle {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -142px -1332px;
- width: 141px;
- height: 147px;
-}
-.background_crosscountry_ski_trail {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -284px -1332px;
- width: 141px;
- height: 147px;
-}
-.background_crystal_cave {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -426px -1332px;
- width: 141px;
- height: 147px;
-}
-.background_dark_deep {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -568px -1332px;
- width: 141px;
- height: 147px;
-}
-.background_deep_mine {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -710px -1332px;
- width: 141px;
- height: 147px;
-}
-.background_deep_sea {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -852px -1332px;
- width: 141px;
- height: 147px;
-}
-.background_desert_dunes {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -994px -1332px;
- width: 141px;
- height: 147px;
-}
-.background_dilatory_castle {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1136px -1332px;
- width: 141px;
- height: 147px;
-}
-.background_dilatory_city {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1278px -1332px;
- width: 141px;
- height: 147px;
-}
-.background_dilatory_ruins {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1420px -1332px;
- width: 141px;
- height: 147px;
-}
-.background_distant_castle {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1562px 0px;
- width: 141px;
- height: 147px;
-}
-.background_dojo {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1562px -148px;
- width: 141px;
- height: 147px;
-}
-.background_drifting_raft {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1562px -296px;
- width: 141px;
- height: 147px;
-}
-.background_driving_a_coach {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1562px -444px;
- width: 141px;
- height: 147px;
-}
-.background_driving_a_sleigh {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1562px -592px;
- width: 141px;
- height: 147px;
-}
-.background_duck_pond {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1562px -740px;
- width: 141px;
- height: 147px;
-}
-.background_dungeon {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1562px -888px;
- width: 141px;
- height: 147px;
-}
-.background_dusty_canyons {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1562px -1036px;
- width: 141px;
- height: 147px;
-}
-.background_elegant_balcony {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1562px -1184px;
- width: 141px;
- height: 147px;
-}
-.background_fairy_ring {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1562px -1332px;
- width: 141px;
- height: 147px;
-}
-.background_fantastical_shoe_store {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: 0px -1480px;
- width: 141px;
- height: 147px;
-}
-.background_farmhouse {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -142px -1480px;
- width: 141px;
- height: 147px;
-}
-.background_fiber_arts_room {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -284px -1480px;
- width: 141px;
- height: 147px;
-}
-.background_field_with_colored_eggs {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -426px -1480px;
- width: 141px;
- height: 147px;
-}
-.background_floating_islands {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -568px -1480px;
- width: 141px;
- height: 147px;
-}
-.background_floral_meadow {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -710px -1480px;
- width: 141px;
- height: 147px;
-}
-.background_flower_market {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1420px -592px;
- width: 141px;
- height: 147px;
-}
-.customize-option.background_flower_market {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1445px -607px;
- width: 60px;
- height: 60px;
-}
-.background_flying_over_a_field_of_wildflowers {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1136px -888px;
- width: 141px;
- height: 147px;
-}
-.customize-option.background_flying_over_a_field_of_wildflowers {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1161px -903px;
- width: 60px;
- height: 60px;
-}
-.background_flying_over_an_ancient_forest {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1136px -740px;
- width: 141px;
- height: 147px;
-}
-.background_flying_over_icy_steppes {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1136px -592px;
- width: 141px;
- height: 147px;
-}
-.background_flying_over_rocky_canyon {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1136px -444px;
- width: 141px;
- height: 147px;
-}
-.background_flying_over_snowy_mountains {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1136px -296px;
- width: 141px;
- height: 147px;
-}
-.background_flying_over_tropical_islands {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1136px -148px;
- width: 141px;
- height: 147px;
-}
-.background_foggy_moor {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -1136px 0px;
- width: 141px;
- height: 147px;
-}
-.background_forest {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -994px -888px;
- width: 141px;
- height: 147px;
-}
-.background_frigid_peak {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -852px -888px;
- width: 141px;
- height: 147px;
-}
-.background_frosty_forest {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -710px -888px;
- width: 141px;
- height: 147px;
-}
-.background_frozen_lake {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -568px -888px;
- width: 141px;
- height: 147px;
-}
-.background_garden_shed {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -426px -888px;
- width: 141px;
- height: 147px;
-}
-.background_gazebo {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -284px -888px;
- width: 141px;
- height: 147px;
-}
-.background_giant_birdhouse {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -142px -888px;
- width: 141px;
- height: 147px;
-}
-.background_giant_book {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: 0px -888px;
- width: 141px;
- height: 147px;
-}
-.background_giant_dandelions {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -994px -740px;
- width: 141px;
- height: 147px;
-}
-.background_giant_florals {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -994px -592px;
- width: 141px;
- height: 147px;
-}
-.background_giant_seashell {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -994px -444px;
- width: 141px;
- height: 147px;
-}
-.background_giant_wave {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -994px -296px;
- width: 141px;
- height: 147px;
-}
-.background_glowing_mushroom_cave {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -994px -148px;
- width: 141px;
- height: 147px;
-}
-.background_gorgeous_greenhouse {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -994px 0px;
- width: 141px;
- height: 147px;
-}
-.background_grand_staircase {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -852px -740px;
- width: 141px;
- height: 147px;
-}
-.background_graveyard {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -710px -740px;
- width: 141px;
- height: 147px;
-}
-.background_green {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -568px -740px;
- width: 141px;
- height: 147px;
-}
-.background_guardian_statues {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -426px -740px;
- width: 141px;
- height: 147px;
-}
-.background_gumdrop_land {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -284px -740px;
- width: 141px;
- height: 147px;
-}
-.background_habit_city_streets {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -142px -740px;
- width: 141px;
- height: 147px;
-}
-.background_halflings_house {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: 0px -740px;
- width: 141px;
- height: 147px;
-}
-.background_harvest_feast {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -852px -592px;
- width: 141px;
- height: 147px;
-}
-.background_harvest_fields {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -852px -444px;
- width: 141px;
- height: 147px;
-}
-.background_harvest_moon {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -852px -296px;
- width: 141px;
- height: 147px;
-}
-.background_haunted_house {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -852px -148px;
- width: 141px;
- height: 147px;
-}
-.background_ice_cave {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -852px 0px;
- width: 141px;
- height: 147px;
-}
-.background_iceberg {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -710px -592px;
- width: 141px;
- height: 147px;
-}
-.background_idyllic_cabin {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -568px -592px;
- width: 141px;
- height: 147px;
-}
-.background_in_a_classroom {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -426px -592px;
- width: 141px;
- height: 147px;
-}
-.background_in_an_ancient_tomb {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -284px -592px;
- width: 141px;
- height: 147px;
-}
-.background_island_waterfalls {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -142px -592px;
- width: 141px;
- height: 147px;
-}
-.background_kelp_forest {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: 0px -592px;
- width: 141px;
- height: 147px;
-}
-.background_lake_with_floating_lanterns {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -710px -444px;
- width: 141px;
- height: 147px;
-}
-.background_lighthouse_shore {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -710px -296px;
- width: 141px;
- height: 147px;
-}
-.background_lilypad {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -710px -148px;
- width: 141px;
- height: 147px;
-}
-.background_magic_beanstalk {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -710px 0px;
- width: 141px;
- height: 147px;
-}
-.background_magical_candles {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -568px -444px;
- width: 141px;
- height: 147px;
-}
-.background_magical_museum {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -426px -444px;
- width: 141px;
- height: 147px;
-}
-.background_marble_temple {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -284px -444px;
- width: 141px;
- height: 147px;
-}
-.background_market {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -142px -444px;
- width: 141px;
- height: 147px;
-}
-.background_meandering_cave {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: 0px -444px;
- width: 141px;
- height: 147px;
-}
-.background_medieval_kitchen {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -568px -296px;
- width: 141px;
- height: 147px;
-}
-.background_midnight_castle {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -568px -148px;
- width: 141px;
- height: 147px;
-}
-.background_midnight_clouds {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -568px 0px;
- width: 141px;
- height: 147px;
-}
-.background_midnight_lake {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -426px -296px;
- width: 141px;
- height: 147px;
-}
-.background_mist_shrouded_mountain {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -284px -296px;
- width: 141px;
- height: 147px;
-}
-.background_mistiflying_circus {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -142px -296px;
- width: 141px;
- height: 147px;
-}
-.background_monster_makers_workshop {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: 0px -296px;
- width: 141px;
- height: 147px;
-}
-.background_mountain_lake {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -426px -148px;
- width: 141px;
- height: 147px;
-}
-.background_mountain_pyramid {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -426px 0px;
- width: 141px;
- height: 147px;
-}
-.background_night_dunes {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -284px -148px;
- width: 141px;
- height: 147px;
-}
-.background_ocean_sunrise {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -142px -148px;
- width: 141px;
- height: 147px;
-}
-.background_old_fashioned_bakery {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: 0px -148px;
- width: 141px;
- height: 147px;
-}
-.background_on_tree_branch {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
- background-position: -284px 0px;
- width: 141px;
- height: 147px;
-}
-.background_open_waters {
- background-image: url('~assets/images/sprites/spritesmith-main-0.png');
+.background_amid_ancient_ruins {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
background-position: -142px 0px;
width: 141px;
height: 147px;
}
+.background_among_giant_anemones {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -284px 0px;
+ width: 141px;
+ height: 147px;
+}
+.background_apple_picking {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: 0px -148px;
+ width: 141px;
+ height: 147px;
+}
+.background_aquarium {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -142px -148px;
+ width: 141px;
+ height: 147px;
+}
+.background_archaeological_dig {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -284px -148px;
+ width: 141px;
+ height: 147px;
+}
+.background_archery_range {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -426px 0px;
+ width: 141px;
+ height: 147px;
+}
+.background_at_the_docks {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -426px -148px;
+ width: 141px;
+ height: 147px;
+}
+.background_aurora {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: 0px -296px;
+ width: 141px;
+ height: 147px;
+}
+.background_autumn_flower_garden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -142px -296px;
+ width: 141px;
+ height: 147px;
+}
+.customize-option.background_autumn_flower_garden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -167px -311px;
+ width: 60px;
+ height: 60px;
+}
+.background_autumn_forest {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -284px -296px;
+ width: 141px;
+ height: 147px;
+}
+.background_avalanche {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -426px -296px;
+ width: 141px;
+ height: 147px;
+}
+.background_back_alley {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -568px 0px;
+ width: 141px;
+ height: 147px;
+}
+.background_back_of_giant_beast {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -568px -148px;
+ width: 141px;
+ height: 147px;
+}
+.background_bamboo_forest {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -568px -296px;
+ width: 141px;
+ height: 147px;
+}
+.background_bayou {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: 0px -444px;
+ width: 141px;
+ height: 147px;
+}
+.background_beach {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -142px -444px;
+ width: 141px;
+ height: 147px;
+}
+.background_beehive {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -284px -444px;
+ width: 141px;
+ height: 147px;
+}
+.background_bell_tower {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -426px -444px;
+ width: 141px;
+ height: 147px;
+}
+.background_beside_well {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -568px -444px;
+ width: 141px;
+ height: 147px;
+}
+.background_birch_forest {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -710px 0px;
+ width: 141px;
+ height: 147px;
+}
+.background_blacksmithy {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -710px -148px;
+ width: 141px;
+ height: 147px;
+}
+.background_blizzard {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -710px -296px;
+ width: 141px;
+ height: 147px;
+}
+.background_blossoming_desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -710px -444px;
+ width: 141px;
+ height: 147px;
+}
+.background_blue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: 0px -592px;
+ width: 141px;
+ height: 147px;
+}
+.background_bridge {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -142px -592px;
+ width: 141px;
+ height: 147px;
+}
+.background_bug_covered_log {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -284px -592px;
+ width: 141px;
+ height: 147px;
+}
+.background_buried_treasure {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -426px -592px;
+ width: 141px;
+ height: 147px;
+}
+.background_champions_colosseum {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -568px -592px;
+ width: 141px;
+ height: 147px;
+}
+.background_cherry_trees {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -710px -592px;
+ width: 141px;
+ height: 147px;
+}
+.background_chessboard_land {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -852px 0px;
+ width: 141px;
+ height: 147px;
+}
+.background_clouds {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -852px -148px;
+ width: 141px;
+ height: 147px;
+}
+.background_coral_reef {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -852px -296px;
+ width: 141px;
+ height: 147px;
+}
+.background_cornfields {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -852px -444px;
+ width: 141px;
+ height: 147px;
+}
+.background_cozy_barn {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -852px -592px;
+ width: 141px;
+ height: 147px;
+}
+.background_cozy_bedroom {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: 0px -740px;
+ width: 141px;
+ height: 147px;
+}
+.background_cozy_library {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -142px -740px;
+ width: 141px;
+ height: 147px;
+}
+.background_creepy_castle {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -284px -740px;
+ width: 141px;
+ height: 147px;
+}
+.background_crosscountry_ski_trail {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -426px -740px;
+ width: 141px;
+ height: 147px;
+}
+.background_crystal_cave {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -568px -740px;
+ width: 141px;
+ height: 147px;
+}
+.background_dark_deep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -710px -740px;
+ width: 141px;
+ height: 147px;
+}
+.background_deep_mine {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -852px -740px;
+ width: 141px;
+ height: 147px;
+}
+.background_deep_sea {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -994px 0px;
+ width: 141px;
+ height: 147px;
+}
+.background_desert_dunes {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -994px -148px;
+ width: 141px;
+ height: 147px;
+}
+.background_dilatory_castle {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -994px -296px;
+ width: 141px;
+ height: 147px;
+}
+.background_dilatory_city {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -994px -444px;
+ width: 141px;
+ height: 147px;
+}
+.background_dilatory_ruins {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -994px -592px;
+ width: 141px;
+ height: 147px;
+}
+.background_distant_castle {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -994px -740px;
+ width: 141px;
+ height: 147px;
+}
+.background_dojo {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: 0px -888px;
+ width: 141px;
+ height: 147px;
+}
+.background_drifting_raft {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -142px -888px;
+ width: 141px;
+ height: 147px;
+}
+.background_driving_a_coach {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -284px -888px;
+ width: 141px;
+ height: 147px;
+}
+.background_driving_a_sleigh {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -426px -888px;
+ width: 141px;
+ height: 147px;
+}
+.background_duck_pond {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -568px -888px;
+ width: 141px;
+ height: 147px;
+}
+.background_dungeon {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -710px -888px;
+ width: 141px;
+ height: 147px;
+}
+.background_dusty_canyons {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -852px -888px;
+ width: 141px;
+ height: 147px;
+}
+.background_elegant_balcony {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -994px -888px;
+ width: 141px;
+ height: 147px;
+}
+.background_fairy_ring {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1136px 0px;
+ width: 141px;
+ height: 147px;
+}
+.background_fantastical_shoe_store {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1136px -148px;
+ width: 141px;
+ height: 147px;
+}
+.background_farmhouse {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1136px -296px;
+ width: 141px;
+ height: 147px;
+}
+.background_fiber_arts_room {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1136px -444px;
+ width: 141px;
+ height: 147px;
+}
+.background_field_with_colored_eggs {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1136px -592px;
+ width: 141px;
+ height: 147px;
+}
+.background_floating_islands {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1136px -740px;
+ width: 141px;
+ height: 147px;
+}
+.background_floral_meadow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1136px -888px;
+ width: 141px;
+ height: 147px;
+}
+.background_flower_market {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: 0px -1036px;
+ width: 141px;
+ height: 147px;
+}
+.customize-option.background_flower_market {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -25px -1051px;
+ width: 60px;
+ height: 60px;
+}
+.background_flying_over_a_field_of_wildflowers {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -142px -1036px;
+ width: 141px;
+ height: 147px;
+}
+.customize-option.background_flying_over_a_field_of_wildflowers {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -167px -1051px;
+ width: 60px;
+ height: 60px;
+}
+.background_flying_over_an_ancient_forest {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -284px -1036px;
+ width: 141px;
+ height: 147px;
+}
+.background_flying_over_icy_steppes {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -426px -1036px;
+ width: 141px;
+ height: 147px;
+}
+.background_flying_over_rocky_canyon {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -568px -1036px;
+ width: 141px;
+ height: 147px;
+}
+.background_flying_over_snowy_mountains {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -710px -1036px;
+ width: 141px;
+ height: 147px;
+}
+.background_flying_over_tropical_islands {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -852px -1036px;
+ width: 141px;
+ height: 147px;
+}
+.background_foggy_moor {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -994px -1036px;
+ width: 141px;
+ height: 147px;
+}
+.background_forest {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1136px -1036px;
+ width: 141px;
+ height: 147px;
+}
+.background_frigid_peak {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1278px 0px;
+ width: 141px;
+ height: 147px;
+}
+.background_frosty_forest {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1278px -148px;
+ width: 141px;
+ height: 147px;
+}
+.background_frozen_lake {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1278px -296px;
+ width: 141px;
+ height: 147px;
+}
+.background_garden_shed {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1278px -444px;
+ width: 141px;
+ height: 147px;
+}
+.background_gazebo {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1278px -592px;
+ width: 141px;
+ height: 147px;
+}
+.background_giant_birdhouse {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1278px -740px;
+ width: 141px;
+ height: 147px;
+}
+.background_giant_book {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1278px -888px;
+ width: 141px;
+ height: 147px;
+}
+.background_giant_dandelions {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1278px -1036px;
+ width: 141px;
+ height: 147px;
+}
+.background_giant_florals {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: 0px -1184px;
+ width: 141px;
+ height: 147px;
+}
+.background_giant_seashell {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -142px -1184px;
+ width: 141px;
+ height: 147px;
+}
+.background_giant_wave {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -284px -1184px;
+ width: 141px;
+ height: 147px;
+}
+.background_glowing_mushroom_cave {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -426px -1184px;
+ width: 141px;
+ height: 147px;
+}
+.background_gorgeous_greenhouse {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -568px -1184px;
+ width: 141px;
+ height: 147px;
+}
+.background_grand_staircase {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -710px -1184px;
+ width: 141px;
+ height: 147px;
+}
+.background_graveyard {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -852px -1184px;
+ width: 141px;
+ height: 147px;
+}
+.background_green {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -994px -1184px;
+ width: 141px;
+ height: 147px;
+}
+.background_guardian_statues {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1136px -1184px;
+ width: 141px;
+ height: 147px;
+}
+.background_gumdrop_land {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1278px -1184px;
+ width: 141px;
+ height: 147px;
+}
+.background_habit_city_streets {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1420px 0px;
+ width: 141px;
+ height: 147px;
+}
+.background_halflings_house {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1420px -148px;
+ width: 141px;
+ height: 147px;
+}
+.background_harvest_feast {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1420px -296px;
+ width: 141px;
+ height: 147px;
+}
+.background_harvest_fields {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1420px -444px;
+ width: 141px;
+ height: 147px;
+}
+.background_harvest_moon {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1420px -592px;
+ width: 141px;
+ height: 147px;
+}
+.background_haunted_house {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1420px -740px;
+ width: 141px;
+ height: 147px;
+}
+.background_ice_cave {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1420px -888px;
+ width: 141px;
+ height: 147px;
+}
+.background_iceberg {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1420px -1036px;
+ width: 141px;
+ height: 147px;
+}
+.background_idyllic_cabin {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1420px -1184px;
+ width: 141px;
+ height: 147px;
+}
+.background_in_a_classroom {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: 0px -1332px;
+ width: 141px;
+ height: 147px;
+}
+.background_in_an_ancient_tomb {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -142px -1332px;
+ width: 141px;
+ height: 147px;
+}
+.background_island_waterfalls {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -284px -1332px;
+ width: 141px;
+ height: 147px;
+}
+.background_kelp_forest {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -426px -1332px;
+ width: 141px;
+ height: 147px;
+}
+.background_lake_with_floating_lanterns {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -568px -1332px;
+ width: 141px;
+ height: 147px;
+}
+.background_lighthouse_shore {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -710px -1332px;
+ width: 141px;
+ height: 147px;
+}
+.background_lilypad {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -852px -1332px;
+ width: 141px;
+ height: 147px;
+}
+.background_magic_beanstalk {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -994px -1332px;
+ width: 141px;
+ height: 147px;
+}
+.background_magical_candles {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1136px -1332px;
+ width: 141px;
+ height: 147px;
+}
+.background_magical_museum {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1278px -1332px;
+ width: 141px;
+ height: 147px;
+}
+.background_marble_temple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1420px -1332px;
+ width: 141px;
+ height: 147px;
+}
+.background_market {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1562px 0px;
+ width: 141px;
+ height: 147px;
+}
+.background_meandering_cave {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1562px -148px;
+ width: 141px;
+ height: 147px;
+}
+.background_medieval_kitchen {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1562px -296px;
+ width: 141px;
+ height: 147px;
+}
+.background_midnight_castle {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1562px -444px;
+ width: 141px;
+ height: 147px;
+}
+.background_midnight_clouds {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1562px -592px;
+ width: 141px;
+ height: 147px;
+}
+.background_midnight_lake {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1562px -740px;
+ width: 141px;
+ height: 147px;
+}
+.background_mist_shrouded_mountain {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1562px -888px;
+ width: 141px;
+ height: 147px;
+}
+.background_mistiflying_circus {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1562px -1036px;
+ width: 141px;
+ height: 147px;
+}
+.background_monster_makers_workshop {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1562px -1184px;
+ width: 141px;
+ height: 147px;
+}
+.background_mountain_lake {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -1562px -1332px;
+ width: 141px;
+ height: 147px;
+}
+.background_mountain_pyramid {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: 0px -1480px;
+ width: 141px;
+ height: 147px;
+}
+.background_night_dunes {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -142px -1480px;
+ width: 141px;
+ height: 147px;
+}
+.background_ocean_sunrise {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -284px -1480px;
+ width: 141px;
+ height: 147px;
+}
+.background_old_fashioned_bakery {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -426px -1480px;
+ width: 141px;
+ height: 147px;
+}
+.background_on_tree_branch {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -568px -1480px;
+ width: 141px;
+ height: 147px;
+}
+.background_open_waters {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-0.png');
+ background-position: -710px -1480px;
+ width: 141px;
+ height: 147px;
+}
diff --git a/website/client/assets/css/sprites/spritesmith-main-1.css b/website/client/src/assets/css/sprites/spritesmith-main-1.css
similarity index 57%
rename from website/client/assets/css/sprites/spritesmith-main-1.css
rename to website/client/src/assets/css/sprites/spritesmith-main-1.css
index ba8ce0da4e..b16134797e 100644
--- a/website/client/assets/css/sprites/spritesmith-main-1.css
+++ b/website/client/src/assets/css/sprites/spritesmith-main-1.css
@@ -1,2010 +1,2010 @@
.background_orchard {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -142px 0px;
- width: 141px;
- height: 147px;
-}
-.background_pagodas {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1278px -296px;
- width: 141px;
- height: 147px;
-}
-.background_park_with_statue {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -284px -740px;
- width: 141px;
- height: 147px;
-}
-.background_pirate_flag {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -284px 0px;
- width: 141px;
- height: 147px;
-}
-.background_pixelists_workshop {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: 0px -148px;
- width: 141px;
- height: 147px;
-}
-.background_pumpkin_carriage {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -142px -148px;
- width: 141px;
- height: 147px;
-}
-.background_pumpkin_patch {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -284px -148px;
- width: 141px;
- height: 147px;
-}
-.background_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -426px 0px;
- width: 141px;
- height: 147px;
-}
-.background_pyramids {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -426px -148px;
- width: 141px;
- height: 147px;
-}
-.background_rainbow_meadow {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: 0px -296px;
- width: 141px;
- height: 147px;
-}
-.background_rainbows_end {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -142px -296px;
- width: 141px;
- height: 147px;
-}
-.background_rainforest {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -284px -296px;
- width: 141px;
- height: 147px;
-}
-.background_rainy_city {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -426px -296px;
- width: 141px;
- height: 147px;
-}
-.background_red {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -568px 0px;
- width: 141px;
- height: 147px;
-}
-.background_rolling_hills {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -568px -148px;
- width: 141px;
- height: 147px;
-}
-.background_rose_garden {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -568px -296px;
- width: 141px;
- height: 147px;
-}
-.background_rowboat {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: 0px -444px;
- width: 141px;
- height: 147px;
-}
-.background_sandcastle {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -142px -444px;
- width: 141px;
- height: 147px;
-}
-.background_school_of_fish {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -284px -444px;
- width: 141px;
- height: 147px;
-}
-.background_scribes_workshop {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -426px -444px;
- width: 141px;
- height: 147px;
-}
-.background_seafarer_ship {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -568px -444px;
- width: 141px;
- height: 147px;
-}
-.background_seaside_cliffs {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -710px 0px;
- width: 141px;
- height: 147px;
-}
-.background_shimmering_ice_prism {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -710px -148px;
- width: 141px;
- height: 147px;
-}
-.background_shimmery_bubbles {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -710px -296px;
- width: 141px;
- height: 147px;
-}
-.background_slimy_swamp {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -710px -444px;
- width: 141px;
- height: 147px;
-}
-.background_snowman_army {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: 0px -592px;
- width: 141px;
- height: 147px;
-}
-.background_snowy_day_fireplace {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -142px -592px;
- width: 141px;
- height: 147px;
-}
-.background_snowy_pines {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -284px -592px;
- width: 141px;
- height: 147px;
-}
-.background_snowy_sunrise {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -426px -592px;
- width: 141px;
- height: 147px;
-}
-.background_south_pole {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -568px -592px;
- width: 141px;
- height: 147px;
-}
-.background_sparkling_snowflake {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -710px -592px;
- width: 141px;
- height: 147px;
-}
-.background_spider_web {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -852px 0px;
- width: 141px;
- height: 147px;
-}
-.background_spooky_hotel {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -852px -148px;
- width: 141px;
- height: 147px;
-}
-.background_spring_rain {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -852px -296px;
- width: 141px;
- height: 147px;
-}
-.background_stable {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -852px -444px;
- width: 141px;
- height: 147px;
-}
-.background_stained_glass {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -852px -592px;
- width: 141px;
- height: 147px;
-}
-.background_starry_skies {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: 0px -740px;
- width: 141px;
- height: 147px;
-}
-.background_starry_winter_night {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -142px -740px;
- width: 141px;
- height: 147px;
-}
-.background_stoikalm_volcanoes {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: 0px 0px;
width: 141px;
height: 147px;
}
-.background_stone_circle {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.background_pagodas {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -142px 0px;
+ width: 141px;
+ height: 147px;
+}
+.background_park_with_statue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -284px 0px;
+ width: 141px;
+ height: 147px;
+}
+.background_pirate_flag {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: 0px -148px;
+ width: 141px;
+ height: 147px;
+}
+.background_pixelists_workshop {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -142px -148px;
+ width: 141px;
+ height: 147px;
+}
+.background_pumpkin_carriage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -284px -148px;
+ width: 141px;
+ height: 147px;
+}
+.background_pumpkin_patch {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -426px 0px;
+ width: 141px;
+ height: 147px;
+}
+.background_purple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -426px -148px;
+ width: 141px;
+ height: 147px;
+}
+.background_pyramids {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: 0px -296px;
+ width: 141px;
+ height: 147px;
+}
+.background_rainbow_meadow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -142px -296px;
+ width: 141px;
+ height: 147px;
+}
+.background_rainbows_end {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -284px -296px;
+ width: 141px;
+ height: 147px;
+}
+.background_rainforest {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -426px -296px;
+ width: 141px;
+ height: 147px;
+}
+.background_rainy_city {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -568px 0px;
+ width: 141px;
+ height: 147px;
+}
+.background_red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -568px -148px;
+ width: 141px;
+ height: 147px;
+}
+.background_rolling_hills {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -568px -296px;
+ width: 141px;
+ height: 147px;
+}
+.background_rose_garden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: 0px -444px;
+ width: 141px;
+ height: 147px;
+}
+.background_rowboat {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -142px -444px;
+ width: 141px;
+ height: 147px;
+}
+.background_sandcastle {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -284px -444px;
+ width: 141px;
+ height: 147px;
+}
+.background_school_of_fish {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -426px -444px;
+ width: 141px;
+ height: 147px;
+}
+.background_scribes_workshop {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -568px -444px;
+ width: 141px;
+ height: 147px;
+}
+.background_seafarer_ship {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -710px 0px;
+ width: 141px;
+ height: 147px;
+}
+.background_seaside_cliffs {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -710px -148px;
+ width: 141px;
+ height: 147px;
+}
+.background_shimmering_ice_prism {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -710px -296px;
+ width: 141px;
+ height: 147px;
+}
+.background_shimmery_bubbles {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -710px -444px;
+ width: 141px;
+ height: 147px;
+}
+.background_slimy_swamp {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: 0px -592px;
+ width: 141px;
+ height: 147px;
+}
+.background_snowman_army {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -142px -592px;
+ width: 141px;
+ height: 147px;
+}
+.background_snowy_day_fireplace {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -284px -592px;
+ width: 141px;
+ height: 147px;
+}
+.background_snowy_pines {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -426px -592px;
+ width: 141px;
+ height: 147px;
+}
+.background_snowy_sunrise {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -568px -592px;
+ width: 141px;
+ height: 147px;
+}
+.background_south_pole {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -710px -592px;
+ width: 141px;
+ height: 147px;
+}
+.background_sparkling_snowflake {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -852px 0px;
+ width: 141px;
+ height: 147px;
+}
+.background_spider_web {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -852px -148px;
+ width: 141px;
+ height: 147px;
+}
+.background_spooky_hotel {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -852px -296px;
+ width: 141px;
+ height: 147px;
+}
+.background_spring_rain {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -852px -444px;
+ width: 141px;
+ height: 147px;
+}
+.background_stable {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -852px -592px;
+ width: 141px;
+ height: 147px;
+}
+.background_stained_glass {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: 0px -740px;
+ width: 141px;
+ height: 147px;
+}
+.background_starry_skies {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -142px -740px;
+ width: 141px;
+ height: 147px;
+}
+.background_starry_winter_night {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -284px -740px;
+ width: 141px;
+ height: 147px;
+}
+.background_stoikalm_volcanoes {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -426px -740px;
width: 141px;
height: 147px;
}
-.background_stormy_rooftops {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.background_stone_circle {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -568px -740px;
width: 141px;
height: 147px;
}
-.background_stormy_ship {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.background_stormy_rooftops {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -710px -740px;
width: 141px;
height: 147px;
}
-.background_strange_sewers {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.background_stormy_ship {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -852px -740px;
width: 141px;
height: 147px;
}
-.background_summer_fireworks {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.background_strange_sewers {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -994px 0px;
width: 141px;
height: 147px;
}
-.background_sunken_ship {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.background_summer_fireworks {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -994px -148px;
width: 141px;
height: 147px;
}
-.background_sunset_meadow {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.background_sunken_ship {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -994px -296px;
width: 141px;
height: 147px;
}
-.background_sunset_oasis {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.background_sunset_meadow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -994px -444px;
width: 141px;
height: 147px;
}
-.background_sunset_savannah {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.background_sunset_oasis {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -994px -592px;
width: 141px;
height: 147px;
}
-.background_swarming_darkness {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.background_sunset_savannah {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -994px -740px;
width: 141px;
height: 147px;
}
-.background_tar_pits {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.background_swarming_darkness {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: 0px -888px;
width: 141px;
height: 147px;
}
-.background_tavern {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.background_tar_pits {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -142px -888px;
width: 141px;
height: 147px;
}
-.background_terraced_rice_field {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.background_tavern {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -284px -888px;
width: 141px;
height: 147px;
}
-.background_thunderstorm {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.background_terraced_rice_field {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -426px -888px;
width: 141px;
height: 147px;
}
-.background_tide_pool {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.background_thunderstorm {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -568px -888px;
width: 141px;
height: 147px;
}
-.background_tornado {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.background_tide_pool {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -710px -888px;
width: 141px;
height: 147px;
}
-.background_toymakers_workshop {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.background_tornado {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -852px -888px;
width: 141px;
height: 147px;
}
-.background_training_grounds {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.background_toymakers_workshop {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -994px -888px;
width: 141px;
height: 147px;
}
-.background_treasure_room {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.background_training_grounds {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1136px 0px;
width: 141px;
height: 147px;
}
-.background_tree_roots {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.background_treasure_room {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1136px -148px;
width: 141px;
height: 147px;
}
-.background_treehouse {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.background_tree_roots {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1136px -296px;
width: 141px;
height: 147px;
}
-.background_tulip_garden {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.background_treehouse {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1136px -444px;
width: 141px;
height: 147px;
}
-.background_twinkly_lights {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.background_tulip_garden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1136px -592px;
width: 141px;
height: 147px;
}
-.background_twinkly_party_lights {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.background_twinkly_lights {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1136px -740px;
width: 141px;
height: 147px;
}
-.background_underwater_vents {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.background_twinkly_party_lights {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1136px -888px;
width: 141px;
height: 147px;
}
-.background_valentines_day_feasting_hall {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.background_underwater_vents {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: 0px -1036px;
width: 141px;
height: 147px;
}
-.background_violet {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.background_valentines_day_feasting_hall {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -142px -1036px;
width: 141px;
height: 147px;
}
-.background_volcano {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.background_violet {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -284px -1036px;
width: 141px;
height: 147px;
}
-.background_waterfall_rock {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.background_volcano {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -426px -1036px;
width: 141px;
height: 147px;
}
-.background_wedding_arch {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.background_waterfall_rock {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -568px -1036px;
width: 141px;
height: 147px;
}
-.background_windy_autumn {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.background_wedding_arch {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -710px -1036px;
width: 141px;
height: 147px;
}
-.background_winter_fireworks {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.background_windy_autumn {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -852px -1036px;
width: 141px;
height: 147px;
}
-.background_winter_night {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.background_winter_fireworks {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -994px -1036px;
width: 141px;
height: 147px;
}
-.background_winter_storefront {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.background_winter_night {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1136px -1036px;
width: 141px;
height: 147px;
}
-.background_winter_town {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.background_winter_storefront {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1278px 0px;
width: 141px;
height: 147px;
}
-.background_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.background_winter_town {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1278px -148px;
width: 141px;
height: 147px;
}
+.background_yellow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1278px -296px;
+ width: 141px;
+ height: 147px;
+}
.icon_background_alpine_slopes {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1076px -1275px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -455px -1275px;
width: 68px;
height: 68px;
}
.icon_background_amid_ancient_ruins {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1696px -897px;
- width: 68px;
- height: 68px;
-}
-.icon_background_among_giant_anemones {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1696px -828px;
- width: 68px;
- height: 68px;
-}
-.icon_background_apple_picking {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1696px -759px;
- width: 68px;
- height: 68px;
-}
-.icon_background_aquarium {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1696px -690px;
- width: 68px;
- height: 68px;
-}
-.icon_background_archaeological_dig {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1696px -621px;
- width: 68px;
- height: 68px;
-}
-.icon_background_archery_range {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1696px -552px;
- width: 68px;
- height: 68px;
-}
-.icon_background_at_the_docks {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1696px -483px;
- width: 68px;
- height: 68px;
-}
-.icon_background_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1696px -414px;
- width: 68px;
- height: 68px;
-}
-.icon_background_autumn_flower_garden {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1696px -345px;
- width: 68px;
- height: 68px;
-}
-.customize-option.icon_background_autumn_flower_garden {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1721px -360px;
- width: 60px;
- height: 60px;
-}
-.icon_background_autumn_forest {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1696px -276px;
- width: 68px;
- height: 68px;
-}
-.icon_background_avalanche {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1696px -207px;
- width: 68px;
- height: 68px;
-}
-.icon_background_back_alley {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1696px -138px;
- width: 68px;
- height: 68px;
-}
-.icon_background_back_of_giant_beast {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1696px -69px;
- width: 68px;
- height: 68px;
-}
-.icon_background_bamboo_forest {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1696px 0px;
- width: 68px;
- height: 68px;
-}
-.icon_background_bayou {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1587px -1573px;
- width: 68px;
- height: 68px;
-}
-.icon_background_beach {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1518px -1573px;
- width: 68px;
- height: 68px;
-}
-.icon_background_beehive {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1449px -1573px;
- width: 68px;
- height: 68px;
-}
-.icon_background_bell_tower {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1380px -1573px;
- width: 68px;
- height: 68px;
-}
-.icon_background_beside_well {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1311px -1573px;
- width: 68px;
- height: 68px;
-}
-.icon_background_birch_forest {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1242px -1573px;
- width: 68px;
- height: 68px;
-}
-.icon_background_blacksmithy {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1173px -1573px;
- width: 68px;
- height: 68px;
-}
-.icon_background_blizzard {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1104px -1573px;
- width: 68px;
- height: 68px;
-}
-.icon_background_blossoming_desert {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1035px -1573px;
- width: 68px;
- height: 68px;
-}
-.icon_background_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -966px -1573px;
- width: 68px;
- height: 68px;
-}
-.icon_background_bridge {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -897px -1573px;
- width: 68px;
- height: 68px;
-}
-.icon_background_bug_covered_log {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -828px -1573px;
- width: 68px;
- height: 68px;
-}
-.icon_background_buried_treasure {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1173px -1366px;
- width: 68px;
- height: 68px;
-}
-.icon_background_champions_colosseum {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -524px -1275px;
width: 68px;
height: 68px;
}
-.icon_background_cherry_trees {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1558px -345px;
- width: 68px;
- height: 68px;
-}
-.icon_background_chessboard_land {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_among_giant_anemones {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -593px -1275px;
width: 68px;
height: 68px;
}
-.icon_background_clouds {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_apple_picking {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -662px -1275px;
width: 68px;
height: 68px;
}
-.icon_background_coral_reef {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_aquarium {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -731px -1275px;
width: 68px;
height: 68px;
}
-.icon_background_cornfields {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_archaeological_dig {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -800px -1275px;
width: 68px;
height: 68px;
}
-.icon_background_cozy_barn {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_archery_range {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -869px -1275px;
width: 68px;
height: 68px;
}
-.icon_background_cozy_bedroom {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_at_the_docks {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -938px -1275px;
width: 68px;
height: 68px;
}
-.icon_background_cozy_library {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_aurora {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1007px -1275px;
width: 68px;
height: 68px;
}
+.icon_background_autumn_flower_garden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1076px -1275px;
+ width: 68px;
+ height: 68px;
+}
+.customize-option.icon_background_autumn_flower_garden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1101px -1290px;
+ width: 60px;
+ height: 60px;
+}
+.icon_background_autumn_forest {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1145px -1275px;
+ width: 68px;
+ height: 68px;
+}
+.icon_background_avalanche {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1214px -1275px;
+ width: 68px;
+ height: 68px;
+}
+.icon_background_back_alley {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1283px -1275px;
+ width: 68px;
+ height: 68px;
+}
+.icon_background_back_of_giant_beast {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1420px 0px;
+ width: 68px;
+ height: 68px;
+}
+.icon_background_bamboo_forest {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1420px -69px;
+ width: 68px;
+ height: 68px;
+}
+.icon_background_bayou {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1420px -138px;
+ width: 68px;
+ height: 68px;
+}
+.icon_background_beach {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1420px -207px;
+ width: 68px;
+ height: 68px;
+}
+.icon_background_beehive {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1420px -276px;
+ width: 68px;
+ height: 68px;
+}
+.icon_background_bell_tower {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1420px -345px;
+ width: 68px;
+ height: 68px;
+}
+.icon_background_beside_well {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1420px -414px;
+ width: 68px;
+ height: 68px;
+}
+.icon_background_birch_forest {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1420px -483px;
+ width: 68px;
+ height: 68px;
+}
+.icon_background_blacksmithy {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1420px -552px;
+ width: 68px;
+ height: 68px;
+}
+.icon_background_blizzard {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1420px -621px;
+ width: 68px;
+ height: 68px;
+}
+.icon_background_blossoming_desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1420px -690px;
+ width: 68px;
+ height: 68px;
+}
+.icon_background_blue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1420px -759px;
+ width: 68px;
+ height: 68px;
+}
+.icon_background_bridge {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1420px -828px;
+ width: 68px;
+ height: 68px;
+}
+.icon_background_bug_covered_log {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1420px -897px;
+ width: 68px;
+ height: 68px;
+}
+.icon_background_buried_treasure {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1420px -966px;
+ width: 68px;
+ height: 68px;
+}
+.icon_background_champions_colosseum {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1420px -1035px;
+ width: 68px;
+ height: 68px;
+}
+.icon_background_cherry_trees {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1420px -1104px;
+ width: 68px;
+ height: 68px;
+}
+.icon_background_chessboard_land {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1420px -1173px;
+ width: 68px;
+ height: 68px;
+}
+.icon_background_clouds {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1420px -1242px;
+ width: 68px;
+ height: 68px;
+}
+.icon_background_coral_reef {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: 0px -1366px;
+ width: 68px;
+ height: 68px;
+}
+.icon_background_cornfields {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -69px -1366px;
+ width: 68px;
+ height: 68px;
+}
+.icon_background_cozy_barn {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -138px -1366px;
+ width: 68px;
+ height: 68px;
+}
+.icon_background_cozy_bedroom {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -207px -1366px;
+ width: 68px;
+ height: 68px;
+}
+.icon_background_cozy_library {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -276px -1366px;
+ width: 68px;
+ height: 68px;
+}
.icon_background_creepy_castle {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1696px -1035px;
width: 60px;
height: 60px;
}
.icon_background_crosscountry_ski_trail {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1145px -1275px;
- width: 68px;
- height: 68px;
-}
-.icon_background_crystal_cave {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1214px -1275px;
- width: 68px;
- height: 68px;
-}
-.icon_background_dark_deep {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1283px -1275px;
- width: 68px;
- height: 68px;
-}
-.icon_background_deep_mine {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1420px 0px;
- width: 68px;
- height: 68px;
-}
-.icon_background_deep_sea {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1420px -69px;
- width: 68px;
- height: 68px;
-}
-.icon_background_desert_dunes {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1420px -138px;
- width: 68px;
- height: 68px;
-}
-.icon_background_dilatory_castle {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1420px -207px;
- width: 68px;
- height: 68px;
-}
-.icon_background_dilatory_city {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1420px -276px;
- width: 68px;
- height: 68px;
-}
-.icon_background_dilatory_ruins {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1420px -345px;
- width: 68px;
- height: 68px;
-}
-.icon_background_distant_castle {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1420px -414px;
- width: 68px;
- height: 68px;
-}
-.icon_background_dojo {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1420px -483px;
- width: 68px;
- height: 68px;
-}
-.icon_background_drifting_raft {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1420px -552px;
- width: 68px;
- height: 68px;
-}
-.icon_background_driving_a_coach {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1420px -621px;
- width: 68px;
- height: 68px;
-}
-.icon_background_driving_a_sleigh {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1420px -690px;
- width: 68px;
- height: 68px;
-}
-.icon_background_duck_pond {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1420px -759px;
- width: 68px;
- height: 68px;
-}
-.icon_background_dungeon {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1420px -828px;
- width: 68px;
- height: 68px;
-}
-.icon_background_dusty_canyons {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1420px -897px;
- width: 68px;
- height: 68px;
-}
-.icon_background_elegant_balcony {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1420px -966px;
- width: 68px;
- height: 68px;
-}
-.icon_background_fairy_ring {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1420px -1035px;
- width: 68px;
- height: 68px;
-}
-.icon_background_fantastical_shoe_store {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1420px -1104px;
- width: 68px;
- height: 68px;
-}
-.icon_background_farmhouse {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1420px -1173px;
- width: 68px;
- height: 68px;
-}
-.icon_background_fiber_arts_room {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1420px -1242px;
- width: 68px;
- height: 68px;
-}
-.icon_background_field_with_colored_eggs {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: 0px -1366px;
- width: 68px;
- height: 68px;
-}
-.icon_background_floating_islands {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -69px -1366px;
- width: 68px;
- height: 68px;
-}
-.icon_background_floral_meadow {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -138px -1366px;
- width: 68px;
- height: 68px;
-}
-.icon_background_flower_market {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -207px -1366px;
- width: 68px;
- height: 68px;
-}
-.customize-option.icon_background_flower_market {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -232px -1381px;
- width: 60px;
- height: 60px;
-}
-.icon_background_flying_over_a_field_of_wildflowers {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -276px -1366px;
- width: 68px;
- height: 68px;
-}
-.customize-option.icon_background_flying_over_a_field_of_wildflowers {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -301px -1381px;
- width: 60px;
- height: 60px;
-}
-.icon_background_flying_over_an_ancient_forest {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -345px -1366px;
width: 68px;
height: 68px;
}
-.icon_background_flying_over_icy_steppes {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_crystal_cave {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -414px -1366px;
width: 68px;
height: 68px;
}
-.icon_background_flying_over_rocky_canyon {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_dark_deep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -483px -1366px;
width: 68px;
height: 68px;
}
-.icon_background_flying_over_snowy_mountains {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_deep_mine {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -552px -1366px;
width: 68px;
height: 68px;
}
-.icon_background_flying_over_the_ocean {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_deep_sea {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -621px -1366px;
width: 68px;
height: 68px;
}
-.icon_background_foggy_moor {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_desert_dunes {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -690px -1366px;
width: 68px;
height: 68px;
}
-.icon_background_forest {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_dilatory_castle {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -759px -1366px;
width: 68px;
height: 68px;
}
-.icon_background_frigid_peak {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_dilatory_city {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -828px -1366px;
width: 68px;
height: 68px;
}
-.icon_background_frosty_forest {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_dilatory_ruins {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -897px -1366px;
width: 68px;
height: 68px;
}
-.icon_background_frozen_lake {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_distant_castle {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -966px -1366px;
width: 68px;
height: 68px;
}
-.icon_background_garden_shed {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_dojo {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1035px -1366px;
width: 68px;
height: 68px;
}
-.icon_background_gazebo {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_drifting_raft {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1104px -1366px;
width: 68px;
height: 68px;
}
-.icon_background_giant_birdhouse {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1696px -966px;
+.icon_background_driving_a_coach {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1173px -1366px;
width: 68px;
height: 68px;
}
-.icon_background_giant_book {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_driving_a_sleigh {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1242px -1366px;
width: 68px;
height: 68px;
}
-.icon_background_giant_dandelions {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_duck_pond {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1311px -1366px;
width: 68px;
height: 68px;
}
-.icon_background_giant_florals {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_dungeon {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1380px -1366px;
width: 68px;
height: 68px;
}
-.icon_background_giant_seashell {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_dusty_canyons {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1489px 0px;
width: 68px;
height: 68px;
}
-.icon_background_giant_wave {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_elegant_balcony {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1489px -69px;
width: 68px;
height: 68px;
}
-.icon_background_glowing_mushroom_cave {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_fairy_ring {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1489px -138px;
width: 68px;
height: 68px;
}
-.icon_background_gorgeous_greenhouse {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_fantastical_shoe_store {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1489px -207px;
width: 68px;
height: 68px;
}
-.icon_background_grand_staircase {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_farmhouse {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1489px -276px;
width: 68px;
height: 68px;
}
-.icon_background_graveyard {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_fiber_arts_room {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1489px -345px;
width: 68px;
height: 68px;
}
-.icon_background_green {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_field_with_colored_eggs {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1489px -414px;
width: 68px;
height: 68px;
}
-.icon_background_guardian_statues {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_floating_islands {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1489px -483px;
width: 68px;
height: 68px;
}
-.icon_background_gumdrop_land {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_floral_meadow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1489px -552px;
width: 68px;
height: 68px;
}
-.icon_background_habit_city_streets {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_flower_market {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1489px -621px;
width: 68px;
height: 68px;
}
-.icon_background_halflings_house {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.customize-option.icon_background_flower_market {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1514px -636px;
+ width: 60px;
+ height: 60px;
+}
+.icon_background_flying_over_a_field_of_wildflowers {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1489px -690px;
width: 68px;
height: 68px;
}
-.icon_background_harvest_feast {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.customize-option.icon_background_flying_over_a_field_of_wildflowers {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1514px -705px;
+ width: 60px;
+ height: 60px;
+}
+.icon_background_flying_over_an_ancient_forest {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1489px -759px;
width: 68px;
height: 68px;
}
-.icon_background_harvest_fields {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_flying_over_icy_steppes {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1489px -828px;
width: 68px;
height: 68px;
}
-.icon_background_harvest_moon {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_flying_over_rocky_canyon {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1489px -897px;
width: 68px;
height: 68px;
}
-.icon_background_haunted_house {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_flying_over_snowy_mountains {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1489px -966px;
width: 68px;
height: 68px;
}
-.icon_background_ice_cave {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_flying_over_the_ocean {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1489px -1035px;
width: 68px;
height: 68px;
}
-.icon_background_iceberg {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_foggy_moor {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1489px -1104px;
width: 68px;
height: 68px;
}
-.icon_background_idyllic_cabin {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_forest {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1489px -1173px;
width: 68px;
height: 68px;
}
-.icon_background_in_a_classroom {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_frigid_peak {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1489px -1242px;
width: 68px;
height: 68px;
}
-.icon_background_in_an_ancient_tomb {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_frosty_forest {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1489px -1311px;
width: 68px;
height: 68px;
}
-.icon_background_island_waterfalls {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_frozen_lake {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: 0px -1435px;
width: 68px;
height: 68px;
}
-.icon_background_kelp_forest {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_garden_shed {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -69px -1435px;
width: 68px;
height: 68px;
}
-.icon_background_lake_with_floating_lanterns {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_gazebo {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -138px -1435px;
width: 68px;
height: 68px;
}
-.icon_background_lighthouse_shore {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_giant_birdhouse {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -207px -1435px;
width: 68px;
height: 68px;
}
-.icon_background_lilypad {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_giant_book {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -276px -1435px;
width: 68px;
height: 68px;
}
-.icon_background_magic_beanstalk {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_giant_dandelions {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -345px -1435px;
width: 68px;
height: 68px;
}
-.icon_background_magical_candles {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_giant_florals {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -414px -1435px;
width: 68px;
height: 68px;
}
-.icon_background_magical_museum {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_giant_seashell {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -483px -1435px;
width: 68px;
height: 68px;
}
-.icon_background_marble_temple {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_giant_wave {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -552px -1435px;
width: 68px;
height: 68px;
}
-.icon_background_market {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_glowing_mushroom_cave {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -621px -1435px;
width: 68px;
height: 68px;
}
-.icon_background_meandering_cave {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_gorgeous_greenhouse {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -690px -1435px;
width: 68px;
height: 68px;
}
-.icon_background_medieval_kitchen {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_grand_staircase {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -759px -1435px;
width: 68px;
height: 68px;
}
-.icon_background_midnight_castle {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_graveyard {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -828px -1435px;
width: 68px;
height: 68px;
}
-.icon_background_midnight_clouds {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_green {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -897px -1435px;
width: 68px;
height: 68px;
}
-.icon_background_midnight_lake {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_guardian_statues {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -966px -1435px;
width: 68px;
height: 68px;
}
-.icon_background_mist_shrouded_mountain {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_gumdrop_land {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1035px -1435px;
width: 68px;
height: 68px;
}
-.icon_background_mistiflying_circus {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_habit_city_streets {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1104px -1435px;
width: 68px;
height: 68px;
}
-.icon_background_monster_makers_workshop {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_halflings_house {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1173px -1435px;
width: 68px;
height: 68px;
}
-.icon_background_mountain_lake {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_harvest_feast {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1242px -1435px;
width: 68px;
height: 68px;
}
-.icon_background_mountain_pyramid {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_harvest_fields {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1311px -1435px;
width: 68px;
height: 68px;
}
-.icon_background_night_dunes {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_harvest_moon {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1380px -1435px;
width: 68px;
height: 68px;
}
-.icon_background_ocean_sunrise {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_haunted_house {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1449px -1435px;
width: 68px;
height: 68px;
}
-.icon_background_old_fashioned_bakery {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_ice_cave {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1558px 0px;
width: 68px;
height: 68px;
}
-.icon_background_on_tree_branch {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_iceberg {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1558px -69px;
width: 68px;
height: 68px;
}
-.icon_background_open_waters {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_idyllic_cabin {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1558px -138px;
width: 68px;
height: 68px;
}
-.icon_background_orchard {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_in_a_classroom {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1558px -207px;
width: 68px;
height: 68px;
}
-.icon_background_pagodas {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_in_an_ancient_tomb {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1558px -276px;
width: 68px;
height: 68px;
}
-.icon_background_park_with_statue {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -455px -1275px;
+.icon_background_island_waterfalls {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1558px -345px;
width: 68px;
height: 68px;
}
-.icon_background_pirate_flag {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_kelp_forest {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1558px -414px;
width: 68px;
height: 68px;
}
-.icon_background_pixelists_workshop {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_lake_with_floating_lanterns {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1558px -483px;
width: 68px;
height: 68px;
}
-.icon_background_pumpkin_carriage {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_lighthouse_shore {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1558px -552px;
width: 68px;
height: 68px;
}
-.icon_background_pumpkin_patch {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_lilypad {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1558px -621px;
width: 68px;
height: 68px;
}
-.icon_background_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_magic_beanstalk {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1558px -690px;
width: 68px;
height: 68px;
}
-.icon_background_pyramids {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_magical_candles {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1558px -759px;
width: 68px;
height: 68px;
}
-.icon_background_rainbow_meadow {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_magical_museum {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1558px -828px;
width: 68px;
height: 68px;
}
-.icon_background_rainbows_end {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_marble_temple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1558px -897px;
width: 68px;
height: 68px;
}
-.icon_background_rainforest {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_market {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1558px -966px;
width: 68px;
height: 68px;
}
-.icon_background_rainy_city {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_meandering_cave {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1558px -1035px;
width: 68px;
height: 68px;
}
-.icon_background_red {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_medieval_kitchen {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1558px -1104px;
width: 68px;
height: 68px;
}
-.icon_background_rolling_hills {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_midnight_castle {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1558px -1173px;
width: 68px;
height: 68px;
}
-.icon_background_rose_garden {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_midnight_clouds {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1558px -1242px;
width: 68px;
height: 68px;
}
-.icon_background_rowboat {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_midnight_lake {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1558px -1311px;
width: 68px;
height: 68px;
}
-.icon_background_sandcastle {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_mist_shrouded_mountain {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1558px -1380px;
width: 68px;
height: 68px;
}
-.icon_background_school_of_fish {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_mistiflying_circus {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: 0px -1504px;
width: 68px;
height: 68px;
}
-.icon_background_scribes_workshop {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_monster_makers_workshop {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -69px -1504px;
width: 68px;
height: 68px;
}
-.icon_background_seafarer_ship {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_mountain_lake {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -138px -1504px;
width: 68px;
height: 68px;
}
-.icon_background_seaside_cliffs {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_mountain_pyramid {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -207px -1504px;
width: 68px;
height: 68px;
}
-.icon_background_shimmering_ice_prism {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_night_dunes {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -276px -1504px;
width: 68px;
height: 68px;
}
-.icon_background_shimmery_bubbles {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_ocean_sunrise {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -345px -1504px;
width: 68px;
height: 68px;
}
-.icon_background_slimy_swamp {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_old_fashioned_bakery {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -414px -1504px;
width: 68px;
height: 68px;
}
-.icon_background_snowman_army {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_on_tree_branch {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -483px -1504px;
width: 68px;
height: 68px;
}
-.icon_background_snowy_day_fireplace {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_open_waters {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -552px -1504px;
width: 68px;
height: 68px;
}
-.icon_background_snowy_pines {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_orchard {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -621px -1504px;
width: 68px;
height: 68px;
}
-.icon_background_snowy_sunrise {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_pagodas {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -690px -1504px;
width: 68px;
height: 68px;
}
-.icon_background_south_pole {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_park_with_statue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -759px -1504px;
width: 68px;
height: 68px;
}
-.icon_background_sparkling_snowflake {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_pirate_flag {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -828px -1504px;
width: 68px;
height: 68px;
}
-.icon_background_spider_web {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_pixelists_workshop {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -897px -1504px;
width: 68px;
height: 68px;
}
-.icon_background_spooky_hotel {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_pumpkin_carriage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -966px -1504px;
width: 68px;
height: 68px;
}
-.icon_background_spring_rain {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_pumpkin_patch {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1035px -1504px;
width: 68px;
height: 68px;
}
-.icon_background_stable {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_purple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1104px -1504px;
width: 68px;
height: 68px;
}
-.icon_background_stained_glass {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_pyramids {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1173px -1504px;
width: 68px;
height: 68px;
}
-.icon_background_starry_skies {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_rainbow_meadow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1242px -1504px;
width: 68px;
height: 68px;
}
-.icon_background_starry_winter_night {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_rainbows_end {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1311px -1504px;
width: 68px;
height: 68px;
}
-.icon_background_stoikalm_volcanoes {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_rainforest {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1380px -1504px;
width: 68px;
height: 68px;
}
-.icon_background_stone_circle {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_rainy_city {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1449px -1504px;
width: 68px;
height: 68px;
}
-.icon_background_stormy_rooftops {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1518px -1504px;
width: 68px;
height: 68px;
}
-.icon_background_stormy_ship {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_rolling_hills {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1627px 0px;
width: 68px;
height: 68px;
}
-.icon_background_strange_sewers {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_rose_garden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1627px -69px;
width: 68px;
height: 68px;
}
-.icon_background_summer_fireworks {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_rowboat {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1627px -138px;
width: 68px;
height: 68px;
}
-.icon_background_sunken_ship {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_sandcastle {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1627px -207px;
width: 68px;
height: 68px;
}
-.icon_background_sunset_meadow {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_school_of_fish {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1627px -276px;
width: 68px;
height: 68px;
}
-.icon_background_sunset_oasis {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_scribes_workshop {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1627px -345px;
width: 68px;
height: 68px;
}
-.icon_background_sunset_savannah {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_seafarer_ship {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1627px -414px;
width: 68px;
height: 68px;
}
-.icon_background_swarming_darkness {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_seaside_cliffs {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1627px -483px;
width: 68px;
height: 68px;
}
-.icon_background_tar_pits {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_shimmering_ice_prism {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1627px -552px;
width: 68px;
height: 68px;
}
-.icon_background_tavern {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_shimmery_bubbles {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1627px -621px;
width: 68px;
height: 68px;
}
-.icon_background_terraced_rice_field {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_slimy_swamp {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1627px -690px;
width: 68px;
height: 68px;
}
-.icon_background_thunderstorm {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_snowman_army {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1627px -759px;
width: 68px;
height: 68px;
}
-.icon_background_tide_pool {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_snowy_day_fireplace {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1627px -828px;
width: 68px;
height: 68px;
}
-.icon_background_tornado {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_snowy_pines {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1627px -897px;
width: 68px;
height: 68px;
}
-.icon_background_toymakers_workshop {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_snowy_sunrise {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1627px -966px;
width: 68px;
height: 68px;
}
-.icon_background_training_grounds {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_south_pole {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1627px -1035px;
width: 68px;
height: 68px;
}
-.icon_background_treasure_room {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_sparkling_snowflake {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1627px -1104px;
width: 68px;
height: 68px;
}
-.icon_background_tree_roots {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_spider_web {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1627px -1173px;
width: 68px;
height: 68px;
}
-.icon_background_treehouse {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_spooky_hotel {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1627px -1242px;
width: 68px;
height: 68px;
}
-.icon_background_tulip_garden {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_spring_rain {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1627px -1311px;
width: 68px;
height: 68px;
}
-.icon_background_twinkly_lights {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_stable {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1627px -1380px;
width: 68px;
height: 68px;
}
-.icon_background_twinkly_party_lights {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_stained_glass {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -1627px -1449px;
width: 68px;
height: 68px;
}
-.icon_background_underwater_vents {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_starry_skies {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: 0px -1573px;
width: 68px;
height: 68px;
}
-.icon_background_valentines_day_feasting_hall {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_starry_winter_night {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -69px -1573px;
width: 68px;
height: 68px;
}
-.icon_background_violet {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_stoikalm_volcanoes {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -138px -1573px;
width: 68px;
height: 68px;
}
-.icon_background_volcano {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_stone_circle {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -207px -1573px;
width: 68px;
height: 68px;
}
-.icon_background_waterfall_rock {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_stormy_rooftops {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -276px -1573px;
width: 68px;
height: 68px;
}
-.icon_background_wedding_arch {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_stormy_ship {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -345px -1573px;
width: 68px;
height: 68px;
}
-.icon_background_windy_autumn {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_strange_sewers {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -414px -1573px;
width: 68px;
height: 68px;
}
-.icon_background_winter_fireworks {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_summer_fireworks {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -483px -1573px;
width: 68px;
height: 68px;
}
-.icon_background_winter_night {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_sunken_ship {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -552px -1573px;
width: 68px;
height: 68px;
}
-.icon_background_winter_storefront {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_sunset_meadow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -621px -1573px;
width: 68px;
height: 68px;
}
-.icon_background_winter_town {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_sunset_oasis {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -690px -1573px;
width: 68px;
height: 68px;
}
-.icon_background_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+.icon_background_sunset_savannah {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -759px -1573px;
width: 68px;
height: 68px;
}
+.icon_background_swarming_darkness {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -828px -1573px;
+ width: 68px;
+ height: 68px;
+}
+.icon_background_tar_pits {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -897px -1573px;
+ width: 68px;
+ height: 68px;
+}
+.icon_background_tavern {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -966px -1573px;
+ width: 68px;
+ height: 68px;
+}
+.icon_background_terraced_rice_field {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1035px -1573px;
+ width: 68px;
+ height: 68px;
+}
+.icon_background_thunderstorm {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1104px -1573px;
+ width: 68px;
+ height: 68px;
+}
+.icon_background_tide_pool {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1173px -1573px;
+ width: 68px;
+ height: 68px;
+}
+.icon_background_tornado {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1242px -1573px;
+ width: 68px;
+ height: 68px;
+}
+.icon_background_toymakers_workshop {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1311px -1573px;
+ width: 68px;
+ height: 68px;
+}
+.icon_background_training_grounds {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1380px -1573px;
+ width: 68px;
+ height: 68px;
+}
+.icon_background_treasure_room {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1449px -1573px;
+ width: 68px;
+ height: 68px;
+}
+.icon_background_tree_roots {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1518px -1573px;
+ width: 68px;
+ height: 68px;
+}
+.icon_background_treehouse {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1587px -1573px;
+ width: 68px;
+ height: 68px;
+}
+.icon_background_tulip_garden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1696px 0px;
+ width: 68px;
+ height: 68px;
+}
+.icon_background_twinkly_lights {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1696px -69px;
+ width: 68px;
+ height: 68px;
+}
+.icon_background_twinkly_party_lights {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1696px -138px;
+ width: 68px;
+ height: 68px;
+}
+.icon_background_underwater_vents {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1696px -207px;
+ width: 68px;
+ height: 68px;
+}
+.icon_background_valentines_day_feasting_hall {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1696px -276px;
+ width: 68px;
+ height: 68px;
+}
+.icon_background_violet {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1696px -345px;
+ width: 68px;
+ height: 68px;
+}
+.icon_background_volcano {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1696px -414px;
+ width: 68px;
+ height: 68px;
+}
+.icon_background_waterfall_rock {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1696px -483px;
+ width: 68px;
+ height: 68px;
+}
+.icon_background_wedding_arch {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1696px -552px;
+ width: 68px;
+ height: 68px;
+}
+.icon_background_windy_autumn {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1696px -621px;
+ width: 68px;
+ height: 68px;
+}
+.icon_background_winter_fireworks {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1696px -690px;
+ width: 68px;
+ height: 68px;
+}
+.icon_background_winter_night {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1696px -759px;
+ width: 68px;
+ height: 68px;
+}
+.icon_background_winter_storefront {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1696px -828px;
+ width: 68px;
+ height: 68px;
+}
+.icon_background_winter_town {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1696px -897px;
+ width: 68px;
+ height: 68px;
+}
+.icon_background_yellow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1696px -966px;
+ width: 68px;
+ height: 68px;
+}
.hair_beard_1_TRUred {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -364px -1275px;
width: 90px;
height: 90px;
}
.customize-option.hair_beard_1_TRUred {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -389px -1290px;
width: 60px;
height: 60px;
}
.hair_beard_1_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -273px -1275px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1278px -444px;
width: 90px;
height: 90px;
}
.customize-option.hair_beard_1_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -298px -1290px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1303px -459px;
width: 60px;
height: 60px;
}
.hair_beard_1_black {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -182px -1275px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1278px -535px;
width: 90px;
height: 90px;
}
.customize-option.hair_beard_1_black {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -207px -1290px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1303px -550px;
width: 60px;
height: 60px;
}
.hair_beard_1_blond {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -91px -1275px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1278px -626px;
width: 90px;
height: 90px;
}
.customize-option.hair_beard_1_blond {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -116px -1290px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1303px -641px;
width: 60px;
height: 60px;
}
.hair_beard_1_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: 0px -1275px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1278px -717px;
width: 90px;
height: 90px;
}
.customize-option.hair_beard_1_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -25px -1290px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1303px -732px;
width: 60px;
height: 60px;
}
.hair_beard_1_brown {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1274px -1184px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1278px -808px;
width: 90px;
height: 90px;
}
.customize-option.hair_beard_1_brown {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1299px -1199px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1303px -823px;
width: 60px;
height: 60px;
}
.hair_beard_1_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1183px -1184px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1278px -899px;
width: 90px;
height: 90px;
}
.customize-option.hair_beard_1_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1208px -1199px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1303px -914px;
width: 60px;
height: 60px;
}
.hair_beard_1_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1092px -1184px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1278px -990px;
width: 90px;
height: 90px;
}
.customize-option.hair_beard_1_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1117px -1199px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1303px -1005px;
width: 60px;
height: 60px;
}
.hair_beard_1_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1001px -1184px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1278px -1081px;
width: 90px;
height: 90px;
}
.customize-option.hair_beard_1_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1026px -1199px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1303px -1096px;
width: 60px;
height: 60px;
}
.hair_beard_1_frost {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -910px -1184px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: 0px -1184px;
width: 90px;
height: 90px;
}
.customize-option.hair_beard_1_frost {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -935px -1199px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -25px -1199px;
width: 60px;
height: 60px;
}
.hair_beard_1_ghostwhite {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -819px -1184px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -91px -1184px;
width: 90px;
height: 90px;
}
.customize-option.hair_beard_1_ghostwhite {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -844px -1199px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -116px -1199px;
width: 60px;
height: 60px;
}
.hair_beard_1_green {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -728px -1184px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -182px -1184px;
width: 90px;
height: 90px;
}
.customize-option.hair_beard_1_green {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -753px -1199px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -207px -1199px;
width: 60px;
height: 60px;
}
.hair_beard_1_halloween {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -637px -1184px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -273px -1184px;
width: 90px;
height: 90px;
}
.customize-option.hair_beard_1_halloween {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -662px -1199px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -298px -1199px;
width: 60px;
height: 60px;
}
.hair_beard_1_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -546px -1184px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -364px -1184px;
width: 90px;
height: 90px;
}
.customize-option.hair_beard_1_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -571px -1199px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -389px -1199px;
width: 60px;
height: 60px;
}
.hair_beard_1_hollygreen {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -455px -1184px;
width: 90px;
height: 90px;
}
.customize-option.hair_beard_1_hollygreen {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
background-position: -480px -1199px;
width: 60px;
height: 60px;
}
.hair_beard_1_midnight {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -364px -1184px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -546px -1184px;
width: 90px;
height: 90px;
}
.customize-option.hair_beard_1_midnight {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -389px -1199px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -571px -1199px;
width: 60px;
height: 60px;
}
.hair_beard_1_pblue {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -273px -1184px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -637px -1184px;
width: 90px;
height: 90px;
}
.customize-option.hair_beard_1_pblue {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -298px -1199px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -662px -1199px;
width: 60px;
height: 60px;
}
.hair_beard_1_peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -182px -1184px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -728px -1184px;
width: 90px;
height: 90px;
}
.customize-option.hair_beard_1_peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -207px -1199px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -753px -1199px;
width: 60px;
height: 60px;
}
.hair_beard_1_pgreen {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -91px -1184px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -819px -1184px;
width: 90px;
height: 90px;
}
.customize-option.hair_beard_1_pgreen {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -116px -1199px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -844px -1199px;
width: 60px;
height: 60px;
}
.hair_beard_1_porange {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: 0px -1184px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -910px -1184px;
width: 90px;
height: 90px;
}
.customize-option.hair_beard_1_porange {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -25px -1199px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -935px -1199px;
width: 60px;
height: 60px;
}
.hair_beard_1_ppink {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1278px -1081px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1001px -1184px;
width: 90px;
height: 90px;
}
.customize-option.hair_beard_1_ppink {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1303px -1096px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1026px -1199px;
width: 60px;
height: 60px;
}
.hair_beard_1_ppurple {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1278px -990px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1092px -1184px;
width: 90px;
height: 90px;
}
.customize-option.hair_beard_1_ppurple {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1303px -1005px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1117px -1199px;
width: 60px;
height: 60px;
}
.hair_beard_1_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1278px -899px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1183px -1184px;
width: 90px;
height: 90px;
}
.customize-option.hair_beard_1_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1303px -914px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1208px -1199px;
width: 60px;
height: 60px;
}
.hair_beard_1_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1278px -808px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1274px -1184px;
width: 90px;
height: 90px;
}
.customize-option.hair_beard_1_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1303px -823px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -1299px -1199px;
width: 60px;
height: 60px;
}
.hair_beard_1_pyellow {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1278px -717px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: 0px -1275px;
width: 90px;
height: 90px;
}
.customize-option.hair_beard_1_pyellow {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1303px -732px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -25px -1290px;
width: 60px;
height: 60px;
}
.hair_beard_1_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1278px -626px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -91px -1275px;
width: 90px;
height: 90px;
}
.customize-option.hair_beard_1_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1303px -641px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -116px -1290px;
width: 60px;
height: 60px;
}
.hair_beard_1_red {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1278px -535px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -182px -1275px;
width: 90px;
height: 90px;
}
.customize-option.hair_beard_1_red {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1303px -550px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -207px -1290px;
width: 60px;
height: 60px;
}
.hair_beard_1_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1278px -444px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -273px -1275px;
width: 90px;
height: 90px;
}
.customize-option.hair_beard_1_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-1.png');
- background-position: -1303px -459px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-1.png');
+ background-position: -298px -1290px;
width: 60px;
height: 60px;
}
diff --git a/website/client/src/assets/css/sprites/spritesmith-main-10.css b/website/client/src/assets/css/sprites/spritesmith-main-10.css
new file mode 100644
index 0000000000..21f0b3478e
--- /dev/null
+++ b/website/client/src/assets/css/sprites/spritesmith-main-10.css
@@ -0,0 +1,2232 @@
+.broad_armor_special_summer2019Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: 0px 0px;
+ width: 116px;
+ height: 119px;
+}
+.broad_armor_special_summer2019Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -460px -481px;
+ width: 114px;
+ height: 90px;
+}
+.broad_armor_special_summer2019Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -117px 0px;
+ width: 116px;
+ height: 119px;
+}
+.broad_armor_special_summer2019Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -575px -481px;
+ width: 114px;
+ height: 90px;
+}
+.broad_armor_special_summerHealer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1034px -819px;
+ width: 90px;
+ height: 105px;
+}
+.broad_armor_special_summerMage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1146px 0px;
+ width: 90px;
+ height: 105px;
+}
+.broad_armor_special_summerRogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -690px -708px;
+ width: 111px;
+ height: 90px;
+}
+.broad_armor_special_summerWarrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -805px -799px;
+ width: 111px;
+ height: 90px;
+}
+.eyewear_special_summerRogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -920px -890px;
+ width: 111px;
+ height: 90px;
+}
+.eyewear_special_summerWarrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1034px 0px;
+ width: 111px;
+ height: 90px;
+}
+.head_special_summer2015Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1237px -212px;
+ width: 90px;
+ height: 90px;
+}
+.head_special_summer2015Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1237px -303px;
+ width: 90px;
+ height: 90px;
+}
+.head_special_summer2015Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -698px -424px;
+ width: 102px;
+ height: 105px;
+}
+.head_special_summer2015Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1146px -106px;
+ width: 90px;
+ height: 105px;
+}
+.head_special_summer2016Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1237px -394px;
+ width: 90px;
+ height: 90px;
+}
+.head_special_summer2016Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1237px -485px;
+ width: 90px;
+ height: 90px;
+}
+.head_special_summer2016Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -468px -242px;
+ width: 108px;
+ height: 108px;
+}
+.head_special_summer2016Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1237px -576px;
+ width: 90px;
+ height: 90px;
+}
+.head_special_summer2017Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -115px -481px;
+ width: 114px;
+ height: 102px;
+}
+.head_special_summer2017Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1237px -667px;
+ width: 90px;
+ height: 90px;
+}
+.head_special_summer2017Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -698px 0px;
+ width: 105px;
+ height: 105px;
+}
+.head_special_summer2017Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -618px -602px;
+ width: 114px;
+ height: 90px;
+}
+.head_special_summer2018Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -468px 0px;
+ width: 114px;
+ height: 120px;
+}
+.head_special_summer2018Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -468px -121px;
+ width: 114px;
+ height: 120px;
+}
+.head_special_summer2018Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: 0px -708px;
+ width: 114px;
+ height: 90px;
+}
+.head_special_summer2018Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: 0px -360px;
+ width: 114px;
+ height: 120px;
+}
+.head_special_summer2019Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -234px 0px;
+ width: 116px;
+ height: 119px;
+}
+.head_special_summer2019Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -115px -708px;
+ width: 114px;
+ height: 90px;
+}
+.head_special_summer2019Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: 0px -120px;
+ width: 116px;
+ height: 119px;
+}
+.head_special_summer2019Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -230px -708px;
+ width: 114px;
+ height: 90px;
+}
+.head_special_summerHealer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1146px -212px;
+ width: 90px;
+ height: 105px;
+}
+.head_special_summerMage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1146px -318px;
+ width: 90px;
+ height: 105px;
+}
+.head_special_summerRogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1034px -91px;
+ width: 111px;
+ height: 90px;
+}
+.head_special_summerWarrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1034px -182px;
+ width: 111px;
+ height: 90px;
+}
+.shield_special_summer2015Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1237px -758px;
+ width: 90px;
+ height: 90px;
+}
+.shield_special_summer2015Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: 0px -602px;
+ width: 102px;
+ height: 105px;
+}
+.shield_special_summer2015Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1146px -424px;
+ width: 90px;
+ height: 105px;
+}
+.shield_special_summer2016Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1237px -849px;
+ width: 90px;
+ height: 90px;
+}
+.shield_special_summer2016Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -234px -240px;
+ width: 108px;
+ height: 108px;
+}
+.shield_special_summer2016Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -103px -602px;
+ width: 102px;
+ height: 105px;
+}
+.shield_special_summer2017Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -230px -481px;
+ width: 114px;
+ height: 102px;
+}
+.shield_special_summer2017Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -698px -106px;
+ width: 105px;
+ height: 105px;
+}
+.shield_special_summer2017Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -345px -708px;
+ width: 114px;
+ height: 90px;
+}
+.shield_special_summer2018Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -115px -360px;
+ width: 114px;
+ height: 120px;
+}
+.shield_special_summer2018Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -460px -708px;
+ width: 114px;
+ height: 90px;
+}
+.shield_special_summer2018Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -230px -360px;
+ width: 114px;
+ height: 120px;
+}
+.shield_special_summer2019Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -117px -120px;
+ width: 116px;
+ height: 119px;
+}
+.shield_special_summer2019Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -575px -708px;
+ width: 114px;
+ height: 90px;
+}
+.shield_special_summer2019Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -234px -120px;
+ width: 116px;
+ height: 119px;
+}
+.shield_special_summer2019Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -804px 0px;
+ width: 114px;
+ height: 90px;
+}
+.shield_special_summerHealer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1146px -530px;
+ width: 90px;
+ height: 105px;
+}
+.shield_special_summerRogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1034px -273px;
+ width: 111px;
+ height: 90px;
+}
+.shield_special_summerWarrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1034px -364px;
+ width: 111px;
+ height: 90px;
+}
+.shop_armor_special_summer2015Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1419px -910px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_summer2015Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1419px -979px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_summer2015Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1419px -1048px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_summer2015Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1419px -1117px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_summer2016Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1419px -1186px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_summer2016Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1419px -1255px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_summer2016Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1328px -1183px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_summer2016Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -919px -819px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_summer2017Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -804px -728px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_summer2017Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -698px -530px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_summer2017Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -733px -602px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_summer2017Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -115px -981px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_summer2018Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -184px -981px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_summer2018Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -253px -981px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_summer2018Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -322px -981px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_summer2018Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -391px -981px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_summer2019Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -460px -981px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_summer2019Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -529px -981px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_summer2019Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -598px -981px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_summer2019Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -667px -981px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_summerHealer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -736px -981px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_summerMage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -805px -981px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_summerRogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -874px -981px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_summerWarrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -943px -981px;
+ width: 68px;
+ height: 68px;
+}
+.shop_body_special_summer2015Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1012px -981px;
+ width: 68px;
+ height: 68px;
+}
+.shop_body_special_summer2015Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1154px -1069px;
+ width: 68px;
+ height: 68px;
+}
+.shop_body_special_summer2015Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: 0px -1357px;
+ width: 68px;
+ height: 68px;
+}
+.shop_body_special_summer2015Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -69px -1357px;
+ width: 68px;
+ height: 68px;
+}
+.shop_body_special_summerHealer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -138px -1357px;
+ width: 68px;
+ height: 68px;
+}
+.shop_body_special_summerMage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -207px -1357px;
+ width: 68px;
+ height: 68px;
+}
+.shop_eyewear_special_summerRogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -276px -1357px;
+ width: 68px;
+ height: 68px;
+}
+.shop_eyewear_special_summerWarrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -345px -1357px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_summer2015Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -414px -1357px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_summer2015Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -483px -1357px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_summer2015Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -552px -1357px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_summer2015Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -621px -1357px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_summer2016Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -690px -1357px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_summer2016Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -759px -1357px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_summer2016Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -828px -1357px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_summer2016Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -897px -1357px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_summer2017Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -966px -1357px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_summer2017Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1035px -1357px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_summer2017Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1104px -1357px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_summer2017Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1173px -1357px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_summer2018Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1242px -1357px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_summer2018Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1311px -1357px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_summer2018Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1380px -1357px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_summer2018Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: 0px -1426px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_summer2019Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -69px -1426px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_summer2019Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -138px -1426px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_summer2019Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -207px -1426px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_summer2019Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -276px -1426px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_summerHealer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -345px -1426px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_summerMage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -414px -1426px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_summerRogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -483px -1426px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_summerWarrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -552px -1426px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_summer2015Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -621px -1426px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_summer2015Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -690px -1426px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_summer2015Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -759px -1426px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_summer2016Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -828px -1426px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_summer2016Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -897px -1426px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_summer2016Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -966px -1426px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_summer2017Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1035px -1426px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_summer2017Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1104px -1426px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_summer2017Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1173px -1426px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_summer2018Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1242px -1426px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_summer2018Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1311px -1426px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_summer2018Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1380px -1426px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_summer2019Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1510px 0px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_summer2019Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1510px -69px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_summer2019Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1510px -138px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_summer2019Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1510px -207px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_summerHealer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1510px -276px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_summerRogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1510px -345px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_summerWarrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1510px -414px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_summer2015Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1510px -483px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_summer2015Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1510px -552px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_summer2015Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1510px -621px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_summer2015Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1510px -690px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_summer2016Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1510px -759px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_summer2016Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1510px -828px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_summer2016Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1510px -897px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_summer2016Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1510px -966px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_summer2017Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1510px -1035px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_summer2017Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1510px -1104px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_summer2017Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1510px -1173px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_summer2017Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1510px -1242px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_summer2018Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1510px -1311px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_summer2018Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1510px -1380px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_summer2018Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: 0px -1495px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_summer2018Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -69px -1495px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_summer2019Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -138px -1495px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_summer2019Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -207px -1495px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_summer2019Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -276px -1495px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_summer2019Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -345px -1495px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_summerHealer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -414px -1495px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_summerMage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -483px -1495px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_summerRogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -552px -1495px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_summerWarrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -621px -1495px;
+ width: 68px;
+ height: 68px;
+}
+.slim_armor_special_summer2015Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1237px -940px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_special_summer2015Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1237px -1031px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_special_summer2015Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -206px -602px;
+ width: 102px;
+ height: 105px;
+}
+.slim_armor_special_summer2015Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1146px -636px;
+ width: 90px;
+ height: 105px;
+}
+.slim_armor_special_summer2016Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1146px -742px;
+ width: 90px;
+ height: 105px;
+}
+.slim_armor_special_summer2016Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1146px -848px;
+ width: 90px;
+ height: 105px;
+}
+.slim_armor_special_summer2016Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1146px -954px;
+ width: 90px;
+ height: 105px;
+}
+.slim_armor_special_summer2016Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -309px -602px;
+ width: 102px;
+ height: 105px;
+}
+.slim_armor_special_summer2017Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -583px -363px;
+ width: 114px;
+ height: 105px;
+}
+.slim_armor_special_summer2017Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -94px -1175px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_special_summer2017Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -698px -212px;
+ width: 105px;
+ height: 105px;
+}
+.slim_armor_special_summer2017Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -804px -91px;
+ width: 114px;
+ height: 90px;
+}
+.slim_armor_special_summer2018Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -345px -360px;
+ width: 114px;
+ height: 120px;
+}
+.slim_armor_special_summer2018Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -460px -360px;
+ width: 114px;
+ height: 120px;
+}
+.slim_armor_special_summer2018Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -804px -182px;
+ width: 114px;
+ height: 90px;
+}
+.slim_armor_special_summer2018Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -583px 0px;
+ width: 114px;
+ height: 120px;
+}
+.slim_armor_special_summer2019Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -351px 0px;
+ width: 116px;
+ height: 119px;
+}
+.slim_armor_special_summer2019Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -804px -273px;
+ width: 114px;
+ height: 90px;
+}
+.slim_armor_special_summer2019Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -351px -120px;
+ width: 116px;
+ height: 119px;
+}
+.slim_armor_special_summer2019Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -804px -364px;
+ width: 114px;
+ height: 90px;
+}
+.slim_armor_special_summerHealer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: 0px -1069px;
+ width: 90px;
+ height: 105px;
+}
+.slim_armor_special_summerMage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -91px -1069px;
+ width: 90px;
+ height: 105px;
+}
+.slim_armor_special_summerRogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1034px -455px;
+ width: 111px;
+ height: 90px;
+}
+.slim_armor_special_summerWarrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1034px -546px;
+ width: 111px;
+ height: 90px;
+}
+.weapon_special_summer2015Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -185px -1175px;
+ width: 90px;
+ height: 90px;
+}
+.weapon_special_summer2015Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -276px -1175px;
+ width: 90px;
+ height: 90px;
+}
+.weapon_special_summer2015Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -412px -602px;
+ width: 102px;
+ height: 105px;
+}
+.weapon_special_summer2015Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -182px -1069px;
+ width: 90px;
+ height: 105px;
+}
+.weapon_special_summer2016Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -367px -1175px;
+ width: 90px;
+ height: 90px;
+}
+.weapon_special_summer2016Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -458px -1175px;
+ width: 90px;
+ height: 90px;
+}
+.weapon_special_summer2016Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -343px -240px;
+ width: 108px;
+ height: 108px;
+}
+.weapon_special_summer2016Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -515px -602px;
+ width: 102px;
+ height: 105px;
+}
+.weapon_special_summer2017Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -345px -481px;
+ width: 114px;
+ height: 102px;
+}
+.weapon_special_summer2017Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -273px -1069px;
+ width: 105px;
+ height: 90px;
+}
+.weapon_special_summer2017Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -698px -318px;
+ width: 105px;
+ height: 105px;
+}
+.weapon_special_summer2017Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -804px -455px;
+ width: 114px;
+ height: 90px;
+}
+.weapon_special_summer2018Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -583px -121px;
+ width: 114px;
+ height: 120px;
+}
+.weapon_special_summer2018Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -583px -242px;
+ width: 114px;
+ height: 120px;
+}
+.weapon_special_summer2018Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -804px -546px;
+ width: 114px;
+ height: 90px;
+}
+.weapon_special_summer2018Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: 0px -481px;
+ width: 114px;
+ height: 120px;
+}
+.weapon_special_summer2019Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: 0px -240px;
+ width: 116px;
+ height: 119px;
+}
+.weapon_special_summer2019Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -804px -637px;
+ width: 114px;
+ height: 90px;
+}
+.weapon_special_summer2019Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -117px -240px;
+ width: 116px;
+ height: 119px;
+}
+.weapon_special_summer2019Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: 0px -799px;
+ width: 114px;
+ height: 90px;
+}
+.weapon_special_summerHealer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1237px 0px;
+ width: 90px;
+ height: 105px;
+}
+.weapon_special_summerMage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1237px -106px;
+ width: 90px;
+ height: 105px;
+}
+.weapon_special_summerRogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1034px -637px;
+ width: 111px;
+ height: 90px;
+}
+.weapon_special_summerWarrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1034px -728px;
+ width: 111px;
+ height: 90px;
+}
+.back_special_takeThis {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: 0px -981px;
+ width: 114px;
+ height: 87px;
+}
+.body_special_takeThis {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -549px -1175px;
+ width: 90px;
+ height: 90px;
+}
+.broad_armor_special_takeThis {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -640px -1175px;
+ width: 90px;
+ height: 90px;
+}
+.head_special_takeThis {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -731px -1175px;
+ width: 90px;
+ height: 90px;
+}
+.shield_special_takeThis {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -872px -1069px;
+ width: 93px;
+ height: 90px;
+}
+.shop_armor_special_takeThis {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -690px -1495px;
+ width: 68px;
+ height: 68px;
+}
+.shop_back_special_takeThis {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -759px -1495px;
+ width: 68px;
+ height: 68px;
+}
+.shop_body_special_takeThis {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -828px -1495px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_takeThis {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -897px -1495px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_takeThis {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -966px -1495px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_takeThis {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1035px -1495px;
+ width: 68px;
+ height: 68px;
+}
+.slim_armor_special_takeThis {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -822px -1175px;
+ width: 90px;
+ height: 90px;
+}
+.weapon_special_takeThis {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -913px -1175px;
+ width: 90px;
+ height: 90px;
+}
+.broad_armor_special_candycane {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1004px -1175px;
+ width: 90px;
+ height: 90px;
+}
+.broad_armor_special_ski {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1095px -1175px;
+ width: 90px;
+ height: 90px;
+}
+.broad_armor_special_snowflake {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1186px -1175px;
+ width: 90px;
+ height: 90px;
+}
+.broad_armor_special_winter2015Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1328px 0px;
+ width: 90px;
+ height: 90px;
+}
+.broad_armor_special_winter2015Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1328px -91px;
+ width: 90px;
+ height: 90px;
+}
+.broad_armor_special_winter2015Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -484px -1069px;
+ width: 96px;
+ height: 90px;
+}
+.broad_armor_special_winter2015Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1328px -182px;
+ width: 90px;
+ height: 90px;
+}
+.broad_armor_special_winter2016Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -966px -1069px;
+ width: 93px;
+ height: 90px;
+}
+.broad_armor_special_winter2016Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1328px -273px;
+ width: 90px;
+ height: 90px;
+}
+.broad_armor_special_winter2016Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1328px -364px;
+ width: 90px;
+ height: 90px;
+}
+.broad_armor_special_winter2016Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1328px -455px;
+ width: 90px;
+ height: 90px;
+}
+.broad_armor_special_winter2017Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1328px -546px;
+ width: 90px;
+ height: 90px;
+}
+.broad_armor_special_winter2017Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1328px -637px;
+ width: 90px;
+ height: 90px;
+}
+.broad_armor_special_winter2017Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1328px -728px;
+ width: 90px;
+ height: 90px;
+}
+.broad_armor_special_winter2017Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1328px -819px;
+ width: 90px;
+ height: 90px;
+}
+.broad_armor_special_winter2018Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -115px -799px;
+ width: 114px;
+ height: 90px;
+}
+.broad_armor_special_winter2018Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -230px -799px;
+ width: 114px;
+ height: 90px;
+}
+.broad_armor_special_winter2018Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -345px -799px;
+ width: 114px;
+ height: 90px;
+}
+.broad_armor_special_winter2018Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -460px -799px;
+ width: 114px;
+ height: 90px;
+}
+.broad_armor_special_winter2019Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -575px -799px;
+ width: 114px;
+ height: 90px;
+}
+.broad_armor_special_winter2019Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -690px -799px;
+ width: 114px;
+ height: 90px;
+}
+.broad_armor_special_winter2019Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -919px 0px;
+ width: 114px;
+ height: 90px;
+}
+.broad_armor_special_winter2019Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -919px -91px;
+ width: 114px;
+ height: 90px;
+}
+.broad_armor_special_yeti {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1328px -910px;
+ width: 90px;
+ height: 90px;
+}
+.head_special_candycane {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1328px -1001px;
+ width: 90px;
+ height: 90px;
+}
+.head_special_nye {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1328px -1092px;
+ width: 90px;
+ height: 90px;
+}
+.head_special_nye2014 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: 0px -1266px;
+ width: 90px;
+ height: 90px;
+}
+.head_special_nye2015 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -91px -1266px;
+ width: 90px;
+ height: 90px;
+}
+.head_special_nye2016 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -182px -1266px;
+ width: 90px;
+ height: 90px;
+}
+.head_special_nye2017 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -273px -1266px;
+ width: 90px;
+ height: 90px;
+}
+.head_special_nye2018 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -919px -182px;
+ width: 114px;
+ height: 90px;
+}
+.head_special_ski {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -364px -1266px;
+ width: 90px;
+ height: 90px;
+}
+.head_special_snowflake {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -455px -1266px;
+ width: 90px;
+ height: 90px;
+}
+.head_special_winter2015Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -546px -1266px;
+ width: 90px;
+ height: 90px;
+}
+.head_special_winter2015Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -637px -1266px;
+ width: 90px;
+ height: 90px;
+}
+.head_special_winter2015Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -581px -1069px;
+ width: 96px;
+ height: 90px;
+}
+.head_special_winter2015Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -728px -1266px;
+ width: 90px;
+ height: 90px;
+}
+.head_special_winter2016Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1060px -1069px;
+ width: 93px;
+ height: 90px;
+}
+.head_special_winter2016Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -819px -1266px;
+ width: 90px;
+ height: 90px;
+}
+.head_special_winter2016Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -910px -1266px;
+ width: 90px;
+ height: 90px;
+}
+.head_special_winter2016Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1001px -1266px;
+ width: 90px;
+ height: 90px;
+}
+.head_special_winter2017Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1092px -1266px;
+ width: 90px;
+ height: 90px;
+}
+.head_special_winter2017Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1183px -1266px;
+ width: 90px;
+ height: 90px;
+}
+.head_special_winter2017Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1274px -1266px;
+ width: 90px;
+ height: 90px;
+}
+.head_special_winter2017Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1419px 0px;
+ width: 90px;
+ height: 90px;
+}
+.head_special_winter2018Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -919px -273px;
+ width: 114px;
+ height: 90px;
+}
+.head_special_winter2018Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -919px -364px;
+ width: 114px;
+ height: 90px;
+}
+.head_special_winter2018Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -919px -455px;
+ width: 114px;
+ height: 90px;
+}
+.head_special_winter2018Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -919px -546px;
+ width: 114px;
+ height: 90px;
+}
+.head_special_winter2019Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -919px -637px;
+ width: 114px;
+ height: 90px;
+}
+.head_special_winter2019Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -919px -728px;
+ width: 114px;
+ height: 90px;
+}
+.head_special_winter2019Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: 0px -890px;
+ width: 114px;
+ height: 90px;
+}
+.head_special_winter2019Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -115px -890px;
+ width: 114px;
+ height: 90px;
+}
+.head_special_yeti {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1419px -91px;
+ width: 90px;
+ height: 90px;
+}
+.shield_special_ski {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -379px -1069px;
+ width: 104px;
+ height: 90px;
+}
+.shield_special_snowflake {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1419px -182px;
+ width: 90px;
+ height: 90px;
+}
+.shield_special_winter2015Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1419px -273px;
+ width: 90px;
+ height: 90px;
+}
+.shield_special_winter2015Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -678px -1069px;
+ width: 96px;
+ height: 90px;
+}
+.shield_special_winter2015Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1419px -364px;
+ width: 90px;
+ height: 90px;
+}
+.shield_special_winter2016Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: 0px -1175px;
+ width: 93px;
+ height: 90px;
+}
+.shield_special_winter2016Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1419px -455px;
+ width: 90px;
+ height: 90px;
+}
+.shield_special_winter2016Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1419px -546px;
+ width: 90px;
+ height: 90px;
+}
+.shield_special_winter2017Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1419px -637px;
+ width: 90px;
+ height: 90px;
+}
+.shield_special_winter2017Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -775px -1069px;
+ width: 96px;
+ height: 90px;
+}
+.shield_special_winter2017Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1419px -728px;
+ width: 90px;
+ height: 90px;
+}
+.shield_special_winter2018Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -230px -890px;
+ width: 114px;
+ height: 90px;
+}
+.shield_special_winter2018Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -345px -890px;
+ width: 114px;
+ height: 90px;
+}
+.shield_special_winter2018Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -460px -890px;
+ width: 114px;
+ height: 90px;
+}
+.shield_special_winter2019Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -575px -890px;
+ width: 114px;
+ height: 90px;
+}
+.shield_special_winter2019Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -690px -890px;
+ width: 114px;
+ height: 90px;
+}
+.shield_special_winter2019Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -805px -890px;
+ width: 114px;
+ height: 90px;
+}
+.shield_special_yeti {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1419px -819px;
+ width: 90px;
+ height: 90px;
+}
+.shop_armor_special_candycane {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1104px -1495px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_ski {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1173px -1495px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_snowflake {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1242px -1495px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_winter2015Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1311px -1495px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_winter2015Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1380px -1495px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_winter2015Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1449px -1495px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_winter2015Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1579px 0px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_winter2016Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1579px -69px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_winter2016Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1579px -138px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_winter2016Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1579px -207px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_winter2016Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1579px -276px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_winter2017Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1579px -345px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_winter2017Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1579px -414px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_winter2017Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1579px -483px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_winter2017Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1579px -552px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_winter2018Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1579px -621px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_winter2018Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1579px -690px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_winter2018Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1579px -759px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_winter2018Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1579px -828px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_winter2019Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1579px -897px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_winter2019Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1579px -966px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_winter2019Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1579px -1035px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_winter2019Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1579px -1104px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_yeti {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1579px -1173px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_candycane {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1579px -1242px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_nye {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1579px -1311px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_nye2014 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1579px -1380px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_nye2015 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1579px -1449px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_nye2016 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: 0px -1564px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_nye2017 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -69px -1564px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_nye2018 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -138px -1564px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_ski {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -207px -1564px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_snowflake {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -276px -1564px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_winter2015Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -345px -1564px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_winter2015Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -414px -1564px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_winter2015Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -483px -1564px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_winter2015Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -552px -1564px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_winter2016Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -621px -1564px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_winter2016Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -690px -1564px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_winter2016Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -759px -1564px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_winter2016Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -828px -1564px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_winter2017Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -897px -1564px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_winter2017Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -966px -1564px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_winter2017Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1035px -1564px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_winter2017Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1104px -1564px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_winter2018Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1173px -1564px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_winter2018Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1242px -1564px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_winter2018Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1311px -1564px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_winter2018Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1380px -1564px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_winter2019Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1449px -1564px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_winter2019Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1518px -1564px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_winter2019Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1648px 0px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_winter2019Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1648px -69px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_yeti {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1648px -138px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_ski {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1648px -207px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_snowflake {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1648px -276px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_winter2015Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1648px -345px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_winter2015Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1648px -414px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_winter2015Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1648px -483px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_winter2016Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1648px -552px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_winter2016Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1648px -621px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_winter2016Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1648px -690px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_winter2017Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1648px -759px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_winter2017Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1648px -828px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_winter2017Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1648px -897px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_winter2018Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1648px -966px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_winter2018Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1648px -1035px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_winter2018Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1648px -1104px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_winter2019Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1648px -1173px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_winter2019Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1648px -1242px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_winter2019Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1648px -1311px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_yeti {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1648px -1380px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_candycane {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1648px -1449px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_ski {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -1648px -1518px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_snowflake {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: 0px -1633px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_winter2015Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -69px -1633px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_winter2015Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -138px -1633px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_winter2015Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -207px -1633px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_winter2015Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -276px -1633px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_winter2016Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -345px -1633px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_winter2016Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -414px -1633px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_winter2016Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -483px -1633px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_winter2016Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -552px -1633px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_winter2017Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -621px -1633px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_winter2017Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -690px -1633px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_winter2017Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -759px -1633px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_winter2017Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-10.png');
+ background-position: -828px -1633px;
+ width: 68px;
+ height: 68px;
+}
diff --git a/website/client/assets/css/sprites/spritesmith-main-11.css b/website/client/src/assets/css/sprites/spritesmith-main-11.css
similarity index 55%
rename from website/client/assets/css/sprites/spritesmith-main-11.css
rename to website/client/src/assets/css/sprites/spritesmith-main-11.css
index 706f14a9ac..9816889f95 100644
--- a/website/client/assets/css/sprites/spritesmith-main-11.css
+++ b/website/client/src/assets/css/sprites/spritesmith-main-11.css
@@ -1,2639 +1,2639 @@
.shop_weapon_special_winter2018Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1380px -1572px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -575px -121px;
width: 68px;
height: 68px;
}
.shop_weapon_special_winter2018Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -684px -1274px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -575px -190px;
width: 68px;
height: 68px;
}
.shop_weapon_special_winter2018Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1535px -276px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -575px -259px;
width: 68px;
height: 68px;
}
.shop_weapon_special_winter2018Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1173px -1572px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -575px -328px;
width: 68px;
height: 68px;
}
.shop_weapon_special_winter2019Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1604px -552px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -575px -397px;
width: 68px;
height: 68px;
}
.shop_weapon_special_winter2019Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1604px -414px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -575px -466px;
width: 68px;
height: 68px;
}
.shop_weapon_special_winter2019Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1604px -345px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -546px -1274px;
width: 68px;
height: 68px;
}
.shop_weapon_special_winter2019Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1604px -276px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -615px -1274px;
width: 68px;
height: 68px;
}
.shop_weapon_special_yeti {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1604px -207px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -684px -1274px;
width: 68px;
height: 68px;
}
.slim_armor_special_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1001px -1001px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -760px 0px;
width: 90px;
height: 90px;
}
.slim_armor_special_ski {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1124px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -760px -91px;
width: 90px;
height: 90px;
}
.slim_armor_special_snowflake {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -182px -1092px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -760px -182px;
width: 90px;
height: 90px;
}
.slim_armor_special_winter2015Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -455px -1092px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -760px -273px;
width: 90px;
height: 90px;
}
.slim_armor_special_winter2015Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1215px -1092px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -760px -364px;
width: 90px;
height: 90px;
}
.slim_armor_special_winter2015Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
background-position: -660px -400px;
width: 96px;
height: 90px;
}
.slim_armor_special_winter2015Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1183px -1183px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -760px -455px;
width: 90px;
height: 90px;
}
.slim_armor_special_winter2016Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
background-position: -511px -637px;
width: 93px;
height: 90px;
}
.slim_armor_special_winter2016Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -760px -91px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_special_winter2016Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -760px -182px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_special_winter2016Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -760px -273px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_special_winter2017Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -760px -364px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_special_winter2017Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -760px -455px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_special_winter2017Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
background-position: -760px -546px;
width: 90px;
height: 90px;
}
-.slim_armor_special_winter2017Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
+.slim_armor_special_winter2016Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
background-position: -760px -637px;
width: 90px;
height: 90px;
}
+.slim_armor_special_winter2016Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: 0px -728px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_special_winter2017Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -91px -728px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_special_winter2017Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -182px -728px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_special_winter2017Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -273px -728px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_special_winter2017Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -364px -728px;
+ width: 90px;
+ height: 90px;
+}
.slim_armor_special_winter2018Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: 0px -182px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: 0px 0px;
width: 114px;
height: 90px;
}
.slim_armor_special_winter2018Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -115px -182px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -115px 0px;
width: 114px;
height: 90px;
}
.slim_armor_special_winter2018Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -230px -182px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: 0px -91px;
width: 114px;
height: 90px;
}
.slim_armor_special_winter2018Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -345px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -115px -91px;
width: 114px;
height: 90px;
}
.slim_armor_special_winter2019Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -345px -91px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -230px 0px;
width: 114px;
height: 90px;
}
.slim_armor_special_winter2019Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -345px -182px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -230px -91px;
width: 114px;
height: 90px;
}
.slim_armor_special_winter2019Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: 0px -273px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: 0px -182px;
width: 114px;
height: 90px;
}
.slim_armor_special_winter2019Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -115px -273px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -115px -182px;
width: 114px;
height: 90px;
}
.slim_armor_special_yeti {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -455px -1183px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -455px -728px;
width: 90px;
height: 90px;
}
.weapon_special_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -546px -1183px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -546px -728px;
width: 90px;
height: 90px;
}
.weapon_special_ski {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -728px -1183px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -637px -728px;
width: 90px;
height: 90px;
}
.weapon_special_snowflake {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -819px -1183px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -728px -728px;
width: 90px;
height: 90px;
}
.weapon_special_winter2015Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -910px -1183px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -851px 0px;
width: 90px;
height: 90px;
}
.weapon_special_winter2015Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1092px -1183px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -851px -91px;
width: 90px;
height: 90px;
}
.weapon_special_winter2015Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -414px -637px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -660px -491px;
width: 96px;
height: 90px;
}
.weapon_special_winter2015Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1306px -182px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -851px -182px;
width: 90px;
height: 90px;
}
.weapon_special_winter2016Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
background-position: -605px -637px;
width: 93px;
height: 90px;
}
.weapon_special_winter2016Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1306px -637px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -851px -273px;
width: 90px;
height: 90px;
}
.weapon_special_winter2016Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1306px -819px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -851px -364px;
width: 90px;
height: 90px;
}
.weapon_special_winter2016Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1306px -1001px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -851px -455px;
width: 90px;
height: 90px;
}
.weapon_special_winter2017Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1306px -1092px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -851px -546px;
width: 90px;
height: 90px;
}
.weapon_special_winter2017Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1306px -1183px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -851px -637px;
width: 90px;
height: 90px;
}
.weapon_special_winter2017Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: 0px -1274px;
- width: 90px;
- height: 90px;
-}
-.weapon_special_winter2017Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -760px 0px;
- width: 90px;
- height: 90px;
-}
-.weapon_special_winter2018Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: 0px -364px;
- width: 114px;
- height: 90px;
-}
-.weapon_special_winter2018Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -115px -364px;
- width: 114px;
- height: 90px;
-}
-.weapon_special_winter2018Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -230px -364px;
- width: 114px;
- height: 90px;
-}
-.weapon_special_winter2018Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -345px -364px;
- width: 114px;
- height: 90px;
-}
-.weapon_special_winter2019Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -460px 0px;
- width: 114px;
- height: 90px;
-}
-.weapon_special_winter2019Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -460px -91px;
- width: 114px;
- height: 90px;
-}
-.weapon_special_winter2019Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -115px 0px;
- width: 114px;
- height: 90px;
-}
-.weapon_special_winter2019Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -460px -273px;
- width: 114px;
- height: 90px;
-}
-.weapon_special_yeti {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -91px -728px;
- width: 90px;
- height: 90px;
-}
-.back_special_wondercon_black {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -182px -728px;
- width: 90px;
- height: 90px;
-}
-.back_special_wondercon_red {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -273px -728px;
- width: 90px;
- height: 90px;
-}
-.body_special_wondercon_black {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -364px -728px;
- width: 90px;
- height: 90px;
-}
-.body_special_wondercon_gold {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -455px -728px;
- width: 90px;
- height: 90px;
-}
-.body_special_wondercon_red {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -546px -728px;
- width: 90px;
- height: 90px;
-}
-.eyewear_special_wondercon_black {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -637px -728px;
- width: 90px;
- height: 90px;
-}
-.eyewear_special_wondercon_red {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -728px -728px;
- width: 90px;
- height: 90px;
-}
-.shop_back_special_wondercon_black {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1604px -138px;
- width: 68px;
- height: 68px;
-}
-.shop_back_special_wondercon_red {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1604px -69px;
- width: 68px;
- height: 68px;
-}
-.shop_body_special_wondercon_black {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1604px 0px;
- width: 68px;
- height: 68px;
-}
-.shop_body_special_wondercon_gold {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1518px -1503px;
- width: 68px;
- height: 68px;
-}
-.shop_body_special_wondercon_red {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1449px -1503px;
- width: 68px;
- height: 68px;
-}
-.shop_eyewear_special_wondercon_black {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1380px -1503px;
- width: 68px;
- height: 68px;
-}
-.shop_eyewear_special_wondercon_red {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1311px -1503px;
- width: 68px;
- height: 68px;
-}
-.eyewear_special_aetherMask {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -460px -364px;
- width: 114px;
- height: 90px;
-}
-.eyewear_special_blackHalfMoon {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
background-position: -851px -728px;
width: 90px;
height: 90px;
}
-.customize-option.eyewear_special_blackHalfMoon {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -876px -743px;
- width: 60px;
- height: 60px;
-}
-.eyewear_special_blackTopFrame {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
+.weapon_special_winter2017Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
background-position: 0px -819px;
width: 90px;
height: 90px;
}
-.customize-option.eyewear_special_blackTopFrame {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -25px -834px;
- width: 60px;
- height: 60px;
-}
-.eyewear_special_blueHalfMoon {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -91px -819px;
- width: 90px;
- height: 90px;
-}
-.customize-option.eyewear_special_blueHalfMoon {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -116px -834px;
- width: 60px;
- height: 60px;
-}
-.eyewear_special_blueTopFrame {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -182px -819px;
- width: 90px;
- height: 90px;
-}
-.customize-option.eyewear_special_blueTopFrame {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -207px -834px;
- width: 60px;
- height: 60px;
-}
-.eyewear_special_greenHalfMoon {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -273px -819px;
- width: 90px;
- height: 90px;
-}
-.customize-option.eyewear_special_greenHalfMoon {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -298px -834px;
- width: 60px;
- height: 60px;
-}
-.eyewear_special_greenTopFrame {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -364px -819px;
- width: 90px;
- height: 90px;
-}
-.customize-option.eyewear_special_greenTopFrame {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -389px -834px;
- width: 60px;
- height: 60px;
-}
-.eyewear_special_pinkHalfMoon {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -455px -819px;
- width: 90px;
- height: 90px;
-}
-.customize-option.eyewear_special_pinkHalfMoon {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -480px -834px;
- width: 60px;
- height: 60px;
-}
-.eyewear_special_pinkTopFrame {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -546px -819px;
- width: 90px;
- height: 90px;
-}
-.customize-option.eyewear_special_pinkTopFrame {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -571px -834px;
- width: 60px;
- height: 60px;
-}
-.eyewear_special_redHalfMoon {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -637px -819px;
- width: 90px;
- height: 90px;
-}
-.customize-option.eyewear_special_redHalfMoon {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -662px -834px;
- width: 60px;
- height: 60px;
-}
-.eyewear_special_redTopFrame {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -728px -819px;
- width: 90px;
- height: 90px;
-}
-.customize-option.eyewear_special_redTopFrame {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -753px -834px;
- width: 60px;
- height: 60px;
-}
-.eyewear_special_whiteHalfMoon {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -819px -819px;
- width: 90px;
- height: 90px;
-}
-.customize-option.eyewear_special_whiteHalfMoon {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -844px -834px;
- width: 60px;
- height: 60px;
-}
-.eyewear_special_whiteTopFrame {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -942px 0px;
- width: 90px;
- height: 90px;
-}
-.customize-option.eyewear_special_whiteTopFrame {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -967px -15px;
- width: 60px;
- height: 60px;
-}
-.eyewear_special_yellowHalfMoon {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -942px -91px;
- width: 90px;
- height: 90px;
-}
-.customize-option.eyewear_special_yellowHalfMoon {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -967px -106px;
- width: 60px;
- height: 60px;
-}
-.eyewear_special_yellowTopFrame {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -942px -182px;
- width: 90px;
- height: 90px;
-}
-.customize-option.eyewear_special_yellowTopFrame {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -967px -197px;
- width: 60px;
- height: 60px;
-}
-.shop_eyewear_special_aetherMask {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1242px -1503px;
- width: 68px;
- height: 68px;
-}
-.shop_eyewear_special_blackHalfMoon {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1173px -1503px;
- width: 68px;
- height: 68px;
-}
-.shop_eyewear_special_blackTopFrame {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1104px -1503px;
- width: 68px;
- height: 68px;
-}
-.shop_eyewear_special_blueHalfMoon {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1035px -1503px;
- width: 68px;
- height: 68px;
-}
-.shop_eyewear_special_blueTopFrame {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -966px -1503px;
- width: 68px;
- height: 68px;
-}
-.shop_eyewear_special_greenHalfMoon {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -897px -1503px;
- width: 68px;
- height: 68px;
-}
-.shop_eyewear_special_greenTopFrame {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -828px -1503px;
- width: 68px;
- height: 68px;
-}
-.shop_eyewear_special_pinkHalfMoon {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -759px -1503px;
- width: 68px;
- height: 68px;
-}
-.shop_eyewear_special_pinkTopFrame {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -690px -1503px;
- width: 68px;
- height: 68px;
-}
-.shop_eyewear_special_redHalfMoon {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -621px -1503px;
- width: 68px;
- height: 68px;
-}
-.shop_eyewear_special_redTopFrame {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -552px -1503px;
- width: 68px;
- height: 68px;
-}
-.shop_eyewear_special_whiteHalfMoon {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -483px -1503px;
- width: 68px;
- height: 68px;
-}
-.shop_eyewear_special_whiteTopFrame {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -414px -1503px;
- width: 68px;
- height: 68px;
-}
-.shop_eyewear_special_yellowHalfMoon {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -345px -1503px;
- width: 68px;
- height: 68px;
-}
-.shop_eyewear_special_yellowTopFrame {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -276px -1503px;
- width: 68px;
- height: 68px;
-}
-.headAccessory_special_bearEars {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1001px -1183px;
- width: 90px;
- height: 90px;
-}
-.customize-option.headAccessory_special_bearEars {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1026px -1198px;
- width: 60px;
- height: 60px;
-}
-.headAccessory_special_blackHeadband {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -460px -182px;
+.weapon_special_winter2018Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -230px -182px;
width: 114px;
height: 90px;
}
-.headAccessory_special_blueHeadband {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: 0px 0px;
+.weapon_special_winter2018Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -345px 0px;
width: 114px;
height: 90px;
}
-.headAccessory_special_cactusEars {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1306px 0px;
- width: 90px;
+.weapon_special_winter2018Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -345px -91px;
+ width: 114px;
height: 90px;
}
-.customize-option.headAccessory_special_cactusEars {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1331px -15px;
- width: 60px;
- height: 60px;
-}
-.headAccessory_special_foxEars {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1306px -91px;
- width: 90px;
+.weapon_special_winter2018Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -345px -182px;
+ width: 114px;
height: 90px;
}
-.customize-option.headAccessory_special_foxEars {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1331px -106px;
- width: 60px;
- height: 60px;
+.weapon_special_winter2019Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: 0px -273px;
+ width: 114px;
+ height: 90px;
}
-.headAccessory_special_greenHeadband {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
+.weapon_special_winter2019Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -115px -273px;
+ width: 114px;
+ height: 90px;
+}
+.weapon_special_winter2019Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
background-position: -230px -273px;
width: 114px;
height: 90px;
}
-.headAccessory_special_lionEars {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1306px -273px;
- width: 90px;
- height: 90px;
-}
-.customize-option.headAccessory_special_lionEars {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1331px -288px;
- width: 60px;
- height: 60px;
-}
-.headAccessory_special_pandaEars {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1306px -364px;
- width: 90px;
- height: 90px;
-}
-.customize-option.headAccessory_special_pandaEars {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1331px -379px;
- width: 60px;
- height: 60px;
-}
-.headAccessory_special_pigEars {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1306px -455px;
- width: 90px;
- height: 90px;
-}
-.customize-option.headAccessory_special_pigEars {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1331px -470px;
- width: 60px;
- height: 60px;
-}
-.headAccessory_special_pinkHeadband {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -230px -91px;
+.weapon_special_winter2019Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -345px -273px;
width: 114px;
height: 90px;
}
-.headAccessory_special_redHeadband {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -230px 0px;
- width: 114px;
- height: 90px;
-}
-.headAccessory_special_tigerEars {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1306px -728px;
+.weapon_special_yeti {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -91px -819px;
width: 90px;
height: 90px;
}
-.customize-option.headAccessory_special_tigerEars {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1331px -743px;
- width: 60px;
- height: 60px;
-}
-.headAccessory_special_whiteHeadband {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -115px -91px;
- width: 114px;
- height: 90px;
-}
-.headAccessory_special_wolfEars {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1306px -910px;
+.back_special_wondercon_black {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -182px -819px;
width: 90px;
height: 90px;
}
-.customize-option.headAccessory_special_wolfEars {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1331px -925px;
- width: 60px;
- height: 60px;
-}
-.headAccessory_special_yellowHeadband {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: 0px -91px;
- width: 114px;
+.back_special_wondercon_red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -273px -819px;
+ width: 90px;
height: 90px;
}
-.shop_headAccessory_special_bearEars {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1098px -1274px;
- width: 68px;
- height: 68px;
+.body_special_wondercon_black {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -364px -819px;
+ width: 90px;
+ height: 90px;
}
-.shop_headAccessory_special_blackHeadband {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1029px -1274px;
- width: 68px;
- height: 68px;
+.body_special_wondercon_gold {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -455px -819px;
+ width: 90px;
+ height: 90px;
}
-.shop_headAccessory_special_blueHeadband {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -960px -1274px;
- width: 68px;
- height: 68px;
+.body_special_wondercon_red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -546px -819px;
+ width: 90px;
+ height: 90px;
}
-.shop_headAccessory_special_cactusEars {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -891px -1274px;
- width: 68px;
- height: 68px;
+.eyewear_special_wondercon_black {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -637px -819px;
+ width: 90px;
+ height: 90px;
}
-.shop_headAccessory_special_foxEars {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -822px -1274px;
- width: 68px;
- height: 68px;
+.eyewear_special_wondercon_red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -728px -819px;
+ width: 90px;
+ height: 90px;
}
-.shop_headAccessory_special_greenHeadband {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
+.shop_back_special_wondercon_black {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
background-position: -753px -1274px;
width: 68px;
height: 68px;
}
-.shop_headAccessory_special_lionEars {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -615px -1274px;
+.shop_back_special_wondercon_red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -822px -1274px;
width: 68px;
height: 68px;
}
-.shop_headAccessory_special_pandaEars {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -546px -1274px;
+.shop_body_special_wondercon_black {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -891px -1274px;
width: 68px;
height: 68px;
}
-.shop_headAccessory_special_pigEars {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1035px -1572px;
+.shop_body_special_wondercon_gold {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -960px -1274px;
width: 68px;
height: 68px;
}
-.shop_headAccessory_special_pinkHeadband {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1535px -552px;
+.shop_body_special_wondercon_red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1029px -1274px;
width: 68px;
height: 68px;
}
-.shop_headAccessory_special_redHeadband {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -575px -190px;
+.shop_eyewear_special_wondercon_black {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1098px -1274px;
width: 68px;
height: 68px;
}
-.shop_headAccessory_special_tigerEars {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -575px -259px;
+.shop_eyewear_special_wondercon_red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1167px -1274px;
width: 68px;
height: 68px;
}
-.shop_headAccessory_special_whiteHeadband {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -575px -328px;
+.eyewear_special_aetherMask {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: 0px -364px;
+ width: 114px;
+ height: 90px;
+}
+.eyewear_special_blackHalfMoon {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -819px -819px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.eyewear_special_blackHalfMoon {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -844px -834px;
+ width: 60px;
+ height: 60px;
+}
+.eyewear_special_blackTopFrame {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -942px 0px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.eyewear_special_blackTopFrame {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -967px -15px;
+ width: 60px;
+ height: 60px;
+}
+.eyewear_special_blueHalfMoon {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -942px -91px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.eyewear_special_blueHalfMoon {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -967px -106px;
+ width: 60px;
+ height: 60px;
+}
+.eyewear_special_blueTopFrame {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -942px -182px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.eyewear_special_blueTopFrame {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -967px -197px;
+ width: 60px;
+ height: 60px;
+}
+.eyewear_special_greenHalfMoon {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -942px -273px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.eyewear_special_greenHalfMoon {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -967px -288px;
+ width: 60px;
+ height: 60px;
+}
+.eyewear_special_greenTopFrame {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -942px -364px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.eyewear_special_greenTopFrame {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -967px -379px;
+ width: 60px;
+ height: 60px;
+}
+.eyewear_special_pinkHalfMoon {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -942px -455px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.eyewear_special_pinkHalfMoon {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -967px -470px;
+ width: 60px;
+ height: 60px;
+}
+.eyewear_special_pinkTopFrame {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -942px -546px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.eyewear_special_pinkTopFrame {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -967px -561px;
+ width: 60px;
+ height: 60px;
+}
+.eyewear_special_redHalfMoon {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -942px -637px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.eyewear_special_redHalfMoon {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -967px -652px;
+ width: 60px;
+ height: 60px;
+}
+.eyewear_special_redTopFrame {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -942px -728px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.eyewear_special_redTopFrame {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -967px -743px;
+ width: 60px;
+ height: 60px;
+}
+.eyewear_special_whiteHalfMoon {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -942px -819px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.eyewear_special_whiteHalfMoon {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -967px -834px;
+ width: 60px;
+ height: 60px;
+}
+.eyewear_special_whiteTopFrame {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: 0px -910px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.eyewear_special_whiteTopFrame {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -25px -925px;
+ width: 60px;
+ height: 60px;
+}
+.eyewear_special_yellowHalfMoon {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -91px -910px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.eyewear_special_yellowHalfMoon {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -116px -925px;
+ width: 60px;
+ height: 60px;
+}
+.eyewear_special_yellowTopFrame {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -182px -910px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.eyewear_special_yellowTopFrame {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -207px -925px;
+ width: 60px;
+ height: 60px;
+}
+.shop_eyewear_special_aetherMask {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1236px -1274px;
width: 68px;
height: 68px;
}
-.shop_headAccessory_special_wolfEars {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -575px -397px;
+.shop_eyewear_special_blackHalfMoon {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1305px -1274px;
width: 68px;
height: 68px;
}
-.shop_headAccessory_special_yellowHeadband {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -575px -466px;
+.shop_eyewear_special_blackTopFrame {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1397px 0px;
+ width: 68px;
+ height: 68px;
+}
+.shop_eyewear_special_blueHalfMoon {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1397px -69px;
+ width: 68px;
+ height: 68px;
+}
+.shop_eyewear_special_blueTopFrame {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1397px -138px;
+ width: 68px;
+ height: 68px;
+}
+.shop_eyewear_special_greenHalfMoon {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1397px -207px;
+ width: 68px;
+ height: 68px;
+}
+.shop_eyewear_special_greenTopFrame {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1397px -276px;
+ width: 68px;
+ height: 68px;
+}
+.shop_eyewear_special_pinkHalfMoon {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1397px -345px;
+ width: 68px;
+ height: 68px;
+}
+.shop_eyewear_special_pinkTopFrame {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1397px -414px;
+ width: 68px;
+ height: 68px;
+}
+.shop_eyewear_special_redHalfMoon {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1397px -483px;
+ width: 68px;
+ height: 68px;
+}
+.shop_eyewear_special_redTopFrame {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1397px -552px;
+ width: 68px;
+ height: 68px;
+}
+.shop_eyewear_special_whiteHalfMoon {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1397px -621px;
+ width: 68px;
+ height: 68px;
+}
+.shop_eyewear_special_whiteTopFrame {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1397px -690px;
+ width: 68px;
+ height: 68px;
+}
+.shop_eyewear_special_yellowHalfMoon {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1397px -759px;
+ width: 68px;
+ height: 68px;
+}
+.shop_eyewear_special_yellowTopFrame {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1397px -828px;
width: 68px;
height: 68px;
}
.head_0 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -728px -910px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -273px -910px;
width: 90px;
height: 90px;
}
.customize-option.head_0 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -753px -925px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -298px -925px;
width: 60px;
height: 60px;
}
.head_healer_1 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -819px -910px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -364px -910px;
width: 90px;
height: 90px;
}
.head_healer_2 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -910px -910px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -455px -910px;
width: 90px;
height: 90px;
}
.head_healer_3 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1033px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -546px -910px;
width: 90px;
height: 90px;
}
.head_healer_4 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1033px -91px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -637px -910px;
width: 90px;
height: 90px;
}
.head_healer_5 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1033px -182px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -728px -910px;
width: 90px;
height: 90px;
}
.head_rogue_1 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1033px -273px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -819px -910px;
width: 90px;
height: 90px;
}
.head_rogue_2 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1033px -364px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -910px -910px;
width: 90px;
height: 90px;
}
.head_rogue_3 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1033px -455px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1033px 0px;
width: 90px;
height: 90px;
}
.head_rogue_4 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1033px -546px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1033px -91px;
width: 90px;
height: 90px;
}
.head_rogue_5 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1033px -637px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1033px -182px;
width: 90px;
height: 90px;
}
.head_special_2 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1033px -728px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1033px -273px;
width: 90px;
height: 90px;
}
.head_special_bardHat {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1033px -819px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1033px -364px;
width: 90px;
height: 90px;
}
.head_special_clandestineCowl {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1033px -910px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1033px -455px;
width: 90px;
height: 90px;
}
.head_special_dandyHat {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: 0px -1001px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1033px -546px;
width: 90px;
height: 90px;
}
.head_special_fireCoralCirclet {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -91px -1001px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1033px -637px;
width: 90px;
height: 90px;
}
.head_special_kabuto {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -182px -1001px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1033px -728px;
width: 90px;
height: 90px;
}
.head_special_lunarWarriorHelm {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -273px -1001px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1033px -819px;
width: 90px;
height: 90px;
}
.head_special_mammothRiderHelm {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -364px -1001px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1033px -910px;
width: 90px;
height: 90px;
}
.head_special_namingDay2017 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -455px -1001px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: 0px -1001px;
width: 90px;
height: 90px;
}
.head_special_pageHelm {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -546px -1001px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -91px -1001px;
width: 90px;
height: 90px;
}
.head_special_pyromancersTurban {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -637px -1001px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -182px -1001px;
width: 90px;
height: 90px;
}
.head_special_roguishRainbowMessengerHood {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -728px -1001px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -273px -1001px;
width: 90px;
height: 90px;
}
.head_special_snowSovereignCrown {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -819px -1001px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -364px -1001px;
width: 90px;
height: 90px;
}
.head_special_spikedHelm {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -910px -1001px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -455px -1001px;
width: 90px;
height: 90px;
}
.head_special_turkeyHelmBase {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: 0px -455px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -115px -364px;
width: 114px;
height: 90px;
}
.head_special_turkeyHelmGilded {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -115px -455px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -230px -364px;
width: 114px;
height: 90px;
}
.head_warrior_1 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1124px -91px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -546px -1001px;
width: 90px;
height: 90px;
}
.head_warrior_2 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1124px -182px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -637px -1001px;
width: 90px;
height: 90px;
}
.head_warrior_3 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1124px -273px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -728px -1001px;
width: 90px;
height: 90px;
}
.head_warrior_4 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1124px -364px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -819px -1001px;
width: 90px;
height: 90px;
}
.head_warrior_5 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1124px -455px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -910px -1001px;
width: 90px;
height: 90px;
}
.head_wizard_1 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1124px -546px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1001px -1001px;
width: 90px;
height: 90px;
}
.head_wizard_2 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1124px -637px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1124px 0px;
width: 90px;
height: 90px;
}
.head_wizard_3 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1124px -728px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1124px -91px;
width: 90px;
height: 90px;
}
.head_wizard_4 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1124px -819px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1124px -182px;
width: 90px;
height: 90px;
}
.head_wizard_5 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1124px -910px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1124px -273px;
width: 90px;
height: 90px;
}
.shop_head_healer_1 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -207px -1503px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1397px -897px;
width: 68px;
height: 68px;
}
.shop_head_healer_2 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -138px -1503px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1397px -966px;
width: 68px;
height: 68px;
}
.shop_head_healer_3 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -69px -1503px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1397px -1035px;
width: 68px;
height: 68px;
}
.shop_head_healer_4 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: 0px -1503px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1397px -1104px;
width: 68px;
height: 68px;
}
.shop_head_healer_5 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1535px -1380px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1397px -1173px;
width: 68px;
height: 68px;
}
.shop_head_rogue_1 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1535px -1311px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1397px -1242px;
width: 68px;
height: 68px;
}
.shop_head_rogue_2 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1535px -1242px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: 0px -1365px;
width: 68px;
height: 68px;
}
.shop_head_rogue_3 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1535px -1173px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -69px -1365px;
width: 68px;
height: 68px;
}
.shop_head_rogue_4 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1535px -1104px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -138px -1365px;
width: 68px;
height: 68px;
}
.shop_head_rogue_5 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1535px -1035px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -207px -1365px;
width: 68px;
height: 68px;
}
.shop_head_special_0 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1535px -966px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -276px -1365px;
width: 68px;
height: 68px;
}
.shop_head_special_1 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1535px -897px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -345px -1365px;
width: 68px;
height: 68px;
}
.shop_head_special_2 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1535px -828px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -414px -1365px;
width: 68px;
height: 68px;
}
.shop_head_special_bardHat {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1535px -759px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -483px -1365px;
width: 68px;
height: 68px;
}
.shop_head_special_clandestineCowl {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1535px -690px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -552px -1365px;
width: 68px;
height: 68px;
}
.shop_head_special_dandyHat {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1535px -621px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -621px -1365px;
width: 68px;
height: 68px;
}
.shop_head_special_fireCoralCirclet {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -575px -121px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -690px -1365px;
width: 68px;
height: 68px;
}
.shop_head_special_kabuto {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1535px -483px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -759px -1365px;
width: 68px;
height: 68px;
}
.shop_head_special_lunarWarriorHelm {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1535px -414px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -828px -1365px;
width: 68px;
height: 68px;
}
.shop_head_special_mammothRiderHelm {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1535px -345px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -897px -1365px;
width: 68px;
height: 68px;
}
.shop_head_special_namingDay2017 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
background-position: -1397px -1311px;
width: 40px;
height: 40px;
}
.shop_head_special_pageHelm {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1397px -897px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -966px -1365px;
width: 68px;
height: 68px;
}
.shop_head_special_pyromancersTurban {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1397px -828px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1035px -1365px;
width: 68px;
height: 68px;
}
.shop_head_special_roguishRainbowMessengerHood {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1397px -759px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1104px -1365px;
width: 68px;
height: 68px;
}
.shop_head_special_snowSovereignCrown {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1397px -690px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1173px -1365px;
width: 68px;
height: 68px;
}
.shop_head_special_spikedHelm {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1397px -621px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1242px -1365px;
width: 68px;
height: 68px;
}
.shop_head_special_turkeyHelmBase {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1397px -552px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1311px -1365px;
width: 68px;
height: 68px;
}
.shop_head_special_turkeyHelmGilded {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1397px -483px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1380px -1365px;
width: 68px;
height: 68px;
}
.shop_head_warrior_1 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1397px -414px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1466px 0px;
width: 68px;
height: 68px;
}
.shop_head_warrior_2 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1397px -345px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1466px -69px;
width: 68px;
height: 68px;
}
.shop_head_warrior_3 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1397px -276px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1466px -138px;
width: 68px;
height: 68px;
}
.shop_head_warrior_4 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1397px -207px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1466px -207px;
width: 68px;
height: 68px;
}
.shop_head_warrior_5 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1397px -138px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1466px -276px;
width: 68px;
height: 68px;
}
.shop_head_wizard_1 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1397px -69px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1466px -345px;
width: 68px;
height: 68px;
}
.shop_head_wizard_2 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1397px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1466px -414px;
width: 68px;
height: 68px;
}
.shop_head_wizard_3 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1305px -1274px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1466px -483px;
width: 68px;
height: 68px;
}
.shop_head_wizard_4 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1236px -1274px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1466px -552px;
width: 68px;
height: 68px;
}
.shop_head_wizard_5 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1167px -1274px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1466px -621px;
+ width: 68px;
+ height: 68px;
+}
+.headAccessory_special_bearEars {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1124px -364px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.headAccessory_special_bearEars {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1149px -379px;
+ width: 60px;
+ height: 60px;
+}
+.headAccessory_special_blackHeadband {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -345px -364px;
+ width: 114px;
+ height: 90px;
+}
+.headAccessory_special_blueHeadband {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -460px 0px;
+ width: 114px;
+ height: 90px;
+}
+.headAccessory_special_cactusEars {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1124px -455px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.headAccessory_special_cactusEars {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1149px -470px;
+ width: 60px;
+ height: 60px;
+}
+.headAccessory_special_foxEars {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1124px -546px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.headAccessory_special_foxEars {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1149px -561px;
+ width: 60px;
+ height: 60px;
+}
+.headAccessory_special_greenHeadband {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -460px -91px;
+ width: 114px;
+ height: 90px;
+}
+.headAccessory_special_lionEars {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1124px -637px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.headAccessory_special_lionEars {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1149px -652px;
+ width: 60px;
+ height: 60px;
+}
+.headAccessory_special_pandaEars {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1124px -728px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.headAccessory_special_pandaEars {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1149px -743px;
+ width: 60px;
+ height: 60px;
+}
+.headAccessory_special_pigEars {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1124px -819px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.headAccessory_special_pigEars {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1149px -834px;
+ width: 60px;
+ height: 60px;
+}
+.headAccessory_special_pinkHeadband {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -460px -182px;
+ width: 114px;
+ height: 90px;
+}
+.headAccessory_special_redHeadband {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -460px -273px;
+ width: 114px;
+ height: 90px;
+}
+.headAccessory_special_tigerEars {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1124px -910px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.headAccessory_special_tigerEars {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1149px -925px;
+ width: 60px;
+ height: 60px;
+}
+.headAccessory_special_whiteHeadband {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -460px -364px;
+ width: 114px;
+ height: 90px;
+}
+.headAccessory_special_wolfEars {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1124px -1001px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.headAccessory_special_wolfEars {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1149px -1016px;
+ width: 60px;
+ height: 60px;
+}
+.headAccessory_special_yellowHeadband {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: 0px -455px;
+ width: 114px;
+ height: 90px;
+}
+.shop_headAccessory_special_bearEars {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1466px -690px;
+ width: 68px;
+ height: 68px;
+}
+.shop_headAccessory_special_blackHeadband {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1466px -759px;
+ width: 68px;
+ height: 68px;
+}
+.shop_headAccessory_special_blueHeadband {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1466px -828px;
+ width: 68px;
+ height: 68px;
+}
+.shop_headAccessory_special_cactusEars {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1466px -897px;
+ width: 68px;
+ height: 68px;
+}
+.shop_headAccessory_special_foxEars {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1466px -966px;
+ width: 68px;
+ height: 68px;
+}
+.shop_headAccessory_special_greenHeadband {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1466px -1035px;
+ width: 68px;
+ height: 68px;
+}
+.shop_headAccessory_special_lionEars {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1466px -1104px;
+ width: 68px;
+ height: 68px;
+}
+.shop_headAccessory_special_pandaEars {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1466px -1173px;
+ width: 68px;
+ height: 68px;
+}
+.shop_headAccessory_special_pigEars {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1466px -1242px;
+ width: 68px;
+ height: 68px;
+}
+.shop_headAccessory_special_pinkHeadband {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1466px -1311px;
+ width: 68px;
+ height: 68px;
+}
+.shop_headAccessory_special_redHeadband {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: 0px -1434px;
+ width: 68px;
+ height: 68px;
+}
+.shop_headAccessory_special_tigerEars {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -69px -1434px;
+ width: 68px;
+ height: 68px;
+}
+.shop_headAccessory_special_whiteHeadband {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -138px -1434px;
+ width: 68px;
+ height: 68px;
+}
+.shop_headAccessory_special_wolfEars {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -207px -1434px;
+ width: 68px;
+ height: 68px;
+}
+.shop_headAccessory_special_yellowHeadband {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -276px -1434px;
width: 68px;
height: 68px;
}
.shield_healer_1 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -455px -1274px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: 0px -1092px;
width: 90px;
height: 90px;
}
.shield_healer_2 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -364px -1274px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -91px -1092px;
width: 90px;
height: 90px;
}
.shield_healer_3 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: 0px -1183px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -182px -1092px;
width: 90px;
height: 90px;
}
.shield_healer_4 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -273px -1274px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -273px -1092px;
width: 90px;
height: 90px;
}
.shield_healer_5 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -182px -1274px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -364px -1092px;
width: 90px;
height: 90px;
}
.shield_rogue_0 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -91px -1274px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -455px -1092px;
width: 90px;
height: 90px;
}
.shield_rogue_1 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
background-position: 0px -637px;
width: 103px;
height: 90px;
}
.shield_rogue_2 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
background-position: -104px -637px;
width: 103px;
height: 90px;
}
.shield_rogue_3 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -345px -273px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -115px -455px;
width: 114px;
height: 90px;
}
.shield_rogue_4 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -660px -491px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -414px -637px;
width: 96px;
height: 90px;
}
.shield_rogue_5 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -345px -455px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -230px -455px;
width: 114px;
height: 90px;
}
.shield_rogue_6 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -460px -455px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -345px -455px;
width: 114px;
height: 90px;
}
.shield_special_1 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -637px -1183px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -546px -1092px;
width: 90px;
height: 90px;
}
.shield_special_diamondStave {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -311px -637px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -208px -637px;
width: 102px;
height: 90px;
}
.shield_special_goldenknight {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
background-position: 0px -546px;
width: 111px;
height: 90px;
}
.shield_special_lootBag {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -364px -1183px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -637px -1092px;
width: 90px;
height: 90px;
}
.shield_special_mammothRiderHorn {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -273px -1183px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -728px -1092px;
width: 90px;
height: 90px;
}
.shield_special_moonpearlShield {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -182px -1183px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -819px -1092px;
width: 90px;
height: 90px;
}
.shield_special_roguishRainbowMessage {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -91px -1183px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -910px -1092px;
width: 90px;
height: 90px;
}
.shield_special_wakizashi {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
background-position: -112px -546px;
width: 114px;
height: 87px;
}
.shield_special_wintryMirror {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
background-position: -227px -546px;
width: 114px;
height: 87px;
}
.shield_warrior_1 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1215px -1001px;
- width: 90px;
- height: 90px;
-}
-.shield_warrior_2 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1215px -910px;
- width: 90px;
- height: 90px;
-}
-.shield_warrior_3 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1215px -819px;
- width: 90px;
- height: 90px;
-}
-.shield_warrior_4 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1215px -728px;
- width: 90px;
- height: 90px;
-}
-.shield_warrior_5 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1215px -637px;
- width: 90px;
- height: 90px;
-}
-.shop_shield_healer_1 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1397px -966px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_healer_2 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1397px -1035px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_healer_3 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1397px -1104px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_healer_4 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1397px -1173px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_healer_5 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1397px -1242px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_rogue_0 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: 0px -1365px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_rogue_1 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -69px -1365px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_rogue_2 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -138px -1365px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_rogue_3 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -207px -1365px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_rogue_4 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -276px -1365px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_rogue_5 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -345px -1365px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_rogue_6 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -414px -1365px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_0 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -483px -1365px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_1 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -552px -1365px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_diamondStave {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -621px -1365px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_goldenknight {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -690px -1365px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_lootBag {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -759px -1365px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_mammothRiderHorn {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -828px -1365px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_moonpearlShield {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -897px -1365px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_roguishRainbowMessage {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -966px -1365px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_wakizashi {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1035px -1365px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_wintryMirror {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1104px -1365px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_warrior_1 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1173px -1365px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_warrior_2 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1242px -1365px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_warrior_3 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1311px -1365px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_warrior_4 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1380px -1365px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_warrior_5 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1466px 0px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_healer_0 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1466px -69px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_healer_1 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1466px -138px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_healer_2 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1466px -207px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_healer_3 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1466px -276px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_healer_4 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1466px -345px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_healer_5 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1466px -414px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_healer_6 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1466px -483px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_rogue_0 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1466px -552px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_rogue_1 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1466px -621px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_rogue_2 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1466px -690px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_rogue_3 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1466px -759px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_rogue_4 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1466px -828px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_rogue_5 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1466px -897px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_rogue_6 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1466px -966px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_0 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1466px -1035px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_1 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1466px -1104px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_2 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1466px -1173px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_3 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1466px -1242px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_aetherCrystals {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1466px -1311px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_bardInstrument {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: 0px -1434px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_critical {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -69px -1434px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_fencingFoil {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -138px -1434px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_lunarScythe {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -207px -1434px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_mammothRiderSpear {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -276px -1434px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_nomadsScimitar {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -345px -1434px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_pageBanner {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -414px -1434px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_roguishRainbowMessage {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -483px -1434px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_skeletonKey {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -552px -1434px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_tachi {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -621px -1434px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_taskwoodsLantern {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -690px -1434px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_tridentOfCrashingTides {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -759px -1434px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_warrior_0 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -828px -1434px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_warrior_1 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -897px -1434px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_warrior_2 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -966px -1434px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_warrior_3 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1035px -1434px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_warrior_4 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1104px -1434px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_warrior_5 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1173px -1434px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_warrior_6 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1242px -1434px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_wizard_0 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1311px -1434px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_wizard_1 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1380px -1434px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_wizard_2 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1449px -1434px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_wizard_3 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1535px 0px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_wizard_4 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1535px -69px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_wizard_5 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1535px -138px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_wizard_6 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1535px -207px;
- width: 68px;
- height: 68px;
-}
-.weapon_healer_0 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1215px -546px;
- width: 90px;
- height: 90px;
-}
-.weapon_healer_1 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1215px -455px;
- width: 90px;
- height: 90px;
-}
-.weapon_healer_2 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1215px -364px;
- width: 90px;
- height: 90px;
-}
-.weapon_healer_3 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1215px -273px;
- width: 90px;
- height: 90px;
-}
-.weapon_healer_4 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1215px -182px;
- width: 90px;
- height: 90px;
-}
-.weapon_healer_5 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1215px -91px;
- width: 90px;
- height: 90px;
-}
-.weapon_healer_6 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1215px 0px;
- width: 90px;
- height: 90px;
-}
-.weapon_rogue_0 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1092px -1092px;
- width: 90px;
- height: 90px;
-}
-.weapon_rogue_1 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
background-position: -1001px -1092px;
width: 90px;
height: 90px;
}
+.shield_warrior_2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1092px -1092px;
+ width: 90px;
+ height: 90px;
+}
+.shield_warrior_3 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1215px 0px;
+ width: 90px;
+ height: 90px;
+}
+.shield_warrior_4 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1215px -91px;
+ width: 90px;
+ height: 90px;
+}
+.shield_warrior_5 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1215px -182px;
+ width: 90px;
+ height: 90px;
+}
+.shop_shield_healer_1 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -345px -1434px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_healer_2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -414px -1434px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_healer_3 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -483px -1434px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_healer_4 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -552px -1434px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_healer_5 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -621px -1434px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_rogue_0 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -690px -1434px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_rogue_1 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -759px -1434px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_rogue_2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -828px -1434px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_rogue_3 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -897px -1434px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_rogue_4 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -966px -1434px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_rogue_5 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1035px -1434px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_rogue_6 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1104px -1434px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_0 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1173px -1434px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_1 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1242px -1434px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_diamondStave {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1311px -1434px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_goldenknight {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1380px -1434px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_lootBag {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1449px -1434px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_mammothRiderHorn {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1535px 0px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_moonpearlShield {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1535px -69px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_roguishRainbowMessage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1535px -138px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_wakizashi {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1535px -207px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_wintryMirror {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1535px -276px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_warrior_1 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1535px -345px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_warrior_2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1535px -414px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_warrior_3 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1535px -483px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_warrior_4 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1535px -552px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_warrior_5 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1535px -621px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_healer_0 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1535px -690px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_healer_1 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1535px -759px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_healer_2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1535px -828px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_healer_3 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1535px -897px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_healer_4 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1535px -966px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_healer_5 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1535px -1035px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_healer_6 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1535px -1104px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_rogue_0 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1535px -1173px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_rogue_1 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1535px -1242px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_rogue_2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1535px -1311px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_rogue_3 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1535px -1380px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_rogue_4 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: 0px -1503px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_rogue_5 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -69px -1503px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_rogue_6 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -138px -1503px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_0 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -207px -1503px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_1 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -276px -1503px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -345px -1503px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_3 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -414px -1503px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_aetherCrystals {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -483px -1503px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_bardInstrument {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -552px -1503px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_critical {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -621px -1503px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_fencingFoil {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -690px -1503px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_lunarScythe {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -759px -1503px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_mammothRiderSpear {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -828px -1503px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_nomadsScimitar {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -897px -1503px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_pageBanner {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -966px -1503px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_roguishRainbowMessage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1035px -1503px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_skeletonKey {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1104px -1503px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_tachi {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1173px -1503px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_taskwoodsLantern {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1242px -1503px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_tridentOfCrashingTides {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1311px -1503px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_warrior_0 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1380px -1503px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_warrior_1 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1449px -1503px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_warrior_2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1518px -1503px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_warrior_3 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1604px 0px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_warrior_4 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1604px -69px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_warrior_5 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1604px -138px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_warrior_6 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1604px -207px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_wizard_0 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1604px -276px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_wizard_1 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1604px -345px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_wizard_2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1604px -414px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_wizard_3 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1604px -483px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_wizard_4 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1604px -552px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_wizard_5 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1604px -621px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_wizard_6 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1604px -690px;
+ width: 68px;
+ height: 68px;
+}
+.weapon_healer_0 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1215px -273px;
+ width: 90px;
+ height: 90px;
+}
+.weapon_healer_1 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1215px -364px;
+ width: 90px;
+ height: 90px;
+}
+.weapon_healer_2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1215px -455px;
+ width: 90px;
+ height: 90px;
+}
+.weapon_healer_3 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1215px -546px;
+ width: 90px;
+ height: 90px;
+}
+.weapon_healer_4 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1215px -637px;
+ width: 90px;
+ height: 90px;
+}
+.weapon_healer_5 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1215px -728px;
+ width: 90px;
+ height: 90px;
+}
+.weapon_healer_6 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1215px -819px;
+ width: 90px;
+ height: 90px;
+}
+.weapon_rogue_0 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1215px -910px;
+ width: 90px;
+ height: 90px;
+}
+.weapon_rogue_1 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1215px -1001px;
+ width: 90px;
+ height: 90px;
+}
.weapon_rogue_2 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -910px -1092px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1215px -1092px;
width: 90px;
height: 90px;
}
.weapon_rogue_3 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -819px -1092px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: 0px -1183px;
width: 90px;
height: 90px;
}
.weapon_rogue_4 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -728px -1092px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -91px -1183px;
width: 90px;
height: 90px;
}
.weapon_rogue_5 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -637px -1092px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -182px -1183px;
width: 90px;
height: 90px;
}
.weapon_rogue_6 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -546px -1092px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -273px -1183px;
width: 90px;
height: 90px;
}
.weapon_special_1 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -208px -637px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -311px -637px;
width: 102px;
height: 90px;
}
.weapon_special_2 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -364px -1092px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -364px -1183px;
width: 90px;
height: 90px;
}
.weapon_special_3 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -273px -1092px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -455px -1183px;
width: 90px;
height: 90px;
}
.weapon_special_aetherCrystals {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -230px -455px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -460px -455px;
width: 114px;
height: 90px;
}
.weapon_special_bardInstrument {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -91px -1092px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -546px -1183px;
width: 90px;
height: 90px;
}
.weapon_special_fencingFoil {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: 0px -1092px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -637px -1183px;
width: 90px;
height: 90px;
}
.weapon_special_lunarScythe {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1124px -1001px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -728px -1183px;
width: 90px;
height: 90px;
}
.weapon_special_mammothRiderSpear {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -637px -910px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -819px -1183px;
width: 90px;
height: 90px;
}
.weapon_special_nomadsScimitar {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -546px -910px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -910px -1183px;
width: 90px;
height: 90px;
}
.weapon_special_pageBanner {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -455px -910px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1001px -1183px;
width: 90px;
height: 90px;
}
.weapon_special_roguishRainbowMessage {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -364px -910px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1092px -1183px;
width: 90px;
height: 90px;
}
.weapon_special_skeletonKey {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -273px -910px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1183px -1183px;
width: 90px;
height: 90px;
}
.weapon_special_tachi {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -182px -910px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1306px 0px;
width: 90px;
height: 90px;
}
.weapon_special_taskwoodsLantern {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -91px -910px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1306px -91px;
width: 90px;
height: 90px;
}
.weapon_special_tridentOfCrashingTides {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: 0px -910px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1306px -182px;
width: 90px;
height: 90px;
}
.weapon_warrior_0 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -942px -819px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1306px -273px;
width: 90px;
height: 90px;
}
.weapon_warrior_1 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -942px -728px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1306px -364px;
width: 90px;
height: 90px;
}
.weapon_warrior_2 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -942px -637px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1306px -455px;
width: 90px;
height: 90px;
}
.weapon_warrior_3 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -942px -546px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1306px -546px;
width: 90px;
height: 90px;
}
.weapon_warrior_4 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -942px -455px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1306px -637px;
width: 90px;
height: 90px;
}
.weapon_warrior_5 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -942px -364px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1306px -728px;
width: 90px;
height: 90px;
}
.weapon_warrior_6 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -942px -273px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1306px -819px;
width: 90px;
height: 90px;
}
.weapon_wizard_0 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -851px -546px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1306px -910px;
width: 90px;
height: 90px;
}
.weapon_wizard_1 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -851px -455px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1306px -1001px;
width: 90px;
height: 90px;
}
.weapon_wizard_2 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -851px -364px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1306px -1092px;
width: 90px;
height: 90px;
}
.weapon_wizard_3 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -851px -273px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1306px -1183px;
width: 90px;
height: 90px;
}
.weapon_wizard_4 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -851px -182px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: 0px -1274px;
width: 90px;
height: 90px;
}
.weapon_wizard_5 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -851px -91px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -91px -1274px;
width: 90px;
height: 90px;
}
.weapon_wizard_6 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -851px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -182px -1274px;
width: 90px;
height: 90px;
}
.Pet_Currency_Gem {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1104px -1572px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1173px -1572px;
width: 68px;
height: 68px;
}
.Pet_Currency_Gem1x {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
background-position: -1656px -1518px;
width: 15px;
height: 13px;
}
.Pet_Currency_Gem2x {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
background-position: -574px -594px;
width: 30px;
height: 26px;
}
.PixelPaw-Gold {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
background-position: -1604px -1518px;
width: 51px;
height: 51px;
}
.PixelPaw {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
background-position: -1535px -1449px;
width: 51px;
height: 51px;
}
.PixelPaw002 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
background-position: -1466px -1380px;
width: 51px;
height: 51px;
}
.avatar_floral_healer {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -660px -300px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -660px 0px;
width: 99px;
height: 99px;
}
.avatar_floral_rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
background-position: -660px -100px;
width: 99px;
height: 99px;
}
.avatar_floral_warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -660px 0px;
- width: 99px;
- height: 99px;
-}
-.avatar_floral_wizard {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
background-position: -660px -200px;
width: 99px;
height: 99px;
}
+.avatar_floral_wizard {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -660px -300px;
+ width: 99px;
+ height: 99px;
+}
.empty_bottles {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
background-position: -660px -582px;
width: 64px;
height: 54px;
}
.ghost {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -851px -637px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -273px -1274px;
width: 90px;
height: 90px;
}
.inventory_present {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1604px -1449px;
- width: 68px;
- height: 68px;
-}
-.inventory_present_01 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1604px -621px;
- width: 68px;
- height: 68px;
-}
-.inventory_present_02 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1604px -690px;
- width: 68px;
- height: 68px;
-}
-.inventory_present_03 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1604px -759px;
- width: 68px;
- height: 68px;
-}
-.inventory_present_04 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1604px -828px;
- width: 68px;
- height: 68px;
-}
-.inventory_present_05 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1604px -897px;
- width: 68px;
- height: 68px;
-}
-.inventory_present_06 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1604px -966px;
- width: 68px;
- height: 68px;
-}
-.inventory_present_07 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1604px -1035px;
- width: 68px;
- height: 68px;
-}
-.inventory_present_08 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1604px -1104px;
- width: 68px;
- height: 68px;
-}
-.inventory_present_09 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1604px -1173px;
- width: 68px;
- height: 68px;
-}
-.inventory_present_10 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1604px -1242px;
- width: 68px;
- height: 68px;
-}
-.inventory_present_11 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1604px -1311px;
- width: 68px;
- height: 68px;
-}
-.inventory_present_12 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1604px -1380px;
- width: 68px;
- height: 68px;
-}
-.inventory_special_birthday {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: 0px -1572px;
- width: 68px;
- height: 68px;
-}
-.inventory_special_congrats {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
background-position: -69px -1572px;
width: 68px;
height: 68px;
}
-.inventory_special_fortify {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
+.inventory_present_01 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1604px -759px;
+ width: 68px;
+ height: 68px;
+}
+.inventory_present_02 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1604px -828px;
+ width: 68px;
+ height: 68px;
+}
+.inventory_present_03 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1604px -897px;
+ width: 68px;
+ height: 68px;
+}
+.inventory_present_04 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1604px -966px;
+ width: 68px;
+ height: 68px;
+}
+.inventory_present_05 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1604px -1035px;
+ width: 68px;
+ height: 68px;
+}
+.inventory_present_06 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1604px -1104px;
+ width: 68px;
+ height: 68px;
+}
+.inventory_present_07 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1604px -1173px;
+ width: 68px;
+ height: 68px;
+}
+.inventory_present_08 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1604px -1242px;
+ width: 68px;
+ height: 68px;
+}
+.inventory_present_09 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1604px -1311px;
+ width: 68px;
+ height: 68px;
+}
+.inventory_present_10 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1604px -1380px;
+ width: 68px;
+ height: 68px;
+}
+.inventory_present_11 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1604px -1449px;
+ width: 68px;
+ height: 68px;
+}
+.inventory_present_12 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: 0px -1572px;
+ width: 68px;
+ height: 68px;
+}
+.inventory_special_birthday {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
background-position: -138px -1572px;
width: 68px;
height: 68px;
}
-.inventory_special_getwell {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
+.inventory_special_congrats {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
background-position: -207px -1572px;
width: 68px;
height: 68px;
}
-.inventory_special_goodluck {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
+.inventory_special_fortify {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
background-position: -276px -1572px;
width: 68px;
height: 68px;
}
-.inventory_special_greeting {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
+.inventory_special_getwell {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
background-position: -345px -1572px;
width: 68px;
height: 68px;
}
-.inventory_special_nye {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
+.inventory_special_goodluck {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
background-position: -414px -1572px;
width: 68px;
height: 68px;
}
-.inventory_special_opaquePotion {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
+.inventory_special_greeting {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
background-position: -483px -1572px;
width: 68px;
height: 68px;
}
-.inventory_special_seafoam {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
+.inventory_special_nye {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
background-position: -552px -1572px;
width: 68px;
height: 68px;
}
-.inventory_special_shinySeed {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
+.inventory_special_opaquePotion {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
background-position: -621px -1572px;
width: 68px;
height: 68px;
}
-.inventory_special_snowball {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
+.inventory_special_seafoam {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
background-position: -690px -1572px;
width: 68px;
height: 68px;
}
-.inventory_special_spookySparkles {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
+.inventory_special_shinySeed {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
background-position: -759px -1572px;
width: 68px;
height: 68px;
}
-.inventory_special_thankyou {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
+.inventory_special_snowball {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
background-position: -828px -1572px;
width: 68px;
height: 68px;
}
-.inventory_special_trinket {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
+.inventory_special_spookySparkles {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
background-position: -897px -1572px;
width: 68px;
height: 68px;
}
-.inventory_special_valentine {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
+.inventory_special_thankyou {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
background-position: -966px -1572px;
width: 68px;
height: 68px;
}
+.inventory_special_trinket {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1035px -1572px;
+ width: 68px;
+ height: 68px;
+}
+.inventory_special_valentine {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1104px -1572px;
+ width: 68px;
+ height: 68px;
+}
.knockout {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
background-position: -342px -546px;
width: 120px;
height: 47px;
}
.pet_key {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1311px -1572px;
- width: 68px;
- height: 68px;
-}
-.rebirth_orb {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
background-position: -1242px -1572px;
width: 68px;
height: 68px;
}
+.rebirth_orb {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1311px -1572px;
+ width: 68px;
+ height: 68px;
+}
.seafoam_star {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: 0px -728px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -364px -1274px;
width: 90px;
height: 90px;
}
.shop_armoire {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1604px -483px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -1380px -1572px;
width: 68px;
height: 68px;
}
.snowman {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -1306px -546px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -455px -1274px;
width: 90px;
height: 90px;
}
.zzz {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -463px -546px;
- width: 40px;
- height: 40px;
-}
-.zzz_light {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
background-position: -504px -546px;
width: 40px;
height: 40px;
}
+.zzz_light {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -463px -546px;
+ width: 40px;
+ height: 40px;
+}
.notif_inventory_present_01 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
background-position: -725px -582px;
width: 28px;
height: 28px;
}
.notif_inventory_present_02 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
background-position: -545px -546px;
width: 28px;
height: 28px;
}
.notif_inventory_present_03 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
background-position: -574px -546px;
width: 28px;
height: 28px;
}
.notif_inventory_present_04 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
background-position: -603px -546px;
width: 28px;
height: 28px;
}
.notif_inventory_present_05 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
background-position: -342px -594px;
width: 28px;
height: 28px;
}
.notif_inventory_present_06 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
background-position: -371px -594px;
width: 28px;
height: 28px;
}
.notif_inventory_present_07 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -487px -594px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -400px -594px;
width: 28px;
height: 28px;
}
.notif_inventory_present_08 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
background-position: -429px -594px;
width: 28px;
height: 28px;
}
.notif_inventory_present_09 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
background-position: -458px -594px;
width: 28px;
height: 28px;
}
.notif_inventory_present_10 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -545px -594px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -487px -594px;
width: 28px;
height: 28px;
}
.notif_inventory_present_11 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
background-position: -516px -594px;
width: 28px;
height: 28px;
}
.notif_inventory_present_12 {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -400px -594px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -545px -594px;
width: 28px;
height: 28px;
}
.notif_inventory_special_birthday {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
background-position: -725px -611px;
width: 20px;
height: 24px;
}
.notif_inventory_special_congrats {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -819px -751px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -819px -728px;
width: 20px;
height: 22px;
}
.notif_inventory_special_getwell {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -819px -774px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -819px -751px;
width: 20px;
height: 22px;
}
.notif_inventory_special_goodluck {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
background-position: -632px -546px;
width: 20px;
height: 26px;
}
.notif_inventory_special_greeting {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
- background-position: -819px -728px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
+ background-position: -819px -774px;
width: 20px;
height: 22px;
}
.notif_inventory_special_nye {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
background-position: -1438px -1311px;
width: 24px;
height: 26px;
}
.notif_inventory_special_thankyou {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
background-position: -605px -594px;
width: 20px;
height: 24px;
}
.notif_inventory_special_valentine {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
background-position: -626px -594px;
width: 20px;
height: 24px;
}
.npc_bailey {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
background-position: -699px -637px;
width: 60px;
height: 72px;
}
.npc_justin {
- background-image: url('~assets/images/sprites/spritesmith-main-11.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-11.png');
background-position: -575px 0px;
width: 84px;
height: 120px;
diff --git a/website/client/assets/css/sprites/spritesmith-main-12.css b/website/client/src/assets/css/sprites/spritesmith-main-12.css
similarity index 54%
rename from website/client/assets/css/sprites/spritesmith-main-12.css
rename to website/client/src/assets/css/sprites/spritesmith-main-12.css
index eeee146f63..fd26d763f2 100644
--- a/website/client/assets/css/sprites/spritesmith-main-12.css
+++ b/website/client/src/assets/css/sprites/spritesmith-main-12.css
@@ -1,402 +1,402 @@
.npc_matt {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -597px -1535px;
width: 195px;
height: 138px;
}
.background_dysheartener {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: 0px 0px;
width: 306px;
height: 202px;
}
.banner_flair_dysheartener {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -1963px -836px;
width: 69px;
height: 18px;
}
.phobia_dysheartener {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -1187px -880px;
width: 201px;
height: 195px;
}
.quest_alligator {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -1627px -1079px;
width: 201px;
height: 213px;
}
.quest_armadillo {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
- background-position: 0px -435px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
+ background-position: -307px 0px;
width: 219px;
height: 219px;
}
.quest_atom1 {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -1105px -1315px;
width: 250px;
height: 150px;
}
.quest_atom2 {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -389px -1535px;
width: 207px;
height: 138px;
}
.quest_atom3 {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -747px -440px;
width: 216px;
height: 180px;
}
.quest_axolotl {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
- background-position: -747px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
+ background-position: -527px 0px;
width: 219px;
height: 219px;
}
.quest_badger {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
- background-position: -747px -220px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
+ background-position: 0px -435px;
width: 219px;
height: 219px;
}
.quest_basilist {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -1844px -392px;
width: 189px;
height: 141px;
}
.quest_beetle {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -1627px -1293px;
width: 204px;
height: 201px;
}
.quest_bronze {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
- background-position: -440px -655px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
+ background-position: -220px -435px;
width: 219px;
height: 219px;
}
.quest_bunny {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -967px -660px;
width: 210px;
height: 186px;
}
.quest_butterfly {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
- background-position: -967px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
+ background-position: -440px -435px;
width: 219px;
height: 219px;
}
.quest_cheetah {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
- background-position: -967px -220px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
+ background-position: -747px 0px;
width: 219px;
height: 219px;
}
.quest_cow {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: 0px -1535px;
width: 174px;
height: 213px;
}
.quest_dilatory {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
- background-position: -220px -875px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
+ background-position: 0px -655px;
width: 219px;
height: 219px;
}
.quest_dilatoryDistress1 {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -1627px -868px;
width: 210px;
height: 210px;
}
.quest_dilatoryDistress2 {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -1844px -534px;
width: 150px;
height: 150px;
}
.quest_dilatoryDistress3 {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
- background-position: -880px -875px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
+ background-position: -220px -655px;
width: 219px;
height: 219px;
}
.quest_dilatory_derby {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
- background-position: 0px -875px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
+ background-position: -747px -220px;
width: 219px;
height: 219px;
}
.quest_dolphin {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
- background-position: -1187px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
+ background-position: -440px -655px;
width: 219px;
height: 219px;
}
.quest_dustbunnies {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
- background-position: -1187px -220px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
+ background-position: -660px -655px;
width: 219px;
height: 219px;
}
.quest_egg {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -1844px -184px;
width: 165px;
height: 207px;
}
.quest_evilsanta {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -1844px -836px;
width: 118px;
height: 131px;
}
.quest_evilsanta2 {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
- background-position: 0px -1095px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
+ background-position: -967px 0px;
width: 219px;
height: 219px;
}
.quest_falcon {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
- background-position: -220px -1095px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
+ background-position: -967px -220px;
width: 219px;
height: 219px;
}
.quest_ferret {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
- background-position: -307px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
+ background-position: -967px -440px;
width: 219px;
height: 219px;
}
.quest_frog {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -660px -1315px;
width: 221px;
height: 213px;
}
.quest_ghost_stag {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
- background-position: -880px -1095px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
+ background-position: 0px -875px;
width: 219px;
height: 219px;
}
.quest_goldenknight1 {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
- background-position: -1100px -1095px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
+ background-position: -220px -875px;
width: 219px;
height: 219px;
}
.quest_goldenknight2 {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -1356px -1315px;
width: 250px;
height: 150px;
}
.quest_goldenknight3 {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: 0px -203px;
width: 219px;
height: 231px;
}
.quest_gryphon {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -527px -220px;
width: 216px;
height: 177px;
}
.quest_guineapig {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
- background-position: -1407px -660px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
+ background-position: -440px -875px;
width: 219px;
height: 219px;
}
.quest_harpy {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
- background-position: -1407px -880px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
+ background-position: -660px -875px;
width: 219px;
height: 219px;
}
.quest_hedgehog {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -1407px -1100px;
width: 219px;
height: 186px;
}
.quest_hippo {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
- background-position: -220px -1315px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
+ background-position: -880px -875px;
width: 219px;
height: 219px;
}
.quest_horse {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
- background-position: 0px -1315px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
+ background-position: -1187px 0px;
width: 219px;
height: 219px;
}
.quest_kangaroo {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
- background-position: -1407px -440px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
+ background-position: -1187px -220px;
width: 219px;
height: 219px;
}
.quest_kraken {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -307px -220px;
width: 216px;
height: 177px;
}
.quest_lostMasterclasser1 {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
- background-position: -660px -1095px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
+ background-position: -1187px -440px;
width: 219px;
height: 219px;
}
.quest_lostMasterclasser2 {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
- background-position: -440px -1095px;
- width: 219px;
- height: 219px;
-}
-.quest_lostMasterclasser3 {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -1187px -660px;
width: 219px;
height: 219px;
}
+.quest_lostMasterclasser3 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
+ background-position: 0px -1095px;
+ width: 219px;
+ height: 219px;
+}
.quest_mayhemMistiflying1 {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -1844px -685px;
width: 150px;
height: 150px;
}
.quest_mayhemMistiflying2 {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
- background-position: -660px -875px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
+ background-position: -220px -1095px;
width: 219px;
height: 219px;
}
.quest_mayhemMistiflying3 {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
- background-position: -440px -875px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
+ background-position: -440px -1095px;
width: 219px;
height: 219px;
}
.quest_monkey {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
- background-position: -660px -655px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
+ background-position: -660px -1095px;
width: 219px;
height: 219px;
}
.quest_moon1 {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -1627px 0px;
width: 216px;
height: 216px;
}
.quest_moon2 {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
- background-position: -220px -655px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
+ background-position: -880px -1095px;
width: 219px;
height: 219px;
}
.quest_moon3 {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
- background-position: -440px -435px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
+ background-position: -1100px -1095px;
width: 219px;
height: 219px;
}
.quest_moonstone1 {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
- background-position: -527px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
+ background-position: -1407px 0px;
width: 219px;
height: 219px;
}
.quest_moonstone2 {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -1407px -220px;
width: 219px;
height: 219px;
}
.quest_moonstone3 {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
- background-position: -440px -1315px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
+ background-position: -1407px -440px;
width: 219px;
height: 219px;
}
.quest_nudibranch {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
- background-position: -1627px -651px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
+ background-position: -1627px -217px;
width: 216px;
height: 216px;
}
.quest_octopus {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -882px -1315px;
width: 222px;
height: 177px;
}
.quest_owl {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
- background-position: -1187px -440px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
+ background-position: -1407px -660px;
width: 219px;
height: 219px;
}
.quest_peacock {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -1627px -434px;
width: 216px;
height: 216px;
}
.quest_penguin {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -1844px 0px;
width: 190px;
height: 183px;
}
.quest_pterodactyl {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
- background-position: -967px -440px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
+ background-position: -1407px -880px;
width: 219px;
height: 219px;
}
.quest_rat {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
- background-position: 0px -655px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
+ background-position: 0px -1315px;
width: 219px;
height: 219px;
}
.quest_robot {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
- background-position: -220px -435px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
+ background-position: -220px -1315px;
width: 219px;
height: 219px;
}
.quest_rock {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
- background-position: -1627px -217px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
+ background-position: -1627px -651px;
width: 216px;
height: 216px;
}
.quest_rooster {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
background-position: -175px -1535px;
width: 213px;
height: 174px;
}
.quest_sabretooth {
- background-image: url('~assets/images/sprites/spritesmith-main-12.png');
- background-position: -1407px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-12.png');
+ background-position: -440px -1315px;
width: 219px;
height: 219px;
}
diff --git a/website/client/assets/css/sprites/spritesmith-main-13.css b/website/client/src/assets/css/sprites/spritesmith-main-13.css
similarity index 55%
rename from website/client/assets/css/sprites/spritesmith-main-13.css
rename to website/client/src/assets/css/sprites/spritesmith-main-13.css
index 93aea030b8..f6a23845e2 100644
--- a/website/client/assets/css/sprites/spritesmith-main-13.css
+++ b/website/client/src/assets/css/sprites/spritesmith-main-13.css
@@ -1,2087 +1,2087 @@
.quest_TEMPLATE_FOR_MISSING_IMAGE {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1308px 0px;
width: 221px;
height: 39px;
}
.quest_seaserpent {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -663px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -223px 0px;
width: 219px;
height: 219px;
}
.quest_sheep {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -883px -440px;
- width: 219px;
- height: 219px;
-}
-.quest_silver {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -883px -220px;
- width: 219px;
- height: 219px;
-}
-.quest_slime {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -443px 0px;
width: 219px;
height: 219px;
}
-.quest_sloth {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.quest_silver {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: 0px -226px;
width: 219px;
height: 219px;
}
+.quest_slime {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -220px -226px;
+ width: 219px;
+ height: 219px;
+}
+.quest_sloth {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -440px -226px;
+ width: 219px;
+ height: 219px;
+}
.quest_snail {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -434px -666px;
width: 219px;
height: 213px;
}
.quest_snake {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -434px -883px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -654px -666px;
width: 216px;
height: 177px;
}
.quest_spider {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -651px -883px;
width: 250px;
height: 150px;
}
.quest_squirrel {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -663px -220px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -663px 0px;
width: 219px;
height: 219px;
}
.quest_stoikalmCalamity1 {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1103px -178px;
width: 150px;
height: 150px;
}
.quest_stoikalmCalamity2 {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -220px -446px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -663px -220px;
width: 219px;
height: 219px;
}
.quest_stoikalmCalamity3 {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -440px -446px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: 0px -446px;
width: 219px;
height: 219px;
}
.quest_taskwoodsTerror1 {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1103px -329px;
width: 150px;
height: 150px;
}
.quest_taskwoodsTerror2 {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -217px -666px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: 0px -666px;
width: 216px;
height: 216px;
}
.quest_taskwoodsTerror3 {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -223px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -220px -446px;
width: 219px;
height: 219px;
}
.quest_treeling {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -654px -666px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -871px -666px;
width: 216px;
height: 177px;
}
.quest_trex {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1103px 0px;
width: 204px;
height: 177px;
}
.quest_trex_undead {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: 0px -883px;
width: 216px;
height: 177px;
}
.quest_triceratops {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -883px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -440px -446px;
width: 219px;
height: 219px;
}
.quest_turtle {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -660px -446px;
width: 219px;
height: 219px;
}
.quest_unicorn {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: 0px -446px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -883px 0px;
width: 219px;
height: 219px;
}
.quest_velociraptor {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: 0px 0px;
width: 222px;
height: 225px;
}
.quest_vice1 {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -217px -883px;
width: 216px;
height: 177px;
}
.quest_vice2 {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -440px -226px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -883px -220px;
width: 219px;
height: 219px;
}
.quest_vice3 {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -871px -666px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -434px -883px;
width: 216px;
height: 177px;
}
.quest_whale {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -220px -226px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -883px -440px;
width: 219px;
height: 219px;
}
.quest_yarn {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: 0px -666px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -217px -666px;
width: 216px;
height: 216px;
}
.quest_atom1_soapBars {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1079px -1618px;
- width: 48px;
- height: 51px;
-}
-.quest_dilatoryDistress1_blueFins {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1103px -1010px;
- width: 51px;
- height: 48px;
-}
-.quest_dilatoryDistress1_fireCoral {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1128px -1618px;
- width: 48px;
- height: 51px;
-}
-.quest_egg_plainEgg {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1308px -1213px;
width: 48px;
height: 51px;
}
-.quest_evilsanta2_branches {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.quest_dilatoryDistress1_blueFins {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1357px -1213px;
+ width: 51px;
+ height: 48px;
+}
+.quest_dilatoryDistress1_fireCoral {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1254px -178px;
width: 48px;
height: 51px;
}
+.quest_egg_plainEgg {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1254px -230px;
+ width: 48px;
+ height: 51px;
+}
+.quest_evilsanta2_branches {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1254px -329px;
+ width: 48px;
+ height: 51px;
+}
.quest_evilsanta2_tracks {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -828px -1618px;
width: 54px;
height: 60px;
}
.quest_goldenknight1_testimony {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1177px -1618px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1254px -381px;
width: 48px;
height: 51px;
}
.quest_lostMasterclasser1_ancientTome {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1272px -1061px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1492px -1213px;
width: 33px;
height: 42px;
}
.quest_lostMasterclasser1_forbiddenTome {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1272px -1104px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1272px -1061px;
width: 33px;
height: 42px;
}
.quest_lostMasterclasser1_hiddenTome {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1272px -1167px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1272px -1104px;
width: 33px;
height: 42px;
}
.quest_mayhemMistiflying2_mistifly1 {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1030px -1618px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -883px -1618px;
width: 48px;
height: 51px;
}
.quest_mayhemMistiflying2_mistifly2 {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -981px -1618px;
- width: 48px;
- height: 51px;
-}
-.quest_mayhemMistiflying2_mistifly3 {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -932px -1618px;
width: 48px;
height: 51px;
}
+.quest_mayhemMistiflying2_mistifly3 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -981px -1618px;
+ width: 48px;
+ height: 51px;
+}
.quest_moon1_shard {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1254px -282px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1409px -1213px;
width: 42px;
height: 42px;
}
.quest_moonstone1_moonstone {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1668px -1587px;
width: 30px;
height: 30px;
}
.quest_robot_bolt {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1254px -381px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1030px -1618px;
width: 48px;
height: 51px;
}
.quest_robot_gear {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1254px -329px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1079px -1618px;
width: 48px;
height: 51px;
}
.quest_robot_spring {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1254px -230px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1128px -1618px;
width: 48px;
height: 51px;
}
.quest_silver_cancerRune {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1685px -1618px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1668px -1618px;
width: 39px;
height: 39px;
}
.quest_silver_moonRune {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1254px -433px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1452px -1213px;
width: 39px;
height: 42px;
}
.quest_silver_silverIngot {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1455px -1213px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1177px -1618px;
width: 48px;
height: 51px;
}
.quest_stoikalmCalamity2_icicleCoin {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1406px -1213px;
- width: 48px;
- height: 51px;
-}
-.quest_taskwoodsTerror2_brownie {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1357px -1213px;
- width: 48px;
- height: 51px;
-}
-.quest_taskwoodsTerror2_dryad {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -883px -1618px;
- width: 48px;
- height: 51px;
-}
-.quest_taskwoodsTerror2_pixie {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1226px -1618px;
width: 48px;
height: 51px;
}
+.quest_taskwoodsTerror2_brownie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1275px -1618px;
+ width: 48px;
+ height: 51px;
+}
+.quest_taskwoodsTerror2_dryad {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1324px -1618px;
+ width: 48px;
+ height: 51px;
+}
+.quest_taskwoodsTerror2_pixie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1373px -1618px;
+ width: 48px;
+ height: 51px;
+}
.quest_vice2_lightCrystal {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1398px -1618px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1254px -282px;
width: 40px;
height: 40px;
}
.inventory_quest_scroll_alligator {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1530px -1311px;
- width: 68px;
- height: 68px;
-}
-.inventory_quest_scroll_armadillo {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1530px -1380px;
- width: 68px;
- height: 68px;
-}
-.inventory_quest_scroll_atom1 {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1308px -40px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_atom1_locked {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1035px -1411px;
- width: 68px;
- height: 68px;
-}
-.inventory_quest_scroll_atom2 {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_armadillo {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1377px -40px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_atom2_locked {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: 0px -1480px;
- width: 68px;
- height: 68px;
-}
-.inventory_quest_scroll_atom3 {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_atom1 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1308px -109px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_atom3_locked {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_atom1_locked {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1446px -40px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_axolotl {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1377px -109px;
- width: 68px;
- height: 68px;
-}
-.inventory_quest_scroll_badger {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_atom2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1446px -109px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_basilist {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1308px -178px;
+.inventory_quest_scroll_atom2_locked {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1377px -109px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_beetle {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_atom3 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1377px -178px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_bronze {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_atom3_locked {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1308px -178px;
+ width: 68px;
+ height: 68px;
+}
+.inventory_quest_scroll_axolotl {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1446px -178px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_bunny {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_badger {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1308px -247px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_butterfly {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_basilist {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1377px -247px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_cheetah {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_beetle {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1446px -247px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_cow {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_bronze {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1308px -316px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_dilatoryDistress1 {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1446px -316px;
- width: 68px;
- height: 68px;
-}
-.inventory_quest_scroll_dilatoryDistress2 {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1377px -385px;
- width: 68px;
- height: 68px;
-}
-.inventory_quest_scroll_dilatoryDistress2_locked {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1308px -385px;
- width: 68px;
- height: 68px;
-}
-.inventory_quest_scroll_dilatoryDistress3 {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1308px -454px;
- width: 68px;
- height: 68px;
-}
-.inventory_quest_scroll_dilatoryDistress3_locked {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1446px -385px;
- width: 68px;
- height: 68px;
-}
-.inventory_quest_scroll_dilatory_derby {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_bunny {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1377px -316px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_dolphin {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1377px -454px;
+.inventory_quest_scroll_butterfly {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1446px -316px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_dustbunnies {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_cheetah {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1308px -385px;
+ width: 68px;
+ height: 68px;
+}
+.inventory_quest_scroll_cow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1377px -385px;
+ width: 68px;
+ height: 68px;
+}
+.inventory_quest_scroll_dilatoryDistress1 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1308px -454px;
+ width: 68px;
+ height: 68px;
+}
+.inventory_quest_scroll_dilatoryDistress2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1446px -454px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_egg {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1308px -523px;
+.inventory_quest_scroll_dilatoryDistress2_locked {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1377px -454px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_evilsanta {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_dilatoryDistress3 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1377px -523px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_evilsanta2 {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_dilatoryDistress3_locked {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1308px -523px;
+ width: 68px;
+ height: 68px;
+}
+.inventory_quest_scroll_dilatory_derby {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1446px -385px;
+ width: 68px;
+ height: 68px;
+}
+.inventory_quest_scroll_dolphin {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1446px -523px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_falcon {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_dustbunnies {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1308px -592px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_ferret {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_egg {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1377px -592px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_frog {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_evilsanta {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1446px -592px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_ghost_stag {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_evilsanta2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1308px -661px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_goldenknight1 {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1446px -661px;
- width: 68px;
- height: 68px;
-}
-.inventory_quest_scroll_goldenknight1_locked {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_falcon {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1377px -661px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_goldenknight2 {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1377px -730px;
+.inventory_quest_scroll_ferret {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1446px -661px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_goldenknight2_locked {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_frog {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1308px -730px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_goldenknight3 {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_ghost_stag {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1377px -730px;
+ width: 68px;
+ height: 68px;
+}
+.inventory_quest_scroll_goldenknight1 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1308px -799px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_goldenknight3_locked {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_goldenknight1_locked {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1446px -730px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_gryphon {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1377px -799px;
- width: 68px;
- height: 68px;
-}
-.inventory_quest_scroll_guineapig {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_goldenknight2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1446px -799px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_harpy {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1308px -868px;
+.inventory_quest_scroll_goldenknight2_locked {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1377px -799px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_hedgehog {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_goldenknight3 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1377px -868px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_hippo {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_goldenknight3_locked {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1308px -868px;
+ width: 68px;
+ height: 68px;
+}
+.inventory_quest_scroll_gryphon {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1446px -868px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_horse {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_guineapig {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1308px -937px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_kangaroo {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_harpy {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1377px -937px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_kraken {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_hedgehog {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1446px -937px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_lostMasterclasser1 {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1377px -1006px;
- width: 68px;
- height: 68px;
-}
-.inventory_quest_scroll_lostMasterclasser1_locked {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_hippo {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1308px -1006px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_lostMasterclasser2 {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1308px -1075px;
+.inventory_quest_scroll_horse {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1377px -1006px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_lostMasterclasser2_locked {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_kangaroo {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1446px -1006px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_lostMasterclasser3 {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_kraken {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1308px -1075px;
+ width: 68px;
+ height: 68px;
+}
+.inventory_quest_scroll_lostMasterclasser1 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1446px -1075px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_lostMasterclasser3_locked {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_lostMasterclasser1_locked {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1377px -1075px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_lostMasterclasser4 {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_lostMasterclasser2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1377px -1144px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_lostMasterclasser4_locked {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_lostMasterclasser2_locked {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1308px -1144px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_mayhemMistiflying1 {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1446px -1144px;
- width: 68px;
- height: 68px;
-}
-.inventory_quest_scroll_mayhemMistiflying2 {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1209px -586px;
- width: 68px;
- height: 68px;
-}
-.inventory_quest_scroll_mayhemMistiflying2_locked {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_lostMasterclasser3 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1209px -480px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_mayhemMistiflying3 {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1209px -798px;
+.inventory_quest_scroll_lostMasterclasser3_locked {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1446px -1144px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_mayhemMistiflying3_locked {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_lostMasterclasser4 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1209px -692px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_monkey {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1209px -904px;
+.inventory_quest_scroll_lostMasterclasser4_locked {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1209px -586px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_moon1 {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: 0px -1273px;
+.inventory_quest_scroll_mayhemMistiflying1 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1209px -798px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_moon1_locked {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_mayhemMistiflying2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1008px -883px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_moon2 {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -138px -1273px;
+.inventory_quest_scroll_mayhemMistiflying2_locked {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1209px -904px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_moon2_locked {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_mayhemMistiflying3 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -69px -1273px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_moon3 {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_mayhemMistiflying3_locked {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: 0px -1273px;
+ width: 68px;
+ height: 68px;
+}
+.inventory_quest_scroll_monkey {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -138px -1273px;
+ width: 68px;
+ height: 68px;
+}
+.inventory_quest_scroll_moon1 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -276px -1273px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_moon3_locked {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_moon1_locked {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -207px -1273px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_moonstone1 {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_moon2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -414px -1273px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_moonstone1_locked {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_moon2_locked {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -345px -1273px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_moonstone2 {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_moon3 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -552px -1273px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_moonstone2_locked {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_moon3_locked {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -483px -1273px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_moonstone3 {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_moonstone1 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -690px -1273px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_moonstone3_locked {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_moonstone1_locked {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -621px -1273px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_nudibranch {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -759px -1273px;
- width: 68px;
- height: 68px;
-}
-.inventory_quest_scroll_octopus {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_moonstone2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -828px -1273px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_owl {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -897px -1273px;
+.inventory_quest_scroll_moonstone2_locked {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -759px -1273px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_peacock {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_moonstone3 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -966px -1273px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_penguin {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_moonstone3_locked {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -897px -1273px;
+ width: 68px;
+ height: 68px;
+}
+.inventory_quest_scroll_nudibranch {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1035px -1273px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_pterodactyl {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_octopus {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1104px -1273px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_rat {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_owl {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1173px -1273px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_robot {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_peacock {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1242px -1273px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_rock {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_penguin {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1311px -1273px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_rooster {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_pterodactyl {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1380px -1273px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_sabretooth {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_rat {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1449px -1273px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_seaserpent {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_robot {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: 0px -1342px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_sheep {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_rock {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -69px -1342px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_silver {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_rooster {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -138px -1342px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_slime {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_sabretooth {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -207px -1342px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_sloth {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_seaserpent {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -276px -1342px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_snail {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_sheep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -345px -1342px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_snake {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_silver {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -414px -1342px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_spider {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_slime {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -483px -1342px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_squirrel {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_sloth {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -552px -1342px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_stoikalmCalamity1 {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_snail {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -621px -1342px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_stoikalmCalamity2 {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -759px -1342px;
- width: 68px;
- height: 68px;
-}
-.inventory_quest_scroll_stoikalmCalamity2_locked {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_snake {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -690px -1342px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_stoikalmCalamity3 {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -897px -1342px;
+.inventory_quest_scroll_spider {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -759px -1342px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_stoikalmCalamity3_locked {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_squirrel {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -828px -1342px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_taskwoodsTerror1 {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -966px -1342px;
+.inventory_quest_scroll_stoikalmCalamity1 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -897px -1342px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_taskwoodsTerror2 {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1104px -1342px;
- width: 68px;
- height: 68px;
-}
-.inventory_quest_scroll_taskwoodsTerror2_locked {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_stoikalmCalamity2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1035px -1342px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_taskwoodsTerror3 {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1242px -1342px;
+.inventory_quest_scroll_stoikalmCalamity2_locked {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -966px -1342px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_taskwoodsTerror3_locked {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_stoikalmCalamity3 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1173px -1342px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_treeling {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1311px -1342px;
+.inventory_quest_scroll_stoikalmCalamity3_locked {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1104px -1342px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_trex {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1449px -1342px;
+.inventory_quest_scroll_taskwoodsTerror1 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1242px -1342px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_trex_undead {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_taskwoodsTerror2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1380px -1342px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_triceratops {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_taskwoodsTerror2_locked {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1311px -1342px;
+ width: 68px;
+ height: 68px;
+}
+.inventory_quest_scroll_taskwoodsTerror3 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: 0px -1411px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_turtle {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_taskwoodsTerror3_locked {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1449px -1342px;
+ width: 68px;
+ height: 68px;
+}
+.inventory_quest_scroll_treeling {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -69px -1411px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_unicorn {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -138px -1411px;
- width: 68px;
- height: 68px;
-}
-.inventory_quest_scroll_velociraptor {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_trex {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -207px -1411px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_vice1 {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -345px -1411px;
+.inventory_quest_scroll_trex_undead {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -138px -1411px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_vice1_locked {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_triceratops {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -276px -1411px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_vice2 {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -483px -1411px;
+.inventory_quest_scroll_turtle {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -345px -1411px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_vice2_locked {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_unicorn {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -414px -1411px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_vice3 {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_velociraptor {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -483px -1411px;
+ width: 68px;
+ height: 68px;
+}
+.inventory_quest_scroll_vice1 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -621px -1411px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_vice3_locked {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_vice1_locked {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -552px -1411px;
width: 68px;
height: 68px;
}
-.inventory_quest_scroll_whale {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -690px -1411px;
- width: 68px;
- height: 68px;
-}
-.inventory_quest_scroll_yarn {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_vice2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -759px -1411px;
width: 68px;
height: 68px;
}
-.quest_bundle_aquaticAmigos {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -828px -1411px;
+.inventory_quest_scroll_vice2_locked {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -690px -1411px;
width: 68px;
height: 68px;
}
-.quest_bundle_birdBuddies {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_vice3 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -897px -1411px;
width: 68px;
height: 68px;
}
-.quest_bundle_cuddleBuddies {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.inventory_quest_scroll_vice3_locked {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -828px -1411px;
+ width: 68px;
+ height: 68px;
+}
+.inventory_quest_scroll_whale {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -966px -1411px;
width: 68px;
height: 68px;
}
-.quest_bundle_farmFriends {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1530px -1242px;
+.inventory_quest_scroll_yarn {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1035px -1411px;
width: 68px;
height: 68px;
}
-.quest_bundle_featheredFriends {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.quest_bundle_aquaticAmigos {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1104px -1411px;
width: 68px;
height: 68px;
}
-.quest_bundle_forestFriends {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.quest_bundle_birdBuddies {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1173px -1411px;
width: 68px;
height: 68px;
}
-.quest_bundle_hugabug {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.quest_bundle_cuddleBuddies {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1242px -1411px;
width: 68px;
height: 68px;
}
-.quest_bundle_mythicalMarvels {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.quest_bundle_farmFriends {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1311px -1411px;
width: 68px;
height: 68px;
}
-.quest_bundle_oddballs {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.quest_bundle_featheredFriends {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1380px -1411px;
width: 68px;
height: 68px;
}
-.quest_bundle_rockingReptiles {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.quest_bundle_forestFriends {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1449px -1411px;
width: 68px;
height: 68px;
}
-.quest_bundle_splashyPals {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.quest_bundle_hugabug {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1530px 0px;
width: 68px;
height: 68px;
}
-.quest_bundle_winterQuests {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.quest_bundle_mythicalMarvels {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1530px -69px;
width: 68px;
height: 68px;
}
-.quest_bundle_witchyFamiliars {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.quest_bundle_oddballs {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1530px -138px;
width: 68px;
height: 68px;
}
-.shop_gem {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.quest_bundle_rockingReptiles {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1530px -207px;
width: 68px;
height: 68px;
}
-.shop_opaquePotion {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.quest_bundle_splashyPals {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1530px -276px;
width: 68px;
height: 68px;
}
-.shop_potion {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.quest_bundle_winterQuests {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1530px -345px;
width: 68px;
height: 68px;
}
-.shop_seafoam {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.quest_bundle_witchyFamiliars {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1530px -414px;
width: 68px;
height: 68px;
}
-.shop_shinySeed {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.shop_gem {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1530px -483px;
width: 68px;
height: 68px;
}
-.shop_snowball {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.shop_opaquePotion {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1530px -552px;
width: 68px;
height: 68px;
}
-.shop_spookySparkles {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.shop_potion {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1530px -621px;
width: 68px;
height: 68px;
}
-.shop_mounts_MagicalBee-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.shop_seafoam {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1530px -690px;
width: 68px;
height: 68px;
}
-.shop_mounts_Mammoth-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.shop_shinySeed {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1530px -759px;
width: 68px;
height: 68px;
}
-.shop_mounts_MantisShrimp-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.shop_snowball {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1530px -828px;
width: 68px;
height: 68px;
}
-.shop_mounts_Phoenix-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.shop_spookySparkles {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1530px -897px;
width: 68px;
height: 68px;
}
-.shop_pets_MagicalBee-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.shop_mounts_MagicalBee-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1530px -966px;
width: 68px;
height: 68px;
}
-.shop_pets_Mammoth-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.shop_mounts_Mammoth-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1530px -1035px;
width: 68px;
height: 68px;
}
-.shop_pets_MantisShrimp-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.shop_mounts_MantisShrimp-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1530px -1104px;
width: 68px;
height: 68px;
}
-.shop_pets_Phoenix-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+.shop_mounts_Phoenix-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1530px -1173px;
width: 68px;
height: 68px;
}
+.shop_pets_MagicalBee-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1530px -1242px;
+ width: 68px;
+ height: 68px;
+}
+.shop_pets_Mammoth-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1530px -1311px;
+ width: 68px;
+ height: 68px;
+}
+.shop_pets_MantisShrimp-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1530px -1380px;
+ width: 68px;
+ height: 68px;
+}
+.shop_pets_Phoenix-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: 0px -1480px;
+ width: 68px;
+ height: 68px;
+}
.shop_backStab {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -984px -989px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1254px -433px;
width: 40px;
height: 40px;
}
.shop_brightness {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1357px -1618px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1103px -1010px;
width: 40px;
height: 40px;
}
.shop_defensiveStance {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1316px -1618px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1144px -1010px;
width: 40px;
height: 40px;
}
.shop_earth {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1439px -1618px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1185px -1010px;
width: 40px;
height: 40px;
}
.shop_fireball {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1275px -1618px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1226px -1010px;
width: 40px;
height: 40px;
}
.shop_frost {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1025px -989px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1267px -1010px;
width: 40px;
height: 40px;
}
.shop_heal {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -943px -989px;
- width: 40px;
- height: 40px;
-}
-.shop_healAll {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -902px -989px;
width: 40px;
height: 40px;
}
+.shop_healAll {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -943px -989px;
+ width: 40px;
+ height: 40px;
+}
.shop_intimidate {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1237px -1010px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -984px -989px;
width: 40px;
height: 40px;
}
.shop_mpheal {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1644px -1618px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1025px -989px;
width: 40px;
height: 40px;
}
.shop_pickPocket {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1603px -1618px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1422px -1618px;
width: 40px;
height: 40px;
}
.shop_protectAura {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1562px -1618px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1463px -1618px;
width: 40px;
height: 40px;
}
.shop_smash {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1521px -1618px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1504px -1618px;
width: 40px;
height: 40px;
}
.shop_stealth {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1480px -1618px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1545px -1618px;
width: 40px;
height: 40px;
}
.shop_toolsOfTrade {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1196px -1010px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1586px -1618px;
width: 40px;
height: 40px;
}
.shop_valorousPresence {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1155px -1010px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1627px -1618px;
width: 40px;
height: 40px;
}
.Pet_Egg_Alligator {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -897px -1480px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_Armadillo {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -966px -1480px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_Axolotl {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1035px -1480px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_Badger {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1104px -1480px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_BearCub {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1173px -1480px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_Beetle {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1242px -1480px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_Bunny {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1311px -1480px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_Butterfly {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1380px -1480px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_Cactus {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1449px -1480px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_Cheetah {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1518px -1480px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_Cow {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1599px 0px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_Cuttlefish {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1599px -69px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_Deer {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1599px -138px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_Dolphin {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1599px -207px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_Dragon {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1599px -276px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_Egg {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1599px -345px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_Falcon {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1599px -414px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_Ferret {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1599px -483px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_FlyingPig {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1599px -552px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_Fox {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1599px -621px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_Frog {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1599px -690px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_Gryphon {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1599px -759px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_GuineaPig {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1599px -828px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_Hedgehog {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1599px -897px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_Hippo {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1599px -966px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_Horse {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1599px -1035px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_Kangaroo {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1599px -1104px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_LionCub {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1599px -1173px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_Monkey {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1599px -1242px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_Nudibranch {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1599px -1311px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_Octopus {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1599px -1380px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_Owl {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1599px -1449px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_PandaCub {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: 0px -1549px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_Parrot {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -69px -1549px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_Peacock {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -138px -1549px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_Penguin {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -207px -1549px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_PolarBear {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -276px -1549px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_Pterodactyl {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -345px -1549px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_Rat {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -414px -1549px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_Robot {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -483px -1549px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_Rock {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -552px -1549px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_Rooster {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -621px -1549px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_Sabretooth {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -690px -1549px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_SeaSerpent {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -828px -1549px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_Seahorse {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -759px -1549px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_Sheep {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -897px -1549px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_Slime {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -966px -1549px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_Sloth {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1035px -1549px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_Snail {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1104px -1549px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_Snake {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1173px -1549px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_Spider {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1242px -1549px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_Squirrel {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1311px -1549px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_TRex {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1518px -1549px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_TigerCub {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1380px -1549px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_Treeling {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1449px -1549px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_Triceratops {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1587px -1549px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_Turtle {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1668px 0px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_Unicorn {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1668px -69px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_Velociraptor {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1668px -138px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_Whale {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1668px -207px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_Wolf {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1668px -276px;
- width: 68px;
- height: 68px;
-}
-.Pet_Egg_Yarn {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1668px -345px;
- width: 68px;
- height: 68px;
-}
-.Pet_Food_Cake_Base {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1668px -414px;
- width: 68px;
- height: 68px;
-}
-.Pet_Food_Cake_CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1668px -483px;
- width: 68px;
- height: 68px;
-}
-.Pet_Food_Cake_CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1668px -552px;
- width: 68px;
- height: 68px;
-}
-.Pet_Food_Cake_Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1668px -621px;
- width: 68px;
- height: 68px;
-}
-.Pet_Food_Cake_Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1668px -690px;
- width: 68px;
- height: 68px;
-}
-.Pet_Food_Cake_Red {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1668px -759px;
- width: 68px;
- height: 68px;
-}
-.Pet_Food_Cake_Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1668px -828px;
- width: 68px;
- height: 68px;
-}
-.Pet_Food_Cake_Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1668px -897px;
- width: 68px;
- height: 68px;
-}
-.Pet_Food_Cake_White {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1668px -966px;
- width: 68px;
- height: 68px;
-}
-.Pet_Food_Cake_Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1668px -1035px;
- width: 68px;
- height: 68px;
-}
-.Pet_Food_Candy_Base {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1668px -1104px;
- width: 68px;
- height: 68px;
-}
-.Pet_Food_Candy_CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1668px -1173px;
- width: 68px;
- height: 68px;
-}
-.Pet_Food_Candy_CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1668px -1242px;
- width: 68px;
- height: 68px;
-}
-.Pet_Food_Candy_Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1668px -1311px;
- width: 68px;
- height: 68px;
-}
-.Pet_Food_Candy_Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1668px -1380px;
- width: 68px;
- height: 68px;
-}
-.Pet_Food_Candy_Red {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1668px -1449px;
- width: 68px;
- height: 68px;
-}
-.Pet_Food_Candy_Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1668px -1518px;
- width: 68px;
- height: 68px;
-}
-.Pet_Food_Candy_Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: 0px -1618px;
- width: 68px;
- height: 68px;
-}
-.Pet_Food_Candy_White {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -69px -1618px;
- width: 68px;
- height: 68px;
-}
-.Pet_Food_Candy_Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -138px -1618px;
- width: 68px;
- height: 68px;
-}
-.Pet_Food_Chocolate {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -207px -1618px;
- width: 68px;
- height: 68px;
-}
-.Pet_Food_CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -276px -1618px;
- width: 68px;
- height: 68px;
-}
-.Pet_Food_CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -345px -1618px;
- width: 68px;
- height: 68px;
-}
-.Pet_Food_Fish {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -414px -1618px;
- width: 68px;
- height: 68px;
-}
-.Pet_Food_Honey {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -483px -1618px;
- width: 68px;
- height: 68px;
-}
-.Pet_Food_Meat {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -552px -1618px;
- width: 68px;
- height: 68px;
-}
-.Pet_Food_Milk {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -621px -1618px;
- width: 68px;
- height: 68px;
-}
-.Pet_Food_Pie_Base {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -690px -1618px;
- width: 68px;
- height: 68px;
-}
-.Pet_Food_Pie_CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -759px -1618px;
- width: 68px;
- height: 68px;
-}
-.Pet_Food_Pie_CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -828px -1480px;
- width: 68px;
- height: 68px;
-}
-.Pet_Food_Pie_Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -759px -1480px;
- width: 68px;
- height: 68px;
-}
-.Pet_Food_Pie_Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -690px -1480px;
- width: 68px;
- height: 68px;
-}
-.Pet_Food_Pie_Red {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -621px -1480px;
- width: 68px;
- height: 68px;
-}
-.Pet_Food_Pie_Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -552px -1480px;
- width: 68px;
- height: 68px;
-}
-.Pet_Food_Pie_Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -483px -1480px;
- width: 68px;
- height: 68px;
-}
-.Pet_Food_Pie_White {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -414px -1480px;
- width: 68px;
- height: 68px;
-}
-.Pet_Food_Pie_Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -345px -1480px;
- width: 68px;
- height: 68px;
-}
-.Pet_Food_Potatoe {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -276px -1480px;
- width: 68px;
- height: 68px;
-}
-.Pet_Food_RottenMeat {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -207px -1480px;
- width: 68px;
- height: 68px;
-}
-.Pet_Food_Saddle {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -138px -1480px;
- width: 68px;
- height: 68px;
-}
-.Pet_Food_Strawberry {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -69px -1480px;
width: 68px;
height: 68px;
}
+.Pet_Egg_Armadillo {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -138px -1480px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_Axolotl {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -207px -1480px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_Badger {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -276px -1480px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_BearCub {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -345px -1480px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_Beetle {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -414px -1480px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_Bunny {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -483px -1480px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_Butterfly {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -552px -1480px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_Cactus {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -621px -1480px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_Cheetah {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -690px -1480px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_Cow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -759px -1480px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_Cuttlefish {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -828px -1480px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_Deer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -897px -1480px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_Dolphin {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -966px -1480px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_Dragon {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1035px -1480px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_Egg {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1104px -1480px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_Falcon {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1173px -1480px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_Ferret {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1242px -1480px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_FlyingPig {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1311px -1480px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_Fox {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1380px -1480px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_Frog {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1449px -1480px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_Gryphon {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1518px -1480px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_GuineaPig {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1599px 0px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_Hedgehog {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1599px -69px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_Hippo {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1599px -138px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_Horse {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1599px -207px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_Kangaroo {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1599px -276px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_LionCub {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1599px -345px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_Monkey {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1599px -414px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_Nudibranch {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1599px -483px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_Octopus {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1599px -552px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_Owl {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1599px -621px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_PandaCub {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1599px -690px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_Parrot {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1599px -759px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_Peacock {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1599px -828px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_Penguin {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1599px -897px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_PolarBear {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1599px -966px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_Pterodactyl {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1599px -1035px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_Rat {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1599px -1104px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_Robot {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1599px -1173px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_Rock {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1599px -1242px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_Rooster {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1599px -1311px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_Sabretooth {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1599px -1380px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_SeaSerpent {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: 0px -1549px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_Seahorse {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1599px -1449px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_Sheep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -69px -1549px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_Slime {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -138px -1549px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_Sloth {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -207px -1549px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_Snail {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -276px -1549px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_Snake {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -345px -1549px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_Spider {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -414px -1549px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_Squirrel {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -483px -1549px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_TRex {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -690px -1549px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_TigerCub {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -552px -1549px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_Treeling {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -621px -1549px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_Triceratops {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -759px -1549px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_Turtle {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -828px -1549px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_Unicorn {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -897px -1549px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_Velociraptor {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -966px -1549px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_Whale {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1035px -1549px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_Wolf {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1104px -1549px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Egg_Yarn {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1173px -1549px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Food_Cake_Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1242px -1549px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Food_Cake_CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1311px -1549px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Food_Cake_CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1380px -1549px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Food_Cake_Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1449px -1549px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Food_Cake_Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1518px -1549px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Food_Cake_Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1587px -1549px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Food_Cake_Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1668px 0px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Food_Cake_Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1668px -69px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Food_Cake_White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1668px -138px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Food_Cake_Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1668px -207px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Food_Candy_Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1668px -276px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Food_Candy_CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1668px -345px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Food_Candy_CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1668px -414px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Food_Candy_Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1668px -483px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Food_Candy_Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1668px -552px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Food_Candy_Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1668px -621px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Food_Candy_Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1668px -690px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Food_Candy_Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1668px -759px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Food_Candy_White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1668px -828px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Food_Candy_Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1668px -897px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Food_Chocolate {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1668px -966px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Food_CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1668px -1035px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Food_CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1668px -1104px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Food_Fish {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1668px -1173px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Food_Honey {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1668px -1242px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Food_Meat {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1668px -1311px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Food_Milk {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1668px -1380px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Food_Pie_Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1668px -1449px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Food_Pie_CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1668px -1518px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Food_Pie_CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: 0px -1618px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Food_Pie_Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -69px -1618px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Food_Pie_Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -138px -1618px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Food_Pie_Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -207px -1618px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Food_Pie_Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -276px -1618px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Food_Pie_Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -345px -1618px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Food_Pie_White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -414px -1618px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Food_Pie_Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -483px -1618px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Food_Potatoe {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -552px -1618px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Food_RottenMeat {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -621px -1618px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Food_Saddle {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -690px -1618px;
+ width: 68px;
+ height: 68px;
+}
+.Pet_Food_Strawberry {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -759px -1618px;
+ width: 68px;
+ height: 68px;
+}
.Mount_Body_Alligator-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1060px -1167px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1103px -480px;
width: 105px;
height: 105px;
}
.Mount_Body_Alligator-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -954px -1167px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1103px -586px;
width: 105px;
height: 105px;
}
.Mount_Body_Alligator-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -848px -1167px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1103px -692px;
width: 105px;
height: 105px;
}
.Mount_Body_Alligator-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -742px -1167px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1103px -798px;
width: 105px;
height: 105px;
}
.Mount_Body_Alligator-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -636px -1167px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1103px -904px;
width: 105px;
height: 105px;
}
.Mount_Body_Alligator-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -530px -1167px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -902px -883px;
width: 105px;
height: 105px;
}
.Mount_Body_Alligator-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -424px -1167px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: 0px -1061px;
width: 105px;
height: 105px;
}
.Mount_Body_Alligator-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -318px -1167px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -106px -1061px;
width: 105px;
height: 105px;
}
.Mount_Body_Alligator-White {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -212px -1167px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -212px -1061px;
width: 105px;
height: 105px;
}
.Mount_Body_Alligator-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -106px -1167px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -318px -1061px;
width: 105px;
height: 105px;
}
.Mount_Body_Armadillo-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: 0px -1167px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -424px -1061px;
width: 105px;
height: 105px;
}
.Mount_Body_Armadillo-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1166px -1061px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -530px -1061px;
width: 105px;
height: 105px;
}
.Mount_Body_Armadillo-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1060px -1061px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -636px -1061px;
width: 105px;
height: 105px;
}
.Mount_Body_Armadillo-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -954px -1061px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -742px -1061px;
width: 105px;
height: 105px;
}
.Mount_Body_Armadillo-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -848px -1061px;
width: 105px;
height: 105px;
}
.Mount_Body_Armadillo-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -742px -1061px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -954px -1061px;
width: 105px;
height: 105px;
}
.Mount_Body_Armadillo-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -636px -1061px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1060px -1061px;
width: 105px;
height: 105px;
}
.Mount_Body_Armadillo-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -530px -1061px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1166px -1061px;
width: 105px;
height: 105px;
}
.Mount_Body_Armadillo-White {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -424px -1061px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: 0px -1167px;
width: 105px;
height: 105px;
}
.Mount_Body_Armadillo-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -318px -1061px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -106px -1167px;
width: 105px;
height: 105px;
}
.Mount_Body_Axolotl-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -212px -1061px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -212px -1167px;
width: 105px;
height: 105px;
}
.Mount_Body_Axolotl-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -106px -1061px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -318px -1167px;
width: 105px;
height: 105px;
}
.Mount_Body_Axolotl-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: 0px -1061px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -424px -1167px;
width: 105px;
height: 105px;
}
.Mount_Body_Axolotl-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -902px -883px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -530px -1167px;
width: 105px;
height: 105px;
}
.Mount_Body_Axolotl-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1103px -904px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -636px -1167px;
width: 105px;
height: 105px;
}
.Mount_Body_Axolotl-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1103px -798px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -742px -1167px;
width: 105px;
height: 105px;
}
.Mount_Body_Axolotl-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1103px -692px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -848px -1167px;
width: 105px;
height: 105px;
}
.Mount_Body_Axolotl-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1103px -586px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -954px -1167px;
width: 105px;
height: 105px;
}
.Mount_Body_Axolotl-White {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
- background-position: -1103px -480px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
+ background-position: -1060px -1167px;
width: 105px;
height: 105px;
}
.Mount_Body_Axolotl-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-13.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-13.png');
background-position: -1166px -1167px;
width: 105px;
height: 105px;
diff --git a/website/client/assets/css/sprites/spritesmith-main-14.css b/website/client/src/assets/css/sprites/spritesmith-main-14.css
similarity index 57%
rename from website/client/assets/css/sprites/spritesmith-main-14.css
rename to website/client/src/assets/css/sprites/spritesmith-main-14.css
index 310d2a4755..f3316d5372 100644
--- a/website/client/assets/css/sprites/spritesmith-main-14.css
+++ b/website/client/src/assets/css/sprites/spritesmith-main-14.css
@@ -1,1463 +1,1463 @@
.Mount_Body_Badger-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -530px -596px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Badger-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -212px -1126px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Badger-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -318px -808px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Badger-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -424px -808px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Badger-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -530px -808px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Badger-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -636px -808px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Badger-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -742px -808px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Badger-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -848px -808px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Badger-White {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -984px 0px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Badger-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -984px -106px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_BearCub-Aquatic {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -984px -212px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_BearCub-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -984px -318px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_BearCub-Bronze {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -636px -1020px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_BearCub-Celestial {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -1166px -1126px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_BearCub-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -1302px 0px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_BearCub-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -1302px -106px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_BearCub-Cupid {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -1302px -212px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_BearCub-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -1302px -318px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_BearCub-Ember {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -1302px -424px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_BearCub-Fairy {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -1302px -530px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_BearCub-Floral {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -1302px -636px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_BearCub-Frost {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -1302px -742px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_BearCub-Ghost {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -1302px -848px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_BearCub-Glass {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -1514px -848px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_BearCub-Glow {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: 0px -490px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_BearCub-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -106px -490px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_BearCub-Holly {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -212px -490px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_BearCub-IcySnow {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -318px -490px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_BearCub-Peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -424px -490px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_BearCub-Polar {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -530px -490px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_BearCub-Rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -666px 0px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_BearCub-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -666px -106px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_BearCub-RoseQuartz {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -666px -212px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_BearCub-RoyalPurple {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -666px -318px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_BearCub-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -666px -424px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_BearCub-Shadow {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: 0px -596px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_BearCub-Shimmer {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -106px -596px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_BearCub-Silver {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -212px -596px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_BearCub-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -318px -596px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_BearCub-Spooky {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -424px -596px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_BearCub-StarryNight {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: 0px -121px;
- width: 120px;
- height: 120px;
-}
-.Mount_Body_BearCub-Sunshine {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -636px -596px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_BearCub-Thunderstorm {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -772px 0px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_BearCub-Watery {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -772px -106px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_BearCub-White {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -772px -212px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_BearCub-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -772px -318px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Beetle-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -772px -424px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Beetle-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -772px -530px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Beetle-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: 0px -702px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Beetle-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -106px -702px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Beetle-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -212px -702px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Beetle-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -318px -702px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Beetle-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -424px -702px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Beetle-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -530px -702px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Beetle-White {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -636px -702px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Beetle-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -742px -702px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Bunny-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -878px 0px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Bunny-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -878px -106px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Bunny-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -878px -212px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Bunny-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -878px -318px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Bunny-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -878px -424px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Bunny-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -878px -530px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Bunny-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -878px -636px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Bunny-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: 0px -808px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Bunny-White {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -106px -808px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Bunny-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -212px -808px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Butterfly-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: 0px -366px;
- width: 105px;
- height: 123px;
-}
-.Mount_Body_Butterfly-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -242px 0px;
- width: 105px;
- height: 123px;
-}
-.Mount_Body_Butterfly-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -106px -366px;
- width: 105px;
- height: 123px;
-}
-.Mount_Body_Butterfly-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -348px 0px;
- width: 105px;
- height: 123px;
-}
-.Mount_Body_Butterfly-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: 0px -242px;
- width: 105px;
- height: 123px;
-}
-.Mount_Body_Butterfly-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -106px -242px;
- width: 105px;
- height: 123px;
-}
-.Mount_Body_Butterfly-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -212px -242px;
- width: 105px;
- height: 123px;
-}
-.Mount_Body_Butterfly-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -318px -242px;
- width: 105px;
- height: 123px;
-}
-.Mount_Body_Butterfly-White {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -454px 0px;
- width: 105px;
- height: 123px;
-}
-.Mount_Body_Butterfly-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -454px -124px;
- width: 105px;
- height: 123px;
-}
-.Mount_Body_Cactus-Aquatic {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -984px -424px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Cactus-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -984px -530px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Cactus-Bronze {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -984px -636px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Cactus-Celestial {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -984px -742px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Cactus-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: 0px -914px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Cactus-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -106px -914px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Cactus-Cupid {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -212px -914px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Cactus-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -318px -914px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Cactus-Ember {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -424px -914px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Cactus-Fairy {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -530px -914px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Cactus-Floral {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -636px -914px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Cactus-Frost {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -742px -914px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Cactus-Ghost {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -848px -914px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Cactus-Glass {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -954px -914px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Cactus-Glow {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -1090px 0px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Cactus-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -1090px -106px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Cactus-Holly {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -1090px -212px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Cactus-IcySnow {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -1090px -318px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Cactus-Peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -1090px -424px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Cactus-Rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -1090px -530px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Cactus-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -1090px -636px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Cactus-RoseQuartz {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -1090px -742px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Cactus-RoyalPurple {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -1090px -848px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Cactus-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: 0px -1020px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Cactus-Shadow {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -106px -1020px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Cactus-Shimmer {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -212px -1020px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Cactus-Silver {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -318px -1020px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Cactus-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -424px -1020px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Cactus-Spooky {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -530px -1020px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Cactus-StarryNight {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: 0px 0px;
- width: 120px;
- height: 120px;
-}
-.Mount_Body_Cactus-Sunshine {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -742px -1020px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Cactus-Thunderstorm {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -848px -1020px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Cactus-Watery {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -954px -1020px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Cactus-White {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -1060px -1020px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Cactus-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -1196px 0px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Cheetah-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -1196px -106px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Cheetah-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -1196px -212px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Cheetah-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -1196px -318px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Cheetah-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -1196px -424px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Cheetah-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -1196px -530px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Cheetah-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -1196px -636px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Cheetah-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -1196px -742px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Cheetah-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -1196px -848px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Cheetah-White {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -1196px -954px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Cheetah-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: 0px -1126px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Cow-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -106px -1126px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Cow-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -560px -345px;
width: 105px;
height: 105px;
}
-.Mount_Body_Cow-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+.Mount_Body_Badger-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: 0px -490px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Badger-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -106px -490px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Badger-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -212px -490px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Badger-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -318px -490px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Badger-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -424px -490px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Badger-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -530px -490px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Badger-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -666px 0px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Badger-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -666px -106px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Badger-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -666px -212px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_BearCub-Aquatic {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -666px -318px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_BearCub-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -666px -424px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_BearCub-Bronze {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: 0px -596px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_BearCub-Celestial {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -106px -596px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_BearCub-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -212px -596px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_BearCub-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -318px -596px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_BearCub-Cupid {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -424px -596px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_BearCub-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -530px -596px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_BearCub-Ember {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -636px -596px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_BearCub-Fairy {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -772px 0px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_BearCub-Floral {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -772px -106px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_BearCub-Frost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -772px -212px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_BearCub-Ghost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -772px -318px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_BearCub-Glass {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -772px -424px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_BearCub-Glow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -772px -530px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_BearCub-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: 0px -702px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_BearCub-Holly {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -106px -702px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_BearCub-IcySnow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -212px -702px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_BearCub-Peppermint {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -318px -702px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_BearCub-Polar {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -424px -702px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_BearCub-Rainbow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -530px -702px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_BearCub-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -636px -702px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_BearCub-RoseQuartz {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -742px -702px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_BearCub-RoyalPurple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -878px 0px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_BearCub-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -878px -106px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_BearCub-Shadow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -878px -212px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_BearCub-Shimmer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -878px -318px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_BearCub-Silver {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -878px -424px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_BearCub-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -878px -530px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_BearCub-Spooky {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -878px -636px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_BearCub-StarryNight {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: 0px 0px;
+ width: 120px;
+ height: 120px;
+}
+.Mount_Body_BearCub-Sunshine {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: 0px -808px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_BearCub-Thunderstorm {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -106px -808px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_BearCub-Watery {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -212px -808px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_BearCub-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -318px -808px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_BearCub-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -424px -808px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Beetle-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -530px -808px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Beetle-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -636px -808px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Beetle-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -742px -808px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Beetle-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -848px -808px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Beetle-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -984px 0px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Beetle-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -984px -106px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Beetle-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -984px -212px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Beetle-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -984px -318px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Beetle-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -984px -424px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Beetle-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -984px -530px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Bunny-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -984px -636px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Bunny-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -984px -742px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Bunny-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: 0px -914px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Bunny-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -106px -914px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Bunny-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -212px -914px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Bunny-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -318px -914px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Bunny-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -424px -914px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Bunny-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -530px -914px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Bunny-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -636px -914px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Bunny-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -742px -914px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Butterfly-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -242px 0px;
+ width: 105px;
+ height: 123px;
+}
+.Mount_Body_Butterfly-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -348px 0px;
+ width: 105px;
+ height: 123px;
+}
+.Mount_Body_Butterfly-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: 0px -242px;
+ width: 105px;
+ height: 123px;
+}
+.Mount_Body_Butterfly-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -106px -242px;
+ width: 105px;
+ height: 123px;
+}
+.Mount_Body_Butterfly-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -212px -242px;
+ width: 105px;
+ height: 123px;
+}
+.Mount_Body_Butterfly-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -318px -242px;
+ width: 105px;
+ height: 123px;
+}
+.Mount_Body_Butterfly-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -454px 0px;
+ width: 105px;
+ height: 123px;
+}
+.Mount_Body_Butterfly-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -454px -124px;
+ width: 105px;
+ height: 123px;
+}
+.Mount_Body_Butterfly-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: 0px -366px;
+ width: 105px;
+ height: 123px;
+}
+.Mount_Body_Butterfly-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -106px -366px;
+ width: 105px;
+ height: 123px;
+}
+.Mount_Body_Cactus-Aquatic {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -848px -914px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Cactus-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -954px -914px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Cactus-Bronze {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -1090px 0px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Cactus-Celestial {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -1090px -106px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Cactus-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -1090px -212px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Cactus-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -1090px -318px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Cactus-Cupid {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -1090px -424px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Cactus-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -1090px -530px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Cactus-Ember {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -1090px -636px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Cactus-Fairy {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -1090px -742px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Cactus-Floral {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -1090px -848px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Cactus-Frost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: 0px -1020px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Cactus-Ghost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -106px -1020px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Cactus-Glass {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -212px -1020px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Cactus-Glow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -318px -1020px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Cactus-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -424px -1020px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Cactus-Holly {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -530px -1020px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Cactus-IcySnow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -636px -1020px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Cactus-Peppermint {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -742px -1020px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Cactus-Rainbow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -848px -1020px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Cactus-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -954px -1020px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Cactus-RoseQuartz {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -1060px -1020px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Cactus-RoyalPurple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -1196px 0px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Cactus-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -1196px -106px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Cactus-Shadow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -1196px -212px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Cactus-Shimmer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -1196px -318px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Cactus-Silver {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -1196px -424px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Cactus-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -1196px -530px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Cactus-Spooky {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -1196px -636px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Cactus-StarryNight {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -121px 0px;
+ width: 120px;
+ height: 120px;
+}
+.Mount_Body_Cactus-Sunshine {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -1196px -742px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Cactus-Thunderstorm {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -1196px -848px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Cactus-Watery {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -1196px -954px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Cactus-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: 0px -1126px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Cactus-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -106px -1126px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Cheetah-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -212px -1126px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Cheetah-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -318px -1126px;
width: 105px;
height: 105px;
}
-.Mount_Body_Cow-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+.Mount_Body_Cheetah-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -424px -1126px;
width: 105px;
height: 105px;
}
-.Mount_Body_Cow-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+.Mount_Body_Cheetah-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -530px -1126px;
width: 105px;
height: 105px;
}
-.Mount_Body_Cow-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+.Mount_Body_Cheetah-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -636px -1126px;
width: 105px;
height: 105px;
}
-.Mount_Body_Cow-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+.Mount_Body_Cheetah-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -742px -1126px;
width: 105px;
height: 105px;
}
-.Mount_Body_Cow-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+.Mount_Body_Cheetah-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -848px -1126px;
width: 105px;
height: 105px;
}
-.Mount_Body_Cow-White {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+.Mount_Body_Cheetah-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -954px -1126px;
width: 105px;
height: 105px;
}
-.Mount_Body_Cow-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+.Mount_Body_Cheetah-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1060px -1126px;
width: 105px;
height: 105px;
}
+.Mount_Body_Cheetah-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -1166px -1126px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Cow-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -1302px 0px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Cow-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -1302px -106px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Cow-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -1302px -212px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Cow-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -1302px -318px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Cow-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -1302px -424px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Cow-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -1302px -530px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Cow-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -1302px -636px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Cow-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -1302px -742px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Cow-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -1302px -848px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Cow-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -1302px -954px;
+ width: 105px;
+ height: 105px;
+}
.Mount_Body_Cuttlefish-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -454px -248px;
width: 105px;
height: 114px;
}
.Mount_Body_Cuttlefish-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -348px -124px;
width: 105px;
height: 114px;
}
.Mount_Body_Cuttlefish-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -242px -124px;
width: 105px;
height: 114px;
}
.Mount_Body_Cuttlefish-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -121px -121px;
width: 105px;
height: 114px;
}
.Mount_Body_Cuttlefish-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -212px -366px;
width: 105px;
height: 114px;
}
.Mount_Body_Cuttlefish-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -318px -366px;
width: 105px;
height: 114px;
}
.Mount_Body_Cuttlefish-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -424px -366px;
width: 105px;
height: 114px;
}
.Mount_Body_Cuttlefish-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -560px 0px;
width: 105px;
height: 114px;
}
.Mount_Body_Cuttlefish-White {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -560px -115px;
width: 105px;
height: 114px;
}
.Mount_Body_Cuttlefish-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -560px -230px;
width: 105px;
height: 114px;
}
.Mount_Body_Deer-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -1302px -954px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Deer-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1302px -1060px;
width: 105px;
height: 105px;
}
-.Mount_Body_Deer-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+.Mount_Body_Deer-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: 0px -1232px;
width: 105px;
height: 105px;
}
-.Mount_Body_Deer-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+.Mount_Body_Deer-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -106px -1232px;
width: 105px;
height: 105px;
}
-.Mount_Body_Deer-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+.Mount_Body_Deer-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -212px -1232px;
width: 105px;
height: 105px;
}
-.Mount_Body_Deer-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+.Mount_Body_Deer-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -318px -1232px;
width: 105px;
height: 105px;
}
-.Mount_Body_Deer-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+.Mount_Body_Deer-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -424px -1232px;
width: 105px;
height: 105px;
}
-.Mount_Body_Deer-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+.Mount_Body_Deer-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -530px -1232px;
width: 105px;
height: 105px;
}
-.Mount_Body_Deer-White {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+.Mount_Body_Deer-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -636px -1232px;
width: 105px;
height: 105px;
}
-.Mount_Body_Deer-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+.Mount_Body_Deer-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -742px -1232px;
width: 105px;
height: 105px;
}
-.Mount_Body_Dolphin-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+.Mount_Body_Deer-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -848px -1232px;
width: 105px;
height: 105px;
}
-.Mount_Body_Dolphin-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+.Mount_Body_Dolphin-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -954px -1232px;
width: 105px;
height: 105px;
}
-.Mount_Body_Dolphin-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+.Mount_Body_Dolphin-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1060px -1232px;
width: 105px;
height: 105px;
}
-.Mount_Body_Dolphin-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+.Mount_Body_Dolphin-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1166px -1232px;
width: 105px;
height: 105px;
}
-.Mount_Body_Dolphin-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+.Mount_Body_Dolphin-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1272px -1232px;
width: 105px;
height: 105px;
}
-.Mount_Body_Dolphin-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+.Mount_Body_Dolphin-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1408px 0px;
width: 105px;
height: 105px;
}
-.Mount_Body_Dolphin-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+.Mount_Body_Dolphin-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1408px -106px;
width: 105px;
height: 105px;
}
-.Mount_Body_Dolphin-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+.Mount_Body_Dolphin-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1408px -212px;
width: 105px;
height: 105px;
}
-.Mount_Body_Dolphin-White {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+.Mount_Body_Dolphin-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1408px -318px;
width: 105px;
height: 105px;
}
-.Mount_Body_Dolphin-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+.Mount_Body_Dolphin-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1408px -424px;
width: 105px;
height: 105px;
}
-.Mount_Body_Dragon-Aquatic {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+.Mount_Body_Dolphin-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1408px -530px;
width: 105px;
height: 105px;
}
-.Mount_Body_Dragon-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+.Mount_Body_Dragon-Aquatic {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1408px -636px;
width: 105px;
height: 105px;
}
-.Mount_Body_Dragon-Bronze {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+.Mount_Body_Dragon-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1408px -742px;
width: 105px;
height: 105px;
}
-.Mount_Body_Dragon-Celestial {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+.Mount_Body_Dragon-Bronze {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1408px -848px;
width: 105px;
height: 105px;
}
-.Mount_Body_Dragon-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+.Mount_Body_Dragon-Celestial {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1408px -954px;
width: 105px;
height: 105px;
}
-.Mount_Body_Dragon-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+.Mount_Body_Dragon-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1408px -1060px;
width: 105px;
height: 105px;
}
-.Mount_Body_Dragon-Cupid {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+.Mount_Body_Dragon-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1408px -1166px;
width: 105px;
height: 105px;
}
-.Mount_Body_Dragon-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+.Mount_Body_Dragon-Cupid {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: 0px -1338px;
width: 105px;
height: 105px;
}
-.Mount_Body_Dragon-Ember {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+.Mount_Body_Dragon-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -106px -1338px;
width: 105px;
height: 105px;
}
-.Mount_Body_Dragon-Fairy {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+.Mount_Body_Dragon-Ember {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -212px -1338px;
width: 105px;
height: 105px;
}
-.Mount_Body_Dragon-Floral {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+.Mount_Body_Dragon-Fairy {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -318px -1338px;
width: 105px;
height: 105px;
}
-.Mount_Body_Dragon-Frost {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+.Mount_Body_Dragon-Floral {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -424px -1338px;
width: 105px;
height: 105px;
}
-.Mount_Body_Dragon-Ghost {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+.Mount_Body_Dragon-Frost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -530px -1338px;
width: 105px;
height: 105px;
}
-.Mount_Body_Dragon-Glass {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+.Mount_Body_Dragon-Ghost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -636px -1338px;
width: 105px;
height: 105px;
}
-.Mount_Body_Dragon-Glow {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+.Mount_Body_Dragon-Glass {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -742px -1338px;
width: 105px;
height: 105px;
}
-.Mount_Body_Dragon-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+.Mount_Body_Dragon-Glow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -848px -1338px;
width: 105px;
height: 105px;
}
-.Mount_Body_Dragon-Holly {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+.Mount_Body_Dragon-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -954px -1338px;
width: 105px;
height: 105px;
}
-.Mount_Body_Dragon-IcySnow {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+.Mount_Body_Dragon-Holly {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1060px -1338px;
width: 105px;
height: 105px;
}
-.Mount_Body_Dragon-Peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+.Mount_Body_Dragon-IcySnow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1166px -1338px;
width: 105px;
height: 105px;
}
-.Mount_Body_Dragon-Rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+.Mount_Body_Dragon-Peppermint {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1272px -1338px;
width: 105px;
height: 105px;
}
-.Mount_Body_Dragon-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+.Mount_Body_Dragon-Rainbow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1378px -1338px;
width: 105px;
height: 105px;
}
-.Mount_Body_Dragon-RoseQuartz {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+.Mount_Body_Dragon-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1514px 0px;
width: 105px;
height: 105px;
}
-.Mount_Body_Dragon-RoyalPurple {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+.Mount_Body_Dragon-RoseQuartz {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1514px -106px;
width: 105px;
height: 105px;
}
-.Mount_Body_Dragon-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+.Mount_Body_Dragon-RoyalPurple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1514px -212px;
width: 105px;
height: 105px;
}
-.Mount_Body_Dragon-Shadow {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+.Mount_Body_Dragon-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1514px -318px;
width: 105px;
height: 105px;
}
-.Mount_Body_Dragon-Shimmer {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+.Mount_Body_Dragon-Shadow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1514px -424px;
width: 105px;
height: 105px;
}
-.Mount_Body_Dragon-Silver {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+.Mount_Body_Dragon-Shimmer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1514px -530px;
width: 105px;
height: 105px;
}
-.Mount_Body_Dragon-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+.Mount_Body_Dragon-Silver {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1514px -636px;
width: 105px;
height: 105px;
}
-.Mount_Body_Dragon-Spooky {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+.Mount_Body_Dragon-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1514px -742px;
width: 105px;
height: 105px;
}
+.Mount_Body_Dragon-Spooky {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: -1514px -848px;
+ width: 105px;
+ height: 105px;
+}
.Mount_Body_Dragon-StarryNight {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
- background-position: -121px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
+ background-position: 0px -121px;
width: 120px;
height: 120px;
}
.Mount_Body_Dragon-Sunshine {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1514px -954px;
width: 105px;
height: 105px;
}
.Mount_Body_Dragon-Thunderstorm {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1514px -1060px;
width: 105px;
height: 105px;
}
.Mount_Body_Dragon-Watery {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1514px -1166px;
width: 105px;
height: 105px;
}
.Mount_Body_Dragon-White {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1514px -1272px;
width: 105px;
height: 105px;
}
.Mount_Body_Dragon-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: 0px -1444px;
width: 105px;
height: 105px;
}
.Mount_Body_Egg-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -106px -1444px;
width: 105px;
height: 105px;
}
.Mount_Body_Egg-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -212px -1444px;
width: 105px;
height: 105px;
}
.Mount_Body_Egg-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -318px -1444px;
width: 105px;
height: 105px;
}
.Mount_Body_Egg-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -424px -1444px;
width: 105px;
height: 105px;
}
.Mount_Body_Egg-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -530px -1444px;
width: 105px;
height: 105px;
}
.Mount_Body_Egg-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -636px -1444px;
width: 105px;
height: 105px;
}
.Mount_Body_Egg-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -742px -1444px;
width: 105px;
height: 105px;
}
.Mount_Body_Egg-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -848px -1444px;
width: 105px;
height: 105px;
}
.Mount_Body_Egg-White {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -954px -1444px;
width: 105px;
height: 105px;
}
.Mount_Body_Egg-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1060px -1444px;
width: 105px;
height: 105px;
}
.Mount_Body_Falcon-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1166px -1444px;
width: 105px;
height: 105px;
}
.Mount_Body_Falcon-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1272px -1444px;
width: 105px;
height: 105px;
}
.Mount_Body_Falcon-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1378px -1444px;
width: 105px;
height: 105px;
}
.Mount_Body_Falcon-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1484px -1444px;
width: 105px;
height: 105px;
}
.Mount_Body_Falcon-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1620px 0px;
width: 105px;
height: 105px;
}
.Mount_Body_Falcon-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1620px -106px;
width: 105px;
height: 105px;
}
.Mount_Body_Falcon-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1620px -212px;
width: 105px;
height: 105px;
}
.Mount_Body_Falcon-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1620px -318px;
width: 105px;
height: 105px;
}
.Mount_Body_Falcon-White {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1620px -424px;
width: 105px;
height: 105px;
}
.Mount_Body_Falcon-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1620px -530px;
width: 105px;
height: 105px;
}
.Mount_Body_Ferret-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1620px -636px;
width: 105px;
height: 105px;
}
.Mount_Body_Ferret-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1620px -742px;
width: 105px;
height: 105px;
}
.Mount_Body_Ferret-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1620px -848px;
width: 105px;
height: 105px;
}
.Mount_Body_Ferret-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1620px -954px;
width: 105px;
height: 105px;
}
.Mount_Body_Ferret-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1620px -1060px;
width: 105px;
height: 105px;
}
.Mount_Body_Ferret-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1620px -1166px;
width: 105px;
height: 105px;
}
.Mount_Body_Ferret-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1620px -1272px;
width: 105px;
height: 105px;
}
.Mount_Body_Ferret-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1620px -1378px;
width: 105px;
height: 105px;
}
.Mount_Body_Ferret-White {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: 0px -1550px;
width: 105px;
height: 105px;
}
.Mount_Body_Ferret-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -106px -1550px;
width: 105px;
height: 105px;
}
.Mount_Body_FlyingPig-Aquatic {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -212px -1550px;
width: 105px;
height: 105px;
}
.Mount_Body_FlyingPig-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -318px -1550px;
width: 105px;
height: 105px;
}
.Mount_Body_FlyingPig-Bronze {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -424px -1550px;
width: 105px;
height: 105px;
}
.Mount_Body_FlyingPig-Celestial {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -530px -1550px;
width: 105px;
height: 105px;
}
.Mount_Body_FlyingPig-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -636px -1550px;
width: 105px;
height: 105px;
}
.Mount_Body_FlyingPig-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -742px -1550px;
width: 105px;
height: 105px;
}
.Mount_Body_FlyingPig-Cupid {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -848px -1550px;
width: 105px;
height: 105px;
}
.Mount_Body_FlyingPig-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -954px -1550px;
width: 105px;
height: 105px;
}
.Mount_Body_FlyingPig-Ember {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1060px -1550px;
width: 105px;
height: 105px;
}
.Mount_Body_FlyingPig-Fairy {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1166px -1550px;
width: 105px;
height: 105px;
}
.Mount_Body_FlyingPig-Floral {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1272px -1550px;
width: 105px;
height: 105px;
}
.Mount_Body_FlyingPig-Frost {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1378px -1550px;
width: 105px;
height: 105px;
}
.Mount_Body_FlyingPig-Ghost {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1484px -1550px;
width: 105px;
height: 105px;
}
.Mount_Body_FlyingPig-Glass {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1590px -1550px;
width: 105px;
height: 105px;
}
.Mount_Body_FlyingPig-Glow {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1726px 0px;
width: 105px;
height: 105px;
}
.Mount_Body_FlyingPig-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1726px -106px;
width: 105px;
height: 105px;
}
.Mount_Body_FlyingPig-Holly {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1726px -212px;
width: 105px;
height: 105px;
}
.Mount_Body_FlyingPig-IcySnow {
- background-image: url('~assets/images/sprites/spritesmith-main-14.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-14.png');
background-position: -1726px -318px;
width: 105px;
height: 105px;
diff --git a/website/client/assets/css/sprites/spritesmith-main-15.css b/website/client/src/assets/css/sprites/spritesmith-main-15.css
similarity index 57%
rename from website/client/assets/css/sprites/spritesmith-main-15.css
rename to website/client/src/assets/css/sprites/spritesmith-main-15.css
index 6979b3b517..119e3f9fcd 100644
--- a/website/client/assets/css/sprites/spritesmith-main-15.css
+++ b/website/client/src/assets/css/sprites/spritesmith-main-15.css
@@ -1,1469 +1,1469 @@
.Mount_Body_FlyingPig-Peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -884px -424px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -433px -357px;
width: 105px;
height: 105px;
}
.Mount_Body_FlyingPig-Rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -212px -1108px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_FlyingPig-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -778px -424px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_FlyingPig-RoseQuartz {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -424px -684px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_FlyingPig-RoyalPurple {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -530px -684px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_FlyingPig-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -636px -684px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_FlyingPig-Shadow {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -742px -684px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_FlyingPig-Shimmer {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -884px 0px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_FlyingPig-Silver {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -884px -106px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_FlyingPig-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -884px -212px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_FlyingPig-Spooky {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -884px -318px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_FlyingPig-StarryNight {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: 0px -121px;
- width: 120px;
- height: 120px;
-}
-.Mount_Body_FlyingPig-Sunshine {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -884px -530px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_FlyingPig-Thunderstorm {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -424px -1002px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_FlyingPig-Watery {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -1272px -1214px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_FlyingPig-White {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -1414px -106px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_FlyingPig-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -1414px -742px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Fox-Aquatic {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -1414px -848px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Fox-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -1414px -954px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Fox-Bronze {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -1272px -1532px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Fox-Celestial {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -566px 0px;
width: 105px;
height: 105px;
}
-.Mount_Body_Fox-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_FlyingPig-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -566px -106px;
width: 105px;
height: 105px;
}
-.Mount_Body_Fox-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_FlyingPig-RoseQuartz {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -566px -212px;
width: 105px;
height: 105px;
}
-.Mount_Body_Fox-Cupid {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_FlyingPig-RoyalPurple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -566px -318px;
width: 105px;
height: 105px;
}
-.Mount_Body_Fox-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_FlyingPig-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: 0px -472px;
width: 105px;
height: 105px;
}
-.Mount_Body_Fox-Ember {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_FlyingPig-Shadow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -106px -472px;
width: 105px;
height: 105px;
}
-.Mount_Body_Fox-Fairy {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_FlyingPig-Shimmer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -212px -472px;
width: 105px;
height: 105px;
}
-.Mount_Body_Fox-Floral {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_FlyingPig-Silver {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -318px -472px;
width: 105px;
height: 105px;
}
-.Mount_Body_Fox-Frost {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_FlyingPig-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -424px -472px;
width: 105px;
height: 105px;
}
-.Mount_Body_Fox-Ghost {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_FlyingPig-Spooky {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -530px -472px;
width: 105px;
height: 105px;
}
-.Mount_Body_Fox-Glass {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_FlyingPig-StarryNight {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: 0px 0px;
+ width: 120px;
+ height: 120px;
+}
+.Mount_Body_FlyingPig-Sunshine {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -672px 0px;
width: 105px;
height: 105px;
}
-.Mount_Body_Fox-Glow {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_FlyingPig-Thunderstorm {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -672px -106px;
width: 105px;
height: 105px;
}
-.Mount_Body_Fox-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_FlyingPig-Watery {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -672px -212px;
width: 105px;
height: 105px;
}
-.Mount_Body_Fox-Holly {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_FlyingPig-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -672px -318px;
width: 105px;
height: 105px;
}
-.Mount_Body_Fox-IcySnow {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_FlyingPig-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -672px -424px;
width: 105px;
height: 105px;
}
-.Mount_Body_Fox-Peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_Fox-Aquatic {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: 0px -578px;
width: 105px;
height: 105px;
}
-.Mount_Body_Fox-Rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_Fox-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -106px -578px;
width: 105px;
height: 105px;
}
-.Mount_Body_Fox-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_Fox-Bronze {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -212px -578px;
width: 105px;
height: 105px;
}
-.Mount_Body_Fox-RoseQuartz {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_Fox-Celestial {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -318px -578px;
width: 105px;
height: 105px;
}
-.Mount_Body_Fox-RoyalPurple {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_Fox-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -424px -578px;
width: 105px;
height: 105px;
}
-.Mount_Body_Fox-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_Fox-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -530px -578px;
width: 105px;
height: 105px;
}
-.Mount_Body_Fox-Shadow {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_Fox-Cupid {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -636px -578px;
width: 105px;
height: 105px;
}
-.Mount_Body_Fox-Shimmer {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_Fox-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -778px 0px;
width: 105px;
height: 105px;
}
-.Mount_Body_Fox-Silver {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_Fox-Ember {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -778px -106px;
width: 105px;
height: 105px;
}
-.Mount_Body_Fox-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_Fox-Fairy {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -778px -212px;
width: 105px;
height: 105px;
}
-.Mount_Body_Fox-Spooky {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_Fox-Floral {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -778px -318px;
width: 105px;
height: 105px;
}
+.Mount_Body_Fox-Frost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -778px -424px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Fox-Ghost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -778px -530px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Fox-Glass {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: 0px -684px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Fox-Glow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -106px -684px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Fox-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -212px -684px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Fox-Holly {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -318px -684px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Fox-IcySnow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -424px -684px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Fox-Peppermint {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -530px -684px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Fox-Rainbow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -636px -684px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Fox-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -742px -684px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Fox-RoseQuartz {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -884px 0px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Fox-RoyalPurple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -884px -106px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Fox-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -884px -212px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Fox-Shadow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -884px -318px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Fox-Shimmer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -884px -424px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Fox-Silver {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -884px -530px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Fox-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -884px -636px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Fox-Spooky {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: 0px -790px;
+ width: 105px;
+ height: 105px;
+}
.Mount_Body_Fox-StarryNight {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -121px 0px;
width: 120px;
height: 120px;
}
.Mount_Body_Fox-Sunshine {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -778px -530px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Fox-Thunderstorm {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: 0px -684px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Fox-Watery {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -106px -684px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Fox-White {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -212px -684px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Fox-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -318px -684px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Frog-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -460px -115px;
- width: 105px;
- height: 114px;
-}
-.Mount_Body_Frog-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -460px -230px;
- width: 105px;
- height: 114px;
-}
-.Mount_Body_Frog-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: 0px -357px;
- width: 105px;
- height: 114px;
-}
-.Mount_Body_Frog-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -348px -109px;
- width: 105px;
- height: 114px;
-}
-.Mount_Body_Frog-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -242px -124px;
- width: 105px;
- height: 114px;
-}
-.Mount_Body_Frog-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: 0px -242px;
- width: 105px;
- height: 114px;
-}
-.Mount_Body_Frog-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -106px -242px;
- width: 105px;
- height: 114px;
-}
-.Mount_Body_Frog-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -212px -242px;
- width: 105px;
- height: 114px;
-}
-.Mount_Body_Frog-White {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -318px -242px;
- width: 105px;
- height: 114px;
-}
-.Mount_Body_Frog-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -460px 0px;
- width: 105px;
- height: 114px;
-}
-.Mount_Body_Gryphon-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -884px -636px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Gryphon-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: 0px -790px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Gryphon-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -106px -790px;
width: 105px;
height: 105px;
}
-.Mount_Body_Gryphon-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_Fox-Thunderstorm {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -212px -790px;
width: 105px;
height: 105px;
}
-.Mount_Body_Gryphon-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_Fox-Watery {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -318px -790px;
width: 105px;
height: 105px;
}
-.Mount_Body_Gryphon-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_Fox-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -424px -790px;
width: 105px;
height: 105px;
}
-.Mount_Body_Gryphon-RoyalPurple {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_Fox-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -530px -790px;
width: 105px;
height: 105px;
}
-.Mount_Body_Gryphon-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_Frog-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -348px -109px;
+ width: 105px;
+ height: 114px;
+}
+.Mount_Body_Frog-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -242px -124px;
+ width: 105px;
+ height: 114px;
+}
+.Mount_Body_Frog-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: 0px -242px;
+ width: 105px;
+ height: 114px;
+}
+.Mount_Body_Frog-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -106px -242px;
+ width: 105px;
+ height: 114px;
+}
+.Mount_Body_Frog-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -212px -242px;
+ width: 105px;
+ height: 114px;
+}
+.Mount_Body_Frog-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -318px -242px;
+ width: 105px;
+ height: 114px;
+}
+.Mount_Body_Frog-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -460px 0px;
+ width: 105px;
+ height: 114px;
+}
+.Mount_Body_Frog-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -460px -115px;
+ width: 105px;
+ height: 114px;
+}
+.Mount_Body_Frog-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -460px -230px;
+ width: 105px;
+ height: 114px;
+}
+.Mount_Body_Frog-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: 0px -357px;
+ width: 105px;
+ height: 114px;
+}
+.Mount_Body_Gryphon-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -636px -790px;
width: 105px;
height: 105px;
}
-.Mount_Body_Gryphon-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_Gryphon-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -742px -790px;
width: 105px;
height: 105px;
}
-.Mount_Body_Gryphon-White {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_Gryphon-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -848px -790px;
width: 105px;
height: 105px;
}
-.Mount_Body_Gryphon-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_Gryphon-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -990px 0px;
width: 105px;
height: 105px;
}
-.Mount_Body_GuineaPig-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_Gryphon-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -990px -106px;
width: 105px;
height: 105px;
}
-.Mount_Body_GuineaPig-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_Gryphon-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -990px -212px;
width: 105px;
height: 105px;
}
-.Mount_Body_GuineaPig-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_Gryphon-RoyalPurple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -990px -318px;
width: 105px;
height: 105px;
}
-.Mount_Body_GuineaPig-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_Gryphon-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -990px -424px;
width: 105px;
height: 105px;
}
-.Mount_Body_GuineaPig-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_Gryphon-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -990px -530px;
width: 105px;
height: 105px;
}
-.Mount_Body_GuineaPig-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_Gryphon-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -990px -636px;
width: 105px;
height: 105px;
}
-.Mount_Body_GuineaPig-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_Gryphon-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -990px -742px;
width: 105px;
height: 105px;
}
-.Mount_Body_GuineaPig-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_GuineaPig-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: 0px -896px;
width: 105px;
height: 105px;
}
-.Mount_Body_GuineaPig-White {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_GuineaPig-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -106px -896px;
width: 105px;
height: 105px;
}
-.Mount_Body_GuineaPig-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_GuineaPig-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -212px -896px;
width: 105px;
height: 105px;
}
-.Mount_Body_Hedgehog-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_GuineaPig-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -318px -896px;
width: 105px;
height: 105px;
}
-.Mount_Body_Hedgehog-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_GuineaPig-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -424px -896px;
width: 105px;
height: 105px;
}
-.Mount_Body_Hedgehog-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_GuineaPig-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -530px -896px;
width: 105px;
height: 105px;
}
-.Mount_Body_Hedgehog-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_GuineaPig-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -636px -896px;
width: 105px;
height: 105px;
}
-.Mount_Body_Hedgehog-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_GuineaPig-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -742px -896px;
width: 105px;
height: 105px;
}
-.Mount_Body_Hedgehog-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_GuineaPig-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -848px -896px;
width: 105px;
height: 105px;
}
-.Mount_Body_Hedgehog-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_GuineaPig-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -954px -896px;
width: 105px;
height: 105px;
}
-.Mount_Body_Hedgehog-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_Hedgehog-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -1096px 0px;
width: 105px;
height: 105px;
}
-.Mount_Body_Hedgehog-White {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_Hedgehog-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -1096px -106px;
width: 105px;
height: 105px;
}
-.Mount_Body_Hedgehog-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_Hedgehog-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -1096px -212px;
width: 105px;
height: 105px;
}
-.Mount_Body_Hippo-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_Hedgehog-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -1096px -318px;
width: 105px;
height: 105px;
}
-.Mount_Body_Hippo-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_Hedgehog-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -1096px -424px;
width: 105px;
height: 105px;
}
-.Mount_Body_Hippo-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_Hedgehog-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -1096px -530px;
width: 105px;
height: 105px;
}
-.Mount_Body_Hippo-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_Hedgehog-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -1096px -636px;
width: 105px;
height: 105px;
}
-.Mount_Body_Hippo-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_Hedgehog-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -1096px -742px;
width: 105px;
height: 105px;
}
-.Mount_Body_Hippo-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_Hedgehog-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -1096px -848px;
width: 105px;
height: 105px;
}
-.Mount_Body_Hippo-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_Hedgehog-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: 0px -1002px;
width: 105px;
height: 105px;
}
-.Mount_Body_Hippo-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_Hippo-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -106px -1002px;
width: 105px;
height: 105px;
}
-.Mount_Body_Hippo-White {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_Hippo-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -212px -1002px;
width: 105px;
height: 105px;
}
-.Mount_Body_Hippo-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_Hippo-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -318px -1002px;
width: 105px;
height: 105px;
}
+.Mount_Body_Hippo-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -424px -1002px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Hippo-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -530px -1002px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Hippo-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -636px -1002px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Hippo-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -742px -1002px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Hippo-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -848px -1002px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Hippo-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -954px -1002px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Hippo-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -1060px -1002px;
+ width: 105px;
+ height: 105px;
+}
.Mount_Body_Hippogriff-Hopeful {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -348px 0px;
width: 111px;
height: 108px;
}
.Mount_Body_Horse-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -530px -1002px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Horse-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -636px -1002px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Horse-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -742px -1002px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Horse-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -848px -1002px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Horse-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -954px -1002px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Horse-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -1060px -1002px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Horse-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -1202px 0px;
width: 105px;
height: 105px;
}
-.Mount_Body_Horse-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_Horse-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -1202px -106px;
width: 105px;
height: 105px;
}
-.Mount_Body_Horse-White {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_Horse-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -1202px -212px;
width: 105px;
height: 105px;
}
-.Mount_Body_Horse-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_Horse-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -1202px -318px;
width: 105px;
height: 105px;
}
-.Mount_Body_JackOLantern-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -1732px -424px;
- width: 90px;
- height: 105px;
-}
-.Mount_Body_JackOLantern-Ghost {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -1732px -318px;
- width: 90px;
- height: 105px;
-}
-.Mount_Body_Jackalope-RoyalPurple {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_Horse-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -1202px -424px;
width: 105px;
height: 105px;
}
-.Mount_Body_Kangaroo-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_Horse-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -1202px -530px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Horse-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -1202px -636px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Horse-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -1202px -742px;
width: 105px;
height: 105px;
}
-.Mount_Body_Kangaroo-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_Horse-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -1202px -848px;
width: 105px;
height: 105px;
}
-.Mount_Body_Kangaroo-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_Horse-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -1202px -954px;
width: 105px;
height: 105px;
}
-.Mount_Body_Kangaroo-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_JackOLantern-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -1732px -318px;
+ width: 90px;
+ height: 105px;
+}
+.Mount_Body_JackOLantern-Ghost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -1732px -424px;
+ width: 90px;
+ height: 105px;
+}
+.Mount_Body_Jackalope-RoyalPurple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: 0px -1108px;
width: 105px;
height: 105px;
}
-.Mount_Body_Kangaroo-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_Kangaroo-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -106px -1108px;
width: 105px;
height: 105px;
}
-.Mount_Body_Kangaroo-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -433px -357px;
+.Mount_Body_Kangaroo-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -212px -1108px;
width: 105px;
height: 105px;
}
-.Mount_Body_Kangaroo-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_Kangaroo-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -318px -1108px;
width: 105px;
height: 105px;
}
-.Mount_Body_Kangaroo-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_Kangaroo-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -424px -1108px;
width: 105px;
height: 105px;
}
-.Mount_Body_Kangaroo-White {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_Kangaroo-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -530px -1108px;
width: 105px;
height: 105px;
}
-.Mount_Body_Kangaroo-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_Kangaroo-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -636px -1108px;
width: 105px;
height: 105px;
}
-.Mount_Body_LionCub-Aquatic {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_Kangaroo-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -742px -1108px;
width: 105px;
height: 105px;
}
-.Mount_Body_LionCub-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_Kangaroo-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -848px -1108px;
width: 105px;
height: 105px;
}
-.Mount_Body_LionCub-Bronze {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_Kangaroo-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -954px -1108px;
width: 105px;
height: 105px;
}
-.Mount_Body_LionCub-Celestial {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_Kangaroo-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -1060px -1108px;
width: 105px;
height: 105px;
}
-.Mount_Body_LionCub-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_LionCub-Aquatic {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -1166px -1108px;
width: 105px;
height: 105px;
}
-.Mount_Body_LionCub-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_LionCub-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -1308px 0px;
width: 105px;
height: 105px;
}
-.Mount_Body_LionCub-Cupid {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_LionCub-Bronze {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -1308px -106px;
width: 105px;
height: 105px;
}
-.Mount_Body_LionCub-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_LionCub-Celestial {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -1308px -212px;
width: 105px;
height: 105px;
}
-.Mount_Body_LionCub-Ember {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_LionCub-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -1308px -318px;
width: 105px;
height: 105px;
}
-.Mount_Body_LionCub-Ethereal {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_LionCub-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -1308px -424px;
width: 105px;
height: 105px;
}
-.Mount_Body_LionCub-Fairy {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_LionCub-Cupid {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -1308px -530px;
width: 105px;
height: 105px;
}
-.Mount_Body_LionCub-Floral {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_LionCub-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -1308px -636px;
width: 105px;
height: 105px;
}
-.Mount_Body_LionCub-Frost {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_LionCub-Ember {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -1308px -742px;
width: 105px;
height: 105px;
}
-.Mount_Body_LionCub-Ghost {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_LionCub-Ethereal {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -1308px -848px;
width: 105px;
height: 105px;
}
-.Mount_Body_LionCub-Glass {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_LionCub-Fairy {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -1308px -954px;
width: 105px;
height: 105px;
}
-.Mount_Body_LionCub-Glow {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_LionCub-Floral {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -1308px -1060px;
width: 105px;
height: 105px;
}
-.Mount_Body_LionCub-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_LionCub-Frost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: 0px -1214px;
width: 105px;
height: 105px;
}
-.Mount_Body_LionCub-Holly {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_LionCub-Ghost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -106px -1214px;
width: 105px;
height: 105px;
}
-.Mount_Body_LionCub-IcySnow {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_LionCub-Glass {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -212px -1214px;
width: 105px;
height: 105px;
}
-.Mount_Body_LionCub-Peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_LionCub-Glow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -318px -1214px;
width: 105px;
height: 105px;
}
-.Mount_Body_LionCub-Rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_LionCub-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -424px -1214px;
width: 105px;
height: 105px;
}
-.Mount_Body_LionCub-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_LionCub-Holly {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -530px -1214px;
width: 105px;
height: 105px;
}
-.Mount_Body_LionCub-RoseQuartz {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_LionCub-IcySnow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -636px -1214px;
width: 105px;
height: 105px;
}
-.Mount_Body_LionCub-RoyalPurple {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_LionCub-Peppermint {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -742px -1214px;
width: 105px;
height: 105px;
}
-.Mount_Body_LionCub-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_LionCub-Rainbow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -848px -1214px;
width: 105px;
height: 105px;
}
-.Mount_Body_LionCub-Shadow {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_LionCub-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -954px -1214px;
width: 105px;
height: 105px;
}
-.Mount_Body_LionCub-Shimmer {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_LionCub-RoseQuartz {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -1060px -1214px;
width: 105px;
height: 105px;
}
-.Mount_Body_LionCub-Silver {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_LionCub-RoyalPurple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -1166px -1214px;
width: 105px;
height: 105px;
}
+.Mount_Body_LionCub-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -1272px -1214px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_LionCub-Shadow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -1414px 0px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_LionCub-Shimmer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -1414px -106px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_LionCub-Silver {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -1414px -212px;
+ width: 105px;
+ height: 105px;
+}
.Mount_Body_LionCub-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -212px -357px;
width: 111px;
height: 105px;
}
.Mount_Body_LionCub-Spooky {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -1414px 0px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_LionCub-StarryNight {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -121px -121px;
- width: 120px;
- height: 120px;
-}
-.Mount_Body_LionCub-Sunshine {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -1414px -212px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_LionCub-Thunderstorm {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -1414px -318px;
width: 105px;
height: 105px;
}
-.Mount_Body_LionCub-Watery {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_LionCub-StarryNight {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: 0px -121px;
+ width: 120px;
+ height: 120px;
+}
+.Mount_Body_LionCub-Sunshine {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -1414px -424px;
width: 105px;
height: 105px;
}
-.Mount_Body_LionCub-White {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_LionCub-Thunderstorm {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -1414px -530px;
width: 105px;
height: 105px;
}
-.Mount_Body_LionCub-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+.Mount_Body_LionCub-Watery {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -1414px -636px;
width: 105px;
height: 105px;
}
+.Mount_Body_LionCub-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -1414px -742px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_LionCub-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -1414px -848px;
+ width: 105px;
+ height: 105px;
+}
.Mount_Body_MagicalBee-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -106px -357px;
width: 105px;
height: 114px;
}
.Mount_Body_Mammoth-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -242px 0px;
width: 105px;
height: 123px;
}
.Mount_Body_MantisShrimp-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -324px -357px;
width: 108px;
height: 105px;
}
.Mount_Body_Monkey-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -1414px -1060px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -1414px -954px;
width: 105px;
height: 105px;
}
.Mount_Body_Monkey-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -1414px -1166px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -1414px -1060px;
width: 105px;
height: 105px;
}
.Mount_Body_Monkey-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: 0px -1320px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -1414px -1166px;
width: 105px;
height: 105px;
}
.Mount_Body_Monkey-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -106px -1320px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: 0px -1320px;
width: 105px;
height: 105px;
}
.Mount_Body_Monkey-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -212px -1320px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -106px -1320px;
width: 105px;
height: 105px;
}
.Mount_Body_Monkey-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -318px -1320px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -212px -1320px;
width: 105px;
height: 105px;
}
.Mount_Body_Monkey-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -424px -1320px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -318px -1320px;
width: 105px;
height: 105px;
}
.Mount_Body_Monkey-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -530px -1320px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -424px -1320px;
width: 105px;
height: 105px;
}
.Mount_Body_Monkey-White {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -636px -1320px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -530px -1320px;
width: 105px;
height: 105px;
}
.Mount_Body_Monkey-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -742px -1320px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -636px -1320px;
width: 105px;
height: 105px;
}
.Mount_Body_Nudibranch-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -848px -1320px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -742px -1320px;
width: 105px;
height: 105px;
}
.Mount_Body_Nudibranch-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -954px -1320px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -848px -1320px;
width: 105px;
height: 105px;
}
.Mount_Body_Nudibranch-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -1060px -1320px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -954px -1320px;
width: 105px;
height: 105px;
}
.Mount_Body_Nudibranch-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -1166px -1320px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -1060px -1320px;
width: 105px;
height: 105px;
}
.Mount_Body_Nudibranch-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -1272px -1320px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -1166px -1320px;
width: 105px;
height: 105px;
}
.Mount_Body_Nudibranch-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -1378px -1320px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -1272px -1320px;
width: 105px;
height: 105px;
}
.Mount_Body_Nudibranch-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -1520px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -1378px -1320px;
width: 105px;
height: 105px;
}
.Mount_Body_Nudibranch-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -1520px -106px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -1520px 0px;
width: 105px;
height: 105px;
}
.Mount_Body_Nudibranch-White {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -1520px -212px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -1520px -106px;
width: 105px;
height: 105px;
}
.Mount_Body_Nudibranch-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -1520px -318px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -1520px -212px;
width: 105px;
height: 105px;
}
.Mount_Body_Octopus-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -1520px -424px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -1520px -318px;
width: 105px;
height: 105px;
}
.Mount_Body_Octopus-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -1520px -530px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -1520px -424px;
width: 105px;
height: 105px;
}
.Mount_Body_Octopus-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -1520px -636px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -1520px -530px;
width: 105px;
height: 105px;
}
.Mount_Body_Octopus-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -1520px -742px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -1520px -636px;
width: 105px;
height: 105px;
}
.Mount_Body_Octopus-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -1520px -848px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -1520px -742px;
width: 105px;
height: 105px;
}
.Mount_Body_Octopus-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -1520px -954px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -1520px -848px;
width: 105px;
height: 105px;
}
.Mount_Body_Octopus-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -1520px -1060px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -1520px -954px;
width: 105px;
height: 105px;
}
.Mount_Body_Octopus-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -1520px -1166px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -1520px -1060px;
width: 105px;
height: 105px;
}
.Mount_Body_Octopus-White {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -1520px -1272px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -1520px -1166px;
width: 105px;
height: 105px;
}
.Mount_Body_Octopus-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: 0px -1426px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -1520px -1272px;
width: 105px;
height: 105px;
}
.Mount_Body_Orca-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -106px -1426px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: 0px -1426px;
width: 105px;
height: 105px;
}
.Mount_Body_Owl-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -212px -1426px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -106px -1426px;
width: 105px;
height: 105px;
}
.Mount_Body_Owl-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -318px -1426px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -212px -1426px;
width: 105px;
height: 105px;
}
.Mount_Body_Owl-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -424px -1426px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -318px -1426px;
width: 105px;
height: 105px;
}
.Mount_Body_Owl-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -530px -1426px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -424px -1426px;
width: 105px;
height: 105px;
}
.Mount_Body_Owl-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -636px -1426px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -530px -1426px;
width: 105px;
height: 105px;
}
.Mount_Body_Owl-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -742px -1426px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -636px -1426px;
width: 105px;
height: 105px;
}
.Mount_Body_Owl-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -848px -1426px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -742px -1426px;
width: 105px;
height: 105px;
}
.Mount_Body_Owl-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -954px -1426px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -848px -1426px;
width: 105px;
height: 105px;
}
.Mount_Body_Owl-White {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -1060px -1426px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -954px -1426px;
width: 105px;
height: 105px;
}
.Mount_Body_Owl-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -1166px -1426px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -1060px -1426px;
width: 105px;
height: 105px;
}
.Mount_Body_PandaCub-Aquatic {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -1272px -1426px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -1166px -1426px;
width: 105px;
height: 105px;
}
.Mount_Body_PandaCub-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -1378px -1426px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -1272px -1426px;
width: 105px;
height: 105px;
}
.Mount_Body_PandaCub-Bronze {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -1484px -1426px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -1378px -1426px;
width: 105px;
height: 105px;
}
.Mount_Body_PandaCub-Celestial {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -1626px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -1484px -1426px;
width: 105px;
height: 105px;
}
.Mount_Body_PandaCub-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -1626px -106px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -1626px 0px;
width: 105px;
height: 105px;
}
.Mount_Body_PandaCub-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -1626px -212px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -1626px -106px;
width: 105px;
height: 105px;
}
.Mount_Body_PandaCub-Cupid {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -1626px -318px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -1626px -212px;
width: 105px;
height: 105px;
}
.Mount_Body_PandaCub-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -1626px -424px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -1626px -318px;
width: 105px;
height: 105px;
}
.Mount_Body_PandaCub-Ember {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -1626px -530px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -1626px -424px;
width: 105px;
height: 105px;
}
.Mount_Body_PandaCub-Fairy {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -1626px -636px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -1626px -530px;
width: 105px;
height: 105px;
}
.Mount_Body_PandaCub-Floral {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -1626px -742px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -1626px -636px;
width: 105px;
height: 105px;
}
.Mount_Body_PandaCub-Frost {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -1626px -848px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -1626px -742px;
width: 105px;
height: 105px;
}
.Mount_Body_PandaCub-Ghost {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -1626px -954px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -1626px -848px;
width: 105px;
height: 105px;
}
.Mount_Body_PandaCub-Glass {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -1626px -1060px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -1626px -954px;
width: 105px;
height: 105px;
}
.Mount_Body_PandaCub-Glow {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -1626px -1166px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -1626px -1060px;
width: 105px;
height: 105px;
}
.Mount_Body_PandaCub-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -1626px -1272px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -1626px -1166px;
width: 105px;
height: 105px;
}
.Mount_Body_PandaCub-Holly {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -1626px -1378px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -1626px -1272px;
width: 105px;
height: 105px;
}
.Mount_Body_PandaCub-IcySnow {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: 0px -1532px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -1626px -1378px;
width: 105px;
height: 105px;
}
.Mount_Body_PandaCub-Peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -106px -1532px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: 0px -1532px;
width: 105px;
height: 105px;
}
.Mount_Body_PandaCub-Rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -212px -1532px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -106px -1532px;
width: 105px;
height: 105px;
}
.Mount_Body_PandaCub-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -318px -1532px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -212px -1532px;
width: 105px;
height: 105px;
}
.Mount_Body_PandaCub-RoseQuartz {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -424px -1532px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -318px -1532px;
width: 105px;
height: 105px;
}
.Mount_Body_PandaCub-RoyalPurple {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -530px -1532px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -424px -1532px;
width: 105px;
height: 105px;
}
.Mount_Body_PandaCub-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -636px -1532px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -530px -1532px;
width: 105px;
height: 105px;
}
.Mount_Body_PandaCub-Shadow {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -742px -1532px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -636px -1532px;
width: 105px;
height: 105px;
}
.Mount_Body_PandaCub-Shimmer {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -848px -1532px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -742px -1532px;
width: 105px;
height: 105px;
}
.Mount_Body_PandaCub-Silver {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -954px -1532px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -848px -1532px;
width: 105px;
height: 105px;
}
.Mount_Body_PandaCub-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -1060px -1532px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -954px -1532px;
width: 105px;
height: 105px;
}
.Mount_Body_PandaCub-Spooky {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -1166px -1532px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -1060px -1532px;
width: 105px;
height: 105px;
}
.Mount_Body_PandaCub-StarryNight {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: 0px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -121px -121px;
width: 120px;
height: 120px;
}
.Mount_Body_PandaCub-Sunshine {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -1378px -1532px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -1166px -1532px;
width: 105px;
height: 105px;
}
.Mount_Body_PandaCub-Thunderstorm {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -1484px -1532px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -1272px -1532px;
width: 105px;
height: 105px;
}
.Mount_Body_PandaCub-Watery {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -1590px -1532px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -1378px -1532px;
width: 105px;
height: 105px;
}
.Mount_Body_PandaCub-White {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -1732px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -1484px -1532px;
width: 105px;
height: 105px;
}
.Mount_Body_PandaCub-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -1732px -106px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -1590px -1532px;
width: 105px;
height: 105px;
}
.Mount_Body_Parrot-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -1202px -636px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -1732px 0px;
width: 105px;
height: 105px;
}
.Mount_Body_Parrot-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
- background-position: -1202px -530px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
+ background-position: -1732px -106px;
width: 105px;
height: 105px;
}
.Mount_Body_Parrot-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-15.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-15.png');
background-position: -1732px -212px;
width: 105px;
height: 105px;
diff --git a/website/client/assets/css/sprites/spritesmith-main-16.css b/website/client/src/assets/css/sprites/spritesmith-main-16.css
similarity index 57%
rename from website/client/assets/css/sprites/spritesmith-main-16.css
rename to website/client/src/assets/css/sprites/spritesmith-main-16.css
index dade5cbc59..72a943a554 100644
--- a/website/client/assets/css/sprites/spritesmith-main-16.css
+++ b/website/client/src/assets/css/sprites/spritesmith-main-16.css
@@ -1,1403 +1,1403 @@
.Mount_Body_Parrot-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -998px -742px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -680px -545px;
width: 105px;
height: 105px;
}
.Mount_Body_Parrot-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -1210px -636px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Parrot-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -998px -848px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Parrot-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: 0px -983px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Parrot-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -106px -983px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Parrot-White {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -212px -983px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Parrot-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -318px -983px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Peacock-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -424px -983px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Peacock-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -530px -983px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Peacock-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -636px -983px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Peacock-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -742px -983px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Peacock-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -1422px -954px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Peacock-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -1422px -1060px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Peacock-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -1422px -1166px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Peacock-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -1422px -1272px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Peacock-White {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: 0px -1407px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Peacock-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -106px -1407px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Penguin-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -212px -1407px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Penguin-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -318px -1407px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Penguin-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -424px -1407px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Penguin-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -530px -1407px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Penguin-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -742px -1513px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Penguin-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -1634px -848px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Penguin-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -1634px -954px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Penguin-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -1634px -1060px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Penguin-White {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -1634px -1166px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Penguin-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -1634px -1272px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Phoenix-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -1634px -1378px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Pterodactyl-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -1634px -1484px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Pterodactyl-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: 0px -1619px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Pterodactyl-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -106px -1619px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Pterodactyl-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -212px -1619px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Pterodactyl-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: 0px -665px;
width: 105px;
height: 105px;
}
-.Mount_Body_Pterodactyl-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Parrot-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -106px -665px;
width: 105px;
height: 105px;
}
-.Mount_Body_Pterodactyl-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Parrot-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -212px -665px;
width: 105px;
height: 105px;
}
-.Mount_Body_Pterodactyl-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Parrot-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -318px -665px;
width: 105px;
height: 105px;
}
-.Mount_Body_Pterodactyl-White {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Parrot-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -424px -665px;
width: 105px;
height: 105px;
}
-.Mount_Body_Pterodactyl-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Parrot-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -530px -665px;
width: 105px;
height: 105px;
}
-.Mount_Body_Rat-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Peacock-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -636px -665px;
width: 105px;
height: 105px;
}
-.Mount_Body_Rat-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Peacock-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -786px 0px;
width: 105px;
height: 105px;
}
-.Mount_Body_Rat-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Peacock-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -786px -106px;
width: 105px;
height: 105px;
}
-.Mount_Body_Rat-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Peacock-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -786px -212px;
width: 105px;
height: 105px;
}
-.Mount_Body_Rat-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Peacock-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -786px -318px;
width: 105px;
height: 105px;
}
-.Mount_Body_Rat-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Peacock-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -786px -424px;
width: 105px;
height: 105px;
}
-.Mount_Body_Rat-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Peacock-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -786px -530px;
width: 105px;
height: 105px;
}
-.Mount_Body_Rat-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Peacock-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -786px -636px;
width: 105px;
height: 105px;
}
-.Mount_Body_Rat-White {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Peacock-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: 0px -771px;
width: 105px;
height: 105px;
}
-.Mount_Body_Rat-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Peacock-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -106px -771px;
width: 105px;
height: 105px;
}
-.Mount_Body_Robot-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Penguin-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -212px -771px;
width: 105px;
height: 105px;
}
-.Mount_Body_Robot-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Penguin-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -318px -771px;
width: 105px;
height: 105px;
}
-.Mount_Body_Robot-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Penguin-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -424px -771px;
width: 105px;
height: 105px;
}
-.Mount_Body_Robot-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Penguin-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -530px -771px;
width: 105px;
height: 105px;
}
-.Mount_Body_Robot-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Penguin-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -636px -771px;
width: 105px;
height: 105px;
}
-.Mount_Body_Robot-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Penguin-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -742px -771px;
width: 105px;
height: 105px;
}
-.Mount_Body_Robot-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Penguin-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -892px 0px;
width: 105px;
height: 105px;
}
-.Mount_Body_Robot-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Penguin-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -892px -106px;
width: 105px;
height: 105px;
}
-.Mount_Body_Robot-White {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Penguin-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -892px -212px;
width: 105px;
height: 105px;
}
-.Mount_Body_Robot-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Penguin-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -892px -318px;
width: 105px;
height: 105px;
}
-.Mount_Body_Rock-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Phoenix-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -892px -424px;
width: 105px;
height: 105px;
}
-.Mount_Body_Rock-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Pterodactyl-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -892px -530px;
width: 105px;
height: 105px;
}
-.Mount_Body_Rock-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Pterodactyl-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -892px -636px;
width: 105px;
height: 105px;
}
-.Mount_Body_Rock-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Pterodactyl-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -892px -742px;
width: 105px;
height: 105px;
}
-.Mount_Body_Rock-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Pterodactyl-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: 0px -877px;
width: 105px;
height: 105px;
}
-.Mount_Body_Rock-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Pterodactyl-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -106px -877px;
width: 105px;
height: 105px;
}
-.Mount_Body_Rock-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Pterodactyl-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -212px -877px;
width: 105px;
height: 105px;
}
-.Mount_Body_Rock-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Pterodactyl-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -318px -877px;
width: 105px;
height: 105px;
}
-.Mount_Body_Rock-White {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Pterodactyl-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -424px -877px;
width: 105px;
height: 105px;
}
-.Mount_Body_Rock-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Pterodactyl-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -530px -877px;
width: 105px;
height: 105px;
}
-.Mount_Body_Rooster-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Pterodactyl-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -636px -877px;
width: 105px;
height: 105px;
}
-.Mount_Body_Rooster-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Rat-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -742px -877px;
width: 105px;
height: 105px;
}
-.Mount_Body_Rooster-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Rat-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -848px -877px;
width: 105px;
height: 105px;
}
-.Mount_Body_Rooster-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Rat-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -998px 0px;
width: 105px;
height: 105px;
}
-.Mount_Body_Rooster-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Rat-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -998px -106px;
width: 105px;
height: 105px;
}
-.Mount_Body_Rooster-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Rat-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -998px -212px;
width: 105px;
height: 105px;
}
-.Mount_Body_Rooster-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Rat-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -998px -318px;
width: 105px;
height: 105px;
}
-.Mount_Body_Rooster-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Rat-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -998px -424px;
width: 105px;
height: 105px;
}
-.Mount_Body_Rooster-White {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Rat-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -998px -530px;
width: 105px;
height: 105px;
}
-.Mount_Body_Rooster-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Rat-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -998px -636px;
width: 105px;
height: 105px;
}
+.Mount_Body_Rat-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -998px -742px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Robot-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -998px -848px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Robot-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: 0px -983px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Robot-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -106px -983px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Robot-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -212px -983px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Robot-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -318px -983px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Robot-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -424px -983px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Robot-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -530px -983px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Robot-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -636px -983px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Robot-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -742px -983px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Robot-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -848px -983px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Rock-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -954px -983px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Rock-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -1104px 0px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Rock-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -1104px -106px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Rock-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -1104px -212px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Rock-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -1104px -318px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Rock-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -1104px -424px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Rock-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -1104px -530px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Rock-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -1104px -636px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Rock-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -1104px -742px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Rock-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -1104px -848px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Rooster-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -1104px -954px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Rooster-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: 0px -1089px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Rooster-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -106px -1089px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Rooster-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -212px -1089px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Rooster-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -318px -1089px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Rooster-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -424px -1089px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Rooster-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -530px -1089px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Rooster-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -636px -1089px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Rooster-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -742px -1089px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Rooster-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -848px -1089px;
+ width: 105px;
+ height: 105px;
+}
.Mount_Body_Sabretooth-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: 0px 0px;
width: 135px;
height: 135px;
}
.Mount_Body_Sabretooth-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -408px -136px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -136px 0px;
width: 135px;
height: 135px;
}
.Mount_Body_Sabretooth-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: 0px -136px;
width: 135px;
height: 135px;
}
.Mount_Body_Sabretooth-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -136px -136px;
width: 135px;
height: 135px;
}
.Mount_Body_Sabretooth-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -272px 0px;
width: 135px;
height: 135px;
}
.Mount_Body_Sabretooth-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -272px -136px;
width: 135px;
height: 135px;
}
.Mount_Body_Sabretooth-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: 0px -272px;
width: 135px;
height: 135px;
}
.Mount_Body_Sabretooth-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -136px -272px;
width: 135px;
height: 135px;
}
.Mount_Body_Sabretooth-White {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -272px -272px;
width: 135px;
height: 135px;
}
.Mount_Body_Sabretooth-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -408px 0px;
width: 135px;
height: 135px;
}
.Mount_Body_SeaSerpent-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -1104px -848px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_SeaSerpent-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -1104px -954px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_SeaSerpent-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: 0px -1089px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_SeaSerpent-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -106px -1089px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_SeaSerpent-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -212px -1089px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_SeaSerpent-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -318px -1089px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_SeaSerpent-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -424px -1089px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_SeaSerpent-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -530px -1089px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_SeaSerpent-White {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -636px -1089px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_SeaSerpent-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -742px -1089px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Seahorse-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -848px -983px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Seahorse-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -954px -983px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Seahorse-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -1104px 0px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Seahorse-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -1104px -106px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Seahorse-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -1104px -212px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Seahorse-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -1104px -318px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Seahorse-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -1104px -424px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Seahorse-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -1104px -530px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Seahorse-White {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -1104px -636px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Seahorse-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -1104px -742px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Sheep-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -848px -1089px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Sheep-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -954px -1089px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Sheep-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -1060px -1089px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Sheep-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -1210px 0px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Sheep-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -1210px -106px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Sheep-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -1210px -212px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Sheep-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -1210px -318px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Sheep-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -1210px -424px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Sheep-White {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -1210px -530px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Sheep-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -680px -545px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Slime-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -1210px -742px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Slime-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -1210px -848px;
width: 105px;
height: 105px;
}
-.Mount_Body_Slime-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_SeaSerpent-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -1210px -954px;
width: 105px;
height: 105px;
}
-.Mount_Body_Slime-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_SeaSerpent-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -1210px -1060px;
width: 105px;
height: 105px;
}
-.Mount_Body_Slime-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_SeaSerpent-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: 0px -1195px;
width: 105px;
height: 105px;
}
-.Mount_Body_Slime-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_SeaSerpent-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -106px -1195px;
width: 105px;
height: 105px;
}
-.Mount_Body_Slime-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_SeaSerpent-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -212px -1195px;
width: 105px;
height: 105px;
}
-.Mount_Body_Slime-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_SeaSerpent-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -318px -1195px;
width: 105px;
height: 105px;
}
-.Mount_Body_Slime-White {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_SeaSerpent-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -424px -1195px;
width: 105px;
height: 105px;
}
-.Mount_Body_Slime-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_SeaSerpent-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -530px -1195px;
width: 105px;
height: 105px;
}
-.Mount_Body_Sloth-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_SeaSerpent-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -636px -1195px;
width: 105px;
height: 105px;
}
-.Mount_Body_Sloth-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Seahorse-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -954px -1089px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Seahorse-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -1060px -1089px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Seahorse-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -1210px 0px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Seahorse-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -1210px -106px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Seahorse-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -1210px -212px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Seahorse-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -1210px -318px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Seahorse-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -1210px -424px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Seahorse-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -1210px -530px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Seahorse-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -1210px -636px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Seahorse-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -1210px -742px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Sheep-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -742px -1195px;
width: 105px;
height: 105px;
}
-.Mount_Body_Sloth-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Sheep-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -848px -1195px;
width: 105px;
height: 105px;
}
-.Mount_Body_Sloth-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Sheep-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -954px -1195px;
width: 105px;
height: 105px;
}
-.Mount_Body_Sloth-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Sheep-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -1060px -1195px;
width: 105px;
height: 105px;
}
-.Mount_Body_Sloth-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Sheep-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -1166px -1195px;
width: 105px;
height: 105px;
}
-.Mount_Body_Sloth-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Sheep-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -1316px 0px;
width: 105px;
height: 105px;
}
-.Mount_Body_Sloth-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Sheep-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -1316px -106px;
width: 105px;
height: 105px;
}
-.Mount_Body_Sloth-White {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Sheep-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -1316px -212px;
width: 105px;
height: 105px;
}
-.Mount_Body_Sloth-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Sheep-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -1316px -318px;
width: 105px;
height: 105px;
}
-.Mount_Body_Snail-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Sheep-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -1316px -424px;
width: 105px;
height: 105px;
}
-.Mount_Body_Snail-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Slime-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -1316px -530px;
width: 105px;
height: 105px;
}
-.Mount_Body_Snail-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Slime-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -1316px -636px;
width: 105px;
height: 105px;
}
-.Mount_Body_Snail-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Slime-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -1316px -742px;
width: 105px;
height: 105px;
}
-.Mount_Body_Snail-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Slime-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -1316px -848px;
width: 105px;
height: 105px;
}
-.Mount_Body_Snail-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Slime-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -1316px -954px;
width: 105px;
height: 105px;
}
-.Mount_Body_Snail-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Slime-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -1316px -1060px;
width: 105px;
height: 105px;
}
-.Mount_Body_Snail-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Slime-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -1316px -1166px;
width: 105px;
height: 105px;
}
-.Mount_Body_Snail-White {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Slime-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: 0px -1301px;
width: 105px;
height: 105px;
}
-.Mount_Body_Snail-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Slime-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -106px -1301px;
width: 105px;
height: 105px;
}
-.Mount_Body_Snake-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Slime-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -212px -1301px;
width: 105px;
height: 105px;
}
-.Mount_Body_Snake-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Sloth-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -318px -1301px;
width: 105px;
height: 105px;
}
-.Mount_Body_Snake-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Sloth-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -424px -1301px;
width: 105px;
height: 105px;
}
-.Mount_Body_Snake-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Sloth-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -530px -1301px;
width: 105px;
height: 105px;
}
-.Mount_Body_Snake-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Sloth-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -636px -1301px;
width: 105px;
height: 105px;
}
-.Mount_Body_Snake-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Sloth-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -742px -1301px;
width: 105px;
height: 105px;
}
-.Mount_Body_Snake-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Sloth-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -848px -1301px;
width: 105px;
height: 105px;
}
-.Mount_Body_Snake-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Sloth-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -954px -1301px;
width: 105px;
height: 105px;
}
-.Mount_Body_Snake-White {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Sloth-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -1060px -1301px;
width: 105px;
height: 105px;
}
-.Mount_Body_Snake-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Sloth-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -1166px -1301px;
width: 105px;
height: 105px;
}
-.Mount_Body_Spider-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Sloth-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -1272px -1301px;
width: 105px;
height: 105px;
}
-.Mount_Body_Spider-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Snail-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -1422px 0px;
width: 105px;
height: 105px;
}
-.Mount_Body_Spider-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Snail-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -1422px -106px;
width: 105px;
height: 105px;
}
-.Mount_Body_Spider-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Snail-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -1422px -212px;
width: 105px;
height: 105px;
}
-.Mount_Body_Spider-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Snail-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -1422px -318px;
width: 105px;
height: 105px;
}
-.Mount_Body_Spider-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Snail-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -1422px -424px;
width: 105px;
height: 105px;
}
-.Mount_Body_Spider-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Snail-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -1422px -530px;
width: 105px;
height: 105px;
}
-.Mount_Body_Spider-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Snail-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -1422px -636px;
width: 105px;
height: 105px;
}
-.Mount_Body_Spider-White {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Snail-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -1422px -742px;
width: 105px;
height: 105px;
}
-.Mount_Body_Spider-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_Snail-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -1422px -848px;
width: 105px;
height: 105px;
}
+.Mount_Body_Snail-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -1422px -954px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Snake-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -1422px -1060px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Snake-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -1422px -1166px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Snake-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -1422px -1272px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Snake-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: 0px -1407px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Snake-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -106px -1407px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Snake-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -212px -1407px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Snake-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -318px -1407px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Snake-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -424px -1407px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Snake-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -530px -1407px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Snake-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -636px -1407px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Spider-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -742px -1407px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Spider-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -848px -1407px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Spider-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -954px -1407px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Spider-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -1060px -1407px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Spider-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -1166px -1407px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Spider-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -1272px -1407px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Spider-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -1378px -1407px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Spider-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -1528px 0px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Spider-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -1528px -106px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Spider-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -1528px -212px;
+ width: 105px;
+ height: 105px;
+}
.Mount_Body_Squirrel-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -121px -544px;
width: 105px;
height: 108px;
}
.Mount_Body_Squirrel-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -227px -544px;
width: 105px;
height: 108px;
}
.Mount_Body_Squirrel-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -333px -544px;
width: 105px;
height: 108px;
}
.Mount_Body_Squirrel-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -439px -544px;
width: 105px;
height: 108px;
}
.Mount_Body_Squirrel-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -545px -544px;
width: 105px;
height: 108px;
}
.Mount_Body_Squirrel-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -680px 0px;
width: 105px;
height: 108px;
}
.Mount_Body_Squirrel-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -680px -109px;
width: 105px;
height: 108px;
}
.Mount_Body_Squirrel-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -680px -218px;
width: 105px;
height: 108px;
}
.Mount_Body_Squirrel-White {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -680px -327px;
width: 105px;
height: 108px;
}
.Mount_Body_Squirrel-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -680px -436px;
width: 105px;
height: 108px;
}
.Mount_Body_TRex-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: 0px -408px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -408px -136px;
width: 135px;
height: 135px;
}
.Mount_Body_TRex-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -136px -408px;
- width: 135px;
- height: 135px;
-}
-.Mount_Body_TRex-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -272px -408px;
- width: 135px;
- height: 135px;
-}
-.Mount_Body_TRex-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -408px -408px;
- width: 135px;
- height: 135px;
-}
-.Mount_Body_TRex-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -544px 0px;
- width: 135px;
- height: 135px;
-}
-.Mount_Body_TRex-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -544px -136px;
- width: 135px;
- height: 135px;
-}
-.Mount_Body_TRex-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -544px -272px;
- width: 135px;
- height: 135px;
-}
-.Mount_Body_TRex-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -408px -272px;
width: 135px;
height: 135px;
}
+.Mount_Body_TRex-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: 0px -408px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Body_TRex-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -136px -408px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Body_TRex-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -272px -408px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Body_TRex-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -408px -408px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Body_TRex-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -544px 0px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Body_TRex-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -544px -136px;
+ width: 135px;
+ height: 135px;
+}
.Mount_Body_TRex-White {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -544px -408px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -544px -272px;
width: 135px;
height: 135px;
}
.Mount_Body_TRex-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -136px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -544px -408px;
width: 135px;
height: 135px;
}
.Mount_Body_TigerCub-Aquatic {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -636px -1407px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_TigerCub-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -742px -1407px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_TigerCub-Bronze {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -848px -1407px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_TigerCub-Celestial {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -954px -1407px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_TigerCub-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -1060px -1407px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_TigerCub-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -1166px -1407px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_TigerCub-Cupid {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -1272px -1407px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_TigerCub-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -1378px -1407px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_TigerCub-Ember {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -1528px 0px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_TigerCub-Fairy {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -1528px -106px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_TigerCub-Floral {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -1528px -212px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_TigerCub-Frost {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -1528px -318px;
width: 105px;
height: 105px;
}
-.Mount_Body_TigerCub-Ghost {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_TigerCub-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -1528px -424px;
width: 105px;
height: 105px;
}
-.Mount_Body_TigerCub-Glass {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_TigerCub-Bronze {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -1528px -530px;
width: 105px;
height: 105px;
}
-.Mount_Body_TigerCub-Glow {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_TigerCub-Celestial {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -1528px -636px;
width: 105px;
height: 105px;
}
-.Mount_Body_TigerCub-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_TigerCub-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -1528px -742px;
width: 105px;
height: 105px;
}
-.Mount_Body_TigerCub-Holly {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_TigerCub-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -1528px -848px;
width: 105px;
height: 105px;
}
-.Mount_Body_TigerCub-IcySnow {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_TigerCub-Cupid {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -1528px -954px;
width: 105px;
height: 105px;
}
-.Mount_Body_TigerCub-Peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_TigerCub-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -1528px -1060px;
width: 105px;
height: 105px;
}
-.Mount_Body_TigerCub-Rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_TigerCub-Ember {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -1528px -1166px;
width: 105px;
height: 105px;
}
-.Mount_Body_TigerCub-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_TigerCub-Fairy {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -1528px -1272px;
width: 105px;
height: 105px;
}
-.Mount_Body_TigerCub-RoseQuartz {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_TigerCub-Floral {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -1528px -1378px;
width: 105px;
height: 105px;
}
-.Mount_Body_TigerCub-RoyalPurple {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_TigerCub-Frost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: 0px -1513px;
width: 105px;
height: 105px;
}
-.Mount_Body_TigerCub-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_TigerCub-Ghost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -106px -1513px;
width: 105px;
height: 105px;
}
-.Mount_Body_TigerCub-Shadow {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_TigerCub-Glass {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -212px -1513px;
width: 105px;
height: 105px;
}
-.Mount_Body_TigerCub-Shimmer {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_TigerCub-Glow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -318px -1513px;
width: 105px;
height: 105px;
}
-.Mount_Body_TigerCub-Silver {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_TigerCub-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -424px -1513px;
width: 105px;
height: 105px;
}
-.Mount_Body_TigerCub-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_TigerCub-Holly {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -530px -1513px;
width: 105px;
height: 105px;
}
-.Mount_Body_TigerCub-Spooky {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_TigerCub-IcySnow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -636px -1513px;
width: 105px;
height: 105px;
}
+.Mount_Body_TigerCub-Peppermint {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -742px -1513px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_TigerCub-Rainbow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -848px -1513px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_TigerCub-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -954px -1513px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_TigerCub-RoseQuartz {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -1060px -1513px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_TigerCub-RoyalPurple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -1166px -1513px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_TigerCub-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -1272px -1513px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_TigerCub-Shadow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -1378px -1513px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_TigerCub-Shimmer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -1484px -1513px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_TigerCub-Silver {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -1634px 0px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_TigerCub-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -1634px -106px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_TigerCub-Spooky {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -1634px -212px;
+ width: 105px;
+ height: 105px;
+}
.Mount_Body_TigerCub-StarryNight {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: 0px -544px;
width: 120px;
height: 120px;
}
.Mount_Body_TigerCub-Sunshine {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -848px -1513px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_TigerCub-Thunderstorm {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -954px -1513px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_TigerCub-Watery {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -1060px -1513px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_TigerCub-White {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -1166px -1513px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_TigerCub-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -1272px -1513px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Treeling-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -1378px -1513px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Treeling-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -1484px -1513px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Treeling-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -1634px 0px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Treeling-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -1634px -106px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Treeling-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
- background-position: -1634px -212px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Treeling-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -1634px -318px;
width: 105px;
height: 105px;
}
-.Mount_Body_Treeling-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_TigerCub-Thunderstorm {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -1634px -424px;
width: 105px;
height: 105px;
}
-.Mount_Body_Treeling-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_TigerCub-Watery {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -1634px -530px;
width: 105px;
height: 105px;
}
-.Mount_Body_Treeling-White {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_TigerCub-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -1634px -636px;
width: 105px;
height: 105px;
}
-.Mount_Body_Treeling-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+.Mount_Body_TigerCub-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -1634px -742px;
width: 105px;
height: 105px;
}
+.Mount_Body_Treeling-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -1634px -848px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Treeling-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -1634px -954px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Treeling-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -1634px -1060px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Treeling-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -1634px -1166px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Treeling-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -1634px -1272px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Treeling-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -1634px -1378px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Treeling-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -1634px -1484px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Treeling-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: 0px -1619px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Treeling-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -106px -1619px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Treeling-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
+ background-position: -212px -1619px;
+ width: 105px;
+ height: 105px;
+}
.Mount_Body_Triceratops-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-16.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-16.png');
background-position: -318px -1619px;
width: 105px;
height: 105px;
diff --git a/website/client/assets/css/sprites/spritesmith-main-17.css b/website/client/src/assets/css/sprites/spritesmith-main-17.css
similarity index 57%
rename from website/client/assets/css/sprites/spritesmith-main-17.css
rename to website/client/src/assets/css/sprites/spritesmith-main-17.css
index b1339c515e..5f3ad9c63f 100644
--- a/website/client/assets/css/sprites/spritesmith-main-17.css
+++ b/website/client/src/assets/css/sprites/spritesmith-main-17.css
@@ -1,1343 +1,1343 @@
.Mount_Body_Triceratops-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -212px -816px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -922px -496px;
width: 105px;
height: 105px;
}
.Mount_Body_Triceratops-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -1240px -530px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Triceratops-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -318px -816px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Triceratops-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -424px -816px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Triceratops-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -530px -816px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Triceratops-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -636px -816px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Triceratops-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -742px -816px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Triceratops-White {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -848px -816px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Triceratops-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: 0px -922px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Turkey-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -106px -922px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Turkey-Gilded {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -212px -922px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Turtle-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -318px -922px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Turtle-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -424px -922px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Turtle-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -530px -922px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Turtle-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -636px -922px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Turtle-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -742px -922px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Turtle-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -848px -922px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Turtle-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -1028px 0px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Turtle-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -1028px -106px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Turtle-White {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -1028px -212px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Turtle-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -1028px -318px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Unicorn-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -1028px -424px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Unicorn-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -1028px -530px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Unicorn-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -1028px -636px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Unicorn-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -1028px -742px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Unicorn-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -1028px -848px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Unicorn-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: 0px -1028px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Unicorn-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -106px -1028px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Unicorn-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -212px -1028px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Unicorn-White {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -318px -1028px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Unicorn-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -424px -1028px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Velociraptor-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -530px -1028px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Velociraptor-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -636px -1028px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Velociraptor-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -742px -1028px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Velociraptor-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -848px -1028px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Velociraptor-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -954px -1028px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Velociraptor-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -1452px -1166px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Velociraptor-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -1558px -1060px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Velociraptor-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -1558px -1166px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Velociraptor-White {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -1558px -1272px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Velociraptor-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -1558px -1378px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Whale-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: 0px -1558px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Whale-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -106px -1558px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Whale-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -212px -1558px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Whale-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -318px -1558px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Whale-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -424px -1558px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Whale-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -530px -1558px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Whale-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -922px -602px;
width: 105px;
height: 105px;
}
-.Mount_Body_Whale-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Body_Triceratops-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -922px -708px;
width: 105px;
height: 105px;
}
-.Mount_Body_Whale-White {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Body_Triceratops-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: 0px -816px;
width: 105px;
height: 105px;
}
-.Mount_Body_Whale-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Body_Triceratops-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -106px -816px;
width: 105px;
height: 105px;
}
+.Mount_Body_Triceratops-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -212px -816px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Triceratops-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -318px -816px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Triceratops-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -424px -816px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Triceratops-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -530px -816px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Turkey-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -636px -816px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Turkey-Gilded {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -742px -816px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Turtle-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -848px -816px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Turtle-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: 0px -922px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Turtle-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -106px -922px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Turtle-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -212px -922px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Turtle-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -318px -922px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Turtle-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -424px -922px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Turtle-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -530px -922px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Turtle-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -636px -922px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Turtle-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -742px -922px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Turtle-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -848px -922px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Unicorn-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -1028px 0px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Unicorn-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -1028px -106px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Unicorn-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -1028px -212px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Unicorn-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -1028px -318px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Unicorn-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -1028px -424px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Unicorn-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -1028px -530px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Unicorn-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -1028px -636px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Unicorn-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -1028px -742px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Unicorn-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -1028px -848px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Unicorn-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: 0px -1028px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Velociraptor-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -106px -1028px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Velociraptor-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -212px -1028px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Velociraptor-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -318px -1028px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Velociraptor-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -424px -1028px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Velociraptor-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -530px -1028px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Velociraptor-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -636px -1028px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Velociraptor-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -742px -1028px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Velociraptor-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -848px -1028px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Velociraptor-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -954px -1028px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Velociraptor-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -1134px 0px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Whale-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -1134px -106px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Whale-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -1134px -212px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Whale-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -1134px -318px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Whale-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -1134px -424px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Whale-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -1134px -530px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Whale-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -1134px -636px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Whale-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -1134px -742px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Whale-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -1134px -848px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Whale-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -1134px -954px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Body_Whale-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: 0px -1134px;
+ width: 105px;
+ height: 105px;
+}
.Mount_Body_Wolf-Aquatic {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -272px -544px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: 0px 0px;
width: 135px;
height: 135px;
}
.Mount_Body_Wolf-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -544px -272px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -136px 0px;
width: 135px;
height: 135px;
}
.Mount_Body_Wolf-Bronze {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: 0px -136px;
width: 135px;
height: 135px;
}
.Mount_Body_Wolf-Celestial {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -136px -136px;
width: 135px;
height: 135px;
}
.Mount_Body_Wolf-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -272px 0px;
width: 135px;
height: 135px;
}
.Mount_Body_Wolf-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -272px -136px;
width: 135px;
height: 135px;
}
.Mount_Body_Wolf-Cupid {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: 0px -272px;
width: 135px;
height: 135px;
}
.Mount_Body_Wolf-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -136px -272px;
width: 135px;
height: 135px;
}
.Mount_Body_Wolf-Ember {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -272px -272px;
width: 135px;
height: 135px;
}
.Mount_Body_Wolf-Fairy {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -408px 0px;
width: 135px;
height: 135px;
}
.Mount_Body_Wolf-Floral {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -408px -136px;
width: 135px;
height: 135px;
}
.Mount_Body_Wolf-Frost {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -408px -272px;
width: 135px;
height: 135px;
}
.Mount_Body_Wolf-Ghost {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: 0px -408px;
width: 135px;
height: 135px;
}
.Mount_Body_Wolf-Glass {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -136px -408px;
width: 135px;
height: 135px;
}
.Mount_Body_Wolf-Glow {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -272px -408px;
width: 135px;
height: 135px;
}
.Mount_Body_Wolf-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -408px -408px;
width: 135px;
height: 135px;
}
.Mount_Body_Wolf-Holly {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -544px 0px;
width: 135px;
height: 135px;
}
.Mount_Body_Wolf-IcySnow {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -544px -136px;
width: 135px;
height: 135px;
}
.Mount_Body_Wolf-Peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: 0px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -544px -272px;
width: 135px;
height: 135px;
}
.Mount_Body_Wolf-Rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -544px -408px;
width: 135px;
height: 135px;
}
.Mount_Body_Wolf-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: 0px -544px;
width: 135px;
height: 135px;
}
.Mount_Body_Wolf-RoseQuartz {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -136px -544px;
width: 135px;
height: 135px;
}
.Mount_Body_Wolf-RoyalPurple {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -136px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -272px -544px;
width: 135px;
height: 135px;
}
.Mount_Body_Wolf-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -408px -544px;
width: 135px;
height: 135px;
}
.Mount_Body_Wolf-Shadow {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -544px -544px;
width: 135px;
height: 135px;
}
.Mount_Body_Wolf-Shimmer {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -680px 0px;
width: 135px;
height: 135px;
}
.Mount_Body_Wolf-Silver {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -680px -136px;
width: 135px;
height: 135px;
}
.Mount_Body_Wolf-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -680px -272px;
width: 135px;
height: 135px;
}
.Mount_Body_Wolf-Spooky {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -680px -408px;
width: 135px;
height: 135px;
}
.Mount_Body_Wolf-StarryNight {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -680px -544px;
width: 135px;
height: 135px;
}
.Mount_Body_Wolf-Sunshine {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: 0px -680px;
width: 135px;
height: 135px;
}
.Mount_Body_Wolf-Thunderstorm {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -136px -680px;
width: 135px;
height: 135px;
}
.Mount_Body_Wolf-Watery {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -272px -680px;
width: 135px;
height: 135px;
}
.Mount_Body_Wolf-White {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -408px -680px;
width: 135px;
height: 135px;
}
.Mount_Body_Wolf-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -544px -680px;
width: 135px;
height: 135px;
}
.Mount_Body_Yarn-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -1134px 0px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Yarn-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -1134px -106px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Yarn-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -1134px -212px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Yarn-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -1134px -318px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Yarn-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -1134px -424px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Yarn-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -1134px -530px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Yarn-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -1134px -636px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Yarn-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -1134px -742px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Yarn-White {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -1134px -848px;
- width: 105px;
- height: 105px;
-}
-.Mount_Body_Yarn-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -1134px -954px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Alligator-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: 0px -1134px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Alligator-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -106px -1134px;
width: 105px;
height: 105px;
}
-.Mount_Head_Alligator-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Body_Yarn-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -212px -1134px;
width: 105px;
height: 105px;
}
-.Mount_Head_Alligator-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Body_Yarn-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -318px -1134px;
width: 105px;
height: 105px;
}
-.Mount_Head_Alligator-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Body_Yarn-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -424px -1134px;
width: 105px;
height: 105px;
}
-.Mount_Head_Alligator-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Body_Yarn-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -530px -1134px;
width: 105px;
height: 105px;
}
-.Mount_Head_Alligator-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Body_Yarn-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -636px -1134px;
width: 105px;
height: 105px;
}
-.Mount_Head_Alligator-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Body_Yarn-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -742px -1134px;
width: 105px;
height: 105px;
}
-.Mount_Head_Alligator-White {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Body_Yarn-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -848px -1134px;
width: 105px;
height: 105px;
}
-.Mount_Head_Alligator-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Body_Yarn-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -954px -1134px;
width: 105px;
height: 105px;
}
-.Mount_Head_Armadillo-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Body_Yarn-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1060px -1134px;
width: 105px;
height: 105px;
}
-.Mount_Head_Armadillo-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_Alligator-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1240px 0px;
width: 105px;
height: 105px;
}
-.Mount_Head_Armadillo-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_Alligator-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1240px -106px;
width: 105px;
height: 105px;
}
-.Mount_Head_Armadillo-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_Alligator-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1240px -212px;
width: 105px;
height: 105px;
}
-.Mount_Head_Armadillo-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_Alligator-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1240px -318px;
width: 105px;
height: 105px;
}
-.Mount_Head_Armadillo-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_Alligator-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1240px -424px;
width: 105px;
height: 105px;
}
-.Mount_Head_Armadillo-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -922px -496px;
+.Mount_Head_Alligator-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -1240px -530px;
width: 105px;
height: 105px;
}
-.Mount_Head_Armadillo-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_Alligator-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1240px -636px;
width: 105px;
height: 105px;
}
-.Mount_Head_Armadillo-White {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_Alligator-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1240px -742px;
width: 105px;
height: 105px;
}
-.Mount_Head_Armadillo-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_Alligator-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1240px -848px;
width: 105px;
height: 105px;
}
-.Mount_Head_Axolotl-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_Alligator-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1240px -954px;
width: 105px;
height: 105px;
}
-.Mount_Head_Axolotl-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_Armadillo-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1240px -1060px;
width: 105px;
height: 105px;
}
-.Mount_Head_Axolotl-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_Armadillo-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: 0px -1240px;
width: 105px;
height: 105px;
}
-.Mount_Head_Axolotl-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_Armadillo-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -106px -1240px;
width: 105px;
height: 105px;
}
-.Mount_Head_Axolotl-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_Armadillo-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -212px -1240px;
width: 105px;
height: 105px;
}
-.Mount_Head_Axolotl-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_Armadillo-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -318px -1240px;
width: 105px;
height: 105px;
}
-.Mount_Head_Axolotl-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_Armadillo-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -424px -1240px;
width: 105px;
height: 105px;
}
-.Mount_Head_Axolotl-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_Armadillo-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -530px -1240px;
width: 105px;
height: 105px;
}
-.Mount_Head_Axolotl-White {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_Armadillo-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -636px -1240px;
width: 105px;
height: 105px;
}
-.Mount_Head_Axolotl-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_Armadillo-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -742px -1240px;
width: 105px;
height: 105px;
}
-.Mount_Head_Badger-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_Armadillo-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -848px -1240px;
width: 105px;
height: 105px;
}
-.Mount_Head_Badger-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_Axolotl-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -954px -1240px;
width: 105px;
height: 105px;
}
-.Mount_Head_Badger-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_Axolotl-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1060px -1240px;
width: 105px;
height: 105px;
}
-.Mount_Head_Badger-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_Axolotl-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1166px -1240px;
width: 105px;
height: 105px;
}
-.Mount_Head_Badger-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_Axolotl-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1346px 0px;
width: 105px;
height: 105px;
}
-.Mount_Head_Badger-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_Axolotl-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1346px -106px;
width: 105px;
height: 105px;
}
-.Mount_Head_Badger-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_Axolotl-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1346px -212px;
width: 105px;
height: 105px;
}
-.Mount_Head_Badger-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_Axolotl-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1346px -318px;
width: 105px;
height: 105px;
}
-.Mount_Head_Badger-White {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_Axolotl-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1346px -424px;
width: 105px;
height: 105px;
}
-.Mount_Head_Badger-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_Axolotl-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1346px -530px;
width: 105px;
height: 105px;
}
-.Mount_Head_BearCub-Aquatic {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_Axolotl-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1346px -636px;
width: 105px;
height: 105px;
}
-.Mount_Head_BearCub-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_Badger-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1346px -742px;
width: 105px;
height: 105px;
}
-.Mount_Head_BearCub-Bronze {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_Badger-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1346px -848px;
width: 105px;
height: 105px;
}
-.Mount_Head_BearCub-Celestial {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_Badger-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1346px -954px;
width: 105px;
height: 105px;
}
-.Mount_Head_BearCub-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_Badger-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1346px -1060px;
width: 105px;
height: 105px;
}
-.Mount_Head_BearCub-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_Badger-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1346px -1166px;
width: 105px;
height: 105px;
}
-.Mount_Head_BearCub-Cupid {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_Badger-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: 0px -1346px;
width: 105px;
height: 105px;
}
-.Mount_Head_BearCub-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_Badger-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -106px -1346px;
width: 105px;
height: 105px;
}
-.Mount_Head_BearCub-Ember {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_Badger-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -212px -1346px;
width: 105px;
height: 105px;
}
-.Mount_Head_BearCub-Fairy {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_Badger-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -318px -1346px;
width: 105px;
height: 105px;
}
-.Mount_Head_BearCub-Floral {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_Badger-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -424px -1346px;
width: 105px;
height: 105px;
}
-.Mount_Head_BearCub-Frost {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_BearCub-Aquatic {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -530px -1346px;
width: 105px;
height: 105px;
}
-.Mount_Head_BearCub-Ghost {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_BearCub-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -636px -1346px;
width: 105px;
height: 105px;
}
-.Mount_Head_BearCub-Glass {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_BearCub-Bronze {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -742px -1346px;
width: 105px;
height: 105px;
}
-.Mount_Head_BearCub-Glow {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_BearCub-Celestial {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -848px -1346px;
width: 105px;
height: 105px;
}
-.Mount_Head_BearCub-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_BearCub-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -954px -1346px;
width: 105px;
height: 105px;
}
-.Mount_Head_BearCub-Holly {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_BearCub-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1060px -1346px;
width: 105px;
height: 105px;
}
-.Mount_Head_BearCub-IcySnow {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_BearCub-Cupid {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1166px -1346px;
width: 105px;
height: 105px;
}
-.Mount_Head_BearCub-Peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_BearCub-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1272px -1346px;
width: 105px;
height: 105px;
}
-.Mount_Head_BearCub-Polar {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_BearCub-Ember {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1452px 0px;
width: 105px;
height: 105px;
}
-.Mount_Head_BearCub-Rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_BearCub-Fairy {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1452px -106px;
width: 105px;
height: 105px;
}
-.Mount_Head_BearCub-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_BearCub-Floral {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1452px -212px;
width: 105px;
height: 105px;
}
-.Mount_Head_BearCub-RoseQuartz {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_BearCub-Frost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1452px -318px;
width: 105px;
height: 105px;
}
-.Mount_Head_BearCub-RoyalPurple {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_BearCub-Ghost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1452px -424px;
width: 105px;
height: 105px;
}
-.Mount_Head_BearCub-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_BearCub-Glass {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1452px -530px;
width: 105px;
height: 105px;
}
-.Mount_Head_BearCub-Shadow {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_BearCub-Glow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1452px -636px;
width: 105px;
height: 105px;
}
-.Mount_Head_BearCub-Shimmer {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_BearCub-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1452px -742px;
width: 105px;
height: 105px;
}
-.Mount_Head_BearCub-Silver {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_BearCub-Holly {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1452px -848px;
width: 105px;
height: 105px;
}
-.Mount_Head_BearCub-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_BearCub-IcySnow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1452px -954px;
width: 105px;
height: 105px;
}
-.Mount_Head_BearCub-Spooky {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_BearCub-Peppermint {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1452px -1060px;
width: 105px;
height: 105px;
}
+.Mount_Head_BearCub-Polar {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -1452px -1166px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_BearCub-Rainbow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -1452px -1272px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_BearCub-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: 0px -1452px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_BearCub-RoseQuartz {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -106px -1452px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_BearCub-RoyalPurple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -212px -1452px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_BearCub-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -318px -1452px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_BearCub-Shadow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -424px -1452px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_BearCub-Shimmer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -530px -1452px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_BearCub-Silver {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -636px -1452px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_BearCub-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -742px -1452px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_BearCub-Spooky {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -848px -1452px;
+ width: 105px;
+ height: 105px;
+}
.Mount_Head_BearCub-StarryNight {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -680px -680px;
width: 120px;
height: 120px;
}
.Mount_Head_BearCub-Sunshine {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -1452px -1272px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_BearCub-Thunderstorm {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: 0px -1452px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_BearCub-Watery {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -106px -1452px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_BearCub-White {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -212px -1452px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_BearCub-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -318px -1452px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Beetle-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -424px -1452px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Beetle-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -530px -1452px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Beetle-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -636px -1452px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Beetle-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -742px -1452px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Beetle-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -848px -1452px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Beetle-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -954px -1452px;
width: 105px;
height: 105px;
}
-.Mount_Head_Beetle-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_BearCub-Thunderstorm {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1060px -1452px;
width: 105px;
height: 105px;
}
-.Mount_Head_Beetle-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_BearCub-Watery {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1166px -1452px;
width: 105px;
height: 105px;
}
-.Mount_Head_Beetle-White {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_BearCub-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1272px -1452px;
width: 105px;
height: 105px;
}
-.Mount_Head_Beetle-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_BearCub-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1378px -1452px;
width: 105px;
height: 105px;
}
-.Mount_Head_Bunny-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_Beetle-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1558px 0px;
width: 105px;
height: 105px;
}
-.Mount_Head_Bunny-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_Beetle-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1558px -106px;
width: 105px;
height: 105px;
}
-.Mount_Head_Bunny-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_Beetle-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1558px -212px;
width: 105px;
height: 105px;
}
-.Mount_Head_Bunny-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_Beetle-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1558px -318px;
width: 105px;
height: 105px;
}
-.Mount_Head_Bunny-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_Beetle-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1558px -424px;
width: 105px;
height: 105px;
}
-.Mount_Head_Bunny-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_Beetle-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1558px -530px;
width: 105px;
height: 105px;
}
-.Mount_Head_Bunny-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_Beetle-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1558px -636px;
width: 105px;
height: 105px;
}
-.Mount_Head_Bunny-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_Beetle-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1558px -742px;
width: 105px;
height: 105px;
}
-.Mount_Head_Bunny-White {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_Beetle-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1558px -848px;
width: 105px;
height: 105px;
}
-.Mount_Head_Bunny-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+.Mount_Head_Beetle-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1558px -954px;
width: 105px;
height: 105px;
}
+.Mount_Head_Bunny-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -1558px -1060px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Bunny-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -1558px -1166px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Bunny-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -1558px -1272px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Bunny-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -1558px -1378px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Bunny-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: 0px -1558px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Bunny-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -106px -1558px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Bunny-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -212px -1558px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Bunny-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -318px -1558px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Bunny-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -424px -1558px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Bunny-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -530px -1558px;
+ width: 105px;
+ height: 105px;
+}
.Mount_Head_Butterfly-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -816px -124px;
- width: 105px;
- height: 123px;
-}
-.Mount_Head_Butterfly-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -816px -248px;
- width: 105px;
- height: 123px;
-}
-.Mount_Head_Butterfly-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -816px -372px;
- width: 105px;
- height: 123px;
-}
-.Mount_Head_Butterfly-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -816px -496px;
- width: 105px;
- height: 123px;
-}
-.Mount_Head_Butterfly-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -816px -620px;
- width: 105px;
- height: 123px;
-}
-.Mount_Head_Butterfly-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -922px 0px;
- width: 105px;
- height: 123px;
-}
-.Mount_Head_Butterfly-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -922px -124px;
- width: 105px;
- height: 123px;
-}
-.Mount_Head_Butterfly-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -922px -248px;
- width: 105px;
- height: 123px;
-}
-.Mount_Head_Butterfly-White {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
- background-position: -922px -372px;
- width: 105px;
- height: 123px;
-}
-.Mount_Head_Butterfly-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -816px 0px;
width: 105px;
height: 123px;
}
+.Mount_Head_Butterfly-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -816px -124px;
+ width: 105px;
+ height: 123px;
+}
+.Mount_Head_Butterfly-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -816px -248px;
+ width: 105px;
+ height: 123px;
+}
+.Mount_Head_Butterfly-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -816px -372px;
+ width: 105px;
+ height: 123px;
+}
+.Mount_Head_Butterfly-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -816px -496px;
+ width: 105px;
+ height: 123px;
+}
+.Mount_Head_Butterfly-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -816px -620px;
+ width: 105px;
+ height: 123px;
+}
+.Mount_Head_Butterfly-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -922px 0px;
+ width: 105px;
+ height: 123px;
+}
+.Mount_Head_Butterfly-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -922px -124px;
+ width: 105px;
+ height: 123px;
+}
+.Mount_Head_Butterfly-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -922px -248px;
+ width: 105px;
+ height: 123px;
+}
+.Mount_Head_Butterfly-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
+ background-position: -922px -372px;
+ width: 105px;
+ height: 123px;
+}
.Mount_Head_Cactus-Aquatic {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -636px -1558px;
width: 105px;
height: 105px;
}
.Mount_Head_Cactus-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -742px -1558px;
width: 105px;
height: 105px;
}
.Mount_Head_Cactus-Bronze {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -848px -1558px;
width: 105px;
height: 105px;
}
.Mount_Head_Cactus-Celestial {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -954px -1558px;
width: 105px;
height: 105px;
}
.Mount_Head_Cactus-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1060px -1558px;
width: 105px;
height: 105px;
}
.Mount_Head_Cactus-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1166px -1558px;
width: 105px;
height: 105px;
}
.Mount_Head_Cactus-Cupid {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1272px -1558px;
width: 105px;
height: 105px;
}
.Mount_Head_Cactus-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1378px -1558px;
width: 105px;
height: 105px;
}
.Mount_Head_Cactus-Ember {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1484px -1558px;
width: 105px;
height: 105px;
}
.Mount_Head_Cactus-Fairy {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1664px 0px;
width: 105px;
height: 105px;
}
.Mount_Head_Cactus-Floral {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1664px -106px;
width: 105px;
height: 105px;
}
.Mount_Head_Cactus-Frost {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1664px -212px;
width: 105px;
height: 105px;
}
.Mount_Head_Cactus-Ghost {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1664px -318px;
width: 105px;
height: 105px;
}
.Mount_Head_Cactus-Glass {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1664px -424px;
width: 105px;
height: 105px;
}
.Mount_Head_Cactus-Glow {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1664px -530px;
width: 105px;
height: 105px;
}
.Mount_Head_Cactus-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1664px -636px;
width: 105px;
height: 105px;
}
.Mount_Head_Cactus-Holly {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1664px -742px;
width: 105px;
height: 105px;
}
.Mount_Head_Cactus-IcySnow {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1664px -848px;
width: 105px;
height: 105px;
}
.Mount_Head_Cactus-Peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1664px -954px;
width: 105px;
height: 105px;
}
.Mount_Head_Cactus-Rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1664px -1060px;
width: 105px;
height: 105px;
}
.Mount_Head_Cactus-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1664px -1166px;
width: 105px;
height: 105px;
}
.Mount_Head_Cactus-RoseQuartz {
- background-image: url('~assets/images/sprites/spritesmith-main-17.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-17.png');
background-position: -1664px -1272px;
width: 105px;
height: 105px;
diff --git a/website/client/assets/css/sprites/spritesmith-main-18.css b/website/client/src/assets/css/sprites/spritesmith-main-18.css
similarity index 57%
rename from website/client/assets/css/sprites/spritesmith-main-18.css
rename to website/client/src/assets/css/sprites/spritesmith-main-18.css
index 91a0ce01b0..69df2d54d4 100644
--- a/website/client/assets/css/sprites/spritesmith-main-18.css
+++ b/website/client/src/assets/css/sprites/spritesmith-main-18.css
@@ -1,1463 +1,1463 @@
.Mount_Head_Cactus-RoyalPurple {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -318px -578px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Cactus-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -212px -1108px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Cactus-Shadow {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -666px -318px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Cactus-Shimmer {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -666px -424px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Cactus-Silver {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: 0px -578px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Cactus-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -106px -578px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Cactus-Spooky {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -212px -578px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Cactus-StarryNight {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -121px 0px;
- width: 120px;
- height: 120px;
-}
-.Mount_Head_Cactus-Sunshine {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -424px -578px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Cactus-Thunderstorm {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -530px -578px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Cactus-Watery {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -636px -578px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Cactus-White {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -772px 0px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Cactus-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -1090px -212px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Cheetah-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -1408px -106px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Cheetah-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -1514px -1060px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Cheetah-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -318px -1426px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Cheetah-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -424px -1426px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Cheetah-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -530px -1426px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Cheetah-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -636px -1426px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Cheetah-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -742px -1426px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Cheetah-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -848px -1426px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Cheetah-White {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -954px -1426px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Cheetah-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -1060px -1426px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Cow-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -1166px -1426px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Cow-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -1272px -1426px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Cow-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -106px -472px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Cow-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -212px -472px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Cow-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -318px -472px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Cow-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -424px -472px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Cow-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -530px -472px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Cow-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -666px 0px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Cow-White {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -666px -106px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Cow-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -666px -212px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Cuttlefish-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -454px -115px;
- width: 105px;
- height: 114px;
-}
-.Mount_Head_Cuttlefish-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -454px -230px;
- width: 105px;
- height: 114px;
-}
-.Mount_Head_Cuttlefish-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -242px 0px;
- width: 105px;
- height: 114px;
-}
-.Mount_Head_Cuttlefish-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -242px -115px;
- width: 105px;
- height: 114px;
-}
-.Mount_Head_Cuttlefish-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -348px 0px;
- width: 105px;
- height: 114px;
-}
-.Mount_Head_Cuttlefish-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -348px -115px;
- width: 105px;
- height: 114px;
-}
-.Mount_Head_Cuttlefish-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: 0px -242px;
- width: 105px;
- height: 114px;
-}
-.Mount_Head_Cuttlefish-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -106px -242px;
- width: 105px;
- height: 114px;
-}
-.Mount_Head_Cuttlefish-White {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -212px -242px;
- width: 105px;
- height: 114px;
-}
-.Mount_Head_Cuttlefish-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -318px -242px;
- width: 105px;
- height: 114px;
-}
-.Mount_Head_Deer-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -772px -106px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Deer-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -772px -212px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Deer-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -772px -318px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Deer-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -772px -424px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Deer-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -772px -530px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Deer-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: 0px -684px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Deer-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -106px -684px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Deer-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -212px -684px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Deer-White {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -318px -684px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Deer-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -424px -684px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Dolphin-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -530px -684px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Dolphin-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -636px -684px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Dolphin-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -742px -684px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Dolphin-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -878px 0px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Dolphin-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -878px -106px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Dolphin-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -878px -212px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Dolphin-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -878px -318px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Dolphin-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -878px -424px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Dolphin-White {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -878px -530px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Dolphin-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -878px -636px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Dragon-Aquatic {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: 0px -790px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Dragon-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -106px -790px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Dragon-Bronze {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -212px -790px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Dragon-Celestial {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -318px -790px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Dragon-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -424px -790px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Dragon-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -530px -790px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Dragon-Cupid {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -636px -790px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Dragon-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -742px -790px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Dragon-Ember {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -848px -790px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Dragon-Fairy {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -984px 0px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Dragon-Floral {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -984px -106px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Dragon-Frost {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -984px -212px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Dragon-Ghost {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -984px -318px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Dragon-Glass {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -984px -424px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Dragon-Glow {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -984px -530px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Dragon-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -984px -636px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Dragon-Holly {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -984px -742px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Dragon-IcySnow {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: 0px -896px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Dragon-Peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -106px -896px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Dragon-Rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -212px -896px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Dragon-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -318px -896px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Dragon-RoseQuartz {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -424px -896px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Dragon-RoyalPurple {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -530px -896px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Dragon-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -636px -896px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Dragon-Shadow {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -742px -896px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Dragon-Shimmer {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -848px -896px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Dragon-Silver {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -954px -896px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Dragon-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -1090px 0px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Dragon-Spooky {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -1090px -106px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Dragon-StarryNight {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: 0px 0px;
- width: 120px;
- height: 120px;
-}
-.Mount_Head_Dragon-Sunshine {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -1090px -318px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Dragon-Thunderstorm {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -1090px -424px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Dragon-Watery {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -1090px -530px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Dragon-White {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -1090px -636px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Dragon-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -1090px -742px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Egg-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -1090px -848px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Egg-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: 0px -1002px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Egg-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -106px -1002px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Egg-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -212px -1002px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Egg-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -318px -1002px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Egg-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -424px -1002px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Egg-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -530px -1002px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Egg-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -636px -1002px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Egg-White {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -742px -1002px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Egg-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -848px -1002px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Falcon-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -954px -1002px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Falcon-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -1060px -1002px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Falcon-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -1196px 0px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Falcon-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -1196px -106px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Falcon-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -1196px -212px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Falcon-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -1196px -318px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Falcon-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -1196px -424px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Falcon-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -1196px -530px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Falcon-White {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -1196px -636px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Falcon-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -1196px -742px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Ferret-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -1196px -848px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Ferret-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -1196px -954px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Ferret-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: 0px -1108px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Ferret-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -106px -1108px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Ferret-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: 0px -472px;
width: 105px;
height: 105px;
}
-.Mount_Head_Ferret-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+.Mount_Head_Cactus-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -106px -472px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Cactus-Shadow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -212px -472px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Cactus-Shimmer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -318px -472px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Cactus-Silver {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -424px -472px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Cactus-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -530px -472px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Cactus-Spooky {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -666px 0px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Cactus-StarryNight {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: 0px 0px;
+ width: 120px;
+ height: 120px;
+}
+.Mount_Head_Cactus-Sunshine {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -666px -106px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Cactus-Thunderstorm {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -666px -212px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Cactus-Watery {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -666px -318px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Cactus-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -666px -424px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Cactus-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: 0px -578px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Cheetah-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -106px -578px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Cheetah-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -212px -578px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Cheetah-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -318px -578px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Cheetah-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -424px -578px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Cheetah-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -530px -578px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Cheetah-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -636px -578px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Cheetah-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -772px 0px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Cheetah-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -772px -106px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Cheetah-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -772px -212px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Cheetah-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -772px -318px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Cow-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -772px -424px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Cow-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -772px -530px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Cow-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: 0px -684px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Cow-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -106px -684px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Cow-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -212px -684px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Cow-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -318px -684px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Cow-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -424px -684px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Cow-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -530px -684px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Cow-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -636px -684px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Cow-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -742px -684px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Cuttlefish-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -242px 0px;
+ width: 105px;
+ height: 114px;
+}
+.Mount_Head_Cuttlefish-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -242px -115px;
+ width: 105px;
+ height: 114px;
+}
+.Mount_Head_Cuttlefish-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -348px 0px;
+ width: 105px;
+ height: 114px;
+}
+.Mount_Head_Cuttlefish-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -348px -115px;
+ width: 105px;
+ height: 114px;
+}
+.Mount_Head_Cuttlefish-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: 0px -242px;
+ width: 105px;
+ height: 114px;
+}
+.Mount_Head_Cuttlefish-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -106px -242px;
+ width: 105px;
+ height: 114px;
+}
+.Mount_Head_Cuttlefish-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -212px -242px;
+ width: 105px;
+ height: 114px;
+}
+.Mount_Head_Cuttlefish-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -318px -242px;
+ width: 105px;
+ height: 114px;
+}
+.Mount_Head_Cuttlefish-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -454px 0px;
+ width: 105px;
+ height: 114px;
+}
+.Mount_Head_Cuttlefish-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -454px -115px;
+ width: 105px;
+ height: 114px;
+}
+.Mount_Head_Deer-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -878px 0px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Deer-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -878px -106px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Deer-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -878px -212px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Deer-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -878px -318px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Deer-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -878px -424px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Deer-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -878px -530px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Deer-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -878px -636px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Deer-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: 0px -790px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Deer-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -106px -790px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Deer-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -212px -790px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Dolphin-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -318px -790px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Dolphin-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -424px -790px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Dolphin-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -530px -790px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Dolphin-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -636px -790px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Dolphin-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -742px -790px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Dolphin-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -848px -790px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Dolphin-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -984px 0px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Dolphin-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -984px -106px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Dolphin-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -984px -212px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Dolphin-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -984px -318px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Dragon-Aquatic {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -984px -424px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Dragon-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -984px -530px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Dragon-Bronze {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -984px -636px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Dragon-Celestial {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -984px -742px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Dragon-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: 0px -896px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Dragon-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -106px -896px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Dragon-Cupid {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -212px -896px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Dragon-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -318px -896px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Dragon-Ember {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -424px -896px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Dragon-Fairy {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -530px -896px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Dragon-Floral {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -636px -896px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Dragon-Frost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -742px -896px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Dragon-Ghost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -848px -896px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Dragon-Glass {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -954px -896px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Dragon-Glow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -1090px 0px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Dragon-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -1090px -106px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Dragon-Holly {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -1090px -212px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Dragon-IcySnow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -1090px -318px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Dragon-Peppermint {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -1090px -424px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Dragon-Rainbow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -1090px -530px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Dragon-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -1090px -636px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Dragon-RoseQuartz {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -1090px -742px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Dragon-RoyalPurple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -1090px -848px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Dragon-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: 0px -1002px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Dragon-Shadow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -106px -1002px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Dragon-Shimmer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -212px -1002px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Dragon-Silver {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -318px -1002px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Dragon-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -424px -1002px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Dragon-Spooky {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -530px -1002px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Dragon-StarryNight {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -121px 0px;
+ width: 120px;
+ height: 120px;
+}
+.Mount_Head_Dragon-Sunshine {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -636px -1002px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Dragon-Thunderstorm {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -742px -1002px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Dragon-Watery {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -848px -1002px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Dragon-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -954px -1002px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Dragon-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -1060px -1002px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Egg-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -1196px 0px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Egg-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -1196px -106px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Egg-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -1196px -212px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Egg-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -1196px -318px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Egg-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -1196px -424px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Egg-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -1196px -530px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Egg-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -1196px -636px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Egg-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -1196px -742px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Egg-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -1196px -848px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Egg-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -1196px -954px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Falcon-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: 0px -1108px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Falcon-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -106px -1108px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Falcon-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -212px -1108px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Falcon-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -318px -1108px;
width: 105px;
height: 105px;
}
-.Mount_Head_Ferret-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+.Mount_Head_Falcon-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -424px -1108px;
width: 105px;
height: 105px;
}
-.Mount_Head_Ferret-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+.Mount_Head_Falcon-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -530px -1108px;
width: 105px;
height: 105px;
}
-.Mount_Head_Ferret-White {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+.Mount_Head_Falcon-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -636px -1108px;
width: 105px;
height: 105px;
}
-.Mount_Head_Ferret-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+.Mount_Head_Falcon-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -742px -1108px;
width: 105px;
height: 105px;
}
-.Mount_Head_FlyingPig-Aquatic {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+.Mount_Head_Falcon-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -848px -1108px;
width: 105px;
height: 105px;
}
-.Mount_Head_FlyingPig-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+.Mount_Head_Falcon-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -954px -1108px;
width: 105px;
height: 105px;
}
-.Mount_Head_FlyingPig-Bronze {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+.Mount_Head_Ferret-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -1060px -1108px;
width: 105px;
height: 105px;
}
-.Mount_Head_FlyingPig-Celestial {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+.Mount_Head_Ferret-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -1166px -1108px;
width: 105px;
height: 105px;
}
-.Mount_Head_FlyingPig-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+.Mount_Head_Ferret-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -1302px 0px;
width: 105px;
height: 105px;
}
-.Mount_Head_FlyingPig-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+.Mount_Head_Ferret-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -1302px -106px;
width: 105px;
height: 105px;
}
-.Mount_Head_FlyingPig-Cupid {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+.Mount_Head_Ferret-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -1302px -212px;
width: 105px;
height: 105px;
}
-.Mount_Head_FlyingPig-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+.Mount_Head_Ferret-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -1302px -318px;
width: 105px;
height: 105px;
}
-.Mount_Head_FlyingPig-Ember {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+.Mount_Head_Ferret-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -1302px -424px;
width: 105px;
height: 105px;
}
-.Mount_Head_FlyingPig-Fairy {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+.Mount_Head_Ferret-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -1302px -530px;
width: 105px;
height: 105px;
}
-.Mount_Head_FlyingPig-Floral {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+.Mount_Head_Ferret-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -1302px -636px;
width: 105px;
height: 105px;
}
-.Mount_Head_FlyingPig-Frost {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+.Mount_Head_Ferret-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -1302px -742px;
width: 105px;
height: 105px;
}
-.Mount_Head_FlyingPig-Ghost {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+.Mount_Head_FlyingPig-Aquatic {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -1302px -848px;
width: 105px;
height: 105px;
}
-.Mount_Head_FlyingPig-Glass {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+.Mount_Head_FlyingPig-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -1302px -954px;
width: 105px;
height: 105px;
}
-.Mount_Head_FlyingPig-Glow {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+.Mount_Head_FlyingPig-Bronze {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -1302px -1060px;
width: 105px;
height: 105px;
}
-.Mount_Head_FlyingPig-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+.Mount_Head_FlyingPig-Celestial {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: 0px -1214px;
width: 105px;
height: 105px;
}
-.Mount_Head_FlyingPig-Holly {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+.Mount_Head_FlyingPig-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -106px -1214px;
width: 105px;
height: 105px;
}
-.Mount_Head_FlyingPig-IcySnow {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+.Mount_Head_FlyingPig-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -212px -1214px;
width: 105px;
height: 105px;
}
-.Mount_Head_FlyingPig-Peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+.Mount_Head_FlyingPig-Cupid {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -318px -1214px;
width: 105px;
height: 105px;
}
-.Mount_Head_FlyingPig-Rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+.Mount_Head_FlyingPig-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -424px -1214px;
width: 105px;
height: 105px;
}
-.Mount_Head_FlyingPig-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+.Mount_Head_FlyingPig-Ember {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -530px -1214px;
width: 105px;
height: 105px;
}
-.Mount_Head_FlyingPig-RoseQuartz {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+.Mount_Head_FlyingPig-Fairy {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -636px -1214px;
width: 105px;
height: 105px;
}
-.Mount_Head_FlyingPig-RoyalPurple {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+.Mount_Head_FlyingPig-Floral {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -742px -1214px;
width: 105px;
height: 105px;
}
-.Mount_Head_FlyingPig-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+.Mount_Head_FlyingPig-Frost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -848px -1214px;
width: 105px;
height: 105px;
}
-.Mount_Head_FlyingPig-Shadow {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+.Mount_Head_FlyingPig-Ghost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -954px -1214px;
width: 105px;
height: 105px;
}
-.Mount_Head_FlyingPig-Shimmer {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+.Mount_Head_FlyingPig-Glass {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -1060px -1214px;
width: 105px;
height: 105px;
}
-.Mount_Head_FlyingPig-Silver {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+.Mount_Head_FlyingPig-Glow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -1166px -1214px;
width: 105px;
height: 105px;
}
-.Mount_Head_FlyingPig-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+.Mount_Head_FlyingPig-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -1272px -1214px;
width: 105px;
height: 105px;
}
-.Mount_Head_FlyingPig-Spooky {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+.Mount_Head_FlyingPig-Holly {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -1408px 0px;
width: 105px;
height: 105px;
}
+.Mount_Head_FlyingPig-IcySnow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -1408px -106px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_FlyingPig-Peppermint {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -1408px -212px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_FlyingPig-Rainbow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -1408px -318px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_FlyingPig-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -1408px -424px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_FlyingPig-RoseQuartz {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -1408px -530px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_FlyingPig-RoyalPurple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -1408px -636px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_FlyingPig-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -1408px -742px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_FlyingPig-Shadow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -1408px -848px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_FlyingPig-Shimmer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -1408px -954px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_FlyingPig-Silver {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -1408px -1060px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_FlyingPig-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -1408px -1166px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_FlyingPig-Spooky {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: 0px -1320px;
+ width: 105px;
+ height: 105px;
+}
.Mount_Head_FlyingPig-StarryNight {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: 0px -121px;
width: 120px;
height: 120px;
}
.Mount_Head_FlyingPig-Sunshine {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -1408px -212px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_FlyingPig-Thunderstorm {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -1408px -318px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_FlyingPig-Watery {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -1408px -424px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_FlyingPig-White {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -1408px -530px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_FlyingPig-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -1408px -636px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Fox-Aquatic {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -1408px -742px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Fox-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -1408px -848px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Fox-Bronze {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -1408px -954px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Fox-Celestial {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -1408px -1060px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Fox-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -1408px -1166px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Fox-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: 0px -1320px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Fox-Cupid {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -106px -1320px;
width: 105px;
height: 105px;
}
-.Mount_Head_Fox-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+.Mount_Head_FlyingPig-Thunderstorm {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -212px -1320px;
width: 105px;
height: 105px;
}
-.Mount_Head_Fox-Ember {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+.Mount_Head_FlyingPig-Watery {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -318px -1320px;
width: 105px;
height: 105px;
}
-.Mount_Head_Fox-Fairy {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+.Mount_Head_FlyingPig-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -424px -1320px;
width: 105px;
height: 105px;
}
-.Mount_Head_Fox-Floral {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+.Mount_Head_FlyingPig-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -530px -1320px;
width: 105px;
height: 105px;
}
-.Mount_Head_Fox-Frost {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+.Mount_Head_Fox-Aquatic {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -636px -1320px;
width: 105px;
height: 105px;
}
-.Mount_Head_Fox-Ghost {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+.Mount_Head_Fox-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -742px -1320px;
width: 105px;
height: 105px;
}
-.Mount_Head_Fox-Glass {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+.Mount_Head_Fox-Bronze {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -848px -1320px;
width: 105px;
height: 105px;
}
-.Mount_Head_Fox-Glow {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+.Mount_Head_Fox-Celestial {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -954px -1320px;
width: 105px;
height: 105px;
}
-.Mount_Head_Fox-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+.Mount_Head_Fox-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -1060px -1320px;
width: 105px;
height: 105px;
}
-.Mount_Head_Fox-Holly {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+.Mount_Head_Fox-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -1166px -1320px;
width: 105px;
height: 105px;
}
-.Mount_Head_Fox-IcySnow {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+.Mount_Head_Fox-Cupid {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -1272px -1320px;
width: 105px;
height: 105px;
}
-.Mount_Head_Fox-Peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+.Mount_Head_Fox-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -1378px -1320px;
width: 105px;
height: 105px;
}
-.Mount_Head_Fox-Rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+.Mount_Head_Fox-Ember {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -1514px 0px;
width: 105px;
height: 105px;
}
-.Mount_Head_Fox-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+.Mount_Head_Fox-Fairy {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -1514px -106px;
width: 105px;
height: 105px;
}
-.Mount_Head_Fox-RoseQuartz {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+.Mount_Head_Fox-Floral {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -1514px -212px;
width: 105px;
height: 105px;
}
-.Mount_Head_Fox-RoyalPurple {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+.Mount_Head_Fox-Frost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -1514px -318px;
width: 105px;
height: 105px;
}
-.Mount_Head_Fox-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+.Mount_Head_Fox-Ghost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -1514px -424px;
width: 105px;
height: 105px;
}
-.Mount_Head_Fox-Shadow {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+.Mount_Head_Fox-Glass {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -1514px -530px;
width: 105px;
height: 105px;
}
-.Mount_Head_Fox-Shimmer {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+.Mount_Head_Fox-Glow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -1514px -636px;
width: 105px;
height: 105px;
}
-.Mount_Head_Fox-Silver {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+.Mount_Head_Fox-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -1514px -742px;
width: 105px;
height: 105px;
}
-.Mount_Head_Fox-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+.Mount_Head_Fox-Holly {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -1514px -848px;
width: 105px;
height: 105px;
}
-.Mount_Head_Fox-Spooky {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+.Mount_Head_Fox-IcySnow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -1514px -954px;
width: 105px;
height: 105px;
}
+.Mount_Head_Fox-Peppermint {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -1514px -1060px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Fox-Rainbow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -1514px -1166px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Fox-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -1514px -1272px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Fox-RoseQuartz {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: 0px -1426px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Fox-RoyalPurple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -106px -1426px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Fox-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -212px -1426px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Fox-Shadow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -318px -1426px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Fox-Shimmer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -424px -1426px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Fox-Silver {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -530px -1426px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Fox-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -636px -1426px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Fox-Spooky {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -742px -1426px;
+ width: 105px;
+ height: 105px;
+}
.Mount_Head_Fox-StarryNight {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -121px -121px;
width: 120px;
height: 120px;
}
.Mount_Head_Fox-Sunshine {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -1514px -1166px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -848px -1426px;
width: 105px;
height: 105px;
}
.Mount_Head_Fox-Thunderstorm {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -1514px -1272px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -954px -1426px;
width: 105px;
height: 105px;
}
.Mount_Head_Fox-Watery {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: 0px -1426px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -1060px -1426px;
width: 105px;
height: 105px;
}
.Mount_Head_Fox-White {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -106px -1426px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -1166px -1426px;
width: 105px;
height: 105px;
}
.Mount_Head_Fox-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -212px -1426px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -1272px -1426px;
width: 105px;
height: 105px;
}
.Mount_Head_Frog-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: 0px -357px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -454px -230px;
width: 105px;
height: 114px;
}
.Mount_Head_Frog-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -106px -357px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: 0px -357px;
width: 105px;
height: 114px;
}
.Mount_Head_Frog-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -212px -357px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -106px -357px;
width: 105px;
height: 114px;
}
.Mount_Head_Frog-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -318px -357px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -212px -357px;
width: 105px;
height: 114px;
}
.Mount_Head_Frog-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -424px -357px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -318px -357px;
width: 105px;
height: 114px;
}
.Mount_Head_Frog-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -560px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -424px -357px;
width: 105px;
height: 114px;
}
.Mount_Head_Frog-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -560px -115px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -560px 0px;
width: 105px;
height: 114px;
}
.Mount_Head_Frog-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -560px -230px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -560px -115px;
width: 105px;
height: 114px;
}
.Mount_Head_Frog-White {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -560px -345px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -560px -230px;
width: 105px;
height: 114px;
}
.Mount_Head_Frog-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
- background-position: -454px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
+ background-position: -560px -345px;
width: 105px;
height: 114px;
}
.Mount_Head_Gryphon-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -1378px -1426px;
width: 105px;
height: 105px;
}
.Mount_Head_Gryphon-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -1484px -1426px;
width: 105px;
height: 105px;
}
.Mount_Head_Gryphon-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -1620px 0px;
width: 105px;
height: 105px;
}
.Mount_Head_Gryphon-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -1620px -106px;
width: 105px;
height: 105px;
}
.Mount_Head_Gryphon-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -1620px -212px;
width: 105px;
height: 105px;
}
.Mount_Head_Gryphon-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -1620px -318px;
width: 105px;
height: 105px;
}
.Mount_Head_Gryphon-RoyalPurple {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -1620px -424px;
width: 105px;
height: 105px;
}
.Mount_Head_Gryphon-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -1620px -530px;
width: 105px;
height: 105px;
}
.Mount_Head_Gryphon-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -1620px -636px;
width: 105px;
height: 105px;
}
.Mount_Head_Gryphon-White {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -1620px -742px;
width: 105px;
height: 105px;
}
.Mount_Head_Gryphon-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -1620px -848px;
width: 105px;
height: 105px;
}
.Mount_Head_GuineaPig-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -1620px -954px;
width: 105px;
height: 105px;
}
.Mount_Head_GuineaPig-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -1620px -1060px;
width: 105px;
height: 105px;
}
.Mount_Head_GuineaPig-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -1620px -1166px;
width: 105px;
height: 105px;
}
.Mount_Head_GuineaPig-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -1620px -1272px;
width: 105px;
height: 105px;
}
.Mount_Head_GuineaPig-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -1620px -1378px;
width: 105px;
height: 105px;
}
.Mount_Head_GuineaPig-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: 0px -1532px;
width: 105px;
height: 105px;
}
.Mount_Head_GuineaPig-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -106px -1532px;
width: 105px;
height: 105px;
}
.Mount_Head_GuineaPig-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -212px -1532px;
width: 105px;
height: 105px;
}
.Mount_Head_GuineaPig-White {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -318px -1532px;
width: 105px;
height: 105px;
}
.Mount_Head_GuineaPig-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -424px -1532px;
width: 105px;
height: 105px;
}
.Mount_Head_Hedgehog-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -530px -1532px;
width: 105px;
height: 105px;
}
.Mount_Head_Hedgehog-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -636px -1532px;
width: 105px;
height: 105px;
}
.Mount_Head_Hedgehog-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -742px -1532px;
width: 105px;
height: 105px;
}
.Mount_Head_Hedgehog-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -848px -1532px;
width: 105px;
height: 105px;
}
.Mount_Head_Hedgehog-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -954px -1532px;
width: 105px;
height: 105px;
}
.Mount_Head_Hedgehog-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -1060px -1532px;
width: 105px;
height: 105px;
}
.Mount_Head_Hedgehog-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -1166px -1532px;
width: 105px;
height: 105px;
}
.Mount_Head_Hedgehog-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -1272px -1532px;
width: 105px;
height: 105px;
}
.Mount_Head_Hedgehog-White {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -1378px -1532px;
width: 105px;
height: 105px;
}
.Mount_Head_Hedgehog-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -1484px -1532px;
width: 105px;
height: 105px;
}
.Mount_Head_Hippo-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -1590px -1532px;
width: 105px;
height: 105px;
}
.Mount_Head_Hippo-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -1726px 0px;
width: 105px;
height: 105px;
}
.Mount_Head_Hippo-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -1726px -106px;
width: 105px;
height: 105px;
}
.Mount_Head_Hippo-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -1726px -212px;
width: 105px;
height: 105px;
}
.Mount_Head_Hippo-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-18.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-18.png');
background-position: -1726px -318px;
width: 105px;
height: 105px;
diff --git a/website/client/assets/css/sprites/spritesmith-main-19.css b/website/client/src/assets/css/sprites/spritesmith-main-19.css
similarity index 57%
rename from website/client/assets/css/sprites/spritesmith-main-19.css
rename to website/client/src/assets/css/sprites/spritesmith-main-19.css
index c28207a848..0e8fbfb90f 100644
--- a/website/client/assets/css/sprites/spritesmith-main-19.css
+++ b/website/client/src/assets/css/sprites/spritesmith-main-19.css
@@ -1,1439 +1,1439 @@
.Mount_Head_Hippo-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
- background-position: -212px -850px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
+ background-position: -544px 0px;
width: 105px;
height: 105px;
}
.Mount_Head_Hippo-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
- background-position: -1180px -742px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
+ background-position: -544px -106px;
width: 105px;
height: 105px;
}
.Mount_Head_Hippo-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
- background-position: -862px -106px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
+ background-position: -544px -212px;
width: 105px;
height: 105px;
}
.Mount_Head_Hippo-White {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
- background-position: -862px -318px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
+ background-position: -544px -318px;
width: 105px;
height: 105px;
}
.Mount_Head_Hippo-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
- background-position: -106px -850px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
+ background-position: -544px -424px;
width: 105px;
height: 105px;
}
.Mount_Head_Hippogriff-Hopeful {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -212px -408px;
width: 105px;
height: 111px;
}
.Mount_Head_Horse-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
- background-position: -318px -850px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Horse-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
- background-position: -1286px -212px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Horse-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
- background-position: -1604px -848px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Horse-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
- background-position: -1604px -954px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Horse-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
- background-position: -1604px -1060px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Horse-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
- background-position: -1604px -1166px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Horse-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
- background-position: -1604px -1272px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Horse-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
- background-position: -1604px -1378px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Horse-White {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
- background-position: -1604px -1484px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Horse-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
- background-position: 0px -1592px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_JackOLantern-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
- background-position: -727px -1592px;
- width: 90px;
- height: 105px;
-}
-.Mount_Head_JackOLantern-Ghost {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
- background-position: -636px -1592px;
- width: 90px;
- height: 105px;
-}
-.Mount_Head_Jackalope-RoyalPurple {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
- background-position: -106px -1592px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Kangaroo-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
- background-position: -544px -212px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Kangaroo-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
- background-position: -544px -318px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Kangaroo-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
- background-position: -544px -424px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Kangaroo-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: 0px -532px;
width: 105px;
height: 105px;
}
-.Mount_Head_Kangaroo-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Horse-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -106px -532px;
width: 105px;
height: 105px;
}
-.Mount_Head_Kangaroo-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Horse-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -212px -532px;
width: 105px;
height: 105px;
}
-.Mount_Head_Kangaroo-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Horse-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -318px -532px;
width: 105px;
height: 105px;
}
-.Mount_Head_Kangaroo-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Horse-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -424px -532px;
width: 105px;
height: 105px;
}
-.Mount_Head_Kangaroo-White {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Horse-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -530px -532px;
width: 105px;
height: 105px;
}
-.Mount_Head_Kangaroo-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Horse-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -650px 0px;
width: 105px;
height: 105px;
}
-.Mount_Head_LionCub-Aquatic {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Horse-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -650px -106px;
width: 105px;
height: 105px;
}
-.Mount_Head_LionCub-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Horse-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -650px -212px;
width: 105px;
height: 105px;
}
-.Mount_Head_LionCub-Bronze {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Horse-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -650px -318px;
width: 105px;
height: 105px;
}
-.Mount_Head_LionCub-Celestial {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_JackOLantern-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
+ background-position: -636px -1592px;
+ width: 90px;
+ height: 105px;
+}
+.Mount_Head_JackOLantern-Ghost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
+ background-position: -727px -1592px;
+ width: 90px;
+ height: 105px;
+}
+.Mount_Head_Jackalope-RoyalPurple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -650px -424px;
width: 105px;
height: 105px;
}
-.Mount_Head_LionCub-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Kangaroo-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -650px -530px;
width: 105px;
height: 105px;
}
-.Mount_Head_LionCub-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Kangaroo-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: 0px -638px;
width: 105px;
height: 105px;
}
-.Mount_Head_LionCub-Cupid {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Kangaroo-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -106px -638px;
width: 105px;
height: 105px;
}
-.Mount_Head_LionCub-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Kangaroo-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -212px -638px;
width: 105px;
height: 105px;
}
-.Mount_Head_LionCub-Ember {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Kangaroo-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -318px -638px;
width: 105px;
height: 105px;
}
-.Mount_Head_LionCub-Ethereal {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Kangaroo-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -424px -638px;
width: 105px;
height: 105px;
}
-.Mount_Head_LionCub-Fairy {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Kangaroo-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -530px -638px;
width: 105px;
height: 105px;
}
-.Mount_Head_LionCub-Floral {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Kangaroo-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -636px -638px;
width: 105px;
height: 105px;
}
-.Mount_Head_LionCub-Frost {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Kangaroo-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -756px 0px;
width: 105px;
height: 105px;
}
-.Mount_Head_LionCub-Ghost {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Kangaroo-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -756px -106px;
width: 105px;
height: 105px;
}
-.Mount_Head_LionCub-Glass {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_LionCub-Aquatic {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -756px -212px;
width: 105px;
height: 105px;
}
-.Mount_Head_LionCub-Glow {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_LionCub-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -756px -318px;
width: 105px;
height: 105px;
}
-.Mount_Head_LionCub-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_LionCub-Bronze {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -756px -424px;
width: 105px;
height: 105px;
}
-.Mount_Head_LionCub-Holly {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_LionCub-Celestial {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -756px -530px;
width: 105px;
height: 105px;
}
-.Mount_Head_LionCub-IcySnow {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_LionCub-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -756px -636px;
width: 105px;
height: 105px;
}
-.Mount_Head_LionCub-Peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_LionCub-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: 0px -744px;
width: 105px;
height: 105px;
}
-.Mount_Head_LionCub-Rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_LionCub-Cupid {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -106px -744px;
width: 105px;
height: 105px;
}
-.Mount_Head_LionCub-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_LionCub-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -212px -744px;
width: 105px;
height: 105px;
}
-.Mount_Head_LionCub-RoseQuartz {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_LionCub-Ember {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -318px -744px;
width: 105px;
height: 105px;
}
-.Mount_Head_LionCub-RoyalPurple {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_LionCub-Ethereal {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -424px -744px;
width: 105px;
height: 105px;
}
-.Mount_Head_LionCub-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_LionCub-Fairy {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -530px -744px;
width: 105px;
height: 105px;
}
-.Mount_Head_LionCub-Shadow {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_LionCub-Floral {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -636px -744px;
width: 105px;
height: 105px;
}
-.Mount_Head_LionCub-Shimmer {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_LionCub-Frost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -742px -744px;
width: 105px;
height: 105px;
}
-.Mount_Head_LionCub-Silver {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_LionCub-Ghost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -862px 0px;
width: 105px;
height: 105px;
}
+.Mount_Head_LionCub-Glass {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
+ background-position: -862px -106px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_LionCub-Glow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
+ background-position: -862px -212px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_LionCub-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
+ background-position: -862px -318px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_LionCub-Holly {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
+ background-position: -862px -424px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_LionCub-IcySnow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
+ background-position: -862px -530px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_LionCub-Peppermint {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
+ background-position: -862px -636px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_LionCub-Rainbow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
+ background-position: -862px -742px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_LionCub-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
+ background-position: 0px -850px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_LionCub-RoseQuartz {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
+ background-position: -106px -850px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_LionCub-RoyalPurple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
+ background-position: -212px -850px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_LionCub-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
+ background-position: -318px -850px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_LionCub-Shadow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
+ background-position: -424px -850px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_LionCub-Shimmer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
+ background-position: -530px -850px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_LionCub-Silver {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
+ background-position: -636px -850px;
+ width: 105px;
+ height: 105px;
+}
.Mount_Head_LionCub-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -318px -408px;
width: 105px;
height: 110px;
}
.Mount_Head_LionCub-Spooky {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
- background-position: -862px -212px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
+ background-position: -742px -850px;
width: 105px;
height: 105px;
}
.Mount_Head_LionCub-StarryNight {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
- background-position: -408px -257px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
+ background-position: -408px -136px;
width: 120px;
height: 120px;
}
.Mount_Head_LionCub-Sunshine {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
- background-position: -862px -424px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
+ background-position: -848px -850px;
width: 105px;
height: 105px;
}
.Mount_Head_LionCub-Thunderstorm {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
- background-position: -862px -530px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
+ background-position: -968px 0px;
width: 105px;
height: 105px;
}
.Mount_Head_LionCub-Watery {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
- background-position: -862px -636px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
+ background-position: -968px -106px;
width: 105px;
height: 105px;
}
.Mount_Head_LionCub-White {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
- background-position: -862px -742px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
+ background-position: -968px -212px;
width: 105px;
height: 105px;
}
.Mount_Head_LionCub-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
- background-position: 0px -850px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
+ background-position: -968px -318px;
width: 105px;
height: 105px;
}
.Mount_Head_MagicalBee-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -106px -408px;
width: 105px;
height: 114px;
}
.Mount_Head_Mammoth-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: 0px -408px;
width: 105px;
height: 123px;
}
.Mount_Head_MantisShrimp-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -424px -408px;
width: 108px;
height: 105px;
}
.Mount_Head_Monkey-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
- background-position: -424px -850px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Monkey-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
- background-position: -530px -850px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Monkey-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
- background-position: -636px -850px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Monkey-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
- background-position: -742px -850px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Monkey-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
- background-position: -848px -850px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Monkey-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
- background-position: -968px 0px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Monkey-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
- background-position: -968px -106px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Monkey-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
- background-position: -968px -212px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Monkey-White {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
- background-position: -968px -318px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Monkey-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -968px -424px;
width: 105px;
height: 105px;
}
-.Mount_Head_Nudibranch-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Monkey-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -968px -530px;
width: 105px;
height: 105px;
}
-.Mount_Head_Nudibranch-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Monkey-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -968px -636px;
width: 105px;
height: 105px;
}
-.Mount_Head_Nudibranch-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Monkey-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -968px -742px;
width: 105px;
height: 105px;
}
-.Mount_Head_Nudibranch-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Monkey-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -968px -848px;
width: 105px;
height: 105px;
}
-.Mount_Head_Nudibranch-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Monkey-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: 0px -956px;
width: 105px;
height: 105px;
}
-.Mount_Head_Nudibranch-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Monkey-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -106px -956px;
width: 105px;
height: 105px;
}
-.Mount_Head_Nudibranch-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Monkey-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -212px -956px;
width: 105px;
height: 105px;
}
-.Mount_Head_Nudibranch-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Monkey-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -318px -956px;
width: 105px;
height: 105px;
}
-.Mount_Head_Nudibranch-White {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Monkey-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -424px -956px;
width: 105px;
height: 105px;
}
-.Mount_Head_Nudibranch-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Nudibranch-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -530px -956px;
width: 105px;
height: 105px;
}
-.Mount_Head_Octopus-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Nudibranch-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -636px -956px;
width: 105px;
height: 105px;
}
-.Mount_Head_Octopus-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Nudibranch-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -742px -956px;
width: 105px;
height: 105px;
}
-.Mount_Head_Octopus-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Nudibranch-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -848px -956px;
width: 105px;
height: 105px;
}
-.Mount_Head_Octopus-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Nudibranch-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -954px -956px;
width: 105px;
height: 105px;
}
-.Mount_Head_Octopus-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Nudibranch-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1074px 0px;
width: 105px;
height: 105px;
}
-.Mount_Head_Octopus-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Nudibranch-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1074px -106px;
width: 105px;
height: 105px;
}
-.Mount_Head_Octopus-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Nudibranch-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1074px -212px;
width: 105px;
height: 105px;
}
-.Mount_Head_Octopus-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Nudibranch-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1074px -318px;
width: 105px;
height: 105px;
}
-.Mount_Head_Octopus-White {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Nudibranch-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1074px -424px;
width: 105px;
height: 105px;
}
-.Mount_Head_Octopus-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Octopus-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1074px -530px;
width: 105px;
height: 105px;
}
-.Mount_Head_Orca-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Octopus-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1074px -636px;
width: 105px;
height: 105px;
}
-.Mount_Head_Owl-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Octopus-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1074px -742px;
width: 105px;
height: 105px;
}
-.Mount_Head_Owl-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Octopus-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1074px -848px;
width: 105px;
height: 105px;
}
-.Mount_Head_Owl-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Octopus-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1074px -954px;
width: 105px;
height: 105px;
}
-.Mount_Head_Owl-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Octopus-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: 0px -1062px;
width: 105px;
height: 105px;
}
-.Mount_Head_Owl-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Octopus-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -106px -1062px;
width: 105px;
height: 105px;
}
-.Mount_Head_Owl-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Octopus-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -212px -1062px;
width: 105px;
height: 105px;
}
-.Mount_Head_Owl-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Octopus-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -318px -1062px;
width: 105px;
height: 105px;
}
-.Mount_Head_Owl-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Octopus-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -424px -1062px;
width: 105px;
height: 105px;
}
-.Mount_Head_Owl-White {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Orca-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -530px -1062px;
width: 105px;
height: 105px;
}
-.Mount_Head_Owl-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Owl-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -636px -1062px;
width: 105px;
height: 105px;
}
-.Mount_Head_PandaCub-Aquatic {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Owl-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -742px -1062px;
width: 105px;
height: 105px;
}
-.Mount_Head_PandaCub-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Owl-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -848px -1062px;
width: 105px;
height: 105px;
}
-.Mount_Head_PandaCub-Bronze {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Owl-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -954px -1062px;
width: 105px;
height: 105px;
}
-.Mount_Head_PandaCub-Celestial {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Owl-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1060px -1062px;
width: 105px;
height: 105px;
}
-.Mount_Head_PandaCub-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Owl-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1180px 0px;
width: 105px;
height: 105px;
}
-.Mount_Head_PandaCub-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Owl-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1180px -106px;
width: 105px;
height: 105px;
}
-.Mount_Head_PandaCub-Cupid {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Owl-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1180px -212px;
width: 105px;
height: 105px;
}
-.Mount_Head_PandaCub-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Owl-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1180px -318px;
width: 105px;
height: 105px;
}
-.Mount_Head_PandaCub-Ember {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Owl-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1180px -424px;
width: 105px;
height: 105px;
}
-.Mount_Head_PandaCub-Fairy {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_PandaCub-Aquatic {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1180px -530px;
width: 105px;
height: 105px;
}
-.Mount_Head_PandaCub-Floral {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_PandaCub-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1180px -636px;
width: 105px;
height: 105px;
}
-.Mount_Head_PandaCub-Frost {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
- background-position: -544px 0px;
+.Mount_Head_PandaCub-Bronze {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
+ background-position: -1180px -742px;
width: 105px;
height: 105px;
}
-.Mount_Head_PandaCub-Ghost {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_PandaCub-Celestial {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1180px -848px;
width: 105px;
height: 105px;
}
-.Mount_Head_PandaCub-Glass {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_PandaCub-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1180px -954px;
width: 105px;
height: 105px;
}
-.Mount_Head_PandaCub-Glow {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_PandaCub-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1180px -1060px;
width: 105px;
height: 105px;
}
-.Mount_Head_PandaCub-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_PandaCub-Cupid {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: 0px -1168px;
width: 105px;
height: 105px;
}
-.Mount_Head_PandaCub-Holly {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_PandaCub-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -106px -1168px;
width: 105px;
height: 105px;
}
-.Mount_Head_PandaCub-IcySnow {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_PandaCub-Ember {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -212px -1168px;
width: 105px;
height: 105px;
}
-.Mount_Head_PandaCub-Peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_PandaCub-Fairy {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -318px -1168px;
width: 105px;
height: 105px;
}
-.Mount_Head_PandaCub-Rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_PandaCub-Floral {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -424px -1168px;
width: 105px;
height: 105px;
}
-.Mount_Head_PandaCub-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_PandaCub-Frost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -530px -1168px;
width: 105px;
height: 105px;
}
-.Mount_Head_PandaCub-RoseQuartz {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_PandaCub-Ghost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -636px -1168px;
width: 105px;
height: 105px;
}
-.Mount_Head_PandaCub-RoyalPurple {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_PandaCub-Glass {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -742px -1168px;
width: 105px;
height: 105px;
}
-.Mount_Head_PandaCub-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_PandaCub-Glow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -848px -1168px;
width: 105px;
height: 105px;
}
-.Mount_Head_PandaCub-Shadow {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_PandaCub-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -954px -1168px;
width: 105px;
height: 105px;
}
-.Mount_Head_PandaCub-Shimmer {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_PandaCub-Holly {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1060px -1168px;
width: 105px;
height: 105px;
}
-.Mount_Head_PandaCub-Silver {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_PandaCub-IcySnow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1166px -1168px;
width: 105px;
height: 105px;
}
-.Mount_Head_PandaCub-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_PandaCub-Peppermint {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1286px 0px;
width: 105px;
height: 105px;
}
-.Mount_Head_PandaCub-Spooky {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_PandaCub-Rainbow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1286px -106px;
width: 105px;
height: 105px;
}
-.Mount_Head_PandaCub-StarryNight {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
- background-position: -408px -136px;
- width: 120px;
- height: 120px;
+.Mount_Head_PandaCub-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
+ background-position: -1286px -212px;
+ width: 105px;
+ height: 105px;
}
-.Mount_Head_PandaCub-Sunshine {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_PandaCub-RoseQuartz {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1286px -318px;
width: 105px;
height: 105px;
}
-.Mount_Head_PandaCub-Thunderstorm {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_PandaCub-RoyalPurple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1286px -424px;
width: 105px;
height: 105px;
}
-.Mount_Head_PandaCub-Watery {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_PandaCub-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1286px -530px;
width: 105px;
height: 105px;
}
-.Mount_Head_PandaCub-White {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_PandaCub-Shadow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1286px -636px;
width: 105px;
height: 105px;
}
-.Mount_Head_PandaCub-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_PandaCub-Shimmer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1286px -742px;
width: 105px;
height: 105px;
}
-.Mount_Head_Parrot-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_PandaCub-Silver {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1286px -848px;
width: 105px;
height: 105px;
}
-.Mount_Head_Parrot-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_PandaCub-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1286px -954px;
width: 105px;
height: 105px;
}
-.Mount_Head_Parrot-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_PandaCub-Spooky {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1286px -1060px;
width: 105px;
height: 105px;
}
-.Mount_Head_Parrot-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_PandaCub-StarryNight {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
+ background-position: -408px -257px;
+ width: 120px;
+ height: 120px;
+}
+.Mount_Head_PandaCub-Sunshine {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1286px -1166px;
width: 105px;
height: 105px;
}
-.Mount_Head_Parrot-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_PandaCub-Thunderstorm {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: 0px -1274px;
width: 105px;
height: 105px;
}
-.Mount_Head_Parrot-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_PandaCub-Watery {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -106px -1274px;
width: 105px;
height: 105px;
}
-.Mount_Head_Parrot-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_PandaCub-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -212px -1274px;
width: 105px;
height: 105px;
}
-.Mount_Head_Parrot-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_PandaCub-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -318px -1274px;
width: 105px;
height: 105px;
}
-.Mount_Head_Parrot-White {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Parrot-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -424px -1274px;
width: 105px;
height: 105px;
}
-.Mount_Head_Parrot-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Parrot-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -530px -1274px;
width: 105px;
height: 105px;
}
-.Mount_Head_Peacock-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Parrot-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -636px -1274px;
width: 105px;
height: 105px;
}
-.Mount_Head_Peacock-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Parrot-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -742px -1274px;
width: 105px;
height: 105px;
}
-.Mount_Head_Peacock-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Parrot-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -848px -1274px;
width: 105px;
height: 105px;
}
-.Mount_Head_Peacock-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Parrot-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -954px -1274px;
width: 105px;
height: 105px;
}
-.Mount_Head_Peacock-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Parrot-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1060px -1274px;
width: 105px;
height: 105px;
}
-.Mount_Head_Peacock-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Parrot-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1166px -1274px;
width: 105px;
height: 105px;
}
-.Mount_Head_Peacock-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Parrot-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1272px -1274px;
width: 105px;
height: 105px;
}
-.Mount_Head_Peacock-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Parrot-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1392px 0px;
width: 105px;
height: 105px;
}
-.Mount_Head_Peacock-White {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Peacock-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1392px -106px;
width: 105px;
height: 105px;
}
-.Mount_Head_Peacock-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Peacock-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1392px -212px;
width: 105px;
height: 105px;
}
-.Mount_Head_Penguin-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Peacock-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1392px -318px;
width: 105px;
height: 105px;
}
-.Mount_Head_Penguin-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Peacock-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1392px -424px;
width: 105px;
height: 105px;
}
-.Mount_Head_Penguin-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Peacock-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1392px -530px;
width: 105px;
height: 105px;
}
-.Mount_Head_Penguin-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Peacock-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1392px -636px;
width: 105px;
height: 105px;
}
-.Mount_Head_Penguin-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Peacock-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1392px -742px;
width: 105px;
height: 105px;
}
-.Mount_Head_Penguin-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Peacock-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1392px -848px;
width: 105px;
height: 105px;
}
-.Mount_Head_Penguin-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Peacock-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1392px -954px;
width: 105px;
height: 105px;
}
-.Mount_Head_Penguin-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Peacock-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1392px -1060px;
width: 105px;
height: 105px;
}
-.Mount_Head_Penguin-White {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Penguin-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1392px -1166px;
width: 105px;
height: 105px;
}
-.Mount_Head_Penguin-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Penguin-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1392px -1272px;
width: 105px;
height: 105px;
}
-.Mount_Head_Phoenix-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Penguin-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: 0px -1380px;
width: 105px;
height: 105px;
}
-.Mount_Head_Pterodactyl-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Penguin-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -106px -1380px;
width: 105px;
height: 105px;
}
-.Mount_Head_Pterodactyl-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Penguin-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -212px -1380px;
width: 105px;
height: 105px;
}
-.Mount_Head_Pterodactyl-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Penguin-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -318px -1380px;
width: 105px;
height: 105px;
}
-.Mount_Head_Pterodactyl-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Penguin-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -424px -1380px;
width: 105px;
height: 105px;
}
-.Mount_Head_Pterodactyl-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Penguin-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -530px -1380px;
width: 105px;
height: 105px;
}
-.Mount_Head_Pterodactyl-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Penguin-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -636px -1380px;
width: 105px;
height: 105px;
}
-.Mount_Head_Pterodactyl-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Penguin-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -742px -1380px;
width: 105px;
height: 105px;
}
-.Mount_Head_Pterodactyl-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Phoenix-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -848px -1380px;
width: 105px;
height: 105px;
}
-.Mount_Head_Pterodactyl-White {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Pterodactyl-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -954px -1380px;
width: 105px;
height: 105px;
}
-.Mount_Head_Pterodactyl-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Pterodactyl-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1060px -1380px;
width: 105px;
height: 105px;
}
-.Mount_Head_Rat-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Pterodactyl-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1166px -1380px;
width: 105px;
height: 105px;
}
-.Mount_Head_Rat-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Pterodactyl-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1272px -1380px;
width: 105px;
height: 105px;
}
-.Mount_Head_Rat-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Pterodactyl-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1378px -1380px;
width: 105px;
height: 105px;
}
-.Mount_Head_Rat-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Pterodactyl-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1498px 0px;
width: 105px;
height: 105px;
}
-.Mount_Head_Rat-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Pterodactyl-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1498px -106px;
width: 105px;
height: 105px;
}
-.Mount_Head_Rat-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Pterodactyl-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1498px -212px;
width: 105px;
height: 105px;
}
-.Mount_Head_Rat-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Pterodactyl-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1498px -318px;
width: 105px;
height: 105px;
}
-.Mount_Head_Rat-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Pterodactyl-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1498px -424px;
width: 105px;
height: 105px;
}
-.Mount_Head_Rat-White {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Rat-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1498px -530px;
width: 105px;
height: 105px;
}
-.Mount_Head_Rat-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Rat-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1498px -636px;
width: 105px;
height: 105px;
}
-.Mount_Head_Robot-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Rat-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1498px -742px;
width: 105px;
height: 105px;
}
-.Mount_Head_Robot-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Rat-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1498px -848px;
width: 105px;
height: 105px;
}
-.Mount_Head_Robot-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Rat-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1498px -954px;
width: 105px;
height: 105px;
}
-.Mount_Head_Robot-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Rat-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1498px -1060px;
width: 105px;
height: 105px;
}
-.Mount_Head_Robot-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Rat-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1498px -1166px;
width: 105px;
height: 105px;
}
-.Mount_Head_Robot-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Rat-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1498px -1272px;
width: 105px;
height: 105px;
}
-.Mount_Head_Robot-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Rat-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1498px -1378px;
width: 105px;
height: 105px;
}
-.Mount_Head_Robot-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Rat-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: 0px -1486px;
width: 105px;
height: 105px;
}
-.Mount_Head_Robot-White {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Robot-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -106px -1486px;
width: 105px;
height: 105px;
}
-.Mount_Head_Robot-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Robot-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -212px -1486px;
width: 105px;
height: 105px;
}
-.Mount_Head_Rock-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Robot-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -318px -1486px;
width: 105px;
height: 105px;
}
-.Mount_Head_Rock-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Robot-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -424px -1486px;
width: 105px;
height: 105px;
}
-.Mount_Head_Rock-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Robot-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -530px -1486px;
width: 105px;
height: 105px;
}
-.Mount_Head_Rock-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Robot-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -636px -1486px;
width: 105px;
height: 105px;
}
-.Mount_Head_Rock-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Robot-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -742px -1486px;
width: 105px;
height: 105px;
}
-.Mount_Head_Rock-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Robot-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -848px -1486px;
width: 105px;
height: 105px;
}
-.Mount_Head_Rock-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Robot-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -954px -1486px;
width: 105px;
height: 105px;
}
-.Mount_Head_Rock-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Robot-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1060px -1486px;
width: 105px;
height: 105px;
}
-.Mount_Head_Rock-White {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Rock-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1166px -1486px;
width: 105px;
height: 105px;
}
-.Mount_Head_Rock-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Rock-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1272px -1486px;
width: 105px;
height: 105px;
}
-.Mount_Head_Rooster-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Rock-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1378px -1486px;
width: 105px;
height: 105px;
}
-.Mount_Head_Rooster-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Rock-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1484px -1486px;
width: 105px;
height: 105px;
}
-.Mount_Head_Rooster-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Rock-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1604px 0px;
width: 105px;
height: 105px;
}
-.Mount_Head_Rooster-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Rock-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1604px -106px;
width: 105px;
height: 105px;
}
-.Mount_Head_Rooster-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Rock-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1604px -212px;
width: 105px;
height: 105px;
}
-.Mount_Head_Rooster-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Rock-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1604px -318px;
width: 105px;
height: 105px;
}
-.Mount_Head_Rooster-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Rock-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1604px -424px;
width: 105px;
height: 105px;
}
-.Mount_Head_Rooster-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Rock-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1604px -530px;
width: 105px;
height: 105px;
}
-.Mount_Head_Rooster-White {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Rooster-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1604px -636px;
width: 105px;
height: 105px;
}
-.Mount_Head_Rooster-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Rooster-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -1604px -742px;
width: 105px;
height: 105px;
}
-.Mount_Head_Sabretooth-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
- background-position: -272px -272px;
- width: 135px;
- height: 135px;
+.Mount_Head_Rooster-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
+ background-position: -1604px -848px;
+ width: 105px;
+ height: 105px;
}
-.Mount_Head_Sabretooth-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+.Mount_Head_Rooster-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
+ background-position: -1604px -954px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Rooster-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
+ background-position: -1604px -1060px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Rooster-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
+ background-position: -1604px -1166px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Rooster-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
+ background-position: -1604px -1272px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Rooster-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
+ background-position: -1604px -1378px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Rooster-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
+ background-position: -1604px -1484px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Rooster-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
+ background-position: 0px -1592px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Sabretooth-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: 0px 0px;
width: 135px;
height: 135px;
}
+.Mount_Head_Sabretooth-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
+ background-position: -136px 0px;
+ width: 135px;
+ height: 135px;
+}
.Mount_Head_Sabretooth-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
- background-position: -408px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
+ background-position: 0px -136px;
width: 135px;
height: 135px;
}
.Mount_Head_Sabretooth-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
- background-position: -136px -272px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
+ background-position: -136px -136px;
width: 135px;
height: 135px;
}
.Mount_Head_Sabretooth-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
- background-position: 0px -272px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
+ background-position: -272px 0px;
width: 135px;
height: 135px;
}
.Mount_Head_Sabretooth-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -272px -136px;
width: 135px;
height: 135px;
}
.Mount_Head_Sabretooth-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
- background-position: -272px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
+ background-position: 0px -272px;
width: 135px;
height: 135px;
}
.Mount_Head_Sabretooth-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
- background-position: -136px -136px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
+ background-position: -136px -272px;
width: 135px;
height: 135px;
}
.Mount_Head_Sabretooth-White {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
- background-position: 0px -136px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
+ background-position: -272px -272px;
width: 135px;
height: 135px;
}
.Mount_Head_Sabretooth-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
- background-position: -136px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
+ background-position: -408px 0px;
width: 135px;
height: 135px;
}
.Mount_Head_Seahorse-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
- background-position: -318px -1592px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
+ background-position: -106px -1592px;
width: 105px;
height: 105px;
}
.Mount_Head_Seahorse-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
- background-position: -424px -1592px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Seahorse-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
- background-position: -544px -106px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Seahorse-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -212px -1592px;
width: 105px;
height: 105px;
}
+.Mount_Head_Seahorse-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
+ background-position: -318px -1592px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Seahorse-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
+ background-position: -424px -1592px;
+ width: 105px;
+ height: 105px;
+}
.Mount_Head_Seahorse-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-19.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-19.png');
background-position: -530px -1592px;
width: 105px;
height: 105px;
diff --git a/website/client/assets/css/sprites/spritesmith-main-2.css b/website/client/src/assets/css/sprites/spritesmith-main-2.css
similarity index 57%
rename from website/client/assets/css/sprites/spritesmith-main-2.css
rename to website/client/src/assets/css/sprites/spritesmith-main-2.css
index 4b57adec5e..b02a21300c 100644
--- a/website/client/assets/css/sprites/spritesmith-main-2.css
+++ b/website/client/src/assets/css/sprites/spritesmith-main-2.css
@@ -1,3839 +1,3839 @@
.hair_beard_1_white {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -819px -1092px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_1_white {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -844px -1107px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_1_winternight {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1188px 0px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_1_winternight {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1213px -15px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_1_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -910px -1092px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_1_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -935px -1107px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_1_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1001px -1092px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_1_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1026px -1107px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_1_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1092px -1092px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_1_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1117px -1107px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_2_TRUred {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -455px -455px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_2_TRUred {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -480px -470px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_2_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1188px -91px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_2_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1213px -106px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_2_black {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1188px -182px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_2_black {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1213px -197px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_2_blond {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1188px -728px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_2_blond {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1213px -743px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_2_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1188px -819px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_2_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1213px -834px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_2_brown {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1188px -910px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_2_brown {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1213px -925px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_2_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -345px -91px;
width: 90px;
height: 90px;
}
-.customize-option.hair_beard_2_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.customize-option.hair_beard_1_white {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -370px -106px;
width: 60px;
height: 60px;
}
-.hair_beard_2_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.hair_beard_1_winternight {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -345px -182px;
width: 90px;
height: 90px;
}
-.customize-option.hair_beard_2_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.customize-option.hair_beard_1_winternight {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -370px -197px;
width: 60px;
height: 60px;
}
-.hair_beard_2_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.hair_beard_1_winterstar {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: 0px -273px;
width: 90px;
height: 90px;
}
-.customize-option.hair_beard_2_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.customize-option.hair_beard_1_winterstar {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -25px -288px;
width: 60px;
height: 60px;
}
-.hair_beard_2_frost {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.hair_beard_1_yellow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -91px -273px;
width: 90px;
height: 90px;
}
-.customize-option.hair_beard_2_frost {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.customize-option.hair_beard_1_yellow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -116px -288px;
width: 60px;
height: 60px;
}
-.hair_beard_2_ghostwhite {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.hair_beard_1_zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -182px -273px;
width: 90px;
height: 90px;
}
-.customize-option.hair_beard_2_ghostwhite {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.customize-option.hair_beard_1_zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -207px -288px;
width: 60px;
height: 60px;
}
-.hair_beard_2_green {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -273px -273px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_2_green {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -298px -288px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_2_halloween {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -364px -273px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_2_halloween {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -389px -288px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_2_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: 0px -364px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_2_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -25px -379px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_2_hollygreen {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -91px -364px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_2_hollygreen {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -116px -379px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_2_midnight {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -182px -364px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_2_midnight {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -207px -379px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_2_pblue {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -273px -364px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_2_pblue {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -298px -379px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_2_peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -364px -364px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_2_peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -389px -379px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_2_pgreen {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -460px 0px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_2_pgreen {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -485px -15px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_2_porange {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -460px -91px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_2_porange {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -485px -106px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_2_ppink {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -460px -182px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_2_ppink {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -485px -197px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_2_ppurple {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -460px -273px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_2_ppurple {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -485px -288px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_2_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -460px -364px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_2_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -485px -379px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_2_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: 0px -455px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_2_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -25px -470px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_2_pyellow {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -91px -455px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_2_pyellow {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -116px -470px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_2_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -182px -455px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_2_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -207px -470px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_2_red {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -273px -455px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_2_red {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -298px -470px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_2_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -364px -455px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_2_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -389px -470px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_2_white {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -551px 0px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_2_white {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -576px -15px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_2_winternight {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -551px -91px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_2_winternight {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -576px -106px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_2_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -551px -182px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_2_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -576px -197px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_2_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -551px -273px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_2_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -576px -288px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_2_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -551px -364px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_2_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -576px -379px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_3_TRUred {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -733px -364px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_3_TRUred {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -758px -379px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_3_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -551px -455px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_3_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -576px -470px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_3_black {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: 0px -546px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_3_black {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -25px -561px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_3_blond {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -91px -546px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_3_blond {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -116px -561px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_3_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -182px -546px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_3_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -207px -561px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_3_brown {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.hair_beard_2_TRUred {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -273px -546px;
width: 90px;
height: 90px;
}
-.customize-option.hair_beard_3_brown {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.customize-option.hair_beard_2_TRUred {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -298px -561px;
width: 60px;
height: 60px;
}
-.hair_beard_3_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.hair_beard_2_aurora {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -273px -273px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_2_aurora {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -298px -288px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_2_black {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -364px -273px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_2_black {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -389px -288px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_2_blond {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: 0px -364px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_2_blond {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -25px -379px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_2_blue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -91px -364px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_2_blue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -116px -379px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_2_brown {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -182px -364px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_2_brown {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -207px -379px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_2_candycane {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -273px -364px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_2_candycane {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -298px -379px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_2_candycorn {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -364px -364px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_2_candycorn {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -389px -379px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_2_festive {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -460px 0px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_2_festive {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -485px -15px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_2_frost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -460px -91px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_2_frost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -485px -106px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_2_ghostwhite {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -460px -182px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_2_ghostwhite {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -485px -197px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_2_green {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -460px -273px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_2_green {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -485px -288px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_2_halloween {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -460px -364px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_2_halloween {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -485px -379px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_2_holly {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: 0px -455px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_2_holly {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -25px -470px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_2_hollygreen {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -91px -455px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_2_hollygreen {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -116px -470px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_2_midnight {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -182px -455px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_2_midnight {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -207px -470px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_2_pblue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -273px -455px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_2_pblue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -298px -470px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_2_peppermint {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -364px -455px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_2_peppermint {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -389px -470px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_2_pgreen {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -455px -455px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_2_pgreen {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -480px -470px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_2_porange {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -551px 0px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_2_porange {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -576px -15px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_2_ppink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -551px -91px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_2_ppink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -576px -106px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_2_ppurple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -551px -182px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_2_ppurple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -576px -197px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_2_pumpkin {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -551px -273px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_2_pumpkin {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -576px -288px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_2_purple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -551px -364px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_2_purple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -576px -379px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_2_pyellow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -551px -455px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_2_pyellow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -576px -470px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_2_rainbow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: 0px -546px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_2_rainbow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -25px -561px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_2_red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -91px -546px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_2_red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -116px -561px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_2_snowy {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -182px -546px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_2_snowy {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -207px -561px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_2_white {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -364px -546px;
width: 90px;
height: 90px;
}
-.customize-option.hair_beard_3_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.customize-option.hair_beard_2_white {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -389px -561px;
width: 60px;
height: 60px;
}
-.hair_beard_3_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.hair_beard_2_winternight {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -455px -546px;
width: 90px;
height: 90px;
}
-.customize-option.hair_beard_3_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.customize-option.hair_beard_2_winternight {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -480px -561px;
width: 60px;
height: 60px;
}
-.hair_beard_3_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.hair_beard_2_winterstar {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -546px -546px;
width: 90px;
height: 90px;
}
-.customize-option.hair_beard_3_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.customize-option.hair_beard_2_winterstar {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -571px -561px;
width: 60px;
height: 60px;
}
-.hair_beard_3_frost {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.hair_beard_2_yellow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -642px 0px;
width: 90px;
height: 90px;
}
-.customize-option.hair_beard_3_frost {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.customize-option.hair_beard_2_yellow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -667px -15px;
width: 60px;
height: 60px;
}
-.hair_beard_3_ghostwhite {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.hair_beard_2_zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -642px -91px;
width: 90px;
height: 90px;
}
-.customize-option.hair_beard_3_ghostwhite {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.customize-option.hair_beard_2_zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -667px -106px;
width: 60px;
height: 60px;
}
-.hair_beard_3_green {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -642px -182px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_3_green {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -667px -197px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_3_halloween {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -642px -273px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_3_halloween {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -667px -288px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_3_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -642px -364px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_3_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -667px -379px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_3_hollygreen {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -642px -455px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_3_hollygreen {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -667px -470px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_3_midnight {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -642px -546px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_3_midnight {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -667px -561px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_3_pblue {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: 0px -637px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_3_pblue {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -25px -652px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_3_peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -91px -637px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_3_peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -116px -652px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_3_pgreen {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -182px -637px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_3_pgreen {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -207px -652px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_3_porange {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -273px -637px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_3_porange {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -298px -652px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_3_ppink {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -364px -637px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_3_ppink {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -389px -652px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_3_ppurple {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -455px -637px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_3_ppurple {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -480px -652px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_3_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -546px -637px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_3_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -571px -652px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_3_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -637px -637px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_3_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -662px -652px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_3_pyellow {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -733px 0px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_3_pyellow {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -758px -15px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_3_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -733px -91px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_3_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -758px -106px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_3_red {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -733px -182px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_3_red {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -758px -197px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_3_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -733px -273px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_3_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -758px -288px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_3_white {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -733px -455px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_3_white {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -758px -470px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_3_winternight {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -733px -546px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_3_winternight {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -758px -561px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_3_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -733px -637px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_3_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -758px -652px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_3_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: 0px -728px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_3_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -25px -743px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_3_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -91px -728px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_3_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -116px -743px;
- width: 60px;
- height: 60px;
-}
-.hair_mustache_1_TRUred {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -915px -91px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_mustache_1_TRUred {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -940px -106px;
- width: 60px;
- height: 60px;
-}
-.hair_mustache_1_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -182px -728px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_mustache_1_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -207px -743px;
- width: 60px;
- height: 60px;
-}
-.hair_mustache_1_black {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -273px -728px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_mustache_1_black {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -298px -743px;
- width: 60px;
- height: 60px;
-}
-.hair_mustache_1_blond {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -364px -728px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_mustache_1_blond {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -389px -743px;
- width: 60px;
- height: 60px;
-}
-.hair_mustache_1_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -455px -728px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_mustache_1_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -480px -743px;
- width: 60px;
- height: 60px;
-}
-.hair_mustache_1_brown {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.hair_beard_3_TRUred {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -546px -728px;
width: 90px;
height: 90px;
}
-.customize-option.hair_mustache_1_brown {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.customize-option.hair_beard_3_TRUred {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -571px -743px;
width: 60px;
height: 60px;
}
-.hair_mustache_1_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.hair_beard_3_aurora {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -642px -182px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_3_aurora {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -667px -197px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_3_black {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -642px -273px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_3_black {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -667px -288px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_3_blond {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -642px -364px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_3_blond {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -667px -379px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_3_blue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -642px -455px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_3_blue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -667px -470px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_3_brown {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -642px -546px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_3_brown {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -667px -561px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_3_candycane {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: 0px -637px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_3_candycane {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -25px -652px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_3_candycorn {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -91px -637px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_3_candycorn {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -116px -652px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_3_festive {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -182px -637px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_3_festive {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -207px -652px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_3_frost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -273px -637px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_3_frost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -298px -652px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_3_ghostwhite {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -364px -637px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_3_ghostwhite {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -389px -652px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_3_green {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -455px -637px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_3_green {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -480px -652px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_3_halloween {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -546px -637px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_3_halloween {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -571px -652px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_3_holly {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -637px -637px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_3_holly {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -662px -652px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_3_hollygreen {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -733px 0px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_3_hollygreen {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -758px -15px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_3_midnight {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -733px -91px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_3_midnight {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -758px -106px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_3_pblue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -733px -182px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_3_pblue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -758px -197px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_3_peppermint {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -733px -273px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_3_peppermint {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -758px -288px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_3_pgreen {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -733px -364px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_3_pgreen {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -758px -379px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_3_porange {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -733px -455px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_3_porange {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -758px -470px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_3_ppink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -733px -546px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_3_ppink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -758px -561px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_3_ppurple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -733px -637px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_3_ppurple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -758px -652px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_3_pumpkin {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: 0px -728px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_3_pumpkin {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -25px -743px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_3_purple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -91px -728px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_3_purple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -116px -743px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_3_pyellow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -182px -728px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_3_pyellow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -207px -743px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_3_rainbow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -273px -728px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_3_rainbow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -298px -743px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_3_red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -364px -728px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_3_red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -389px -743px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_3_snowy {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -455px -728px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_3_snowy {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -480px -743px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_3_white {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -637px -728px;
width: 90px;
height: 90px;
}
-.customize-option.hair_mustache_1_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.customize-option.hair_beard_3_white {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -662px -743px;
width: 60px;
height: 60px;
}
-.hair_mustache_1_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.hair_beard_3_winternight {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -728px -728px;
width: 90px;
height: 90px;
}
-.customize-option.hair_mustache_1_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.customize-option.hair_beard_3_winternight {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -753px -743px;
width: 60px;
height: 60px;
}
-.hair_mustache_1_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.hair_beard_3_winterstar {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -824px 0px;
width: 90px;
height: 90px;
}
-.customize-option.hair_mustache_1_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.customize-option.hair_beard_3_winterstar {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -849px -15px;
width: 60px;
height: 60px;
}
-.hair_mustache_1_frost {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.hair_beard_3_yellow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -824px -91px;
width: 90px;
height: 90px;
}
-.customize-option.hair_mustache_1_frost {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.customize-option.hair_beard_3_yellow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -849px -106px;
width: 60px;
height: 60px;
}
-.hair_mustache_1_ghostwhite {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.hair_beard_3_zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -824px -182px;
width: 90px;
height: 90px;
}
-.customize-option.hair_mustache_1_ghostwhite {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.customize-option.hair_beard_3_zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -849px -197px;
width: 60px;
height: 60px;
}
-.hair_mustache_1_green {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -824px -273px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_mustache_1_green {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -849px -288px;
- width: 60px;
- height: 60px;
-}
-.hair_mustache_1_halloween {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -824px -364px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_mustache_1_halloween {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -849px -379px;
- width: 60px;
- height: 60px;
-}
-.hair_mustache_1_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -824px -455px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_mustache_1_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -849px -470px;
- width: 60px;
- height: 60px;
-}
-.hair_mustache_1_hollygreen {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -824px -546px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_mustache_1_hollygreen {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -849px -561px;
- width: 60px;
- height: 60px;
-}
-.hair_mustache_1_midnight {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -824px -637px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_mustache_1_midnight {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -849px -652px;
- width: 60px;
- height: 60px;
-}
-.hair_mustache_1_pblue {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -824px -728px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_mustache_1_pblue {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -849px -743px;
- width: 60px;
- height: 60px;
-}
-.hair_mustache_1_peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: 0px -819px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_mustache_1_peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -25px -834px;
- width: 60px;
- height: 60px;
-}
-.hair_mustache_1_pgreen {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -91px -819px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_mustache_1_pgreen {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -116px -834px;
- width: 60px;
- height: 60px;
-}
-.hair_mustache_1_porange {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -182px -819px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_mustache_1_porange {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -207px -834px;
- width: 60px;
- height: 60px;
-}
-.hair_mustache_1_ppink {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -273px -819px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_mustache_1_ppink {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -298px -834px;
- width: 60px;
- height: 60px;
-}
-.hair_mustache_1_ppurple {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -364px -819px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_mustache_1_ppurple {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -389px -834px;
- width: 60px;
- height: 60px;
-}
-.hair_mustache_1_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -455px -819px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_mustache_1_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -480px -834px;
- width: 60px;
- height: 60px;
-}
-.hair_mustache_1_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -546px -819px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_mustache_1_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -571px -834px;
- width: 60px;
- height: 60px;
-}
-.hair_mustache_1_pyellow {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -637px -819px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_mustache_1_pyellow {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -662px -834px;
- width: 60px;
- height: 60px;
-}
-.hair_mustache_1_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -728px -819px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_mustache_1_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -753px -834px;
- width: 60px;
- height: 60px;
-}
-.hair_mustache_1_red {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -819px -819px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_mustache_1_red {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -844px -834px;
- width: 60px;
- height: 60px;
-}
-.hair_mustache_1_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -915px 0px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_mustache_1_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -940px -15px;
- width: 60px;
- height: 60px;
-}
-.hair_mustache_1_white {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -915px -182px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_mustache_1_white {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -940px -197px;
- width: 60px;
- height: 60px;
-}
-.hair_mustache_1_winternight {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -915px -273px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_mustache_1_winternight {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -940px -288px;
- width: 60px;
- height: 60px;
-}
-.hair_mustache_1_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -915px -364px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_mustache_1_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -940px -379px;
- width: 60px;
- height: 60px;
-}
-.hair_mustache_1_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -915px -455px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_mustache_1_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -940px -470px;
- width: 60px;
- height: 60px;
-}
-.hair_mustache_1_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -915px -546px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_mustache_1_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -940px -561px;
- width: 60px;
- height: 60px;
-}
-.hair_mustache_2_TRUred {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -182px -1001px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_mustache_2_TRUred {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -207px -1016px;
- width: 60px;
- height: 60px;
-}
-.hair_mustache_2_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -915px -637px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_mustache_2_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -940px -652px;
- width: 60px;
- height: 60px;
-}
-.hair_mustache_2_black {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -915px -728px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_mustache_2_black {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -940px -743px;
- width: 60px;
- height: 60px;
-}
-.hair_mustache_2_blond {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -915px -819px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_mustache_2_blond {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -940px -834px;
- width: 60px;
- height: 60px;
-}
-.hair_mustache_2_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: 0px -910px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_mustache_2_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -25px -925px;
- width: 60px;
- height: 60px;
-}
-.hair_mustache_2_brown {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.hair_mustache_1_TRUred {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -91px -910px;
width: 90px;
height: 90px;
}
-.customize-option.hair_mustache_2_brown {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.customize-option.hair_mustache_1_TRUred {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -116px -925px;
width: 60px;
height: 60px;
}
-.hair_mustache_2_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.hair_mustache_1_aurora {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -824px -273px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_mustache_1_aurora {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -849px -288px;
+ width: 60px;
+ height: 60px;
+}
+.hair_mustache_1_black {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -824px -364px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_mustache_1_black {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -849px -379px;
+ width: 60px;
+ height: 60px;
+}
+.hair_mustache_1_blond {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -824px -455px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_mustache_1_blond {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -849px -470px;
+ width: 60px;
+ height: 60px;
+}
+.hair_mustache_1_blue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -824px -546px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_mustache_1_blue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -849px -561px;
+ width: 60px;
+ height: 60px;
+}
+.hair_mustache_1_brown {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -824px -637px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_mustache_1_brown {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -849px -652px;
+ width: 60px;
+ height: 60px;
+}
+.hair_mustache_1_candycane {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -824px -728px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_mustache_1_candycane {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -849px -743px;
+ width: 60px;
+ height: 60px;
+}
+.hair_mustache_1_candycorn {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: 0px -819px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_mustache_1_candycorn {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -25px -834px;
+ width: 60px;
+ height: 60px;
+}
+.hair_mustache_1_festive {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -91px -819px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_mustache_1_festive {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -116px -834px;
+ width: 60px;
+ height: 60px;
+}
+.hair_mustache_1_frost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -182px -819px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_mustache_1_frost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -207px -834px;
+ width: 60px;
+ height: 60px;
+}
+.hair_mustache_1_ghostwhite {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -273px -819px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_mustache_1_ghostwhite {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -298px -834px;
+ width: 60px;
+ height: 60px;
+}
+.hair_mustache_1_green {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -364px -819px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_mustache_1_green {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -389px -834px;
+ width: 60px;
+ height: 60px;
+}
+.hair_mustache_1_halloween {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -455px -819px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_mustache_1_halloween {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -480px -834px;
+ width: 60px;
+ height: 60px;
+}
+.hair_mustache_1_holly {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -546px -819px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_mustache_1_holly {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -571px -834px;
+ width: 60px;
+ height: 60px;
+}
+.hair_mustache_1_hollygreen {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -637px -819px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_mustache_1_hollygreen {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -662px -834px;
+ width: 60px;
+ height: 60px;
+}
+.hair_mustache_1_midnight {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -728px -819px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_mustache_1_midnight {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -753px -834px;
+ width: 60px;
+ height: 60px;
+}
+.hair_mustache_1_pblue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -819px -819px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_mustache_1_pblue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -844px -834px;
+ width: 60px;
+ height: 60px;
+}
+.hair_mustache_1_peppermint {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -915px 0px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_mustache_1_peppermint {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -940px -15px;
+ width: 60px;
+ height: 60px;
+}
+.hair_mustache_1_pgreen {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -915px -91px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_mustache_1_pgreen {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -940px -106px;
+ width: 60px;
+ height: 60px;
+}
+.hair_mustache_1_porange {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -915px -182px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_mustache_1_porange {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -940px -197px;
+ width: 60px;
+ height: 60px;
+}
+.hair_mustache_1_ppink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -915px -273px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_mustache_1_ppink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -940px -288px;
+ width: 60px;
+ height: 60px;
+}
+.hair_mustache_1_ppurple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -915px -364px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_mustache_1_ppurple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -940px -379px;
+ width: 60px;
+ height: 60px;
+}
+.hair_mustache_1_pumpkin {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -915px -455px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_mustache_1_pumpkin {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -940px -470px;
+ width: 60px;
+ height: 60px;
+}
+.hair_mustache_1_purple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -915px -546px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_mustache_1_purple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -940px -561px;
+ width: 60px;
+ height: 60px;
+}
+.hair_mustache_1_pyellow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -915px -637px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_mustache_1_pyellow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -940px -652px;
+ width: 60px;
+ height: 60px;
+}
+.hair_mustache_1_rainbow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -915px -728px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_mustache_1_rainbow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -940px -743px;
+ width: 60px;
+ height: 60px;
+}
+.hair_mustache_1_red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -915px -819px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_mustache_1_red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -940px -834px;
+ width: 60px;
+ height: 60px;
+}
+.hair_mustache_1_snowy {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: 0px -910px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_mustache_1_snowy {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -25px -925px;
+ width: 60px;
+ height: 60px;
+}
+.hair_mustache_1_white {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -182px -910px;
width: 90px;
height: 90px;
}
-.customize-option.hair_mustache_2_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.customize-option.hair_mustache_1_white {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -207px -925px;
width: 60px;
height: 60px;
}
-.hair_mustache_2_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.hair_mustache_1_winternight {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -273px -910px;
width: 90px;
height: 90px;
}
-.customize-option.hair_mustache_2_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.customize-option.hair_mustache_1_winternight {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -298px -925px;
width: 60px;
height: 60px;
}
-.hair_mustache_2_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.hair_mustache_1_winterstar {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -364px -910px;
width: 90px;
height: 90px;
}
-.customize-option.hair_mustache_2_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.customize-option.hair_mustache_1_winterstar {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -389px -925px;
width: 60px;
height: 60px;
}
-.hair_mustache_2_frost {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.hair_mustache_1_yellow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -455px -910px;
width: 90px;
height: 90px;
}
-.customize-option.hair_mustache_2_frost {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.customize-option.hair_mustache_1_yellow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -480px -925px;
width: 60px;
height: 60px;
}
-.hair_mustache_2_ghostwhite {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.hair_mustache_1_zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -546px -910px;
width: 90px;
height: 90px;
}
-.customize-option.hair_mustache_2_ghostwhite {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.customize-option.hair_mustache_1_zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -571px -925px;
width: 60px;
height: 60px;
}
-.hair_mustache_2_green {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.hair_mustache_2_TRUred {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1097px 0px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_mustache_2_TRUred {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1122px -15px;
+ width: 60px;
+ height: 60px;
+}
+.hair_mustache_2_aurora {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -637px -910px;
width: 90px;
height: 90px;
}
-.customize-option.hair_mustache_2_green {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.customize-option.hair_mustache_2_aurora {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -662px -925px;
width: 60px;
height: 60px;
}
-.hair_mustache_2_halloween {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.hair_mustache_2_black {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -728px -910px;
width: 90px;
height: 90px;
}
-.customize-option.hair_mustache_2_halloween {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.customize-option.hair_mustache_2_black {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -753px -925px;
width: 60px;
height: 60px;
}
-.hair_mustache_2_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.hair_mustache_2_blond {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -819px -910px;
width: 90px;
height: 90px;
}
-.customize-option.hair_mustache_2_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.customize-option.hair_mustache_2_blond {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -844px -925px;
width: 60px;
height: 60px;
}
-.hair_mustache_2_hollygreen {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.hair_mustache_2_blue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -910px -910px;
width: 90px;
height: 90px;
}
-.customize-option.hair_mustache_2_hollygreen {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.customize-option.hair_mustache_2_blue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -935px -925px;
width: 60px;
height: 60px;
}
-.hair_mustache_2_midnight {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.hair_mustache_2_brown {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -1006px 0px;
width: 90px;
height: 90px;
}
-.customize-option.hair_mustache_2_midnight {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.customize-option.hair_mustache_2_brown {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -1031px -15px;
width: 60px;
height: 60px;
}
-.hair_mustache_2_pblue {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.hair_mustache_2_candycane {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -1006px -91px;
width: 90px;
height: 90px;
}
-.customize-option.hair_mustache_2_pblue {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.customize-option.hair_mustache_2_candycane {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -1031px -106px;
width: 60px;
height: 60px;
}
-.hair_mustache_2_peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.hair_mustache_2_candycorn {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -1006px -182px;
width: 90px;
height: 90px;
}
-.customize-option.hair_mustache_2_peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.customize-option.hair_mustache_2_candycorn {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -1031px -197px;
width: 60px;
height: 60px;
}
-.hair_mustache_2_pgreen {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.hair_mustache_2_festive {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -1006px -273px;
width: 90px;
height: 90px;
}
-.customize-option.hair_mustache_2_pgreen {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.customize-option.hair_mustache_2_festive {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -1031px -288px;
width: 60px;
height: 60px;
}
-.hair_mustache_2_porange {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.hair_mustache_2_frost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -1006px -364px;
width: 90px;
height: 90px;
}
-.customize-option.hair_mustache_2_porange {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.customize-option.hair_mustache_2_frost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -1031px -379px;
width: 60px;
height: 60px;
}
-.hair_mustache_2_ppink {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.hair_mustache_2_ghostwhite {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -1006px -455px;
width: 90px;
height: 90px;
}
-.customize-option.hair_mustache_2_ppink {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.customize-option.hair_mustache_2_ghostwhite {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -1031px -470px;
width: 60px;
height: 60px;
}
-.hair_mustache_2_ppurple {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.hair_mustache_2_green {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -1006px -546px;
width: 90px;
height: 90px;
}
-.customize-option.hair_mustache_2_ppurple {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.customize-option.hair_mustache_2_green {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -1031px -561px;
width: 60px;
height: 60px;
}
-.hair_mustache_2_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.hair_mustache_2_halloween {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -1006px -637px;
width: 90px;
height: 90px;
}
-.customize-option.hair_mustache_2_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.customize-option.hair_mustache_2_halloween {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -1031px -652px;
width: 60px;
height: 60px;
}
-.hair_mustache_2_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.hair_mustache_2_holly {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -1006px -728px;
width: 90px;
height: 90px;
}
-.customize-option.hair_mustache_2_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.customize-option.hair_mustache_2_holly {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -1031px -743px;
width: 60px;
height: 60px;
}
-.hair_mustache_2_pyellow {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.hair_mustache_2_hollygreen {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -1006px -819px;
width: 90px;
height: 90px;
}
-.customize-option.hair_mustache_2_pyellow {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.customize-option.hair_mustache_2_hollygreen {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -1031px -834px;
width: 60px;
height: 60px;
}
-.hair_mustache_2_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.hair_mustache_2_midnight {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -1006px -910px;
width: 90px;
height: 90px;
}
-.customize-option.hair_mustache_2_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.customize-option.hair_mustache_2_midnight {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -1031px -925px;
width: 60px;
height: 60px;
}
-.hair_mustache_2_red {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.hair_mustache_2_pblue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: 0px -1001px;
width: 90px;
height: 90px;
}
-.customize-option.hair_mustache_2_red {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.customize-option.hair_mustache_2_pblue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -25px -1016px;
width: 60px;
height: 60px;
}
-.hair_mustache_2_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.hair_mustache_2_peppermint {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -91px -1001px;
width: 90px;
height: 90px;
}
-.customize-option.hair_mustache_2_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.customize-option.hair_mustache_2_peppermint {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -116px -1016px;
width: 60px;
height: 60px;
}
-.hair_mustache_2_white {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.hair_mustache_2_pgreen {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -182px -1001px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_mustache_2_pgreen {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -207px -1016px;
+ width: 60px;
+ height: 60px;
+}
+.hair_mustache_2_porange {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -273px -1001px;
width: 90px;
height: 90px;
}
-.customize-option.hair_mustache_2_white {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.customize-option.hair_mustache_2_porange {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -298px -1016px;
width: 60px;
height: 60px;
}
-.hair_mustache_2_winternight {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.hair_mustache_2_ppink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -364px -1001px;
width: 90px;
height: 90px;
}
-.customize-option.hair_mustache_2_winternight {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.customize-option.hair_mustache_2_ppink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -389px -1016px;
width: 60px;
height: 60px;
}
-.hair_mustache_2_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.hair_mustache_2_ppurple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -455px -1001px;
width: 90px;
height: 90px;
}
-.customize-option.hair_mustache_2_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.customize-option.hair_mustache_2_ppurple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -480px -1016px;
width: 60px;
height: 60px;
}
-.hair_mustache_2_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.hair_mustache_2_pumpkin {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -546px -1001px;
width: 90px;
height: 90px;
}
-.customize-option.hair_mustache_2_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.customize-option.hair_mustache_2_pumpkin {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -571px -1016px;
width: 60px;
height: 60px;
}
-.hair_mustache_2_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.hair_mustache_2_purple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -637px -1001px;
width: 90px;
height: 90px;
}
-.customize-option.hair_mustache_2_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.customize-option.hair_mustache_2_purple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -662px -1016px;
width: 60px;
height: 60px;
}
+.hair_mustache_2_pyellow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -728px -1001px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_mustache_2_pyellow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -753px -1016px;
+ width: 60px;
+ height: 60px;
+}
+.hair_mustache_2_rainbow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -819px -1001px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_mustache_2_rainbow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -844px -1016px;
+ width: 60px;
+ height: 60px;
+}
+.hair_mustache_2_red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -910px -1001px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_mustache_2_red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -935px -1016px;
+ width: 60px;
+ height: 60px;
+}
+.hair_mustache_2_snowy {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1001px -1001px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_mustache_2_snowy {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1026px -1016px;
+ width: 60px;
+ height: 60px;
+}
+.hair_mustache_2_white {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1097px -91px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_mustache_2_white {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1122px -106px;
+ width: 60px;
+ height: 60px;
+}
+.hair_mustache_2_winternight {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1097px -182px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_mustache_2_winternight {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1122px -197px;
+ width: 60px;
+ height: 60px;
+}
+.hair_mustache_2_winterstar {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1097px -273px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_mustache_2_winterstar {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1122px -288px;
+ width: 60px;
+ height: 60px;
+}
+.hair_mustache_2_yellow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1097px -364px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_mustache_2_yellow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1122px -379px;
+ width: 60px;
+ height: 60px;
+}
+.hair_mustache_2_zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1097px -455px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_mustache_2_zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1122px -470px;
+ width: 60px;
+ height: 60px;
+}
.button_chair_black {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1643px -589px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1643px -345px;
width: 60px;
height: 60px;
}
.button_chair_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1643px -528px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1643px -406px;
width: 60px;
height: 60px;
}
.button_chair_green {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -1643px -467px;
width: 60px;
height: 60px;
}
.button_chair_handleless_black {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1643px 0px;
- width: 68px;
- height: 68px;
-}
-.button_chair_handleless_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1643px -276px;
- width: 68px;
- height: 68px;
-}
-.button_chair_handleless_green {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -1547px -1547px;
width: 68px;
height: 68px;
}
-.button_chair_handleless_pink {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1643px -207px;
+.button_chair_handleless_blue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1643px 0px;
width: 68px;
height: 68px;
}
-.button_chair_handleless_red {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1643px -138px;
- width: 68px;
- height: 68px;
-}
-.button_chair_handleless_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.button_chair_handleless_green {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -1643px -69px;
width: 68px;
height: 68px;
}
+.button_chair_handleless_pink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1643px -138px;
+ width: 68px;
+ height: 68px;
+}
+.button_chair_handleless_red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1643px -207px;
+ width: 68px;
+ height: 68px;
+}
+.button_chair_handleless_yellow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1643px -276px;
+ width: 68px;
+ height: 68px;
+}
.button_chair_pink {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1643px -406px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1643px -528px;
width: 60px;
height: 60px;
}
.button_chair_red {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1643px -345px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1643px -589px;
width: 60px;
height: 60px;
}
.button_chair_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -1643px -650px;
width: 60px;
height: 60px;
}
.chair_black {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1097px -728px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1097px -546px;
width: 90px;
height: 90px;
}
.chair_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1097px -819px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1097px -637px;
width: 90px;
height: 90px;
}
.chair_green {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1097px -910px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1097px -728px;
width: 90px;
height: 90px;
}
.chair_handleless_black {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1097px -1001px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1097px -819px;
width: 90px;
height: 90px;
}
.chair_handleless_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: 0px -1092px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1097px -910px;
width: 90px;
height: 90px;
}
.chair_handleless_green {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -91px -1092px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1097px -1001px;
width: 90px;
height: 90px;
}
.chair_handleless_pink {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -182px -1092px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: 0px -1092px;
width: 90px;
height: 90px;
}
.chair_handleless_red {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -273px -1092px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -91px -1092px;
width: 90px;
height: 90px;
}
.chair_handleless_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -364px -1092px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -182px -1092px;
width: 90px;
height: 90px;
}
.chair_pink {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -455px -1092px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -273px -1092px;
width: 90px;
height: 90px;
}
.chair_red {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -546px -1092px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -364px -1092px;
width: 90px;
height: 90px;
}
.chair_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -637px -1092px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -455px -1092px;
width: 90px;
height: 90px;
}
.hair_flower_1 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -728px -1092px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -546px -1092px;
width: 90px;
height: 90px;
}
.customize-option.hair_flower_1 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -753px -1107px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -571px -1107px;
width: 60px;
height: 60px;
}
.hair_flower_10 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -115px 0px;
- width: 114px;
- height: 90px;
-}
-.customize-option.hair_flower_10 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -140px -15px;
- width: 60px;
- height: 60px;
-}
-.hair_flower_11 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: 0px -91px;
- width: 114px;
- height: 90px;
-}
-.customize-option.hair_flower_11 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -25px -106px;
- width: 60px;
- height: 60px;
-}
-.hair_flower_12 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -115px -91px;
- width: 114px;
- height: 90px;
-}
-.customize-option.hair_flower_12 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -140px -106px;
- width: 60px;
- height: 60px;
-}
-.hair_flower_13 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -230px 0px;
- width: 114px;
- height: 90px;
-}
-.customize-option.hair_flower_13 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -255px -15px;
- width: 60px;
- height: 60px;
-}
-.hair_flower_14 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: 0px 0px;
width: 114px;
height: 90px;
}
-.customize-option.hair_flower_14 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.customize-option.hair_flower_10 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -25px -15px;
width: 60px;
height: 60px;
}
+.hair_flower_11 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -115px 0px;
+ width: 114px;
+ height: 90px;
+}
+.customize-option.hair_flower_11 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -140px -15px;
+ width: 60px;
+ height: 60px;
+}
+.hair_flower_12 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: 0px -91px;
+ width: 114px;
+ height: 90px;
+}
+.customize-option.hair_flower_12 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -25px -106px;
+ width: 60px;
+ height: 60px;
+}
+.hair_flower_13 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -115px -91px;
+ width: 114px;
+ height: 90px;
+}
+.customize-option.hair_flower_13 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -140px -106px;
+ width: 60px;
+ height: 60px;
+}
+.hair_flower_14 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -230px 0px;
+ width: 114px;
+ height: 90px;
+}
+.customize-option.hair_flower_14 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -255px -15px;
+ width: 60px;
+ height: 60px;
+}
.hair_flower_15 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -230px -91px;
width: 114px;
height: 90px;
}
.customize-option.hair_flower_15 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -255px -106px;
width: 60px;
height: 60px;
}
.hair_flower_16 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: 0px -182px;
width: 114px;
height: 90px;
}
.customize-option.hair_flower_16 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -25px -197px;
width: 60px;
height: 60px;
}
.hair_flower_2 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1188px -273px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -637px -1092px;
width: 90px;
height: 90px;
}
.customize-option.hair_flower_2 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1213px -288px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -662px -1107px;
width: 60px;
height: 60px;
}
.hair_flower_3 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1188px -364px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -728px -1092px;
width: 90px;
height: 90px;
}
.customize-option.hair_flower_3 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1213px -379px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -753px -1107px;
width: 60px;
height: 60px;
}
.hair_flower_4 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1188px -455px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -819px -1092px;
width: 90px;
height: 90px;
}
.customize-option.hair_flower_4 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1213px -470px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -844px -1107px;
width: 60px;
height: 60px;
}
.hair_flower_5 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1188px -546px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -910px -1092px;
width: 90px;
height: 90px;
}
.customize-option.hair_flower_5 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1213px -561px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -935px -1107px;
width: 60px;
height: 60px;
}
.hair_flower_6 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1188px -637px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1001px -1092px;
width: 90px;
height: 90px;
}
.customize-option.hair_flower_6 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1213px -652px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1026px -1107px;
width: 60px;
height: 60px;
}
.hair_flower_7 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -115px -182px;
width: 114px;
height: 90px;
}
.customize-option.hair_flower_7 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -140px -197px;
width: 60px;
height: 60px;
}
.hair_flower_8 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -230px -182px;
width: 114px;
height: 90px;
}
.customize-option.hair_flower_8 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -255px -197px;
width: 60px;
height: 60px;
}
.hair_flower_9 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -345px 0px;
width: 114px;
height: 90px;
}
.customize-option.hair_flower_9 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -370px -15px;
width: 60px;
height: 60px;
}
.hair_bangs_1_TRUred {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -273px -1274px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_1_TRUred {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -298px -1289px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_1_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1188px -1001px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_1_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1213px -1016px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_1_black {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1188px -1092px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_1_black {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1213px -1107px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_1_blond {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: 0px -1183px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_1_blond {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -25px -1198px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_1_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -91px -1183px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_1_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -116px -1198px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_1_brown {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -182px -1183px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_1_brown {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -207px -1198px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_1_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -273px -1183px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_1_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -298px -1198px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_1_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -364px -1183px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_1_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -389px -1198px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_1_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -455px -1183px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_1_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -480px -1198px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_1_frost {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -546px -1183px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_1_frost {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -571px -1198px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_1_ghostwhite {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -637px -1183px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_1_ghostwhite {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -662px -1198px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_1_green {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -728px -1183px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_1_green {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -753px -1198px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_1_halloween {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -819px -1183px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_1_halloween {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -844px -1198px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_1_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -910px -1183px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_1_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -935px -1198px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_1_hollygreen {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1001px -1183px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_1_hollygreen {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1026px -1198px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_1_midnight {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1092px -1183px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_1_midnight {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1117px -1198px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_1_pblue {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1183px -1183px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_1_pblue {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1208px -1198px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_1_pblue2 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1279px 0px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_1_pblue2 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1304px -15px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_1_peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1279px -91px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_1_peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1304px -106px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_1_pgreen {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1279px -182px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_1_pgreen {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1304px -197px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_1_pgreen2 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1279px -273px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_1_pgreen2 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1304px -288px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_1_porange {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1279px -364px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_1_porange {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1304px -379px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_1_porange2 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -1279px -455px;
width: 90px;
height: 90px;
}
-.customize-option.hair_bangs_1_porange2 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.customize-option.hair_bangs_1_TRUred {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -1304px -470px;
width: 60px;
height: 60px;
}
+.hair_bangs_1_aurora {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1092px -1092px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_1_aurora {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1117px -1107px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_1_black {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1188px 0px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_1_black {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1213px -15px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_1_blond {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1188px -91px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_1_blond {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1213px -106px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_1_blue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1188px -182px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_1_blue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1213px -197px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_1_brown {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1188px -273px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_1_brown {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1213px -288px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_1_candycane {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1188px -364px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_1_candycane {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1213px -379px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_1_candycorn {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1188px -455px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_1_candycorn {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1213px -470px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_1_festive {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1188px -546px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_1_festive {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1213px -561px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_1_frost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1188px -637px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_1_frost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1213px -652px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_1_ghostwhite {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1188px -728px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_1_ghostwhite {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1213px -743px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_1_green {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1188px -819px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_1_green {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1213px -834px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_1_halloween {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1188px -910px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_1_halloween {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1213px -925px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_1_holly {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1188px -1001px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_1_holly {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1213px -1016px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_1_hollygreen {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1188px -1092px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_1_hollygreen {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1213px -1107px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_1_midnight {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: 0px -1183px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_1_midnight {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -25px -1198px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_1_pblue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -91px -1183px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_1_pblue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -116px -1198px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_1_pblue2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -182px -1183px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_1_pblue2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -207px -1198px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_1_peppermint {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -273px -1183px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_1_peppermint {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -298px -1198px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_1_pgreen {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -364px -1183px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_1_pgreen {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -389px -1198px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_1_pgreen2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -455px -1183px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_1_pgreen2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -480px -1198px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_1_porange {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -546px -1183px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_1_porange {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -571px -1198px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_1_porange2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -637px -1183px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_1_porange2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -662px -1198px;
+ width: 60px;
+ height: 60px;
+}
.hair_bangs_1_ppink {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1279px -546px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -728px -1183px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_1_ppink {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1304px -561px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -753px -1198px;
width: 60px;
height: 60px;
}
.hair_bangs_1_ppink2 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1279px -637px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -819px -1183px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_1_ppink2 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1304px -652px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -844px -1198px;
width: 60px;
height: 60px;
}
.hair_bangs_1_ppurple {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1279px -728px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -910px -1183px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_1_ppurple {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1304px -743px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -935px -1198px;
width: 60px;
height: 60px;
}
.hair_bangs_1_ppurple2 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1279px -819px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1001px -1183px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_1_ppurple2 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1304px -834px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1026px -1198px;
width: 60px;
height: 60px;
}
.hair_bangs_1_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1279px -910px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1092px -1183px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_1_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1304px -925px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1117px -1198px;
width: 60px;
height: 60px;
}
.hair_bangs_1_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1279px -1001px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1183px -1183px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_1_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1304px -1016px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1208px -1198px;
width: 60px;
height: 60px;
}
.hair_bangs_1_pyellow {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1279px -1092px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1279px 0px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_1_pyellow {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1304px -1107px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1304px -15px;
width: 60px;
height: 60px;
}
.hair_bangs_1_pyellow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1279px -1183px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1279px -91px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_1_pyellow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1304px -1198px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1304px -106px;
width: 60px;
height: 60px;
}
.hair_bangs_1_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: 0px -1274px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1279px -182px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_1_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -25px -1289px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1304px -197px;
width: 60px;
height: 60px;
}
.hair_bangs_1_red {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -91px -1274px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1279px -273px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_1_red {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -116px -1289px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1304px -288px;
width: 60px;
height: 60px;
}
.hair_bangs_1_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -182px -1274px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1279px -364px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_1_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -207px -1289px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1304px -379px;
width: 60px;
height: 60px;
}
.hair_bangs_1_white {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -364px -1274px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1279px -546px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_1_white {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -389px -1289px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1304px -561px;
width: 60px;
height: 60px;
}
.hair_bangs_1_winternight {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -455px -1274px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1279px -637px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_1_winternight {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -480px -1289px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1304px -652px;
width: 60px;
height: 60px;
}
.hair_bangs_1_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -546px -1274px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1279px -728px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_1_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -571px -1289px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1304px -743px;
width: 60px;
height: 60px;
}
.hair_bangs_1_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -637px -1274px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1279px -819px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_1_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -662px -1289px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1304px -834px;
width: 60px;
height: 60px;
}
.hair_bangs_1_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -728px -1274px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1279px -910px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_1_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -753px -1289px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1304px -925px;
width: 60px;
height: 60px;
}
.hair_bangs_2_TRUred {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1092px -1365px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_2_TRUred {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1117px -1380px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_2_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -819px -1274px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_2_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -844px -1289px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_2_black {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -910px -1274px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_2_black {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -935px -1289px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_2_blond {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1001px -1274px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_2_blond {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1026px -1289px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_2_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1092px -1274px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_2_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1117px -1289px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_2_brown {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1183px -1274px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_2_brown {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1208px -1289px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_2_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1274px -1274px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_2_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1299px -1289px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_2_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1370px 0px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_2_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1395px -15px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_2_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1370px -91px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_2_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1395px -106px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_2_frost {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1370px -182px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_2_frost {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1395px -197px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_2_ghostwhite {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1370px -273px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_2_ghostwhite {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1395px -288px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_2_green {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1370px -364px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_2_green {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1395px -379px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_2_halloween {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1370px -455px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_2_halloween {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1395px -470px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_2_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1370px -546px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_2_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1395px -561px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_2_hollygreen {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1370px -637px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_2_hollygreen {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1395px -652px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_2_midnight {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1370px -728px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_2_midnight {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1395px -743px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_2_pblue {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1370px -819px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_2_pblue {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1395px -834px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_2_pblue2 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1370px -910px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_2_pblue2 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1395px -925px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_2_peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1370px -1001px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_2_peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1395px -1016px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_2_pgreen {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1370px -1092px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_2_pgreen {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1395px -1107px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_2_pgreen2 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1370px -1183px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_2_pgreen2 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1395px -1198px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_2_porange {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1370px -1274px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_2_porange {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1395px -1289px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_2_porange2 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: 0px -1365px;
width: 90px;
height: 90px;
}
-.customize-option.hair_bangs_2_porange2 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.customize-option.hair_bangs_2_TRUred {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -25px -1380px;
width: 60px;
height: 60px;
}
+.hair_bangs_2_aurora {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1279px -1001px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_2_aurora {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1304px -1016px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_2_black {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1279px -1092px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_2_black {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1304px -1107px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_2_blond {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1279px -1183px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_2_blond {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1304px -1198px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_2_blue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: 0px -1274px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_2_blue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -25px -1289px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_2_brown {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -91px -1274px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_2_brown {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -116px -1289px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_2_candycane {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -182px -1274px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_2_candycane {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -207px -1289px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_2_candycorn {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -273px -1274px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_2_candycorn {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -298px -1289px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_2_festive {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -364px -1274px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_2_festive {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -389px -1289px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_2_frost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -455px -1274px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_2_frost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -480px -1289px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_2_ghostwhite {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -546px -1274px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_2_ghostwhite {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -571px -1289px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_2_green {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -637px -1274px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_2_green {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -662px -1289px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_2_halloween {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -728px -1274px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_2_halloween {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -753px -1289px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_2_holly {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -819px -1274px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_2_holly {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -844px -1289px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_2_hollygreen {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -910px -1274px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_2_hollygreen {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -935px -1289px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_2_midnight {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1001px -1274px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_2_midnight {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1026px -1289px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_2_pblue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1092px -1274px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_2_pblue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1117px -1289px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_2_pblue2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1183px -1274px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_2_pblue2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1208px -1289px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_2_peppermint {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1274px -1274px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_2_peppermint {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1299px -1289px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_2_pgreen {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1370px 0px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_2_pgreen {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1395px -15px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_2_pgreen2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1370px -91px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_2_pgreen2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1395px -106px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_2_porange {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1370px -182px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_2_porange {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1395px -197px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_2_porange2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1370px -273px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_2_porange2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1395px -288px;
+ width: 60px;
+ height: 60px;
+}
.hair_bangs_2_ppink {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -91px -1365px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1370px -364px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_2_ppink {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -116px -1380px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1395px -379px;
width: 60px;
height: 60px;
}
.hair_bangs_2_ppink2 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -182px -1365px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1370px -455px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_2_ppink2 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -207px -1380px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1395px -470px;
width: 60px;
height: 60px;
}
.hair_bangs_2_ppurple {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -273px -1365px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1370px -546px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_2_ppurple {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -298px -1380px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1395px -561px;
width: 60px;
height: 60px;
}
.hair_bangs_2_ppurple2 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -364px -1365px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1370px -637px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_2_ppurple2 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -389px -1380px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1395px -652px;
width: 60px;
height: 60px;
}
.hair_bangs_2_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -455px -1365px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1370px -728px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_2_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -480px -1380px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1395px -743px;
width: 60px;
height: 60px;
}
.hair_bangs_2_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -546px -1365px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1370px -819px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_2_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -571px -1380px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1395px -834px;
width: 60px;
height: 60px;
}
.hair_bangs_2_pyellow {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -637px -1365px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1370px -910px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_2_pyellow {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -662px -1380px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1395px -925px;
width: 60px;
height: 60px;
}
.hair_bangs_2_pyellow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -728px -1365px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1370px -1001px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_2_pyellow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -753px -1380px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1395px -1016px;
width: 60px;
height: 60px;
}
.hair_bangs_2_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -819px -1365px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1370px -1092px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_2_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -844px -1380px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1395px -1107px;
width: 60px;
height: 60px;
}
.hair_bangs_2_red {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -910px -1365px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1370px -1183px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_2_red {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -935px -1380px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1395px -1198px;
width: 60px;
height: 60px;
}
.hair_bangs_2_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1001px -1365px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1370px -1274px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_2_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1026px -1380px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1395px -1289px;
width: 60px;
height: 60px;
}
.hair_bangs_2_white {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1183px -1365px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -91px -1365px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_2_white {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1208px -1380px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -116px -1380px;
width: 60px;
height: 60px;
}
.hair_bangs_2_winternight {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1274px -1365px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -182px -1365px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_2_winternight {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1299px -1380px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -207px -1380px;
width: 60px;
height: 60px;
}
.hair_bangs_2_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1365px -1365px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -273px -1365px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_2_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1390px -1380px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -298px -1380px;
width: 60px;
height: 60px;
}
.hair_bangs_2_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1461px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -364px -1365px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_2_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1486px -15px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -389px -1380px;
width: 60px;
height: 60px;
}
.hair_bangs_2_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1461px -91px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -455px -1365px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_2_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1486px -106px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -480px -1380px;
width: 60px;
height: 60px;
}
.hair_bangs_3_TRUred {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1552px -182px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_3_TRUred {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1577px -197px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_3_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1461px -182px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_3_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1486px -197px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_3_black {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1461px -273px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_3_black {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1486px -288px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_3_blond {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1461px -364px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_3_blond {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1486px -379px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_3_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1461px -455px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_3_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1486px -470px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_3_brown {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1461px -546px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_3_brown {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1486px -561px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_3_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1461px -637px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_3_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1486px -652px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_3_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1461px -728px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_3_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1486px -743px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_3_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1461px -819px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_3_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1486px -834px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_3_frost {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1461px -910px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_3_frost {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1486px -925px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_3_ghostwhite {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1461px -1001px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_3_ghostwhite {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1486px -1016px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_3_green {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1461px -1092px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_3_green {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1486px -1107px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_3_halloween {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1461px -1183px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_3_halloween {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1486px -1198px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_3_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1461px -1274px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_3_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1486px -1289px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_3_hollygreen {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1461px -1365px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_3_hollygreen {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1486px -1380px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_3_midnight {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: 0px -1456px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_3_midnight {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -25px -1471px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_3_pblue {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -91px -1456px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_3_pblue {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -116px -1471px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_3_pblue2 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -182px -1456px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_3_pblue2 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -207px -1471px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_3_peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -273px -1456px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_3_peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -298px -1471px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_3_pgreen {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -364px -1456px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_3_pgreen {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -389px -1471px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_3_pgreen2 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -455px -1456px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_3_pgreen2 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -480px -1471px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_3_porange {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -546px -1456px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_3_porange {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -571px -1471px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_3_porange2 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -637px -1456px;
width: 90px;
height: 90px;
}
-.customize-option.hair_bangs_3_porange2 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.customize-option.hair_bangs_3_TRUred {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -662px -1471px;
width: 60px;
height: 60px;
}
+.hair_bangs_3_aurora {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -546px -1365px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_3_aurora {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -571px -1380px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_3_black {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -637px -1365px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_3_black {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -662px -1380px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_3_blond {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -728px -1365px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_3_blond {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -753px -1380px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_3_blue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -819px -1365px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_3_blue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -844px -1380px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_3_brown {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -910px -1365px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_3_brown {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -935px -1380px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_3_candycane {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1001px -1365px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_3_candycane {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1026px -1380px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_3_candycorn {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1092px -1365px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_3_candycorn {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1117px -1380px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_3_festive {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1183px -1365px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_3_festive {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1208px -1380px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_3_frost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1274px -1365px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_3_frost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1299px -1380px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_3_ghostwhite {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1365px -1365px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_3_ghostwhite {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1390px -1380px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_3_green {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1461px 0px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_3_green {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1486px -15px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_3_halloween {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1461px -91px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_3_halloween {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1486px -106px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_3_holly {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1461px -182px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_3_holly {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1486px -197px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_3_hollygreen {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1461px -273px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_3_hollygreen {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1486px -288px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_3_midnight {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1461px -364px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_3_midnight {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1486px -379px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_3_pblue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1461px -455px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_3_pblue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1486px -470px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_3_pblue2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1461px -546px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_3_pblue2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1486px -561px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_3_peppermint {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1461px -637px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_3_peppermint {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1486px -652px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_3_pgreen {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1461px -728px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_3_pgreen {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1486px -743px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_3_pgreen2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1461px -819px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_3_pgreen2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1486px -834px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_3_porange {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1461px -910px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_3_porange {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1486px -925px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_3_porange2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1461px -1001px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_3_porange2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1486px -1016px;
+ width: 60px;
+ height: 60px;
+}
.hair_bangs_3_ppink {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -728px -1456px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1461px -1092px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_3_ppink {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -753px -1471px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1486px -1107px;
width: 60px;
height: 60px;
}
.hair_bangs_3_ppink2 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -819px -1456px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1461px -1183px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_3_ppink2 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -844px -1471px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1486px -1198px;
width: 60px;
height: 60px;
}
.hair_bangs_3_ppurple {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -910px -1456px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1461px -1274px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_3_ppurple {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -935px -1471px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1486px -1289px;
width: 60px;
height: 60px;
}
.hair_bangs_3_ppurple2 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1001px -1456px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1461px -1365px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_3_ppurple2 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1026px -1471px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1486px -1380px;
width: 60px;
height: 60px;
}
.hair_bangs_3_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1092px -1456px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: 0px -1456px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_3_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1117px -1471px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -25px -1471px;
width: 60px;
height: 60px;
}
.hair_bangs_3_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1183px -1456px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -91px -1456px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_3_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1208px -1471px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -116px -1471px;
width: 60px;
height: 60px;
}
.hair_bangs_3_pyellow {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1274px -1456px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -182px -1456px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_3_pyellow {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1299px -1471px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -207px -1471px;
width: 60px;
height: 60px;
}
.hair_bangs_3_pyellow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1365px -1456px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -273px -1456px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_3_pyellow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1390px -1471px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -298px -1471px;
width: 60px;
height: 60px;
}
.hair_bangs_3_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1456px -1456px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -364px -1456px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_3_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1481px -1471px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -389px -1471px;
width: 60px;
height: 60px;
}
.hair_bangs_3_red {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1552px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -455px -1456px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_3_red {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1577px -15px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -480px -1471px;
width: 60px;
height: 60px;
}
.hair_bangs_3_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1552px -91px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -546px -1456px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_3_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1577px -106px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -571px -1471px;
width: 60px;
height: 60px;
}
.hair_bangs_3_white {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1552px -273px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -728px -1456px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_3_white {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1577px -288px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -753px -1471px;
width: 60px;
height: 60px;
}
.hair_bangs_3_winternight {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1552px -364px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -819px -1456px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_3_winternight {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1577px -379px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -844px -1471px;
width: 60px;
height: 60px;
}
.hair_bangs_3_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1552px -455px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -910px -1456px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_3_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1577px -470px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -935px -1471px;
width: 60px;
height: 60px;
}
.hair_bangs_3_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1552px -546px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1001px -1456px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_3_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1577px -561px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1026px -1471px;
width: 60px;
height: 60px;
}
.hair_bangs_3_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1552px -637px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1092px -1456px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_3_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1577px -652px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1117px -1471px;
width: 60px;
height: 60px;
}
.hair_bangs_4_TRUred {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1001px -1001px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_4_TRUred {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1026px -1016px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_4_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1552px -728px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_4_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1577px -743px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_4_black {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1552px -819px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_4_black {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1577px -834px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_4_blond {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1552px -910px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_4_blond {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1577px -925px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_4_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1552px -1001px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_4_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1577px -1016px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_4_brown {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1552px -1092px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_4_brown {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1577px -1107px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_4_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1552px -1183px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_4_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1577px -1198px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_4_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1552px -1274px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_4_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1577px -1289px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_4_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1552px -1365px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_4_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1577px -1380px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_4_frost {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1552px -1456px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_4_frost {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1577px -1471px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_4_ghostwhite {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: 0px -1547px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_4_ghostwhite {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -25px -1562px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_4_green {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -91px -1547px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_4_green {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -116px -1562px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_4_halloween {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -182px -1547px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_4_halloween {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -207px -1562px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_4_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -273px -1547px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_4_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -298px -1562px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_4_hollygreen {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -364px -1547px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_4_hollygreen {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -389px -1562px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_4_midnight {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -455px -1547px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_4_midnight {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -480px -1562px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_4_pblue {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -546px -1547px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_4_pblue {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -571px -1562px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_4_pblue2 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -637px -1547px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_4_pblue2 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -662px -1562px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_4_peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -728px -1547px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_4_peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -753px -1562px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_4_pgreen {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -819px -1547px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_4_pgreen {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -844px -1562px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_4_pgreen2 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -910px -1547px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_4_pgreen2 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -935px -1562px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_4_porange {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1001px -1547px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_bangs_4_porange {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1026px -1562px;
- width: 60px;
- height: 60px;
-}
-.hair_bangs_4_porange2 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -1092px -1547px;
width: 90px;
height: 90px;
}
-.customize-option.hair_bangs_4_porange2 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+.customize-option.hair_bangs_4_TRUred {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -1117px -1562px;
width: 60px;
height: 60px;
}
+.hair_bangs_4_aurora {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1183px -1456px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_4_aurora {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1208px -1471px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_4_black {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1274px -1456px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_4_black {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1299px -1471px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_4_blond {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1365px -1456px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_4_blond {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1390px -1471px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_4_blue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1456px -1456px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_4_blue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1481px -1471px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_4_brown {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1552px 0px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_4_brown {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1577px -15px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_4_candycane {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1552px -91px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_4_candycane {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1577px -106px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_4_candycorn {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1552px -182px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_4_candycorn {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1577px -197px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_4_festive {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1552px -273px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_4_festive {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1577px -288px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_4_frost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1552px -364px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_4_frost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1577px -379px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_4_ghostwhite {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1552px -455px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_4_ghostwhite {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1577px -470px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_4_green {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1552px -546px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_4_green {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1577px -561px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_4_halloween {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1552px -637px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_4_halloween {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1577px -652px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_4_holly {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1552px -728px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_4_holly {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1577px -743px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_4_hollygreen {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1552px -819px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_4_hollygreen {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1577px -834px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_4_midnight {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1552px -910px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_4_midnight {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1577px -925px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_4_pblue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1552px -1001px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_4_pblue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1577px -1016px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_4_pblue2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1552px -1092px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_4_pblue2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1577px -1107px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_4_peppermint {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1552px -1183px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_4_peppermint {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1577px -1198px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_4_pgreen {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1552px -1274px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_4_pgreen {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1577px -1289px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_4_pgreen2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1552px -1365px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_4_pgreen2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1577px -1380px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_4_porange {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1552px -1456px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_4_porange {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1577px -1471px;
+ width: 60px;
+ height: 60px;
+}
+.hair_bangs_4_porange2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: 0px -1547px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_bangs_4_porange2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -25px -1562px;
+ width: 60px;
+ height: 60px;
+}
.hair_bangs_4_ppink {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1183px -1547px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -91px -1547px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_4_ppink {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1208px -1562px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -116px -1562px;
width: 60px;
height: 60px;
}
.hair_bangs_4_ppink2 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1274px -1547px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -182px -1547px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_4_ppink2 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1299px -1562px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -207px -1562px;
width: 60px;
height: 60px;
}
.hair_bangs_4_ppurple {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1365px -1547px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -273px -1547px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_4_ppurple {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1390px -1562px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -298px -1562px;
width: 60px;
height: 60px;
}
.hair_bangs_4_ppurple2 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1097px -637px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -364px -1547px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_4_ppurple2 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1122px -652px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -389px -1562px;
width: 60px;
height: 60px;
}
.hair_bangs_4_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1097px -546px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -455px -1547px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_4_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1122px -561px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -480px -1562px;
width: 60px;
height: 60px;
}
.hair_bangs_4_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1097px -455px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -546px -1547px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_4_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1122px -470px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -571px -1562px;
width: 60px;
height: 60px;
}
.hair_bangs_4_pyellow {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1097px -364px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -637px -1547px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_4_pyellow {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1122px -379px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -662px -1562px;
width: 60px;
height: 60px;
}
.hair_bangs_4_pyellow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1097px -273px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -728px -1547px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_4_pyellow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1122px -288px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -753px -1562px;
width: 60px;
height: 60px;
}
.hair_bangs_4_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1097px -182px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -819px -1547px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_4_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1122px -197px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -844px -1562px;
width: 60px;
height: 60px;
}
.hair_bangs_4_red {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1097px -91px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -910px -1547px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_4_red {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1122px -106px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -935px -1562px;
width: 60px;
height: 60px;
}
.hair_bangs_4_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1097px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1001px -1547px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_4_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -1122px -15px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1026px -1562px;
width: 60px;
height: 60px;
}
.hair_bangs_4_white {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -910px -1001px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1183px -1547px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_4_white {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -935px -1016px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1208px -1562px;
width: 60px;
height: 60px;
}
.hair_bangs_4_winternight {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -819px -1001px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1274px -1547px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_4_winternight {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -844px -1016px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1299px -1562px;
width: 60px;
height: 60px;
}
.hair_bangs_4_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -728px -1001px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1365px -1547px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_4_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
- background-position: -753px -1016px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
+ background-position: -1390px -1562px;
width: 60px;
height: 60px;
}
.hair_bangs_4_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -1456px -1547px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_4_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-2.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-2.png');
background-position: -1481px -1562px;
width: 60px;
height: 60px;
diff --git a/website/client/assets/css/sprites/spritesmith-main-20.css b/website/client/src/assets/css/sprites/spritesmith-main-20.css
similarity index 57%
rename from website/client/assets/css/sprites/spritesmith-main-20.css
rename to website/client/src/assets/css/sprites/spritesmith-main-20.css
index 4eb6145b07..6750dc731f 100644
--- a/website/client/assets/css/sprites/spritesmith-main-20.css
+++ b/website/client/src/assets/css/sprites/spritesmith-main-20.css
@@ -1,1332 +1,1332 @@
.Mount_Head_SeaSerpent-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -1376px -318px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_SeaSerpent-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -1376px -424px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_SeaSerpent-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -1376px -530px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_SeaSerpent-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -1376px -636px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_SeaSerpent-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -1376px -742px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_SeaSerpent-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -1376px -848px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_SeaSerpent-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -1376px -954px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_SeaSerpent-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -1588px -1060px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_SeaSerpent-White {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -1588px -1166px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_SeaSerpent-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -1588px -1272px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Seahorse-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -1270px -742px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Seahorse-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -1270px -424px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Seahorse-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -1376px 0px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Seahorse-White {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -1376px -106px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Seahorse-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -1376px -212px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Sheep-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -1588px -1378px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Sheep-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: 0px -1558px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Sheep-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -106px -1558px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Sheep-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -212px -1558px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Sheep-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -318px -1558px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Sheep-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -424px -1558px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Sheep-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -530px -1558px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Sheep-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -636px -1558px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Sheep-White {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -742px -1558px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Sheep-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -848px -1558px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Slime-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -954px -1558px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Slime-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -1060px -1558px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Slime-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -1166px -1558px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Slime-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -1272px -1558px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Slime-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -1378px -1558px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Slime-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -1484px -1558px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Slime-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -1694px 0px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Slime-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -1694px -106px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Slime-White {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -1694px -212px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Slime-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -1694px -318px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Sloth-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -1694px -424px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Sloth-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -1694px -530px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Sloth-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -1694px -636px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Sloth-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -1694px -742px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Sloth-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -1694px -848px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Sloth-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -1694px -954px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Sloth-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -816px -665px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Sloth-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: 0px -816px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Sloth-White {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -106px -816px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Sloth-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -212px -816px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Snail-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -318px -816px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Snail-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -424px -816px;
width: 105px;
height: 105px;
}
-.Mount_Head_Snail-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_SeaSerpent-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -530px -816px;
width: 105px;
height: 105px;
}
-.Mount_Head_Snail-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_SeaSerpent-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -636px -816px;
width: 105px;
height: 105px;
}
-.Mount_Head_Snail-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_SeaSerpent-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -742px -816px;
width: 105px;
height: 105px;
}
-.Mount_Head_Snail-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_SeaSerpent-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -952px 0px;
width: 105px;
height: 105px;
}
-.Mount_Head_Snail-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_SeaSerpent-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -952px -106px;
width: 105px;
height: 105px;
}
-.Mount_Head_Snail-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_SeaSerpent-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -952px -212px;
width: 105px;
height: 105px;
}
-.Mount_Head_Snail-White {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_SeaSerpent-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -952px -318px;
width: 105px;
height: 105px;
}
-.Mount_Head_Snail-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_SeaSerpent-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -952px -424px;
width: 105px;
height: 105px;
}
-.Mount_Head_Snake-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_SeaSerpent-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -952px -530px;
width: 105px;
height: 105px;
}
-.Mount_Head_Snake-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Seahorse-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -816px -665px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Seahorse-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: 0px -816px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Seahorse-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -106px -816px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Seahorse-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -212px -816px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Seahorse-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -318px -816px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Sheep-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -952px -636px;
width: 105px;
height: 105px;
}
-.Mount_Head_Snake-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Sheep-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -952px -742px;
width: 105px;
height: 105px;
}
-.Mount_Head_Snake-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Sheep-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: 0px -922px;
width: 105px;
height: 105px;
}
-.Mount_Head_Snake-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Sheep-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -106px -922px;
width: 105px;
height: 105px;
}
-.Mount_Head_Snake-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Sheep-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -212px -922px;
width: 105px;
height: 105px;
}
-.Mount_Head_Snake-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Sheep-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -318px -922px;
width: 105px;
height: 105px;
}
-.Mount_Head_Snake-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Sheep-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -424px -922px;
width: 105px;
height: 105px;
}
-.Mount_Head_Snake-White {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Sheep-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -530px -922px;
width: 105px;
height: 105px;
}
-.Mount_Head_Snake-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Sheep-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -636px -922px;
width: 105px;
height: 105px;
}
-.Mount_Head_Spider-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Sheep-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -742px -922px;
width: 105px;
height: 105px;
}
-.Mount_Head_Spider-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Slime-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -848px -922px;
width: 105px;
height: 105px;
}
-.Mount_Head_Spider-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Slime-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -1058px 0px;
width: 105px;
height: 105px;
}
-.Mount_Head_Spider-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Slime-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -1058px -106px;
width: 105px;
height: 105px;
}
-.Mount_Head_Spider-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Slime-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -1058px -212px;
width: 105px;
height: 105px;
}
-.Mount_Head_Spider-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Slime-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -1058px -318px;
width: 105px;
height: 105px;
}
-.Mount_Head_Spider-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Slime-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -1058px -424px;
width: 105px;
height: 105px;
}
-.Mount_Head_Spider-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Slime-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -1058px -530px;
width: 105px;
height: 105px;
}
-.Mount_Head_Spider-White {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Slime-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -1058px -636px;
width: 105px;
height: 105px;
}
-.Mount_Head_Spider-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Slime-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -1058px -742px;
width: 105px;
height: 105px;
}
-.Mount_Head_Squirrel-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Slime-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -1058px -848px;
width: 105px;
height: 105px;
}
-.Mount_Head_Squirrel-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Sloth-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: 0px -1028px;
width: 105px;
height: 105px;
}
-.Mount_Head_Squirrel-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Sloth-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -106px -1028px;
width: 105px;
height: 105px;
}
-.Mount_Head_Squirrel-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Sloth-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -212px -1028px;
width: 105px;
height: 105px;
}
-.Mount_Head_Squirrel-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Sloth-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -318px -1028px;
width: 105px;
height: 105px;
}
-.Mount_Head_Squirrel-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Sloth-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -424px -1028px;
width: 105px;
height: 105px;
}
-.Mount_Head_Squirrel-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Sloth-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -530px -1028px;
width: 105px;
height: 105px;
}
-.Mount_Head_Squirrel-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Sloth-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -636px -1028px;
width: 105px;
height: 105px;
}
-.Mount_Head_Squirrel-White {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Sloth-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -742px -1028px;
width: 105px;
height: 105px;
}
-.Mount_Head_Squirrel-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Sloth-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -848px -1028px;
width: 105px;
height: 105px;
}
-.Mount_Head_TRex-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: 0px -136px;
- width: 135px;
- height: 135px;
-}
-.Mount_Head_TRex-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -136px -136px;
- width: 135px;
- height: 135px;
-}
-.Mount_Head_TRex-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -272px 0px;
- width: 135px;
- height: 135px;
-}
-.Mount_Head_TRex-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -272px -136px;
- width: 135px;
- height: 135px;
-}
-.Mount_Head_TRex-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: 0px -272px;
- width: 135px;
- height: 135px;
-}
-.Mount_Head_TRex-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -136px -272px;
- width: 135px;
- height: 135px;
-}
-.Mount_Head_TRex-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -272px -272px;
- width: 135px;
- height: 135px;
-}
-.Mount_Head_TRex-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -408px 0px;
- width: 135px;
- height: 135px;
-}
-.Mount_Head_TRex-White {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -408px -136px;
- width: 135px;
- height: 135px;
-}
-.Mount_Head_TRex-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -408px -272px;
- width: 135px;
- height: 135px;
-}
-.Mount_Head_TigerCub-Aquatic {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Sloth-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -954px -1028px;
width: 105px;
height: 105px;
}
-.Mount_Head_TigerCub-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Snail-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -1164px 0px;
width: 105px;
height: 105px;
}
-.Mount_Head_TigerCub-Bronze {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Snail-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -1164px -106px;
width: 105px;
height: 105px;
}
-.Mount_Head_TigerCub-Celestial {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Snail-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -1164px -212px;
width: 105px;
height: 105px;
}
-.Mount_Head_TigerCub-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Snail-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -1164px -318px;
width: 105px;
height: 105px;
}
-.Mount_Head_TigerCub-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Snail-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -1164px -424px;
width: 105px;
height: 105px;
}
-.Mount_Head_TigerCub-Cupid {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Snail-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -1164px -530px;
width: 105px;
height: 105px;
}
-.Mount_Head_TigerCub-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Snail-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -1164px -636px;
width: 105px;
height: 105px;
}
-.Mount_Head_TigerCub-Ember {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Snail-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -1164px -742px;
width: 105px;
height: 105px;
}
-.Mount_Head_TigerCub-Fairy {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Snail-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -1164px -848px;
width: 105px;
height: 105px;
}
-.Mount_Head_TigerCub-Floral {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Snail-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -1164px -954px;
width: 105px;
height: 105px;
}
-.Mount_Head_TigerCub-Frost {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Snake-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: 0px -1134px;
width: 105px;
height: 105px;
}
-.Mount_Head_TigerCub-Ghost {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Snake-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -106px -1134px;
width: 105px;
height: 105px;
}
-.Mount_Head_TigerCub-Glass {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Snake-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -212px -1134px;
width: 105px;
height: 105px;
}
-.Mount_Head_TigerCub-Glow {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Snake-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -318px -1134px;
width: 105px;
height: 105px;
}
-.Mount_Head_TigerCub-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Snake-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -424px -1134px;
width: 105px;
height: 105px;
}
-.Mount_Head_TigerCub-Holly {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Snake-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -530px -1134px;
width: 105px;
height: 105px;
}
-.Mount_Head_TigerCub-IcySnow {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Snake-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -636px -1134px;
width: 105px;
height: 105px;
}
-.Mount_Head_TigerCub-Peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Snake-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -742px -1134px;
width: 105px;
height: 105px;
}
-.Mount_Head_TigerCub-Rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Snake-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -848px -1134px;
width: 105px;
height: 105px;
}
-.Mount_Head_TigerCub-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Snake-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -954px -1134px;
width: 105px;
height: 105px;
}
-.Mount_Head_TigerCub-RoseQuartz {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Spider-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -1060px -1134px;
width: 105px;
height: 105px;
}
-.Mount_Head_TigerCub-RoyalPurple {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Spider-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -1270px 0px;
width: 105px;
height: 105px;
}
-.Mount_Head_TigerCub-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Spider-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -1270px -106px;
width: 105px;
height: 105px;
}
-.Mount_Head_TigerCub-Shadow {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Spider-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -1270px -212px;
width: 105px;
height: 105px;
}
-.Mount_Head_TigerCub-Shimmer {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Spider-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -1270px -318px;
width: 105px;
height: 105px;
}
-.Mount_Head_TigerCub-Silver {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -1694px -1060px;
+.Mount_Head_Spider-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -1270px -424px;
width: 105px;
height: 105px;
}
-.Mount_Head_TigerCub-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Spider-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -1270px -530px;
width: 105px;
height: 105px;
}
-.Mount_Head_TigerCub-Spooky {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Spider-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -1270px -636px;
width: 105px;
height: 105px;
}
+.Mount_Head_Spider-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -1270px -742px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Spider-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -1270px -848px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Squirrel-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -1270px -954px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Squirrel-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -1270px -1060px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Squirrel-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: 0px -1240px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Squirrel-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -106px -1240px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Squirrel-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -212px -1240px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Squirrel-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -318px -1240px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Squirrel-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -424px -1240px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Squirrel-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -530px -1240px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Squirrel-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -636px -1240px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Squirrel-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -742px -1240px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_TRex-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: 0px 0px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Head_TRex-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -136px 0px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Head_TRex-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: 0px -136px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Head_TRex-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -136px -136px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Head_TRex-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -272px 0px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Head_TRex-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -272px -136px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Head_TRex-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: 0px -272px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Head_TRex-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -136px -272px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Head_TRex-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -272px -272px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Head_TRex-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -408px 0px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Head_TigerCub-Aquatic {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -848px -1240px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_TigerCub-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -954px -1240px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_TigerCub-Bronze {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -1060px -1240px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_TigerCub-Celestial {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -1166px -1240px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_TigerCub-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -1376px 0px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_TigerCub-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -1376px -106px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_TigerCub-Cupid {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -1376px -212px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_TigerCub-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -1376px -318px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_TigerCub-Ember {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -1376px -424px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_TigerCub-Fairy {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -1376px -530px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_TigerCub-Floral {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -1376px -636px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_TigerCub-Frost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -1376px -742px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_TigerCub-Ghost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -1376px -848px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_TigerCub-Glass {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -1376px -954px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_TigerCub-Glow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -1376px -1060px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_TigerCub-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -1376px -1166px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_TigerCub-Holly {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: 0px -1346px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_TigerCub-IcySnow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -106px -1346px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_TigerCub-Peppermint {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -212px -1346px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_TigerCub-Rainbow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -318px -1346px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_TigerCub-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -424px -1346px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_TigerCub-RoseQuartz {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -530px -1346px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_TigerCub-RoyalPurple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -636px -1346px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_TigerCub-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -742px -1346px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_TigerCub-Shadow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -848px -1346px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_TigerCub-Shimmer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -954px -1346px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_TigerCub-Silver {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -1060px -1346px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_TigerCub-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -1166px -1346px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_TigerCub-Spooky {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -1272px -1346px;
+ width: 105px;
+ height: 105px;
+}
.Mount_Head_TigerCub-StarryNight {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -816px -544px;
width: 120px;
height: 120px;
}
.Mount_Head_TigerCub-Sunshine {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -1270px -848px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_TigerCub-Thunderstorm {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -1270px -954px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_TigerCub-Watery {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -1270px -1060px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_TigerCub-White {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: 0px -1240px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_TigerCub-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -106px -1240px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Treeling-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -212px -1240px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Treeling-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -318px -1240px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Treeling-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -424px -1240px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Treeling-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -530px -1240px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Treeling-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -636px -1240px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Treeling-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -742px -1240px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Treeling-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -848px -1240px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Treeling-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -954px -1240px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Treeling-White {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -1060px -1240px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Treeling-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -1166px -1240px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Triceratops-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -1376px -1060px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Triceratops-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -1376px -1166px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Triceratops-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: 0px -1346px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Triceratops-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -106px -1346px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Triceratops-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -212px -1346px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Triceratops-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -318px -1346px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Triceratops-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -424px -1346px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Triceratops-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -530px -1346px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Triceratops-White {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -636px -1346px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Triceratops-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -742px -1346px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Turkey-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -848px -1346px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Turkey-Gilded {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -954px -1346px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Turtle-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -1060px -1346px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Turtle-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -1166px -1346px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Turtle-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -1272px -1346px;
- width: 105px;
- height: 105px;
-}
-.Mount_Head_Turtle-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -1482px 0px;
width: 105px;
height: 105px;
}
-.Mount_Head_Turtle-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_TigerCub-Thunderstorm {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -1482px -106px;
width: 105px;
height: 105px;
}
-.Mount_Head_Turtle-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_TigerCub-Watery {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -1482px -212px;
width: 105px;
height: 105px;
}
-.Mount_Head_Turtle-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_TigerCub-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -1482px -318px;
width: 105px;
height: 105px;
}
-.Mount_Head_Turtle-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_TigerCub-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -1482px -424px;
width: 105px;
height: 105px;
}
-.Mount_Head_Turtle-White {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Treeling-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -1482px -530px;
width: 105px;
height: 105px;
}
-.Mount_Head_Turtle-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Treeling-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -1482px -636px;
width: 105px;
height: 105px;
}
-.Mount_Head_Unicorn-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Treeling-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -1482px -742px;
width: 105px;
height: 105px;
}
-.Mount_Head_Unicorn-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Treeling-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -1482px -848px;
width: 105px;
height: 105px;
}
-.Mount_Head_Unicorn-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Treeling-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -1482px -954px;
width: 105px;
height: 105px;
}
-.Mount_Head_Unicorn-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Treeling-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -1482px -1060px;
width: 105px;
height: 105px;
}
-.Mount_Head_Unicorn-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Treeling-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -1482px -1166px;
width: 105px;
height: 105px;
}
-.Mount_Head_Unicorn-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Treeling-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -1482px -1272px;
width: 105px;
height: 105px;
}
-.Mount_Head_Unicorn-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Treeling-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: 0px -1452px;
width: 105px;
height: 105px;
}
-.Mount_Head_Unicorn-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Treeling-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -106px -1452px;
width: 105px;
height: 105px;
}
-.Mount_Head_Unicorn-White {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Triceratops-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -212px -1452px;
width: 105px;
height: 105px;
}
-.Mount_Head_Unicorn-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Triceratops-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -318px -1452px;
width: 105px;
height: 105px;
}
-.Mount_Head_Velociraptor-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Triceratops-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -424px -1452px;
width: 105px;
height: 105px;
}
-.Mount_Head_Velociraptor-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Triceratops-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -530px -1452px;
width: 105px;
height: 105px;
}
-.Mount_Head_Velociraptor-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Triceratops-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -636px -1452px;
width: 105px;
height: 105px;
}
-.Mount_Head_Velociraptor-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Triceratops-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -742px -1452px;
width: 105px;
height: 105px;
}
-.Mount_Head_Velociraptor-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Triceratops-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -848px -1452px;
width: 105px;
height: 105px;
}
-.Mount_Head_Velociraptor-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Triceratops-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -954px -1452px;
width: 105px;
height: 105px;
}
-.Mount_Head_Velociraptor-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Triceratops-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -1060px -1452px;
width: 105px;
height: 105px;
}
-.Mount_Head_Velociraptor-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Triceratops-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -1166px -1452px;
width: 105px;
height: 105px;
}
-.Mount_Head_Velociraptor-White {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Turkey-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -1272px -1452px;
width: 105px;
height: 105px;
}
-.Mount_Head_Velociraptor-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Turkey-Gilded {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -1378px -1452px;
width: 105px;
height: 105px;
}
-.Mount_Head_Whale-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Turtle-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -1588px 0px;
width: 105px;
height: 105px;
}
-.Mount_Head_Whale-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Turtle-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -1588px -106px;
width: 105px;
height: 105px;
}
-.Mount_Head_Whale-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Turtle-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -1588px -212px;
width: 105px;
height: 105px;
}
-.Mount_Head_Whale-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Turtle-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -1588px -318px;
width: 105px;
height: 105px;
}
-.Mount_Head_Whale-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Turtle-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -1588px -424px;
width: 105px;
height: 105px;
}
-.Mount_Head_Whale-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Turtle-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -1588px -530px;
width: 105px;
height: 105px;
}
-.Mount_Head_Whale-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Turtle-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -1588px -636px;
width: 105px;
height: 105px;
}
-.Mount_Head_Whale-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Turtle-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -1588px -742px;
width: 105px;
height: 105px;
}
-.Mount_Head_Whale-White {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Turtle-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -1588px -848px;
width: 105px;
height: 105px;
}
-.Mount_Head_Whale-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+.Mount_Head_Turtle-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: -1588px -954px;
width: 105px;
height: 105px;
}
+.Mount_Head_Unicorn-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -1588px -1060px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Unicorn-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -1588px -1166px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Unicorn-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -1588px -1272px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Unicorn-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -1588px -1378px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Unicorn-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: 0px -1558px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Unicorn-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -106px -1558px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Unicorn-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -212px -1558px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Unicorn-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -318px -1558px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Unicorn-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -424px -1558px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Unicorn-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -530px -1558px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Velociraptor-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -636px -1558px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Velociraptor-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -742px -1558px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Velociraptor-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -848px -1558px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Velociraptor-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -954px -1558px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Velociraptor-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -1060px -1558px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Velociraptor-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -1166px -1558px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Velociraptor-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -1272px -1558px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Velociraptor-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -1378px -1558px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Velociraptor-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -1484px -1558px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Velociraptor-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -1694px 0px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Whale-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -1694px -106px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Whale-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -1694px -212px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Whale-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -1694px -318px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Whale-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -1694px -424px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Whale-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -1694px -530px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Whale-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -1694px -636px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Whale-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -1694px -742px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Whale-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -1694px -848px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Whale-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -1694px -954px;
+ width: 105px;
+ height: 105px;
+}
+.Mount_Head_Whale-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -1694px -1060px;
+ width: 105px;
+ height: 105px;
+}
.Mount_Head_Wolf-Aquatic {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: 0px -408px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -408px -136px;
width: 135px;
height: 135px;
}
.Mount_Head_Wolf-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -136px -408px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -408px -272px;
width: 135px;
height: 135px;
}
.Mount_Head_Wolf-Bronze {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -272px -408px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: 0px -408px;
width: 135px;
height: 135px;
}
.Mount_Head_Wolf-Celestial {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -408px -408px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -136px -408px;
width: 135px;
height: 135px;
}
.Mount_Head_Wolf-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -544px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -272px -408px;
width: 135px;
height: 135px;
}
.Mount_Head_Wolf-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -544px -136px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -408px -408px;
width: 135px;
height: 135px;
}
.Mount_Head_Wolf-Cupid {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -544px -272px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -544px 0px;
width: 135px;
height: 135px;
}
.Mount_Head_Wolf-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -544px -408px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -544px -136px;
width: 135px;
height: 135px;
}
.Mount_Head_Wolf-Ember {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: 0px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -544px -272px;
width: 135px;
height: 135px;
}
.Mount_Head_Wolf-Fairy {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -136px -544px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -544px -408px;
width: 135px;
height: 135px;
}
.Mount_Head_Wolf-Floral {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -272px -544px;
- width: 135px;
- height: 135px;
-}
-.Mount_Head_Wolf-Frost {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -408px -544px;
- width: 135px;
- height: 135px;
-}
-.Mount_Head_Wolf-Ghost {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -544px -544px;
- width: 135px;
- height: 135px;
-}
-.Mount_Head_Wolf-Glass {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -680px 0px;
- width: 135px;
- height: 135px;
-}
-.Mount_Head_Wolf-Glow {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -680px -136px;
- width: 135px;
- height: 135px;
-}
-.Mount_Head_Wolf-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -680px -272px;
- width: 135px;
- height: 135px;
-}
-.Mount_Head_Wolf-Holly {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -680px -408px;
- width: 135px;
- height: 135px;
-}
-.Mount_Head_Wolf-IcySnow {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -680px -544px;
- width: 135px;
- height: 135px;
-}
-.Mount_Head_Wolf-Peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: 0px -680px;
- width: 135px;
- height: 135px;
-}
-.Mount_Head_Wolf-Rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -136px -680px;
- width: 135px;
- height: 135px;
-}
-.Mount_Head_Wolf-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -272px -680px;
- width: 135px;
- height: 135px;
-}
-.Mount_Head_Wolf-RoseQuartz {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -408px -680px;
- width: 135px;
- height: 135px;
-}
-.Mount_Head_Wolf-RoyalPurple {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -544px -680px;
- width: 135px;
- height: 135px;
-}
-.Mount_Head_Wolf-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -680px -680px;
- width: 135px;
- height: 135px;
-}
-.Mount_Head_Wolf-Shadow {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -816px 0px;
- width: 135px;
- height: 135px;
-}
-.Mount_Head_Wolf-Shimmer {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -816px -136px;
- width: 135px;
- height: 135px;
-}
-.Mount_Head_Wolf-Silver {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -816px -272px;
- width: 135px;
- height: 135px;
-}
-.Mount_Head_Wolf-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
background-position: 0px -544px;
width: 135px;
height: 135px;
}
+.Mount_Head_Wolf-Frost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -136px -544px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Head_Wolf-Ghost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -272px -544px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Head_Wolf-Glass {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -408px -544px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Head_Wolf-Glow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -544px -544px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Head_Wolf-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -680px 0px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Head_Wolf-Holly {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -680px -136px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Head_Wolf-IcySnow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -680px -272px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Head_Wolf-Peppermint {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -680px -408px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Head_Wolf-Rainbow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -680px -544px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Head_Wolf-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: 0px -680px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Head_Wolf-RoseQuartz {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -136px -680px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Head_Wolf-RoyalPurple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -272px -680px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Head_Wolf-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -408px -680px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Head_Wolf-Shadow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -544px -680px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Head_Wolf-Shimmer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -680px -680px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Head_Wolf-Silver {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -816px 0px;
+ width: 135px;
+ height: 135px;
+}
+.Mount_Head_Wolf-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -816px -136px;
+ width: 135px;
+ height: 135px;
+}
.Mount_Head_Wolf-Spooky {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -816px -408px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -816px -272px;
width: 135px;
height: 135px;
}
.Mount_Head_Wolf-StarryNight {
- background-image: url('~assets/images/sprites/spritesmith-main-20.png');
- background-position: -136px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-20.png');
+ background-position: -816px -408px;
width: 135px;
height: 135px;
}
diff --git a/website/client/assets/css/sprites/spritesmith-main-21.css b/website/client/src/assets/css/sprites/spritesmith-main-21.css
similarity index 56%
rename from website/client/assets/css/sprites/spritesmith-main-21.css
rename to website/client/src/assets/css/sprites/spritesmith-main-21.css
index cb89db5762..cc95910846 100644
--- a/website/client/assets/css/sprites/spritesmith-main-21.css
+++ b/website/client/src/assets/css/sprites/spritesmith-main-21.css
@@ -1,1944 +1,1944 @@
.Mount_Head_Wolf-Sunshine {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: 0px 0px;
width: 135px;
height: 135px;
}
.Mount_Head_Wolf-Thunderstorm {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -136px 0px;
width: 135px;
height: 135px;
}
.Mount_Head_Wolf-Watery {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
- background-position: -272px 0px;
- width: 135px;
- height: 135px;
-}
-.Mount_Head_Wolf-White {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: 0px -136px;
width: 135px;
height: 135px;
}
-.Mount_Head_Wolf-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+.Mount_Head_Wolf-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -136px -136px;
width: 135px;
height: 135px;
}
-.Mount_Head_Yarn-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
- background-position: -106px -272px;
- width: 105px;
- height: 105px;
+.Mount_Head_Wolf-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
+ background-position: -272px 0px;
+ width: 135px;
+ height: 135px;
}
-.Mount_Head_Yarn-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+.Mount_Head_Yarn-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -272px -136px;
width: 105px;
height: 105px;
}
-.Mount_Head_Yarn-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+.Mount_Head_Yarn-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: 0px -272px;
width: 105px;
height: 105px;
}
-.Mount_Head_Yarn-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
- background-position: -212px -378px;
+.Mount_Head_Yarn-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
+ background-position: -106px -272px;
width: 105px;
height: 105px;
}
-.Mount_Head_Yarn-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+.Mount_Head_Yarn-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -212px -272px;
width: 105px;
height: 105px;
}
-.Mount_Head_Yarn-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+.Mount_Head_Yarn-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -408px 0px;
width: 105px;
height: 105px;
}
-.Mount_Head_Yarn-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+.Mount_Head_Yarn-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -408px -106px;
width: 105px;
height: 105px;
}
-.Mount_Head_Yarn-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+.Mount_Head_Yarn-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -408px -212px;
width: 105px;
height: 105px;
}
-.Mount_Head_Yarn-White {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+.Mount_Head_Yarn-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: 0px -378px;
width: 105px;
height: 105px;
}
-.Mount_Head_Yarn-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+.Mount_Head_Yarn-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -106px -378px;
width: 105px;
height: 105px;
}
+.Mount_Head_Yarn-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
+ background-position: -212px -378px;
+ width: 105px;
+ height: 105px;
+}
.Mount_Icon_Aether-Invisible {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -318px -272px;
width: 81px;
height: 99px;
}
.Mount_Icon_Alligator-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -318px -378px;
width: 81px;
height: 99px;
}
.Mount_Icon_Alligator-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -400px -378px;
width: 81px;
height: 99px;
}
.Mount_Icon_Alligator-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -514px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_Alligator-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -514px -100px;
width: 81px;
height: 99px;
}
.Mount_Icon_Alligator-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -514px -200px;
width: 81px;
height: 99px;
}
.Mount_Icon_Alligator-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -514px -300px;
width: 81px;
height: 99px;
}
.Mount_Icon_Alligator-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: 0px -484px;
width: 81px;
height: 99px;
}
.Mount_Icon_Alligator-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -82px -484px;
width: 81px;
height: 99px;
}
.Mount_Icon_Alligator-White {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -164px -484px;
width: 81px;
height: 99px;
}
.Mount_Icon_Alligator-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -246px -484px;
width: 81px;
height: 99px;
}
.Mount_Icon_Armadillo-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -328px -484px;
width: 81px;
height: 99px;
}
.Mount_Icon_Armadillo-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -410px -484px;
width: 81px;
height: 99px;
}
.Mount_Icon_Armadillo-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -492px -484px;
width: 81px;
height: 99px;
}
.Mount_Icon_Armadillo-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -596px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_Armadillo-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -596px -100px;
width: 81px;
height: 99px;
}
.Mount_Icon_Armadillo-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -596px -200px;
width: 81px;
height: 99px;
}
.Mount_Icon_Armadillo-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -596px -300px;
width: 81px;
height: 99px;
}
.Mount_Icon_Armadillo-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -596px -400px;
width: 81px;
height: 99px;
}
.Mount_Icon_Armadillo-White {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -678px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_Armadillo-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -678px -100px;
width: 81px;
height: 99px;
}
.Mount_Icon_Axolotl-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -678px -200px;
width: 81px;
height: 99px;
}
.Mount_Icon_Axolotl-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -678px -300px;
width: 81px;
height: 99px;
}
.Mount_Icon_Axolotl-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -678px -400px;
width: 81px;
height: 99px;
}
.Mount_Icon_Axolotl-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: 0px -584px;
width: 81px;
height: 99px;
}
.Mount_Icon_Axolotl-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -82px -584px;
width: 81px;
height: 99px;
}
.Mount_Icon_Axolotl-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -164px -584px;
width: 81px;
height: 99px;
}
.Mount_Icon_Axolotl-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -246px -584px;
width: 81px;
height: 99px;
}
.Mount_Icon_Axolotl-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -328px -584px;
width: 81px;
height: 99px;
}
.Mount_Icon_Axolotl-White {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -410px -584px;
width: 81px;
height: 99px;
}
.Mount_Icon_Axolotl-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -492px -584px;
width: 81px;
height: 99px;
}
.Mount_Icon_Badger-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -574px -584px;
width: 81px;
height: 99px;
}
.Mount_Icon_Badger-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -656px -584px;
width: 81px;
height: 99px;
}
.Mount_Icon_Badger-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -760px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_Badger-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -760px -100px;
width: 81px;
height: 99px;
}
.Mount_Icon_Badger-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -760px -200px;
width: 81px;
height: 99px;
}
.Mount_Icon_Badger-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -760px -300px;
width: 81px;
height: 99px;
}
.Mount_Icon_Badger-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -760px -400px;
width: 81px;
height: 99px;
}
.Mount_Icon_Badger-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -760px -500px;
width: 81px;
height: 99px;
}
.Mount_Icon_Badger-White {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: 0px -684px;
width: 81px;
height: 99px;
}
.Mount_Icon_Badger-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -82px -684px;
width: 81px;
height: 99px;
}
.Mount_Icon_BearCub-Aquatic {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -164px -684px;
width: 81px;
height: 99px;
}
.Mount_Icon_BearCub-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -246px -684px;
width: 81px;
height: 99px;
}
.Mount_Icon_BearCub-Bronze {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -328px -684px;
width: 81px;
height: 99px;
}
.Mount_Icon_BearCub-Celestial {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -410px -684px;
width: 81px;
height: 99px;
}
.Mount_Icon_BearCub-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -492px -684px;
width: 81px;
height: 99px;
}
.Mount_Icon_BearCub-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -574px -684px;
width: 81px;
height: 99px;
}
.Mount_Icon_BearCub-Cupid {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -656px -684px;
width: 81px;
height: 99px;
}
.Mount_Icon_BearCub-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -738px -684px;
width: 81px;
height: 99px;
}
.Mount_Icon_BearCub-Ember {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -842px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_BearCub-Fairy {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -842px -100px;
width: 81px;
height: 99px;
}
.Mount_Icon_BearCub-Floral {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -842px -200px;
width: 81px;
height: 99px;
}
.Mount_Icon_BearCub-Frost {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -842px -300px;
width: 81px;
height: 99px;
}
.Mount_Icon_BearCub-Ghost {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -842px -400px;
width: 81px;
height: 99px;
}
.Mount_Icon_BearCub-Glass {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -842px -500px;
width: 81px;
height: 99px;
}
.Mount_Icon_BearCub-Glow {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -842px -600px;
width: 81px;
height: 99px;
}
.Mount_Icon_BearCub-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: 0px -784px;
width: 81px;
height: 99px;
}
.Mount_Icon_BearCub-Holly {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -82px -784px;
width: 81px;
height: 99px;
}
.Mount_Icon_BearCub-IcySnow {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -164px -784px;
width: 81px;
height: 99px;
}
.Mount_Icon_BearCub-Peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -246px -784px;
width: 81px;
height: 99px;
}
.Mount_Icon_BearCub-Polar {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -328px -784px;
width: 81px;
height: 99px;
}
.Mount_Icon_BearCub-Rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -410px -784px;
width: 81px;
height: 99px;
}
.Mount_Icon_BearCub-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -492px -784px;
width: 81px;
height: 99px;
}
.Mount_Icon_BearCub-RoseQuartz {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -574px -784px;
width: 81px;
height: 99px;
}
.Mount_Icon_BearCub-RoyalPurple {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -656px -784px;
width: 81px;
height: 99px;
}
.Mount_Icon_BearCub-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -738px -784px;
width: 81px;
height: 99px;
}
.Mount_Icon_BearCub-Shadow {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -820px -784px;
width: 81px;
height: 99px;
}
.Mount_Icon_BearCub-Shimmer {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -924px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_BearCub-Silver {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -924px -100px;
width: 81px;
height: 99px;
}
.Mount_Icon_BearCub-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -924px -200px;
width: 81px;
height: 99px;
}
.Mount_Icon_BearCub-Spooky {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -924px -300px;
width: 81px;
height: 99px;
}
.Mount_Icon_BearCub-StarryNight {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -924px -400px;
width: 81px;
height: 99px;
}
.Mount_Icon_BearCub-Sunshine {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -924px -500px;
width: 81px;
height: 99px;
}
.Mount_Icon_BearCub-Thunderstorm {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -924px -600px;
width: 81px;
height: 99px;
}
.Mount_Icon_BearCub-Watery {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -924px -700px;
width: 81px;
height: 99px;
}
.Mount_Icon_BearCub-White {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: 0px -884px;
width: 81px;
height: 99px;
}
.Mount_Icon_BearCub-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -82px -884px;
width: 81px;
height: 99px;
}
.Mount_Icon_Beetle-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -164px -884px;
width: 81px;
height: 99px;
}
.Mount_Icon_Beetle-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -246px -884px;
width: 81px;
height: 99px;
}
.Mount_Icon_Beetle-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -328px -884px;
width: 81px;
height: 99px;
}
.Mount_Icon_Beetle-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -410px -884px;
width: 81px;
height: 99px;
}
.Mount_Icon_Beetle-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -492px -884px;
width: 81px;
height: 99px;
}
.Mount_Icon_Beetle-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -574px -884px;
width: 81px;
height: 99px;
}
.Mount_Icon_Beetle-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -656px -884px;
width: 81px;
height: 99px;
}
.Mount_Icon_Beetle-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -738px -884px;
width: 81px;
height: 99px;
}
.Mount_Icon_Beetle-White {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -820px -884px;
width: 81px;
height: 99px;
}
.Mount_Icon_Beetle-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -902px -884px;
width: 81px;
height: 99px;
}
.Mount_Icon_Bunny-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1006px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_Bunny-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1006px -100px;
width: 81px;
height: 99px;
}
.Mount_Icon_Bunny-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1006px -200px;
width: 81px;
height: 99px;
}
.Mount_Icon_Bunny-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1006px -300px;
width: 81px;
height: 99px;
}
.Mount_Icon_Bunny-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1006px -400px;
width: 81px;
height: 99px;
}
.Mount_Icon_Bunny-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1006px -500px;
width: 81px;
height: 99px;
}
.Mount_Icon_Bunny-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1006px -600px;
width: 81px;
height: 99px;
}
.Mount_Icon_Bunny-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1006px -700px;
width: 81px;
height: 99px;
}
.Mount_Icon_Bunny-White {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1006px -800px;
width: 81px;
height: 99px;
}
.Mount_Icon_Bunny-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: 0px -984px;
width: 81px;
height: 99px;
}
.Mount_Icon_Butterfly-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -82px -984px;
width: 81px;
height: 99px;
}
.Mount_Icon_Butterfly-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -164px -984px;
width: 81px;
height: 99px;
}
.Mount_Icon_Butterfly-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -246px -984px;
width: 81px;
height: 99px;
}
.Mount_Icon_Butterfly-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -328px -984px;
width: 81px;
height: 99px;
}
.Mount_Icon_Butterfly-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -410px -984px;
width: 81px;
height: 99px;
}
.Mount_Icon_Butterfly-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -492px -984px;
width: 81px;
height: 99px;
}
.Mount_Icon_Butterfly-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -574px -984px;
width: 81px;
height: 99px;
}
.Mount_Icon_Butterfly-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -656px -984px;
width: 81px;
height: 99px;
}
.Mount_Icon_Butterfly-White {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -738px -984px;
width: 81px;
height: 99px;
}
.Mount_Icon_Butterfly-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -820px -984px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cactus-Aquatic {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -902px -984px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cactus-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -984px -984px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cactus-Bronze {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1088px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cactus-Celestial {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1088px -100px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cactus-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1088px -200px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cactus-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1088px -300px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cactus-Cupid {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1088px -400px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cactus-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1088px -500px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cactus-Ember {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1088px -600px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cactus-Fairy {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1088px -700px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cactus-Floral {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1088px -800px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cactus-Frost {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1088px -900px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cactus-Ghost {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1170px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cactus-Glass {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1170px -100px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cactus-Glow {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1170px -200px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cactus-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1170px -300px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cactus-Holly {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1170px -400px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cactus-IcySnow {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1170px -500px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cactus-Peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1170px -600px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cactus-Rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1170px -700px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cactus-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1170px -800px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cactus-RoseQuartz {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1170px -900px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cactus-RoyalPurple {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: 0px -1084px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cactus-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -82px -1084px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cactus-Shadow {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -164px -1084px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cactus-Shimmer {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -246px -1084px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cactus-Silver {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -328px -1084px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cactus-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -410px -1084px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cactus-Spooky {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -492px -1084px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cactus-StarryNight {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -574px -1084px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cactus-Sunshine {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -656px -1084px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cactus-Thunderstorm {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -738px -1084px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cactus-Watery {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -820px -1084px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cactus-White {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -902px -1084px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cactus-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -984px -1084px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cheetah-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1066px -1084px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cheetah-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1148px -1084px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cheetah-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1252px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cheetah-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1252px -100px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cheetah-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1252px -200px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cheetah-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
- background-position: -1148px -1584px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
+ background-position: -1252px -300px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cheetah-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1252px -400px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cheetah-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1252px -500px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cheetah-White {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1252px -600px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cheetah-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1252px -700px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cow-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1252px -800px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cow-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1252px -900px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cow-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1252px -1000px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cow-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: 0px -1184px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cow-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -82px -1184px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cow-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -164px -1184px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cow-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -246px -1184px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cow-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -328px -1184px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cow-White {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -410px -1184px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cow-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -492px -1184px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cuttlefish-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -574px -1184px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cuttlefish-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -656px -1184px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cuttlefish-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -738px -1184px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cuttlefish-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -820px -1184px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cuttlefish-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -902px -1184px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cuttlefish-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -984px -1184px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cuttlefish-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1066px -1184px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cuttlefish-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1148px -1184px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cuttlefish-White {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1230px -1184px;
width: 81px;
height: 99px;
}
.Mount_Icon_Cuttlefish-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1334px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_Deer-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1334px -100px;
width: 81px;
height: 99px;
}
.Mount_Icon_Deer-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1334px -200px;
width: 81px;
height: 99px;
}
.Mount_Icon_Deer-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1334px -300px;
width: 81px;
height: 99px;
}
.Mount_Icon_Deer-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1334px -400px;
width: 81px;
height: 99px;
}
.Mount_Icon_Deer-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1334px -500px;
width: 81px;
height: 99px;
}
.Mount_Icon_Deer-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1334px -600px;
width: 81px;
height: 99px;
}
.Mount_Icon_Deer-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1334px -700px;
width: 81px;
height: 99px;
}
.Mount_Icon_Deer-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1334px -800px;
width: 81px;
height: 99px;
}
.Mount_Icon_Deer-White {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1334px -900px;
width: 81px;
height: 99px;
}
.Mount_Icon_Deer-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1334px -1000px;
width: 81px;
height: 99px;
}
.Mount_Icon_Dolphin-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1334px -1100px;
width: 81px;
height: 99px;
}
.Mount_Icon_Dolphin-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: 0px -1284px;
width: 81px;
height: 99px;
}
.Mount_Icon_Dolphin-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -82px -1284px;
width: 81px;
height: 99px;
}
.Mount_Icon_Dolphin-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -164px -1284px;
width: 81px;
height: 99px;
}
.Mount_Icon_Dolphin-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -246px -1284px;
width: 81px;
height: 99px;
}
.Mount_Icon_Dolphin-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -328px -1284px;
width: 81px;
height: 99px;
}
.Mount_Icon_Dolphin-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -410px -1284px;
width: 81px;
height: 99px;
}
.Mount_Icon_Dolphin-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -492px -1284px;
width: 81px;
height: 99px;
}
.Mount_Icon_Dolphin-White {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -574px -1284px;
width: 81px;
height: 99px;
}
.Mount_Icon_Dolphin-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -656px -1284px;
width: 81px;
height: 99px;
}
.Mount_Icon_Dragon-Aquatic {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -738px -1284px;
width: 81px;
height: 99px;
}
.Mount_Icon_Dragon-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -820px -1284px;
width: 81px;
height: 99px;
}
.Mount_Icon_Dragon-Bronze {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -902px -1284px;
width: 81px;
height: 99px;
}
.Mount_Icon_Dragon-Celestial {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -984px -1284px;
width: 81px;
height: 99px;
}
.Mount_Icon_Dragon-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1066px -1284px;
width: 81px;
height: 99px;
}
.Mount_Icon_Dragon-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1148px -1284px;
width: 81px;
height: 99px;
}
.Mount_Icon_Dragon-Cupid {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1230px -1284px;
width: 81px;
height: 99px;
}
.Mount_Icon_Dragon-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1312px -1284px;
width: 81px;
height: 99px;
}
.Mount_Icon_Dragon-Ember {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1416px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_Dragon-Fairy {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1416px -100px;
width: 81px;
height: 99px;
}
.Mount_Icon_Dragon-Floral {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1416px -200px;
width: 81px;
height: 99px;
}
.Mount_Icon_Dragon-Frost {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1416px -300px;
width: 81px;
height: 99px;
}
.Mount_Icon_Dragon-Ghost {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1416px -400px;
width: 81px;
height: 99px;
}
.Mount_Icon_Dragon-Glass {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1416px -500px;
width: 81px;
height: 99px;
}
.Mount_Icon_Dragon-Glow {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1416px -600px;
width: 81px;
height: 99px;
}
.Mount_Icon_Dragon-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1416px -700px;
width: 81px;
height: 99px;
}
.Mount_Icon_Dragon-Holly {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1416px -800px;
width: 81px;
height: 99px;
}
.Mount_Icon_Dragon-IcySnow {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1416px -900px;
width: 81px;
height: 99px;
}
.Mount_Icon_Dragon-Peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1416px -1000px;
width: 81px;
height: 99px;
}
.Mount_Icon_Dragon-Rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1416px -1100px;
width: 81px;
height: 99px;
}
.Mount_Icon_Dragon-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1416px -1200px;
width: 81px;
height: 99px;
}
.Mount_Icon_Dragon-RoseQuartz {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: 0px -1384px;
width: 81px;
height: 99px;
}
.Mount_Icon_Dragon-RoyalPurple {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -82px -1384px;
width: 81px;
height: 99px;
}
.Mount_Icon_Dragon-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -164px -1384px;
width: 81px;
height: 99px;
}
.Mount_Icon_Dragon-Shadow {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -246px -1384px;
width: 81px;
height: 99px;
}
.Mount_Icon_Dragon-Shimmer {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -328px -1384px;
width: 81px;
height: 99px;
}
.Mount_Icon_Dragon-Silver {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -410px -1384px;
width: 81px;
height: 99px;
}
.Mount_Icon_Dragon-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -492px -1384px;
width: 81px;
height: 99px;
}
.Mount_Icon_Dragon-Spooky {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -574px -1384px;
width: 81px;
height: 99px;
}
.Mount_Icon_Dragon-StarryNight {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -656px -1384px;
width: 81px;
height: 99px;
}
.Mount_Icon_Dragon-Sunshine {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -738px -1384px;
width: 81px;
height: 99px;
}
.Mount_Icon_Dragon-Thunderstorm {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -820px -1384px;
width: 81px;
height: 99px;
}
.Mount_Icon_Dragon-Watery {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -902px -1384px;
width: 81px;
height: 99px;
}
.Mount_Icon_Dragon-White {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -984px -1384px;
width: 81px;
height: 99px;
}
.Mount_Icon_Dragon-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1066px -1384px;
width: 81px;
height: 99px;
}
.Mount_Icon_Egg-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1148px -1384px;
width: 81px;
height: 99px;
}
.Mount_Icon_Egg-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1230px -1384px;
width: 81px;
height: 99px;
}
.Mount_Icon_Egg-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1312px -1384px;
width: 81px;
height: 99px;
}
.Mount_Icon_Egg-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1394px -1384px;
width: 81px;
height: 99px;
}
.Mount_Icon_Egg-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1498px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_Egg-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1498px -100px;
width: 81px;
height: 99px;
}
.Mount_Icon_Egg-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1498px -200px;
width: 81px;
height: 99px;
}
.Mount_Icon_Egg-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1498px -300px;
width: 81px;
height: 99px;
}
.Mount_Icon_Egg-White {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1498px -400px;
width: 81px;
height: 99px;
}
.Mount_Icon_Egg-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1498px -500px;
width: 81px;
height: 99px;
}
.Mount_Icon_Falcon-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1498px -600px;
width: 81px;
height: 99px;
}
.Mount_Icon_Falcon-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1498px -700px;
width: 81px;
height: 99px;
}
.Mount_Icon_Falcon-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1498px -800px;
width: 81px;
height: 99px;
}
.Mount_Icon_Falcon-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1498px -900px;
width: 81px;
height: 99px;
}
.Mount_Icon_Falcon-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1498px -1000px;
width: 81px;
height: 99px;
}
.Mount_Icon_Falcon-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1498px -1100px;
width: 81px;
height: 99px;
}
.Mount_Icon_Falcon-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1498px -1200px;
width: 81px;
height: 99px;
}
.Mount_Icon_Falcon-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1498px -1300px;
width: 81px;
height: 99px;
}
.Mount_Icon_Falcon-White {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1580px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_Falcon-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1580px -100px;
width: 81px;
height: 99px;
}
.Mount_Icon_Ferret-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1580px -200px;
width: 81px;
height: 99px;
}
.Mount_Icon_Ferret-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1580px -300px;
width: 81px;
height: 99px;
}
.Mount_Icon_Ferret-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1580px -400px;
width: 81px;
height: 99px;
}
.Mount_Icon_Ferret-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1580px -500px;
width: 81px;
height: 99px;
}
.Mount_Icon_Ferret-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1580px -600px;
width: 81px;
height: 99px;
}
.Mount_Icon_Ferret-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1580px -700px;
width: 81px;
height: 99px;
}
.Mount_Icon_Ferret-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1580px -800px;
width: 81px;
height: 99px;
}
.Mount_Icon_Ferret-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1580px -900px;
width: 81px;
height: 99px;
}
.Mount_Icon_Ferret-White {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1580px -1000px;
width: 81px;
height: 99px;
}
.Mount_Icon_Ferret-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1580px -1100px;
width: 81px;
height: 99px;
}
.Mount_Icon_FlyingPig-Aquatic {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1580px -1200px;
width: 81px;
height: 99px;
}
.Mount_Icon_FlyingPig-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1580px -1300px;
width: 81px;
height: 99px;
}
.Mount_Icon_FlyingPig-Bronze {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: 0px -1484px;
width: 81px;
height: 99px;
}
.Mount_Icon_FlyingPig-Celestial {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -82px -1484px;
width: 81px;
height: 99px;
}
.Mount_Icon_FlyingPig-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -164px -1484px;
width: 81px;
height: 99px;
}
.Mount_Icon_FlyingPig-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -246px -1484px;
width: 81px;
height: 99px;
}
.Mount_Icon_FlyingPig-Cupid {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -328px -1484px;
width: 81px;
height: 99px;
}
.Mount_Icon_FlyingPig-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -410px -1484px;
width: 81px;
height: 99px;
}
.Mount_Icon_FlyingPig-Ember {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -492px -1484px;
width: 81px;
height: 99px;
}
.Mount_Icon_FlyingPig-Fairy {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -574px -1484px;
width: 81px;
height: 99px;
}
.Mount_Icon_FlyingPig-Floral {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -656px -1484px;
width: 81px;
height: 99px;
}
.Mount_Icon_FlyingPig-Frost {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -738px -1484px;
width: 81px;
height: 99px;
}
.Mount_Icon_FlyingPig-Ghost {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -820px -1484px;
width: 81px;
height: 99px;
}
.Mount_Icon_FlyingPig-Glass {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -902px -1484px;
width: 81px;
height: 99px;
}
.Mount_Icon_FlyingPig-Glow {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -984px -1484px;
width: 81px;
height: 99px;
}
.Mount_Icon_FlyingPig-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1066px -1484px;
width: 81px;
height: 99px;
}
.Mount_Icon_FlyingPig-Holly {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1148px -1484px;
width: 81px;
height: 99px;
}
.Mount_Icon_FlyingPig-IcySnow {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1230px -1484px;
width: 81px;
height: 99px;
}
.Mount_Icon_FlyingPig-Peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1312px -1484px;
width: 81px;
height: 99px;
}
.Mount_Icon_FlyingPig-Rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1394px -1484px;
width: 81px;
height: 99px;
}
.Mount_Icon_FlyingPig-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1476px -1484px;
width: 81px;
height: 99px;
}
.Mount_Icon_FlyingPig-RoseQuartz {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1558px -1484px;
width: 81px;
height: 99px;
}
.Mount_Icon_FlyingPig-RoyalPurple {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1662px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_FlyingPig-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1662px -100px;
width: 81px;
height: 99px;
}
.Mount_Icon_FlyingPig-Shadow {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1662px -200px;
width: 81px;
height: 99px;
}
.Mount_Icon_FlyingPig-Shimmer {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1662px -300px;
width: 81px;
height: 99px;
}
.Mount_Icon_FlyingPig-Silver {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1662px -400px;
width: 81px;
height: 99px;
}
.Mount_Icon_FlyingPig-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1662px -500px;
width: 81px;
height: 99px;
}
.Mount_Icon_FlyingPig-Spooky {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1662px -600px;
width: 81px;
height: 99px;
}
.Mount_Icon_FlyingPig-StarryNight {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1662px -700px;
width: 81px;
height: 99px;
}
.Mount_Icon_FlyingPig-Sunshine {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1662px -800px;
width: 81px;
height: 99px;
}
.Mount_Icon_FlyingPig-Thunderstorm {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1662px -900px;
width: 81px;
height: 99px;
}
.Mount_Icon_FlyingPig-Watery {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1662px -1000px;
width: 81px;
height: 99px;
}
.Mount_Icon_FlyingPig-White {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1662px -1100px;
width: 81px;
height: 99px;
}
.Mount_Icon_FlyingPig-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1662px -1200px;
width: 81px;
height: 99px;
}
.Mount_Icon_Fox-Aquatic {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1662px -1300px;
width: 81px;
height: 99px;
}
.Mount_Icon_Fox-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1662px -1400px;
width: 81px;
height: 99px;
}
.Mount_Icon_Fox-Bronze {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: 0px -1584px;
width: 81px;
height: 99px;
}
.Mount_Icon_Fox-Celestial {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -82px -1584px;
width: 81px;
height: 99px;
}
.Mount_Icon_Fox-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -164px -1584px;
width: 81px;
height: 99px;
}
.Mount_Icon_Fox-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -246px -1584px;
width: 81px;
height: 99px;
}
.Mount_Icon_Fox-Cupid {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -328px -1584px;
width: 81px;
height: 99px;
}
.Mount_Icon_Fox-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -410px -1584px;
width: 81px;
height: 99px;
}
.Mount_Icon_Fox-Ember {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -492px -1584px;
width: 81px;
height: 99px;
}
.Mount_Icon_Fox-Fairy {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -574px -1584px;
width: 81px;
height: 99px;
}
.Mount_Icon_Fox-Floral {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -656px -1584px;
width: 81px;
height: 99px;
}
.Mount_Icon_Fox-Frost {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -738px -1584px;
width: 81px;
height: 99px;
}
.Mount_Icon_Fox-Ghost {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -820px -1584px;
width: 81px;
height: 99px;
}
.Mount_Icon_Fox-Glass {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -902px -1584px;
width: 81px;
height: 99px;
}
.Mount_Icon_Fox-Glow {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -984px -1584px;
width: 81px;
height: 99px;
}
.Mount_Icon_Fox-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
background-position: -1066px -1584px;
width: 81px;
height: 99px;
}
.Mount_Icon_Fox-Holly {
- background-image: url('~assets/images/sprites/spritesmith-main-21.png');
- background-position: -1252px -300px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-21.png');
+ background-position: -1148px -1584px;
width: 81px;
height: 99px;
}
diff --git a/website/client/assets/css/sprites/spritesmith-main-22.css b/website/client/src/assets/css/sprites/spritesmith-main-22.css
similarity index 56%
rename from website/client/assets/css/sprites/spritesmith-main-22.css
rename to website/client/src/assets/css/sprites/spritesmith-main-22.css
index 35accb29d7..7c19383df7 100644
--- a/website/client/assets/css/sprites/spritesmith-main-22.css
+++ b/website/client/src/assets/css/sprites/spritesmith-main-22.css
@@ -1,1991 +1,1991 @@
.Mount_Icon_Fox-IcySnow {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -82px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: 0px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_Fox-Peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -82px -1100px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -82px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_Fox-Rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -164px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_Fox-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: 0px -100px;
width: 81px;
height: 99px;
}
.Mount_Icon_Fox-RoseQuartz {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -82px -100px;
width: 81px;
height: 99px;
}
.Mount_Icon_Fox-RoyalPurple {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -164px -100px;
width: 81px;
height: 99px;
}
.Mount_Icon_Fox-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -246px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_Fox-Shadow {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -246px -100px;
width: 81px;
height: 99px;
}
.Mount_Icon_Fox-Shimmer {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: 0px -200px;
width: 81px;
height: 99px;
}
.Mount_Icon_Fox-Silver {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -82px -200px;
width: 81px;
height: 99px;
}
.Mount_Icon_Fox-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -164px -200px;
width: 81px;
height: 99px;
}
.Mount_Icon_Fox-Spooky {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -246px -200px;
width: 81px;
height: 99px;
}
.Mount_Icon_Fox-StarryNight {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -328px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_Fox-Sunshine {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -328px -100px;
width: 81px;
height: 99px;
}
.Mount_Icon_Fox-Thunderstorm {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -328px -200px;
width: 81px;
height: 99px;
}
.Mount_Icon_Fox-Watery {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: 0px -300px;
width: 81px;
height: 99px;
}
.Mount_Icon_Fox-White {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -82px -300px;
width: 81px;
height: 99px;
}
.Mount_Icon_Fox-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -164px -300px;
width: 81px;
height: 99px;
}
.Mount_Icon_Frog-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -246px -300px;
width: 81px;
height: 99px;
}
.Mount_Icon_Frog-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -328px -300px;
width: 81px;
height: 99px;
}
.Mount_Icon_Frog-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -410px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_Frog-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -410px -100px;
width: 81px;
height: 99px;
}
.Mount_Icon_Frog-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -410px -200px;
width: 81px;
height: 99px;
}
.Mount_Icon_Frog-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -410px -300px;
width: 81px;
height: 99px;
}
.Mount_Icon_Frog-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -492px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_Frog-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -492px -100px;
width: 81px;
height: 99px;
}
.Mount_Icon_Frog-White {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -492px -200px;
width: 81px;
height: 99px;
}
.Mount_Icon_Frog-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -492px -300px;
width: 81px;
height: 99px;
}
.Mount_Icon_Gryphon-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: 0px -400px;
width: 81px;
height: 99px;
}
.Mount_Icon_Gryphon-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -82px -400px;
width: 81px;
height: 99px;
}
.Mount_Icon_Gryphon-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -164px -400px;
width: 81px;
height: 99px;
}
.Mount_Icon_Gryphon-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -246px -400px;
width: 81px;
height: 99px;
}
.Mount_Icon_Gryphon-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -328px -400px;
width: 81px;
height: 99px;
}
.Mount_Icon_Gryphon-Gryphatrice {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -410px -400px;
width: 81px;
height: 99px;
}
.Mount_Icon_Gryphon-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -492px -400px;
width: 81px;
height: 99px;
}
.Mount_Icon_Gryphon-RoyalPurple {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -574px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_Gryphon-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -574px -100px;
width: 81px;
height: 99px;
}
.Mount_Icon_Gryphon-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -574px -200px;
width: 81px;
height: 99px;
}
.Mount_Icon_Gryphon-White {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -574px -300px;
width: 81px;
height: 99px;
}
.Mount_Icon_Gryphon-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -574px -400px;
width: 81px;
height: 99px;
}
.Mount_Icon_GuineaPig-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: 0px -500px;
width: 81px;
height: 99px;
}
.Mount_Icon_GuineaPig-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -82px -500px;
width: 81px;
height: 99px;
}
.Mount_Icon_GuineaPig-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -164px -500px;
width: 81px;
height: 99px;
}
.Mount_Icon_GuineaPig-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -246px -500px;
width: 81px;
height: 99px;
}
.Mount_Icon_GuineaPig-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -328px -500px;
width: 81px;
height: 99px;
}
.Mount_Icon_GuineaPig-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -410px -500px;
width: 81px;
height: 99px;
}
.Mount_Icon_GuineaPig-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -492px -500px;
width: 81px;
height: 99px;
}
.Mount_Icon_GuineaPig-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -574px -500px;
width: 81px;
height: 99px;
}
.Mount_Icon_GuineaPig-White {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -656px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_GuineaPig-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -656px -100px;
width: 81px;
height: 99px;
}
.Mount_Icon_Hedgehog-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -656px -200px;
width: 81px;
height: 99px;
}
.Mount_Icon_Hedgehog-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -656px -300px;
width: 81px;
height: 99px;
}
.Mount_Icon_Hedgehog-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -656px -400px;
width: 81px;
height: 99px;
}
.Mount_Icon_Hedgehog-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -656px -500px;
width: 81px;
height: 99px;
}
.Mount_Icon_Hedgehog-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: 0px -600px;
width: 81px;
height: 99px;
}
.Mount_Icon_Hedgehog-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -82px -600px;
width: 81px;
height: 99px;
}
.Mount_Icon_Hedgehog-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -164px -600px;
width: 81px;
height: 99px;
}
.Mount_Icon_Hedgehog-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -246px -600px;
width: 81px;
height: 99px;
}
.Mount_Icon_Hedgehog-White {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -328px -600px;
width: 81px;
height: 99px;
}
.Mount_Icon_Hedgehog-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -410px -600px;
width: 81px;
height: 99px;
}
.Mount_Icon_Hippo-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -492px -600px;
width: 81px;
height: 99px;
}
.Mount_Icon_Hippo-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -574px -600px;
width: 81px;
height: 99px;
}
.Mount_Icon_Hippo-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -656px -600px;
width: 81px;
height: 99px;
}
.Mount_Icon_Hippo-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -738px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_Hippo-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -738px -100px;
width: 81px;
height: 99px;
}
.Mount_Icon_Hippo-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -738px -200px;
width: 81px;
height: 99px;
}
.Mount_Icon_Hippo-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -738px -300px;
width: 81px;
height: 99px;
}
.Mount_Icon_Hippo-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -738px -400px;
width: 81px;
height: 99px;
}
.Mount_Icon_Hippo-White {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -738px -500px;
width: 81px;
height: 99px;
}
.Mount_Icon_Hippo-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -738px -600px;
width: 81px;
height: 99px;
}
.Mount_Icon_Hippogriff-Hopeful {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: 0px -700px;
width: 81px;
height: 99px;
}
.Mount_Icon_Horse-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -82px -700px;
width: 81px;
height: 99px;
}
.Mount_Icon_Horse-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -164px -700px;
width: 81px;
height: 99px;
}
.Mount_Icon_Horse-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -246px -700px;
width: 81px;
height: 99px;
}
.Mount_Icon_Horse-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -328px -700px;
width: 81px;
height: 99px;
}
.Mount_Icon_Horse-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -410px -700px;
width: 81px;
height: 99px;
}
.Mount_Icon_Horse-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -492px -700px;
width: 81px;
height: 99px;
}
.Mount_Icon_Horse-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -574px -700px;
width: 81px;
height: 99px;
}
.Mount_Icon_Horse-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -656px -700px;
width: 81px;
height: 99px;
}
.Mount_Icon_Horse-White {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -738px -700px;
width: 81px;
height: 99px;
}
.Mount_Icon_Horse-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -820px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_JackOLantern-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -820px -200px;
width: 81px;
height: 99px;
}
.Mount_Icon_JackOLantern-Ghost {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -820px -300px;
width: 81px;
height: 99px;
}
.Mount_Icon_Jackalope-RoyalPurple {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -820px -100px;
width: 81px;
height: 99px;
}
.Mount_Icon_Kangaroo-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -820px -400px;
width: 81px;
height: 99px;
}
.Mount_Icon_Kangaroo-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -820px -500px;
width: 81px;
height: 99px;
}
.Mount_Icon_Kangaroo-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -820px -600px;
width: 81px;
height: 99px;
}
.Mount_Icon_Kangaroo-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -820px -700px;
width: 81px;
height: 99px;
}
.Mount_Icon_Kangaroo-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: 0px -800px;
width: 81px;
height: 99px;
}
.Mount_Icon_Kangaroo-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -82px -800px;
width: 81px;
height: 99px;
}
.Mount_Icon_Kangaroo-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -164px -800px;
width: 81px;
height: 99px;
}
.Mount_Icon_Kangaroo-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -246px -800px;
width: 81px;
height: 99px;
}
.Mount_Icon_Kangaroo-White {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -328px -800px;
width: 81px;
height: 99px;
}
.Mount_Icon_Kangaroo-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -410px -800px;
width: 81px;
height: 99px;
}
.Mount_Icon_LionCub-Aquatic {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -492px -800px;
width: 81px;
height: 99px;
}
.Mount_Icon_LionCub-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -574px -800px;
width: 81px;
height: 99px;
}
.Mount_Icon_LionCub-Bronze {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -656px -800px;
width: 81px;
height: 99px;
}
.Mount_Icon_LionCub-Celestial {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -738px -800px;
width: 81px;
height: 99px;
}
.Mount_Icon_LionCub-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -820px -800px;
width: 81px;
height: 99px;
}
.Mount_Icon_LionCub-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -902px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_LionCub-Cupid {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -902px -100px;
width: 81px;
height: 99px;
}
.Mount_Icon_LionCub-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -902px -200px;
width: 81px;
height: 99px;
}
.Mount_Icon_LionCub-Ember {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -902px -300px;
width: 81px;
height: 99px;
}
.Mount_Icon_LionCub-Ethereal {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -902px -400px;
width: 81px;
height: 99px;
}
.Mount_Icon_LionCub-Fairy {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -902px -500px;
width: 81px;
height: 99px;
}
.Mount_Icon_LionCub-Floral {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -902px -600px;
width: 81px;
height: 99px;
}
.Mount_Icon_LionCub-Frost {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -902px -700px;
width: 81px;
height: 99px;
}
.Mount_Icon_LionCub-Ghost {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -902px -800px;
width: 81px;
height: 99px;
}
.Mount_Icon_LionCub-Glass {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -984px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_LionCub-Glow {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -984px -100px;
width: 81px;
height: 99px;
}
.Mount_Icon_LionCub-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -984px -200px;
width: 81px;
height: 99px;
}
.Mount_Icon_LionCub-Holly {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -984px -300px;
width: 81px;
height: 99px;
}
.Mount_Icon_LionCub-IcySnow {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -984px -400px;
width: 81px;
height: 99px;
}
.Mount_Icon_LionCub-Peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -984px -500px;
width: 81px;
height: 99px;
}
.Mount_Icon_LionCub-Rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -984px -600px;
width: 81px;
height: 99px;
}
.Mount_Icon_LionCub-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -984px -700px;
width: 81px;
height: 99px;
}
.Mount_Icon_LionCub-RoseQuartz {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -984px -800px;
width: 81px;
height: 99px;
}
.Mount_Icon_LionCub-RoyalPurple {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: 0px -900px;
width: 81px;
height: 99px;
}
.Mount_Icon_LionCub-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -82px -900px;
width: 81px;
height: 99px;
}
.Mount_Icon_LionCub-Shadow {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -164px -900px;
width: 81px;
height: 99px;
}
.Mount_Icon_LionCub-Shimmer {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -246px -900px;
width: 81px;
height: 99px;
}
.Mount_Icon_LionCub-Silver {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -328px -900px;
width: 81px;
height: 99px;
}
.Mount_Icon_LionCub-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -410px -900px;
width: 81px;
height: 99px;
}
.Mount_Icon_LionCub-Spooky {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -492px -900px;
width: 81px;
height: 99px;
}
.Mount_Icon_LionCub-StarryNight {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -574px -900px;
width: 81px;
height: 99px;
}
.Mount_Icon_LionCub-Sunshine {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -656px -900px;
width: 81px;
height: 99px;
}
.Mount_Icon_LionCub-Thunderstorm {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -738px -900px;
width: 81px;
height: 99px;
}
.Mount_Icon_LionCub-Watery {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -820px -900px;
width: 81px;
height: 99px;
}
.Mount_Icon_LionCub-White {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -902px -900px;
width: 81px;
height: 99px;
}
.Mount_Icon_LionCub-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -984px -900px;
width: 81px;
height: 99px;
}
.Mount_Icon_MagicalBee-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -1066px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_Mammoth-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1640px -1087px;
- width: 78px;
- height: 86px;
-}
-.Mount_Icon_MantisShrimp-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1066px -200px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Monkey-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1066px -300px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Monkey-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1066px -400px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Monkey-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1066px -500px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Monkey-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1066px -600px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Monkey-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1066px -700px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Monkey-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1066px -800px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Monkey-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1066px -900px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Monkey-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: 0px -1000px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Monkey-White {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -82px -1000px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Monkey-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -164px -1000px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Nudibranch-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -246px -1000px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Nudibranch-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -328px -1000px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Nudibranch-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -410px -1000px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Nudibranch-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -492px -1000px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Nudibranch-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -574px -1000px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Nudibranch-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -656px -1000px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Nudibranch-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -738px -1000px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Nudibranch-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -820px -1000px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Nudibranch-White {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -902px -1000px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Nudibranch-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -984px -1000px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Octopus-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1066px -1000px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Octopus-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1148px 0px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Octopus-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1148px -100px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Octopus-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1148px -200px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Octopus-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1148px -300px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Octopus-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1148px -400px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Octopus-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1148px -500px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Octopus-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1148px -600px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Octopus-White {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1148px -700px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Octopus-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1148px -800px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Orca-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -1640px -1000px;
width: 78px;
height: 86px;
}
-.Mount_Icon_Owl-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1148px -1000px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Owl-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: 0px -1100px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Owl-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: 0px 0px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Owl-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -164px -1100px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Owl-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -246px -1100px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Owl-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -328px -1100px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Owl-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -410px -1100px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Owl-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -492px -1100px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Owl-White {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -574px -1100px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Owl-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -656px -1100px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_PandaCub-Aquatic {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -738px -1100px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_PandaCub-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -820px -1100px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_PandaCub-Bronze {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -902px -1100px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_PandaCub-Celestial {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -984px -1100px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_PandaCub-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1066px -1100px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_PandaCub-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1148px -1100px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_PandaCub-Cupid {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1230px 0px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_PandaCub-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1230px -100px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_PandaCub-Ember {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1230px -200px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_PandaCub-Fairy {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1230px -300px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_PandaCub-Floral {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1230px -400px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_PandaCub-Frost {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1230px -500px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_PandaCub-Ghost {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1230px -600px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_PandaCub-Glass {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1230px -700px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_PandaCub-Glow {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1230px -800px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_PandaCub-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1230px -900px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_PandaCub-Holly {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1230px -1000px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_PandaCub-IcySnow {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1230px -1100px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_PandaCub-Peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: 0px -1200px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_PandaCub-Rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -82px -1200px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_PandaCub-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -164px -1200px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_PandaCub-RoseQuartz {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -246px -1200px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_PandaCub-RoyalPurple {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -328px -1200px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_PandaCub-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -410px -1200px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_PandaCub-Shadow {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -492px -1200px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_PandaCub-Shimmer {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -574px -1200px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_PandaCub-Silver {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -656px -1200px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_PandaCub-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -738px -1200px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_PandaCub-Spooky {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -820px -1200px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_PandaCub-StarryNight {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -902px -1200px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_PandaCub-Sunshine {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -984px -1200px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_PandaCub-Thunderstorm {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1066px -1200px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_PandaCub-Watery {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1148px -1200px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_PandaCub-White {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1230px -1200px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_PandaCub-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1312px 0px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Parrot-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1312px -100px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Parrot-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1312px -200px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Parrot-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1312px -300px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Parrot-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1312px -400px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Parrot-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1312px -500px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Parrot-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1312px -600px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Parrot-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1312px -700px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Parrot-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1312px -800px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Parrot-White {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1312px -900px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Parrot-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1312px -1000px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Peacock-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1312px -1100px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Peacock-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1312px -1200px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Peacock-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1394px 0px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Peacock-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1394px -100px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Peacock-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1394px -200px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Peacock-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1394px -300px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Peacock-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1394px -400px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Peacock-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1394px -500px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Peacock-White {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1394px -600px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Peacock-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1394px -700px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Penguin-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1394px -800px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Penguin-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1394px -900px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Penguin-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1394px -1000px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Penguin-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1394px -1100px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Penguin-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1394px -1200px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Penguin-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: 0px -1300px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Penguin-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -82px -1300px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Penguin-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -164px -1300px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Penguin-White {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -246px -1300px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Penguin-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -328px -1300px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Phoenix-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -410px -1300px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Pterodactyl-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -492px -1300px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Pterodactyl-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -574px -1300px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Pterodactyl-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -656px -1300px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Pterodactyl-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -738px -1300px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Pterodactyl-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -820px -1300px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Pterodactyl-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -902px -1300px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Pterodactyl-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -984px -1300px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Pterodactyl-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1066px -1300px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Pterodactyl-White {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1148px -1300px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Pterodactyl-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1230px -1300px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Rat-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1312px -1300px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Rat-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1394px -1300px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Rat-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1476px 0px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Rat-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1476px -100px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Rat-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1476px -200px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Rat-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1476px -300px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Rat-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1476px -400px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Rat-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1476px -500px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Rat-White {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1476px -600px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Rat-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1476px -700px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Robot-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1476px -800px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Robot-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1476px -900px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Robot-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1476px -1000px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Robot-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1476px -1100px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Robot-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1476px -1200px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Robot-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1476px -1300px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Robot-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: 0px -1400px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Robot-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -82px -1400px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Robot-White {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -164px -1400px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Robot-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -246px -1400px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Rock-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -328px -1400px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Rock-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -410px -1400px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Rock-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -492px -1400px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Rock-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -574px -1400px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Rock-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -656px -1400px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Rock-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -738px -1400px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Rock-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -820px -1400px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Rock-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -902px -1400px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Rock-White {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -984px -1400px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Rock-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1066px -1400px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Rooster-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1148px -1400px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Rooster-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1230px -1400px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Rooster-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1312px -1400px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Rooster-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1394px -1400px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Rooster-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1476px -1400px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Rooster-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1558px 0px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Rooster-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1558px -100px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Rooster-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1558px -200px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Rooster-White {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1558px -300px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Rooster-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1558px -400px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Sabretooth-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1558px -500px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Sabretooth-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1558px -600px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Sabretooth-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1558px -700px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Sabretooth-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1558px -800px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Sabretooth-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1558px -900px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Sabretooth-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1558px -1000px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Sabretooth-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1558px -1100px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Sabretooth-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1558px -1200px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Sabretooth-White {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1558px -1300px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Sabretooth-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1558px -1400px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_SeaSerpent-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -820px -1500px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_SeaSerpent-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -902px -1500px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_SeaSerpent-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -984px -1500px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_SeaSerpent-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1066px -1500px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_SeaSerpent-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1148px -1500px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_SeaSerpent-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1230px -1500px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_SeaSerpent-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1312px -1500px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_SeaSerpent-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1394px -1500px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_SeaSerpent-White {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1476px -1500px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_SeaSerpent-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1558px -1500px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Seahorse-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: 0px -1500px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Seahorse-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -82px -1500px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Seahorse-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -164px -1500px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Seahorse-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -246px -1500px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Seahorse-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -328px -1500px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Seahorse-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -410px -1500px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Seahorse-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -492px -1500px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Seahorse-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -574px -1500px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Seahorse-White {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -656px -1500px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Seahorse-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -738px -1500px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Sheep-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1640px 0px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Sheep-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1640px -100px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Sheep-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1640px -200px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Sheep-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1640px -300px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Sheep-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1640px -400px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Sheep-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1640px -500px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Sheep-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1640px -600px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Sheep-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1640px -700px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Sheep-White {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1640px -800px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Sheep-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
- background-position: -1148px -900px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Slime-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+.Mount_Icon_MantisShrimp-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -1066px -100px;
width: 81px;
height: 99px;
}
+.Mount_Icon_Monkey-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1066px -200px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Monkey-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1066px -300px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Monkey-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1066px -400px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Monkey-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1066px -500px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Monkey-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1066px -600px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Monkey-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1066px -700px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Monkey-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1066px -800px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Monkey-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1066px -900px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Monkey-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: 0px -1000px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Monkey-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -82px -1000px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Nudibranch-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -164px -1000px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Nudibranch-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -246px -1000px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Nudibranch-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -328px -1000px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Nudibranch-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -410px -1000px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Nudibranch-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -492px -1000px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Nudibranch-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -574px -1000px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Nudibranch-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -656px -1000px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Nudibranch-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -738px -1000px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Nudibranch-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -820px -1000px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Nudibranch-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -902px -1000px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Octopus-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -984px -1000px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Octopus-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1066px -1000px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Octopus-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1148px 0px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Octopus-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1148px -100px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Octopus-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1148px -200px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Octopus-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1148px -300px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Octopus-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1148px -400px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Octopus-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1148px -500px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Octopus-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1148px -600px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Octopus-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1148px -700px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Orca-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1640px -1087px;
+ width: 78px;
+ height: 86px;
+}
+.Mount_Icon_Owl-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1148px -800px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Owl-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1148px -900px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Owl-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1148px -1000px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Owl-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: 0px -1100px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Owl-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -82px -1100px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Owl-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -164px -1100px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Owl-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -246px -1100px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Owl-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -328px -1100px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Owl-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -410px -1100px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Owl-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -492px -1100px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_PandaCub-Aquatic {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -574px -1100px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_PandaCub-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -656px -1100px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_PandaCub-Bronze {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -738px -1100px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_PandaCub-Celestial {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -820px -1100px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_PandaCub-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -902px -1100px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_PandaCub-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -984px -1100px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_PandaCub-Cupid {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1066px -1100px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_PandaCub-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1148px -1100px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_PandaCub-Ember {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1230px 0px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_PandaCub-Fairy {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1230px -100px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_PandaCub-Floral {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1230px -200px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_PandaCub-Frost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1230px -300px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_PandaCub-Ghost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1230px -400px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_PandaCub-Glass {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1230px -500px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_PandaCub-Glow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1230px -600px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_PandaCub-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1230px -700px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_PandaCub-Holly {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1230px -800px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_PandaCub-IcySnow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1230px -900px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_PandaCub-Peppermint {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1230px -1000px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_PandaCub-Rainbow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1230px -1100px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_PandaCub-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: 0px -1200px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_PandaCub-RoseQuartz {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -82px -1200px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_PandaCub-RoyalPurple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -164px -1200px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_PandaCub-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -246px -1200px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_PandaCub-Shadow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -328px -1200px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_PandaCub-Shimmer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -410px -1200px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_PandaCub-Silver {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -492px -1200px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_PandaCub-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -574px -1200px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_PandaCub-Spooky {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -656px -1200px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_PandaCub-StarryNight {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -738px -1200px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_PandaCub-Sunshine {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -820px -1200px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_PandaCub-Thunderstorm {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -902px -1200px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_PandaCub-Watery {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -984px -1200px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_PandaCub-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1066px -1200px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_PandaCub-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1148px -1200px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Parrot-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1230px -1200px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Parrot-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1312px 0px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Parrot-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1312px -100px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Parrot-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1312px -200px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Parrot-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1312px -300px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Parrot-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1312px -400px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Parrot-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1312px -500px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Parrot-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1312px -600px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Parrot-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1312px -700px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Parrot-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1312px -800px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Peacock-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1312px -900px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Peacock-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1312px -1000px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Peacock-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1312px -1100px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Peacock-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1312px -1200px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Peacock-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1394px 0px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Peacock-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1394px -100px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Peacock-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1394px -200px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Peacock-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1394px -300px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Peacock-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1394px -400px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Peacock-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1394px -500px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Penguin-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1394px -600px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Penguin-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1394px -700px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Penguin-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1394px -800px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Penguin-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1394px -900px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Penguin-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1394px -1000px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Penguin-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1394px -1100px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Penguin-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1394px -1200px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Penguin-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: 0px -1300px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Penguin-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -82px -1300px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Penguin-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -164px -1300px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Phoenix-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -246px -1300px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Pterodactyl-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -328px -1300px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Pterodactyl-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -410px -1300px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Pterodactyl-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -492px -1300px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Pterodactyl-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -574px -1300px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Pterodactyl-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -656px -1300px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Pterodactyl-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -738px -1300px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Pterodactyl-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -820px -1300px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Pterodactyl-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -902px -1300px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Pterodactyl-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -984px -1300px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Pterodactyl-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1066px -1300px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Rat-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1148px -1300px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Rat-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1230px -1300px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Rat-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1312px -1300px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Rat-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1394px -1300px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Rat-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1476px 0px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Rat-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1476px -100px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Rat-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1476px -200px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Rat-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1476px -300px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Rat-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1476px -400px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Rat-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1476px -500px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Robot-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1476px -600px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Robot-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1476px -700px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Robot-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1476px -800px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Robot-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1476px -900px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Robot-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1476px -1000px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Robot-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1476px -1100px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Robot-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1476px -1200px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Robot-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1476px -1300px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Robot-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: 0px -1400px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Robot-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -82px -1400px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Rock-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -164px -1400px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Rock-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -246px -1400px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Rock-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -328px -1400px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Rock-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -410px -1400px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Rock-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -492px -1400px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Rock-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -574px -1400px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Rock-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -656px -1400px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Rock-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -738px -1400px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Rock-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -820px -1400px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Rock-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -902px -1400px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Rooster-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -984px -1400px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Rooster-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1066px -1400px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Rooster-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1148px -1400px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Rooster-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1230px -1400px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Rooster-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1312px -1400px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Rooster-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1394px -1400px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Rooster-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1476px -1400px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Rooster-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1558px 0px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Rooster-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1558px -100px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Rooster-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1558px -200px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Sabretooth-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1558px -300px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Sabretooth-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1558px -400px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Sabretooth-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1558px -500px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Sabretooth-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1558px -600px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Sabretooth-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1558px -700px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Sabretooth-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1558px -800px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Sabretooth-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1558px -900px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Sabretooth-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1558px -1000px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Sabretooth-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1558px -1100px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Sabretooth-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1558px -1200px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_SeaSerpent-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -656px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_SeaSerpent-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -738px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_SeaSerpent-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -820px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_SeaSerpent-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -902px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_SeaSerpent-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -984px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_SeaSerpent-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1066px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_SeaSerpent-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1148px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_SeaSerpent-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1230px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_SeaSerpent-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1312px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_SeaSerpent-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1394px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Seahorse-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1558px -1300px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Seahorse-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1558px -1400px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Seahorse-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: 0px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Seahorse-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -82px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Seahorse-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -164px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Seahorse-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -246px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Seahorse-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -328px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Seahorse-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -410px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Seahorse-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -492px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Seahorse-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -574px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Sheep-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1476px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Sheep-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1558px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Sheep-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1640px 0px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Sheep-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1640px -100px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Sheep-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1640px -200px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Sheep-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1640px -300px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Sheep-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1640px -400px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Sheep-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1640px -500px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Sheep-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1640px -600px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Sheep-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1640px -700px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Slime-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
+ background-position: -1640px -800px;
+ width: 81px;
+ height: 99px;
+}
.Mount_Icon_Slime-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-22.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-22.png');
background-position: -1640px -900px;
width: 81px;
height: 99px;
diff --git a/website/client/assets/css/sprites/spritesmith-main-23.css b/website/client/src/assets/css/sprites/spritesmith-main-23.css
similarity index 56%
rename from website/client/assets/css/sprites/spritesmith-main-23.css
rename to website/client/src/assets/css/sprites/spritesmith-main-23.css
index 2554032eac..f2f3b93e75 100644
--- a/website/client/assets/css/sprites/spritesmith-main-23.css
+++ b/website/client/src/assets/css/sprites/spritesmith-main-23.css
@@ -1,2003 +1,2003 @@
.Mount_Icon_Slime-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -82px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: 0px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_Slime-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -164px -1100px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -82px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_Slime-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -164px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_Slime-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: 0px -100px;
width: 81px;
height: 99px;
}
.Mount_Icon_Slime-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -82px -100px;
width: 81px;
height: 99px;
}
.Mount_Icon_Slime-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -164px -100px;
width: 81px;
height: 99px;
}
.Mount_Icon_Slime-White {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -246px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_Slime-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -246px -100px;
width: 81px;
height: 99px;
}
.Mount_Icon_Sloth-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: 0px -200px;
width: 81px;
height: 99px;
}
.Mount_Icon_Sloth-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -82px -200px;
width: 81px;
height: 99px;
}
.Mount_Icon_Sloth-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -164px -200px;
width: 81px;
height: 99px;
}
.Mount_Icon_Sloth-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -246px -200px;
width: 81px;
height: 99px;
}
.Mount_Icon_Sloth-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -328px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_Sloth-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -328px -100px;
width: 81px;
height: 99px;
}
.Mount_Icon_Sloth-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -328px -200px;
width: 81px;
height: 99px;
}
.Mount_Icon_Sloth-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: 0px -300px;
width: 81px;
height: 99px;
}
.Mount_Icon_Sloth-White {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -82px -300px;
width: 81px;
height: 99px;
}
.Mount_Icon_Sloth-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -164px -300px;
width: 81px;
height: 99px;
}
.Mount_Icon_Snail-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -246px -300px;
width: 81px;
height: 99px;
}
.Mount_Icon_Snail-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -328px -300px;
width: 81px;
height: 99px;
}
.Mount_Icon_Snail-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -410px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_Snail-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -410px -100px;
width: 81px;
height: 99px;
}
.Mount_Icon_Snail-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -410px -200px;
width: 81px;
height: 99px;
}
.Mount_Icon_Snail-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -410px -300px;
width: 81px;
height: 99px;
}
.Mount_Icon_Snail-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -492px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_Snail-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -492px -100px;
width: 81px;
height: 99px;
}
.Mount_Icon_Snail-White {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -492px -200px;
width: 81px;
height: 99px;
}
.Mount_Icon_Snail-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -492px -300px;
width: 81px;
height: 99px;
}
.Mount_Icon_Snake-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: 0px -400px;
width: 81px;
height: 99px;
}
.Mount_Icon_Snake-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -82px -400px;
width: 81px;
height: 99px;
}
.Mount_Icon_Snake-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -164px -400px;
width: 81px;
height: 99px;
}
.Mount_Icon_Snake-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -246px -400px;
width: 81px;
height: 99px;
}
.Mount_Icon_Snake-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -328px -400px;
width: 81px;
height: 99px;
}
.Mount_Icon_Snake-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -410px -400px;
width: 81px;
height: 99px;
}
.Mount_Icon_Snake-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -492px -400px;
width: 81px;
height: 99px;
}
.Mount_Icon_Snake-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -574px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_Snake-White {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -574px -100px;
width: 81px;
height: 99px;
}
.Mount_Icon_Snake-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -574px -200px;
width: 81px;
height: 99px;
}
.Mount_Icon_Spider-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -574px -300px;
width: 81px;
height: 99px;
}
.Mount_Icon_Spider-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -574px -400px;
width: 81px;
height: 99px;
}
.Mount_Icon_Spider-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: 0px -500px;
width: 81px;
height: 99px;
}
.Mount_Icon_Spider-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -82px -500px;
width: 81px;
height: 99px;
}
.Mount_Icon_Spider-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -164px -500px;
width: 81px;
height: 99px;
}
.Mount_Icon_Spider-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -246px -500px;
width: 81px;
height: 99px;
}
.Mount_Icon_Spider-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -328px -500px;
width: 81px;
height: 99px;
}
.Mount_Icon_Spider-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -410px -500px;
width: 81px;
height: 99px;
}
.Mount_Icon_Spider-White {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -492px -500px;
width: 81px;
height: 99px;
}
.Mount_Icon_Spider-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -574px -500px;
width: 81px;
height: 99px;
}
.Mount_Icon_Squirrel-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -656px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_Squirrel-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -656px -100px;
width: 81px;
height: 99px;
}
.Mount_Icon_Squirrel-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -656px -200px;
width: 81px;
height: 99px;
}
.Mount_Icon_Squirrel-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -656px -300px;
width: 81px;
height: 99px;
}
.Mount_Icon_Squirrel-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -656px -400px;
width: 81px;
height: 99px;
}
.Mount_Icon_Squirrel-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -656px -500px;
width: 81px;
height: 99px;
}
.Mount_Icon_Squirrel-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: 0px -600px;
width: 81px;
height: 99px;
}
.Mount_Icon_Squirrel-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -82px -600px;
width: 81px;
height: 99px;
}
.Mount_Icon_Squirrel-White {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -164px -600px;
width: 81px;
height: 99px;
}
.Mount_Icon_Squirrel-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -246px -600px;
width: 81px;
height: 99px;
}
.Mount_Icon_TRex-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -902px -400px;
width: 81px;
height: 99px;
}
.Mount_Icon_TRex-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -902px -500px;
width: 81px;
height: 99px;
}
.Mount_Icon_TRex-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -902px -600px;
width: 81px;
height: 99px;
}
.Mount_Icon_TRex-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -902px -700px;
width: 81px;
height: 99px;
}
.Mount_Icon_TRex-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -902px -800px;
width: 81px;
height: 99px;
}
.Mount_Icon_TRex-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -984px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_TRex-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -984px -100px;
width: 81px;
height: 99px;
}
.Mount_Icon_TRex-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -984px -200px;
width: 81px;
height: 99px;
}
.Mount_Icon_TRex-White {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -984px -300px;
width: 81px;
height: 99px;
}
.Mount_Icon_TRex-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -984px -400px;
width: 81px;
height: 99px;
}
.Mount_Icon_TigerCub-Aquatic {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -328px -600px;
width: 81px;
height: 99px;
}
.Mount_Icon_TigerCub-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -410px -600px;
width: 81px;
height: 99px;
}
.Mount_Icon_TigerCub-Bronze {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -492px -600px;
width: 81px;
height: 99px;
}
.Mount_Icon_TigerCub-Celestial {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -574px -600px;
width: 81px;
height: 99px;
}
.Mount_Icon_TigerCub-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -656px -600px;
width: 81px;
height: 99px;
}
.Mount_Icon_TigerCub-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -738px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_TigerCub-Cupid {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -738px -100px;
width: 81px;
height: 99px;
}
.Mount_Icon_TigerCub-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -738px -200px;
width: 81px;
height: 99px;
}
.Mount_Icon_TigerCub-Ember {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -738px -300px;
width: 81px;
height: 99px;
}
.Mount_Icon_TigerCub-Fairy {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -738px -400px;
width: 81px;
height: 99px;
}
.Mount_Icon_TigerCub-Floral {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -738px -500px;
width: 81px;
height: 99px;
}
.Mount_Icon_TigerCub-Frost {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -738px -600px;
width: 81px;
height: 99px;
}
.Mount_Icon_TigerCub-Ghost {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: 0px -700px;
width: 81px;
height: 99px;
}
.Mount_Icon_TigerCub-Glass {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -82px -700px;
width: 81px;
height: 99px;
}
.Mount_Icon_TigerCub-Glow {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -164px -700px;
width: 81px;
height: 99px;
}
.Mount_Icon_TigerCub-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -246px -700px;
width: 81px;
height: 99px;
}
.Mount_Icon_TigerCub-Holly {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -328px -700px;
width: 81px;
height: 99px;
}
.Mount_Icon_TigerCub-IcySnow {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -410px -700px;
width: 81px;
height: 99px;
}
.Mount_Icon_TigerCub-Peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -492px -700px;
width: 81px;
height: 99px;
}
.Mount_Icon_TigerCub-Rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -574px -700px;
width: 81px;
height: 99px;
}
.Mount_Icon_TigerCub-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -656px -700px;
width: 81px;
height: 99px;
}
.Mount_Icon_TigerCub-RoseQuartz {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -738px -700px;
width: 81px;
height: 99px;
}
.Mount_Icon_TigerCub-RoyalPurple {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -820px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_TigerCub-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -820px -100px;
width: 81px;
height: 99px;
}
.Mount_Icon_TigerCub-Shadow {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -820px -200px;
width: 81px;
height: 99px;
}
.Mount_Icon_TigerCub-Shimmer {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -820px -300px;
width: 81px;
height: 99px;
}
.Mount_Icon_TigerCub-Silver {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -820px -400px;
width: 81px;
height: 99px;
}
.Mount_Icon_TigerCub-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -820px -500px;
width: 81px;
height: 99px;
}
.Mount_Icon_TigerCub-Spooky {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -820px -600px;
width: 81px;
height: 99px;
}
.Mount_Icon_TigerCub-StarryNight {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -820px -700px;
width: 81px;
height: 99px;
}
.Mount_Icon_TigerCub-Sunshine {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: 0px -800px;
width: 81px;
height: 99px;
}
.Mount_Icon_TigerCub-Thunderstorm {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -82px -800px;
width: 81px;
height: 99px;
}
.Mount_Icon_TigerCub-Watery {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -164px -800px;
width: 81px;
height: 99px;
}
.Mount_Icon_TigerCub-White {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -246px -800px;
width: 81px;
height: 99px;
}
.Mount_Icon_TigerCub-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -328px -800px;
width: 81px;
height: 99px;
}
.Mount_Icon_Treeling-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -410px -800px;
width: 81px;
height: 99px;
}
.Mount_Icon_Treeling-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -492px -800px;
width: 81px;
height: 99px;
}
.Mount_Icon_Treeling-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -574px -800px;
width: 81px;
height: 99px;
}
.Mount_Icon_Treeling-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -656px -800px;
width: 81px;
height: 99px;
}
.Mount_Icon_Treeling-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -738px -800px;
width: 81px;
height: 99px;
}
.Mount_Icon_Treeling-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -820px -800px;
width: 81px;
height: 99px;
}
.Mount_Icon_Treeling-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -902px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_Treeling-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -902px -100px;
width: 81px;
height: 99px;
}
.Mount_Icon_Treeling-White {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -902px -200px;
width: 81px;
height: 99px;
}
.Mount_Icon_Treeling-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -902px -300px;
width: 81px;
height: 99px;
}
.Mount_Icon_Triceratops-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -984px -500px;
width: 81px;
height: 99px;
}
.Mount_Icon_Triceratops-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -984px -600px;
width: 81px;
height: 99px;
}
.Mount_Icon_Triceratops-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -984px -700px;
width: 81px;
height: 99px;
}
.Mount_Icon_Triceratops-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -984px -800px;
width: 81px;
height: 99px;
}
.Mount_Icon_Triceratops-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: 0px -900px;
width: 81px;
height: 99px;
}
.Mount_Icon_Triceratops-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -82px -900px;
width: 81px;
height: 99px;
}
.Mount_Icon_Triceratops-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -164px -900px;
width: 81px;
height: 99px;
}
.Mount_Icon_Triceratops-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -246px -900px;
width: 81px;
height: 99px;
}
.Mount_Icon_Triceratops-White {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -328px -900px;
width: 81px;
height: 99px;
}
.Mount_Icon_Triceratops-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -410px -900px;
width: 81px;
height: 99px;
}
.Mount_Icon_Turkey-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -492px -900px;
width: 81px;
height: 99px;
}
.Mount_Icon_Turkey-Gilded {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -574px -900px;
width: 81px;
height: 99px;
}
.Mount_Icon_Turtle-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -656px -900px;
width: 81px;
height: 99px;
}
.Mount_Icon_Turtle-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -738px -900px;
width: 81px;
height: 99px;
}
.Mount_Icon_Turtle-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -820px -900px;
width: 81px;
height: 99px;
}
.Mount_Icon_Turtle-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -902px -900px;
width: 81px;
height: 99px;
}
.Mount_Icon_Turtle-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -984px -900px;
width: 81px;
height: 99px;
}
.Mount_Icon_Turtle-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -1066px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_Turtle-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -1066px -100px;
width: 81px;
height: 99px;
}
.Mount_Icon_Turtle-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -1066px -200px;
width: 81px;
height: 99px;
}
.Mount_Icon_Turtle-White {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -1066px -300px;
width: 81px;
height: 99px;
}
.Mount_Icon_Turtle-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -1066px -400px;
width: 81px;
height: 99px;
}
.Mount_Icon_Unicorn-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -1066px -500px;
width: 81px;
height: 99px;
}
.Mount_Icon_Unicorn-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -1066px -600px;
width: 81px;
height: 99px;
}
.Mount_Icon_Unicorn-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -1066px -700px;
width: 81px;
height: 99px;
}
.Mount_Icon_Unicorn-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -1066px -800px;
width: 81px;
height: 99px;
}
.Mount_Icon_Unicorn-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -1066px -900px;
width: 81px;
height: 99px;
}
.Mount_Icon_Unicorn-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: 0px -1000px;
width: 81px;
height: 99px;
}
.Mount_Icon_Unicorn-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -82px -1000px;
width: 81px;
height: 99px;
}
.Mount_Icon_Unicorn-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -164px -1000px;
width: 81px;
height: 99px;
}
.Mount_Icon_Unicorn-White {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -246px -1000px;
width: 81px;
height: 99px;
}
.Mount_Icon_Unicorn-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -328px -1000px;
width: 81px;
height: 99px;
}
.Mount_Icon_Velociraptor-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -410px -1000px;
width: 81px;
height: 99px;
}
.Mount_Icon_Velociraptor-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -492px -1000px;
width: 81px;
height: 99px;
}
.Mount_Icon_Velociraptor-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -574px -1000px;
width: 81px;
height: 99px;
}
.Mount_Icon_Velociraptor-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -656px -1000px;
width: 81px;
height: 99px;
}
.Mount_Icon_Velociraptor-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -738px -1000px;
width: 81px;
height: 99px;
}
.Mount_Icon_Velociraptor-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -820px -1000px;
width: 81px;
height: 99px;
}
.Mount_Icon_Velociraptor-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -902px -1000px;
width: 81px;
height: 99px;
}
.Mount_Icon_Velociraptor-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -984px -1000px;
width: 81px;
height: 99px;
}
.Mount_Icon_Velociraptor-White {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -1066px -1000px;
width: 81px;
height: 99px;
}
.Mount_Icon_Velociraptor-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -1148px 0px;
width: 81px;
height: 99px;
}
.Mount_Icon_Whale-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1640px -1096px;
- width: 78px;
- height: 86px;
-}
-.Mount_Icon_Whale-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1640px -1009px;
- width: 78px;
- height: 86px;
-}
-.Mount_Icon_Whale-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1640px -922px;
- width: 78px;
- height: 86px;
-}
-.Mount_Icon_Whale-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1640px -835px;
- width: 78px;
- height: 86px;
-}
-.Mount_Icon_Whale-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1640px -1183px;
- width: 78px;
- height: 86px;
-}
-.Mount_Icon_Whale-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1640px -661px;
- width: 78px;
- height: 86px;
-}
-.Mount_Icon_Whale-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1640px -574px;
- width: 78px;
- height: 86px;
-}
-.Mount_Icon_Whale-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1640px -487px;
- width: 78px;
- height: 86px;
-}
-.Mount_Icon_Whale-White {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1640px -748px;
- width: 78px;
- height: 86px;
-}
-.Mount_Icon_Whale-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -1640px -400px;
width: 78px;
height: 86px;
}
+.Mount_Icon_Whale-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1640px -487px;
+ width: 78px;
+ height: 86px;
+}
+.Mount_Icon_Whale-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1640px -574px;
+ width: 78px;
+ height: 86px;
+}
+.Mount_Icon_Whale-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1640px -661px;
+ width: 78px;
+ height: 86px;
+}
+.Mount_Icon_Whale-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1640px -748px;
+ width: 78px;
+ height: 86px;
+}
+.Mount_Icon_Whale-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1640px -835px;
+ width: 78px;
+ height: 86px;
+}
+.Mount_Icon_Whale-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1640px -922px;
+ width: 78px;
+ height: 86px;
+}
+.Mount_Icon_Whale-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1640px -1009px;
+ width: 78px;
+ height: 86px;
+}
+.Mount_Icon_Whale-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1640px -1096px;
+ width: 78px;
+ height: 86px;
+}
+.Mount_Icon_Whale-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1640px -1183px;
+ width: 78px;
+ height: 86px;
+}
.Mount_Icon_Wolf-Aquatic {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: 0px -1100px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Wolf-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -82px -1100px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Wolf-Bronze {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: 0px 0px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Wolf-Celestial {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -246px -1100px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Wolf-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -328px -1100px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Wolf-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -410px -1100px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Wolf-Cupid {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -492px -1100px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Wolf-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -574px -1100px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Wolf-Ember {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -656px -1100px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Wolf-Fairy {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -738px -1100px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Wolf-Floral {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -820px -1100px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Wolf-Frost {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -902px -1100px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Wolf-Ghost {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -984px -1100px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Wolf-Glass {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1066px -1100px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Wolf-Glow {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1148px -1100px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Wolf-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1230px 0px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Wolf-Holly {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1230px -100px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Wolf-IcySnow {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1230px -200px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Wolf-Peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1230px -300px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Wolf-Rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1230px -400px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Wolf-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1230px -500px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Wolf-RoseQuartz {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1230px -600px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Wolf-RoyalPurple {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1230px -700px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Wolf-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1230px -800px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Wolf-Shadow {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1230px -900px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Wolf-Shimmer {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1230px -1000px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Wolf-Silver {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1230px -1100px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Wolf-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: 0px -1200px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Wolf-Spooky {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -82px -1200px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Wolf-StarryNight {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -164px -1200px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Wolf-Sunshine {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -246px -1200px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Wolf-Thunderstorm {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -328px -1200px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Wolf-Watery {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -410px -1200px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Wolf-White {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -492px -1200px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Wolf-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -574px -1200px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Yarn-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -656px -1200px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Yarn-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -738px -1200px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Yarn-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -820px -1200px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Yarn-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -902px -1200px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Yarn-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -984px -1200px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Yarn-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1066px -1200px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Yarn-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1148px -1200px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Yarn-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1230px -1200px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Yarn-White {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1312px 0px;
- width: 81px;
- height: 99px;
-}
-.Mount_Icon_Yarn-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1312px -100px;
- width: 81px;
- height: 99px;
-}
-.Pet-Alligator-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1312px -200px;
- width: 81px;
- height: 99px;
-}
-.Pet-Alligator-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1312px -300px;
- width: 81px;
- height: 99px;
-}
-.Pet-Alligator-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1312px -400px;
- width: 81px;
- height: 99px;
-}
-.Pet-Alligator-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1312px -500px;
- width: 81px;
- height: 99px;
-}
-.Pet-Alligator-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1312px -600px;
- width: 81px;
- height: 99px;
-}
-.Pet-Alligator-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1312px -700px;
- width: 81px;
- height: 99px;
-}
-.Pet-Alligator-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1312px -800px;
- width: 81px;
- height: 99px;
-}
-.Pet-Alligator-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1312px -900px;
- width: 81px;
- height: 99px;
-}
-.Pet-Alligator-White {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1312px -1000px;
- width: 81px;
- height: 99px;
-}
-.Pet-Alligator-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1312px -1100px;
- width: 81px;
- height: 99px;
-}
-.Pet-Armadillo-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1312px -1200px;
- width: 81px;
- height: 99px;
-}
-.Pet-Armadillo-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1394px 0px;
- width: 81px;
- height: 99px;
-}
-.Pet-Armadillo-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1394px -100px;
- width: 81px;
- height: 99px;
-}
-.Pet-Armadillo-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1394px -200px;
- width: 81px;
- height: 99px;
-}
-.Pet-Armadillo-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1394px -300px;
- width: 81px;
- height: 99px;
-}
-.Pet-Armadillo-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1394px -400px;
- width: 81px;
- height: 99px;
-}
-.Pet-Armadillo-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1394px -500px;
- width: 81px;
- height: 99px;
-}
-.Pet-Armadillo-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1394px -600px;
- width: 81px;
- height: 99px;
-}
-.Pet-Armadillo-White {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1394px -700px;
- width: 81px;
- height: 99px;
-}
-.Pet-Armadillo-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1394px -800px;
- width: 81px;
- height: 99px;
-}
-.Pet-Axolotl-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1394px -900px;
- width: 81px;
- height: 99px;
-}
-.Pet-Axolotl-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1394px -1000px;
- width: 81px;
- height: 99px;
-}
-.Pet-Axolotl-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1394px -1100px;
- width: 81px;
- height: 99px;
-}
-.Pet-Axolotl-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1394px -1200px;
- width: 81px;
- height: 99px;
-}
-.Pet-Axolotl-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: 0px -1300px;
- width: 81px;
- height: 99px;
-}
-.Pet-Axolotl-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -82px -1300px;
- width: 81px;
- height: 99px;
-}
-.Pet-Axolotl-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -164px -1300px;
- width: 81px;
- height: 99px;
-}
-.Pet-Axolotl-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -246px -1300px;
- width: 81px;
- height: 99px;
-}
-.Pet-Axolotl-White {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -328px -1300px;
- width: 81px;
- height: 99px;
-}
-.Pet-Axolotl-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -410px -1300px;
- width: 81px;
- height: 99px;
-}
-.Pet-Badger-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -492px -1300px;
- width: 81px;
- height: 99px;
-}
-.Pet-Badger-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -574px -1300px;
- width: 81px;
- height: 99px;
-}
-.Pet-Badger-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -656px -1300px;
- width: 81px;
- height: 99px;
-}
-.Pet-Badger-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -738px -1300px;
- width: 81px;
- height: 99px;
-}
-.Pet-Badger-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -820px -1300px;
- width: 81px;
- height: 99px;
-}
-.Pet-Badger-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -902px -1300px;
- width: 81px;
- height: 99px;
-}
-.Pet-Badger-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -984px -1300px;
- width: 81px;
- height: 99px;
-}
-.Pet-Badger-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1066px -1300px;
- width: 81px;
- height: 99px;
-}
-.Pet-Badger-White {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1148px -1300px;
- width: 81px;
- height: 99px;
-}
-.Pet-Badger-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1230px -1300px;
- width: 81px;
- height: 99px;
-}
-.Pet-Bear-Veteran {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1312px -1300px;
- width: 81px;
- height: 99px;
-}
-.Pet-BearCub-Aquatic {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1394px -1300px;
- width: 81px;
- height: 99px;
-}
-.Pet-BearCub-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1476px 0px;
- width: 81px;
- height: 99px;
-}
-.Pet-BearCub-Bronze {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1476px -100px;
- width: 81px;
- height: 99px;
-}
-.Pet-BearCub-Celestial {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1476px -200px;
- width: 81px;
- height: 99px;
-}
-.Pet-BearCub-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1476px -300px;
- width: 81px;
- height: 99px;
-}
-.Pet-BearCub-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1476px -400px;
- width: 81px;
- height: 99px;
-}
-.Pet-BearCub-Cupid {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1476px -500px;
- width: 81px;
- height: 99px;
-}
-.Pet-BearCub-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1476px -600px;
- width: 81px;
- height: 99px;
-}
-.Pet-BearCub-Ember {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1476px -700px;
- width: 81px;
- height: 99px;
-}
-.Pet-BearCub-Fairy {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1476px -800px;
- width: 81px;
- height: 99px;
-}
-.Pet-BearCub-Floral {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1476px -900px;
- width: 81px;
- height: 99px;
-}
-.Pet-BearCub-Frost {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1476px -1000px;
- width: 81px;
- height: 99px;
-}
-.Pet-BearCub-Ghost {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1476px -1100px;
- width: 81px;
- height: 99px;
-}
-.Pet-BearCub-Glass {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1476px -1200px;
- width: 81px;
- height: 99px;
-}
-.Pet-BearCub-Glow {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1476px -1300px;
- width: 81px;
- height: 99px;
-}
-.Pet-BearCub-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: 0px -1400px;
- width: 81px;
- height: 99px;
-}
-.Pet-BearCub-Holly {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -82px -1400px;
- width: 81px;
- height: 99px;
-}
-.Pet-BearCub-IcySnow {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -164px -1400px;
- width: 81px;
- height: 99px;
-}
-.Pet-BearCub-Peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -246px -1400px;
- width: 81px;
- height: 99px;
-}
-.Pet-BearCub-Polar {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -328px -1400px;
- width: 81px;
- height: 99px;
-}
-.Pet-BearCub-Rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -410px -1400px;
- width: 81px;
- height: 99px;
-}
-.Pet-BearCub-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -492px -1400px;
- width: 81px;
- height: 99px;
-}
-.Pet-BearCub-RoseQuartz {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -574px -1400px;
- width: 81px;
- height: 99px;
-}
-.Pet-BearCub-RoyalPurple {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -656px -1400px;
- width: 81px;
- height: 99px;
-}
-.Pet-BearCub-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -738px -1400px;
- width: 81px;
- height: 99px;
-}
-.Pet-BearCub-Shadow {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -820px -1400px;
- width: 81px;
- height: 99px;
-}
-.Pet-BearCub-Shimmer {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -902px -1400px;
- width: 81px;
- height: 99px;
-}
-.Pet-BearCub-Silver {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -984px -1400px;
- width: 81px;
- height: 99px;
-}
-.Pet-BearCub-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1066px -1400px;
- width: 81px;
- height: 99px;
-}
-.Pet-BearCub-Spooky {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1148px -1400px;
- width: 81px;
- height: 99px;
-}
-.Pet-BearCub-StarryNight {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1230px -1400px;
- width: 81px;
- height: 99px;
-}
-.Pet-BearCub-Sunshine {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1312px -1400px;
- width: 81px;
- height: 99px;
-}
-.Pet-BearCub-Thunderstorm {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1394px -1400px;
- width: 81px;
- height: 99px;
-}
-.Pet-BearCub-Veggie {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1476px -1400px;
- width: 81px;
- height: 99px;
-}
-.Pet-BearCub-Watery {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1558px 0px;
- width: 81px;
- height: 99px;
-}
-.Pet-BearCub-White {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1558px -100px;
- width: 81px;
- height: 99px;
-}
-.Pet-BearCub-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1558px -200px;
- width: 81px;
- height: 99px;
-}
-.Pet-Beetle-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1558px -300px;
- width: 81px;
- height: 99px;
-}
-.Pet-Beetle-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1558px -400px;
- width: 81px;
- height: 99px;
-}
-.Pet-Beetle-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1558px -500px;
- width: 81px;
- height: 99px;
-}
-.Pet-Beetle-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1558px -600px;
- width: 81px;
- height: 99px;
-}
-.Pet-Beetle-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1558px -700px;
- width: 81px;
- height: 99px;
-}
-.Pet-Beetle-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1558px -800px;
- width: 81px;
- height: 99px;
-}
-.Pet-Beetle-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1558px -900px;
- width: 81px;
- height: 99px;
-}
-.Pet-Beetle-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1558px -1000px;
- width: 81px;
- height: 99px;
-}
-.Pet-Beetle-White {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1558px -1100px;
- width: 81px;
- height: 99px;
-}
-.Pet-Beetle-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1558px -1200px;
- width: 81px;
- height: 99px;
-}
-.Pet-Bunny-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1558px -1300px;
- width: 81px;
- height: 99px;
-}
-.Pet-Bunny-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1558px -1400px;
- width: 81px;
- height: 99px;
-}
-.Pet-Bunny-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: 0px -1500px;
- width: 81px;
- height: 99px;
-}
-.Pet-Bunny-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -82px -1500px;
- width: 81px;
- height: 99px;
-}
-.Pet-Bunny-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -164px -1500px;
- width: 81px;
- height: 99px;
-}
-.Pet-Bunny-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -246px -1500px;
- width: 81px;
- height: 99px;
-}
-.Pet-Bunny-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -328px -1500px;
- width: 81px;
- height: 99px;
-}
-.Pet-Bunny-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -410px -1500px;
- width: 81px;
- height: 99px;
-}
-.Pet-Bunny-White {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -492px -1500px;
- width: 81px;
- height: 99px;
-}
-.Pet-Bunny-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -574px -1500px;
- width: 81px;
- height: 99px;
-}
-.Pet-Butterfly-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -656px -1500px;
- width: 81px;
- height: 99px;
-}
-.Pet-Butterfly-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -738px -1500px;
- width: 81px;
- height: 99px;
-}
-.Pet-Butterfly-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -820px -1500px;
- width: 81px;
- height: 99px;
-}
-.Pet-Butterfly-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -902px -1500px;
- width: 81px;
- height: 99px;
-}
-.Pet-Butterfly-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -984px -1500px;
- width: 81px;
- height: 99px;
-}
-.Pet-Butterfly-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1066px -1500px;
- width: 81px;
- height: 99px;
-}
-.Pet-Butterfly-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1148px -1500px;
- width: 81px;
- height: 99px;
-}
-.Pet-Butterfly-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1230px -1500px;
- width: 81px;
- height: 99px;
-}
-.Pet-Butterfly-White {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1312px -1500px;
- width: 81px;
- height: 99px;
-}
-.Pet-Butterfly-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1394px -1500px;
- width: 81px;
- height: 99px;
-}
-.Pet-Cactus-Aquatic {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1476px -1500px;
- width: 81px;
- height: 99px;
-}
-.Pet-Cactus-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1558px -1500px;
- width: 81px;
- height: 99px;
-}
-.Pet-Cactus-Bronze {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1640px 0px;
- width: 81px;
- height: 99px;
-}
-.Pet-Cactus-Celestial {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1640px -100px;
- width: 81px;
- height: 99px;
-}
-.Pet-Cactus-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1640px -200px;
- width: 81px;
- height: 99px;
-}
-.Pet-Cactus-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1148px -1000px;
- width: 81px;
- height: 99px;
-}
-.Pet-Cactus-Cupid {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1148px -900px;
- width: 81px;
- height: 99px;
-}
-.Pet-Cactus-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1148px -800px;
- width: 81px;
- height: 99px;
-}
-.Pet-Cactus-Ember {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1148px -700px;
- width: 81px;
- height: 99px;
-}
-.Pet-Cactus-Fairy {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1148px -600px;
- width: 81px;
- height: 99px;
-}
-.Pet-Cactus-Floral {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1148px -500px;
- width: 81px;
- height: 99px;
-}
-.Pet-Cactus-Frost {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1148px -400px;
- width: 81px;
- height: 99px;
-}
-.Pet-Cactus-Ghost {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1148px -300px;
- width: 81px;
- height: 99px;
-}
-.Pet-Cactus-Glass {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
- background-position: -1148px -200px;
- width: 81px;
- height: 99px;
-}
-.Pet-Cactus-Glow {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -1148px -100px;
width: 81px;
height: 99px;
}
+.Mount_Icon_Wolf-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1148px -200px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Wolf-Bronze {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1148px -300px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Wolf-Celestial {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1148px -400px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Wolf-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1148px -500px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Wolf-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1148px -600px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Wolf-Cupid {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1148px -700px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Wolf-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1148px -800px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Wolf-Ember {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1148px -900px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Wolf-Fairy {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1148px -1000px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Wolf-Floral {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: 0px -1100px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Wolf-Frost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -82px -1100px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Wolf-Ghost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -164px -1100px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Wolf-Glass {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -246px -1100px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Wolf-Glow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -328px -1100px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Wolf-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -410px -1100px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Wolf-Holly {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -492px -1100px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Wolf-IcySnow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -574px -1100px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Wolf-Peppermint {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -656px -1100px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Wolf-Rainbow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -738px -1100px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Wolf-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -820px -1100px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Wolf-RoseQuartz {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -902px -1100px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Wolf-RoyalPurple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -984px -1100px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Wolf-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1066px -1100px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Wolf-Shadow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1148px -1100px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Wolf-Shimmer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1230px 0px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Wolf-Silver {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1230px -100px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Wolf-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1230px -200px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Wolf-Spooky {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1230px -300px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Wolf-StarryNight {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1230px -400px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Wolf-Sunshine {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1230px -500px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Wolf-Thunderstorm {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1230px -600px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Wolf-Watery {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1230px -700px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Wolf-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1230px -800px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Wolf-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1230px -900px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Yarn-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1230px -1000px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Yarn-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1230px -1100px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Yarn-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: 0px -1200px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Yarn-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -82px -1200px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Yarn-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -164px -1200px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Yarn-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -246px -1200px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Yarn-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -328px -1200px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Yarn-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -410px -1200px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Yarn-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -492px -1200px;
+ width: 81px;
+ height: 99px;
+}
+.Mount_Icon_Yarn-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -574px -1200px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Alligator-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -656px -1200px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Alligator-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -738px -1200px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Alligator-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -820px -1200px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Alligator-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -902px -1200px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Alligator-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -984px -1200px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Alligator-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1066px -1200px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Alligator-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1148px -1200px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Alligator-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1230px -1200px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Alligator-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1312px 0px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Alligator-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1312px -100px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Armadillo-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1312px -200px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Armadillo-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1312px -300px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Armadillo-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1312px -400px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Armadillo-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1312px -500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Armadillo-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1312px -600px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Armadillo-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1312px -700px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Armadillo-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1312px -800px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Armadillo-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1312px -900px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Armadillo-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1312px -1000px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Armadillo-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1312px -1100px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Axolotl-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1312px -1200px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Axolotl-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1394px 0px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Axolotl-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1394px -100px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Axolotl-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1394px -200px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Axolotl-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1394px -300px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Axolotl-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1394px -400px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Axolotl-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1394px -500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Axolotl-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1394px -600px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Axolotl-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1394px -700px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Axolotl-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1394px -800px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Badger-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1394px -900px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Badger-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1394px -1000px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Badger-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1394px -1100px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Badger-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1394px -1200px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Badger-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: 0px -1300px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Badger-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -82px -1300px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Badger-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -164px -1300px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Badger-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -246px -1300px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Badger-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -328px -1300px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Badger-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -410px -1300px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Bear-Veteran {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -492px -1300px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-BearCub-Aquatic {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -574px -1300px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-BearCub-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -656px -1300px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-BearCub-Bronze {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -738px -1300px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-BearCub-Celestial {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -820px -1300px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-BearCub-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -902px -1300px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-BearCub-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -984px -1300px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-BearCub-Cupid {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1066px -1300px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-BearCub-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1148px -1300px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-BearCub-Ember {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1230px -1300px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-BearCub-Fairy {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1312px -1300px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-BearCub-Floral {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1394px -1300px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-BearCub-Frost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1476px 0px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-BearCub-Ghost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1476px -100px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-BearCub-Glass {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1476px -200px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-BearCub-Glow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1476px -300px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-BearCub-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1476px -400px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-BearCub-Holly {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1476px -500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-BearCub-IcySnow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1476px -600px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-BearCub-Peppermint {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1476px -700px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-BearCub-Polar {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1476px -800px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-BearCub-Rainbow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1476px -900px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-BearCub-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1476px -1000px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-BearCub-RoseQuartz {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1476px -1100px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-BearCub-RoyalPurple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1476px -1200px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-BearCub-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1476px -1300px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-BearCub-Shadow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: 0px -1400px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-BearCub-Shimmer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -82px -1400px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-BearCub-Silver {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -164px -1400px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-BearCub-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -246px -1400px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-BearCub-Spooky {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -328px -1400px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-BearCub-StarryNight {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -410px -1400px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-BearCub-Sunshine {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -492px -1400px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-BearCub-Thunderstorm {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -574px -1400px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-BearCub-Veggie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -656px -1400px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-BearCub-Watery {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -738px -1400px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-BearCub-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -820px -1400px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-BearCub-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -902px -1400px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Beetle-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -984px -1400px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Beetle-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1066px -1400px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Beetle-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1148px -1400px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Beetle-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1230px -1400px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Beetle-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1312px -1400px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Beetle-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1394px -1400px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Beetle-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1476px -1400px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Beetle-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1558px 0px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Beetle-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1558px -100px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Beetle-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1558px -200px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Bunny-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1558px -300px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Bunny-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1558px -400px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Bunny-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1558px -500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Bunny-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1558px -600px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Bunny-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1558px -700px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Bunny-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1558px -800px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Bunny-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1558px -900px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Bunny-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1558px -1000px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Bunny-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1558px -1100px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Bunny-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1558px -1200px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Butterfly-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1558px -1300px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Butterfly-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1558px -1400px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Butterfly-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: 0px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Butterfly-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -82px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Butterfly-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -164px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Butterfly-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -246px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Butterfly-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -328px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Butterfly-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -410px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Butterfly-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -492px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Butterfly-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -574px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Cactus-Aquatic {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -656px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Cactus-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -738px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Cactus-Bronze {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -820px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Cactus-Celestial {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -902px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Cactus-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -984px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Cactus-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1066px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Cactus-Cupid {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1148px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Cactus-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1230px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Cactus-Ember {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1312px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Cactus-Fairy {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1394px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Cactus-Floral {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1476px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Cactus-Frost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1558px -1500px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Cactus-Ghost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1640px 0px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Cactus-Glass {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1640px -100px;
+ width: 81px;
+ height: 99px;
+}
+.Pet-Cactus-Glow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
+ background-position: -1640px -200px;
+ width: 81px;
+ height: 99px;
+}
.Pet-Cactus-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-23.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-23.png');
background-position: -1640px -300px;
width: 81px;
height: 99px;
diff --git a/website/client/assets/css/sprites/spritesmith-main-24.css b/website/client/src/assets/css/sprites/spritesmith-main-24.css
similarity index 54%
rename from website/client/assets/css/sprites/spritesmith-main-24.css
rename to website/client/src/assets/css/sprites/spritesmith-main-24.css
index 41e68398c0..7e3fc5ff3d 100644
--- a/website/client/assets/css/sprites/spritesmith-main-24.css
+++ b/website/client/src/assets/css/sprites/spritesmith-main-24.css
@@ -1,1991 +1,1991 @@
.Pet-Cactus-Holly {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
- background-position: -328px -803px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
+ background-position: -82px 0px;
width: 81px;
height: 99px;
}
.Pet-Cactus-IcySnow {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
- background-position: -82px -1103px;
- width: 81px;
- height: 99px;
-}
-.Pet-Cactus-Peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -164px 0px;
width: 81px;
height: 99px;
}
-.Pet-Cactus-Rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Cactus-Peppermint {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: 0px -103px;
width: 81px;
height: 99px;
}
-.Pet-Cactus-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Cactus-Rainbow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -82px -103px;
width: 81px;
height: 99px;
}
-.Pet-Cactus-RoseQuartz {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Cactus-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -164px -103px;
width: 81px;
height: 99px;
}
-.Pet-Cactus-RoyalPurple {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Cactus-RoseQuartz {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -246px 0px;
width: 81px;
height: 99px;
}
-.Pet-Cactus-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Cactus-RoyalPurple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -246px -100px;
width: 81px;
height: 99px;
}
-.Pet-Cactus-Shadow {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Cactus-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: 0px -203px;
width: 81px;
height: 99px;
}
-.Pet-Cactus-Shimmer {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Cactus-Shadow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -82px -203px;
width: 81px;
height: 99px;
}
-.Pet-Cactus-Silver {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Cactus-Shimmer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -164px -203px;
width: 81px;
height: 99px;
}
-.Pet-Cactus-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Cactus-Silver {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -246px -203px;
width: 81px;
height: 99px;
}
-.Pet-Cactus-Spooky {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Cactus-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -328px 0px;
width: 81px;
height: 99px;
}
-.Pet-Cactus-StarryNight {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Cactus-Spooky {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -328px -100px;
width: 81px;
height: 99px;
}
-.Pet-Cactus-Sunshine {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Cactus-StarryNight {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -328px -200px;
width: 81px;
height: 99px;
}
-.Pet-Cactus-Thunderstorm {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Cactus-Sunshine {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: 0px -303px;
width: 81px;
height: 99px;
}
-.Pet-Cactus-Veggie {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Cactus-Thunderstorm {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -82px -303px;
width: 81px;
height: 99px;
}
-.Pet-Cactus-Watery {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Cactus-Veggie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -164px -303px;
width: 81px;
height: 99px;
}
-.Pet-Cactus-White {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Cactus-Watery {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -246px -303px;
width: 81px;
height: 99px;
}
-.Pet-Cactus-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Cactus-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -328px -303px;
width: 81px;
height: 99px;
}
-.Pet-Cheetah-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Cactus-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -410px 0px;
width: 81px;
height: 99px;
}
-.Pet-Cheetah-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Cheetah-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -410px -100px;
width: 81px;
height: 99px;
}
-.Pet-Cheetah-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Cheetah-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -410px -200px;
width: 81px;
height: 99px;
}
-.Pet-Cheetah-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Cheetah-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -410px -300px;
width: 81px;
height: 99px;
}
-.Pet-Cheetah-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Cheetah-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -492px 0px;
width: 81px;
height: 99px;
}
-.Pet-Cheetah-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Cheetah-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -492px -100px;
width: 81px;
height: 99px;
}
-.Pet-Cheetah-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Cheetah-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -492px -200px;
width: 81px;
height: 99px;
}
-.Pet-Cheetah-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Cheetah-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -492px -300px;
width: 81px;
height: 99px;
}
-.Pet-Cheetah-White {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Cheetah-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: 0px -403px;
width: 81px;
height: 99px;
}
-.Pet-Cheetah-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Cheetah-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -82px -403px;
width: 81px;
height: 99px;
}
-.Pet-Cow-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Cheetah-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -164px -403px;
width: 81px;
height: 99px;
}
-.Pet-Cow-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Cow-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -246px -403px;
width: 81px;
height: 99px;
}
-.Pet-Cow-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Cow-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -328px -403px;
width: 81px;
height: 99px;
}
-.Pet-Cow-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Cow-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -410px -403px;
width: 81px;
height: 99px;
}
-.Pet-Cow-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Cow-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -492px -403px;
width: 81px;
height: 99px;
}
-.Pet-Cow-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Cow-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -574px 0px;
width: 81px;
height: 99px;
}
-.Pet-Cow-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Cow-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -574px -100px;
width: 81px;
height: 99px;
}
-.Pet-Cow-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Cow-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -574px -200px;
width: 81px;
height: 99px;
}
-.Pet-Cow-White {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Cow-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -574px -300px;
width: 81px;
height: 99px;
}
-.Pet-Cow-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Cow-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -574px -400px;
width: 81px;
height: 99px;
}
-.Pet-Cuttlefish-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Cow-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: 0px -503px;
width: 81px;
height: 99px;
}
-.Pet-Cuttlefish-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Cuttlefish-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -82px -503px;
width: 81px;
height: 99px;
}
-.Pet-Cuttlefish-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Cuttlefish-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -164px -503px;
width: 81px;
height: 99px;
}
-.Pet-Cuttlefish-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Cuttlefish-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -246px -503px;
width: 81px;
height: 99px;
}
-.Pet-Cuttlefish-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Cuttlefish-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -328px -503px;
width: 81px;
height: 99px;
}
-.Pet-Cuttlefish-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Cuttlefish-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -410px -503px;
width: 81px;
height: 99px;
}
-.Pet-Cuttlefish-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Cuttlefish-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -492px -503px;
width: 81px;
height: 99px;
}
-.Pet-Cuttlefish-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Cuttlefish-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -574px -503px;
width: 81px;
height: 99px;
}
-.Pet-Cuttlefish-White {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Cuttlefish-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -656px 0px;
width: 81px;
height: 99px;
}
-.Pet-Cuttlefish-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Cuttlefish-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -656px -100px;
width: 81px;
height: 99px;
}
-.Pet-Deer-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Cuttlefish-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -656px -200px;
width: 81px;
height: 99px;
}
-.Pet-Deer-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Deer-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -656px -300px;
width: 81px;
height: 99px;
}
-.Pet-Deer-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Deer-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -656px -400px;
width: 81px;
height: 99px;
}
-.Pet-Deer-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Deer-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -656px -500px;
width: 81px;
height: 99px;
}
-.Pet-Deer-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Deer-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: 0px -603px;
width: 81px;
height: 99px;
}
-.Pet-Deer-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Deer-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -82px -603px;
width: 81px;
height: 99px;
}
-.Pet-Deer-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Deer-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -164px -603px;
width: 81px;
height: 99px;
}
-.Pet-Deer-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Deer-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -246px -603px;
width: 81px;
height: 99px;
}
-.Pet-Deer-White {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Deer-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -328px -603px;
width: 81px;
height: 99px;
}
-.Pet-Deer-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Deer-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -410px -603px;
width: 81px;
height: 99px;
}
-.Pet-Dolphin-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Deer-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -492px -603px;
width: 81px;
height: 99px;
}
-.Pet-Dolphin-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Dolphin-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -574px -603px;
width: 81px;
height: 99px;
}
-.Pet-Dolphin-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Dolphin-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -656px -603px;
width: 81px;
height: 99px;
}
-.Pet-Dolphin-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Dolphin-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -738px 0px;
width: 81px;
height: 99px;
}
-.Pet-Dolphin-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Dolphin-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -738px -100px;
width: 81px;
height: 99px;
}
-.Pet-Dolphin-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Dolphin-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -738px -200px;
width: 81px;
height: 99px;
}
-.Pet-Dolphin-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Dolphin-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -738px -300px;
width: 81px;
height: 99px;
}
-.Pet-Dolphin-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Dolphin-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -738px -400px;
width: 81px;
height: 99px;
}
-.Pet-Dolphin-White {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Dolphin-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -738px -500px;
width: 81px;
height: 99px;
}
-.Pet-Dolphin-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Dolphin-White {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -738px -600px;
width: 81px;
height: 99px;
}
-.Pet-Dragon-Aquatic {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Dolphin-Zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: 0px -703px;
width: 81px;
height: 99px;
}
-.Pet-Dragon-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Dragon-Aquatic {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -82px -703px;
width: 81px;
height: 99px;
}
-.Pet-Dragon-Bronze {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Dragon-Base {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -164px -703px;
width: 81px;
height: 99px;
}
-.Pet-Dragon-Celestial {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Dragon-Bronze {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -246px -703px;
width: 81px;
height: 99px;
}
-.Pet-Dragon-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Dragon-Celestial {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -328px -703px;
width: 81px;
height: 99px;
}
-.Pet-Dragon-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Dragon-CottonCandyBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -410px -703px;
width: 81px;
height: 99px;
}
-.Pet-Dragon-Cupid {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Dragon-CottonCandyPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -492px -703px;
width: 81px;
height: 99px;
}
-.Pet-Dragon-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Dragon-Cupid {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -574px -703px;
width: 81px;
height: 99px;
}
-.Pet-Dragon-Ember {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Dragon-Desert {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -656px -703px;
width: 81px;
height: 99px;
}
-.Pet-Dragon-Fairy {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Dragon-Ember {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -738px -703px;
width: 81px;
height: 99px;
}
-.Pet-Dragon-Floral {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Dragon-Fairy {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -820px 0px;
width: 81px;
height: 99px;
}
-.Pet-Dragon-Frost {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Dragon-Floral {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -820px -100px;
width: 81px;
height: 99px;
}
-.Pet-Dragon-Ghost {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Dragon-Frost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -820px -200px;
width: 81px;
height: 99px;
}
-.Pet-Dragon-Glass {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Dragon-Ghost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -820px -300px;
width: 81px;
height: 99px;
}
-.Pet-Dragon-Glow {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Dragon-Glass {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -820px -400px;
width: 81px;
height: 99px;
}
-.Pet-Dragon-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Dragon-Glow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -820px -500px;
width: 81px;
height: 99px;
}
-.Pet-Dragon-Holly {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Dragon-Golden {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -820px -600px;
width: 81px;
height: 99px;
}
-.Pet-Dragon-Hydra {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Dragon-Holly {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -820px -700px;
width: 81px;
height: 99px;
}
-.Pet-Dragon-IcySnow {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Dragon-Hydra {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -902px 0px;
width: 81px;
height: 99px;
}
-.Pet-Dragon-Peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Dragon-IcySnow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -902px -100px;
width: 81px;
height: 99px;
}
-.Pet-Dragon-Rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Dragon-Peppermint {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -902px -200px;
width: 81px;
height: 99px;
}
-.Pet-Dragon-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Dragon-Rainbow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -902px -300px;
width: 81px;
height: 99px;
}
-.Pet-Dragon-RoseQuartz {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Dragon-Red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -902px -400px;
width: 81px;
height: 99px;
}
-.Pet-Dragon-RoyalPurple {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Dragon-RoseQuartz {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -902px -500px;
width: 81px;
height: 99px;
}
-.Pet-Dragon-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Dragon-RoyalPurple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -902px -600px;
width: 81px;
height: 99px;
}
-.Pet-Dragon-Shadow {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Dragon-Shade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -902px -700px;
width: 81px;
height: 99px;
}
-.Pet-Dragon-Shimmer {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Dragon-Shadow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: 0px -803px;
width: 81px;
height: 99px;
}
-.Pet-Dragon-Silver {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Dragon-Shimmer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -82px -803px;
width: 81px;
height: 99px;
}
-.Pet-Dragon-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Dragon-Silver {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -164px -803px;
width: 81px;
height: 99px;
}
-.Pet-Dragon-Spooky {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+.Pet-Dragon-Skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -246px -803px;
width: 81px;
height: 99px;
}
+.Pet-Dragon-Spooky {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
+ background-position: -328px -803px;
+ width: 81px;
+ height: 99px;
+}
.Pet-Dragon-StarryNight {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: 0px 0px;
width: 81px;
height: 102px;
}
.Pet-Dragon-Sunshine {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -410px -803px;
width: 81px;
height: 99px;
}
.Pet-Dragon-Thunderstorm {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -492px -803px;
width: 81px;
height: 99px;
}
.Pet-Dragon-Veggie {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -574px -803px;
width: 81px;
height: 99px;
}
.Pet-Dragon-Watery {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -656px -803px;
width: 81px;
height: 99px;
}
.Pet-Dragon-White {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -738px -803px;
width: 81px;
height: 99px;
}
.Pet-Dragon-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -820px -803px;
width: 81px;
height: 99px;
}
.Pet-Egg-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -902px -803px;
width: 81px;
height: 99px;
}
.Pet-Egg-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -984px 0px;
width: 81px;
height: 99px;
}
.Pet-Egg-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -984px -100px;
width: 81px;
height: 99px;
}
.Pet-Egg-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -984px -200px;
width: 81px;
height: 99px;
}
.Pet-Egg-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -984px -300px;
width: 81px;
height: 99px;
}
.Pet-Egg-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -984px -400px;
width: 81px;
height: 99px;
}
.Pet-Egg-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -984px -500px;
width: 81px;
height: 99px;
}
.Pet-Egg-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -984px -600px;
width: 81px;
height: 99px;
}
.Pet-Egg-White {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -984px -700px;
width: 81px;
height: 99px;
}
.Pet-Egg-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -984px -800px;
width: 81px;
height: 99px;
}
.Pet-Falcon-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: 0px -903px;
width: 81px;
height: 99px;
}
.Pet-Falcon-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -82px -903px;
width: 81px;
height: 99px;
}
.Pet-Falcon-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -164px -903px;
width: 81px;
height: 99px;
}
.Pet-Falcon-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -246px -903px;
width: 81px;
height: 99px;
}
.Pet-Falcon-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -328px -903px;
width: 81px;
height: 99px;
}
.Pet-Falcon-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -410px -903px;
width: 81px;
height: 99px;
}
.Pet-Falcon-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -492px -903px;
width: 81px;
height: 99px;
}
.Pet-Falcon-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -574px -903px;
width: 81px;
height: 99px;
}
.Pet-Falcon-White {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -656px -903px;
width: 81px;
height: 99px;
}
.Pet-Falcon-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -738px -903px;
width: 81px;
height: 99px;
}
.Pet-Ferret-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -820px -903px;
width: 81px;
height: 99px;
}
.Pet-Ferret-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -902px -903px;
width: 81px;
height: 99px;
}
.Pet-Ferret-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -984px -903px;
width: 81px;
height: 99px;
}
.Pet-Ferret-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1066px 0px;
width: 81px;
height: 99px;
}
.Pet-Ferret-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1066px -100px;
width: 81px;
height: 99px;
}
.Pet-Ferret-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1066px -200px;
width: 81px;
height: 99px;
}
.Pet-Ferret-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1066px -300px;
width: 81px;
height: 99px;
}
.Pet-Ferret-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1066px -400px;
width: 81px;
height: 99px;
}
.Pet-Ferret-White {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1066px -500px;
width: 81px;
height: 99px;
}
.Pet-Ferret-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1066px -600px;
width: 81px;
height: 99px;
}
.Pet-FlyingPig-Aquatic {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1066px -700px;
width: 81px;
height: 99px;
}
.Pet-FlyingPig-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1066px -800px;
width: 81px;
height: 99px;
}
.Pet-FlyingPig-Bronze {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1066px -900px;
width: 81px;
height: 99px;
}
.Pet-FlyingPig-Celestial {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: 0px -1003px;
width: 81px;
height: 99px;
}
.Pet-FlyingPig-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -82px -1003px;
width: 81px;
height: 99px;
}
.Pet-FlyingPig-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -164px -1003px;
width: 81px;
height: 99px;
}
.Pet-FlyingPig-Cupid {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -246px -1003px;
width: 81px;
height: 99px;
}
.Pet-FlyingPig-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -328px -1003px;
width: 81px;
height: 99px;
}
.Pet-FlyingPig-Ember {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -410px -1003px;
width: 81px;
height: 99px;
}
.Pet-FlyingPig-Fairy {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -492px -1003px;
width: 81px;
height: 99px;
}
.Pet-FlyingPig-Floral {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -574px -1003px;
width: 81px;
height: 99px;
}
.Pet-FlyingPig-Frost {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -656px -1003px;
width: 81px;
height: 99px;
}
.Pet-FlyingPig-Ghost {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -738px -1003px;
width: 81px;
height: 99px;
}
.Pet-FlyingPig-Glass {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -820px -1003px;
width: 81px;
height: 99px;
}
.Pet-FlyingPig-Glow {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -902px -1003px;
width: 81px;
height: 99px;
}
.Pet-FlyingPig-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -984px -1003px;
width: 81px;
height: 99px;
}
.Pet-FlyingPig-Holly {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1066px -1003px;
width: 81px;
height: 99px;
}
.Pet-FlyingPig-IcySnow {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1148px 0px;
width: 81px;
height: 99px;
}
.Pet-FlyingPig-Peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1148px -100px;
width: 81px;
height: 99px;
}
.Pet-FlyingPig-Rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1148px -200px;
width: 81px;
height: 99px;
}
.Pet-FlyingPig-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1148px -300px;
width: 81px;
height: 99px;
}
.Pet-FlyingPig-RoseQuartz {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1148px -400px;
width: 81px;
height: 99px;
}
.Pet-FlyingPig-RoyalPurple {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1148px -500px;
width: 81px;
height: 99px;
}
.Pet-FlyingPig-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1148px -600px;
width: 81px;
height: 99px;
}
.Pet-FlyingPig-Shadow {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1148px -700px;
width: 81px;
height: 99px;
}
.Pet-FlyingPig-Shimmer {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1148px -800px;
width: 81px;
height: 99px;
}
.Pet-FlyingPig-Silver {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1148px -900px;
width: 81px;
height: 99px;
}
.Pet-FlyingPig-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1148px -1000px;
width: 81px;
height: 99px;
}
.Pet-FlyingPig-Spooky {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: 0px -1103px;
width: 81px;
height: 99px;
}
.Pet-FlyingPig-StarryNight {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
- background-position: -82px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
+ background-position: -82px -1103px;
width: 81px;
height: 99px;
}
.Pet-FlyingPig-Sunshine {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -164px -1103px;
width: 81px;
height: 99px;
}
.Pet-FlyingPig-Thunderstorm {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -246px -1103px;
width: 81px;
height: 99px;
}
.Pet-FlyingPig-Veggie {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -328px -1103px;
width: 81px;
height: 99px;
}
.Pet-FlyingPig-Watery {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -410px -1103px;
width: 81px;
height: 99px;
}
.Pet-FlyingPig-White {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -492px -1103px;
width: 81px;
height: 99px;
}
.Pet-FlyingPig-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -574px -1103px;
width: 81px;
height: 99px;
}
.Pet-Fox-Aquatic {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -656px -1103px;
width: 81px;
height: 99px;
}
.Pet-Fox-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -738px -1103px;
width: 81px;
height: 99px;
}
.Pet-Fox-Bronze {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -820px -1103px;
width: 81px;
height: 99px;
}
.Pet-Fox-Celestial {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -902px -1103px;
width: 81px;
height: 99px;
}
.Pet-Fox-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -984px -1103px;
width: 81px;
height: 99px;
}
.Pet-Fox-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1066px -1103px;
width: 81px;
height: 99px;
}
.Pet-Fox-Cupid {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1148px -1103px;
width: 81px;
height: 99px;
}
.Pet-Fox-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1230px 0px;
width: 81px;
height: 99px;
}
.Pet-Fox-Ember {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1230px -100px;
width: 81px;
height: 99px;
}
.Pet-Fox-Fairy {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1230px -200px;
width: 81px;
height: 99px;
}
.Pet-Fox-Floral {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1230px -300px;
width: 81px;
height: 99px;
}
.Pet-Fox-Frost {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1230px -400px;
width: 81px;
height: 99px;
}
.Pet-Fox-Ghost {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1230px -500px;
width: 81px;
height: 99px;
}
.Pet-Fox-Glass {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1230px -600px;
width: 81px;
height: 99px;
}
.Pet-Fox-Glow {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1230px -700px;
width: 81px;
height: 99px;
}
.Pet-Fox-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1230px -800px;
width: 81px;
height: 99px;
}
.Pet-Fox-Holly {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1230px -900px;
width: 81px;
height: 99px;
}
.Pet-Fox-IcySnow {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1230px -1000px;
width: 81px;
height: 99px;
}
.Pet-Fox-Peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1230px -1100px;
width: 81px;
height: 99px;
}
.Pet-Fox-Rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: 0px -1203px;
width: 81px;
height: 99px;
}
.Pet-Fox-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -82px -1203px;
width: 81px;
height: 99px;
}
.Pet-Fox-RoseQuartz {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -164px -1203px;
width: 81px;
height: 99px;
}
.Pet-Fox-RoyalPurple {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -246px -1203px;
width: 81px;
height: 99px;
}
.Pet-Fox-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -328px -1203px;
width: 81px;
height: 99px;
}
.Pet-Fox-Shadow {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -410px -1203px;
width: 81px;
height: 99px;
}
.Pet-Fox-Shimmer {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -492px -1203px;
width: 81px;
height: 99px;
}
.Pet-Fox-Silver {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -574px -1203px;
width: 81px;
height: 99px;
}
.Pet-Fox-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -656px -1203px;
width: 81px;
height: 99px;
}
.Pet-Fox-Spooky {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -738px -1203px;
width: 81px;
height: 99px;
}
.Pet-Fox-StarryNight {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -820px -1203px;
width: 81px;
height: 99px;
}
.Pet-Fox-Sunshine {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -902px -1203px;
width: 81px;
height: 99px;
}
.Pet-Fox-Thunderstorm {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -984px -1203px;
width: 81px;
height: 99px;
}
.Pet-Fox-Veggie {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1066px -1203px;
width: 81px;
height: 99px;
}
.Pet-Fox-Veteran {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1148px -1203px;
width: 81px;
height: 99px;
}
.Pet-Fox-Watery {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1230px -1203px;
width: 81px;
height: 99px;
}
.Pet-Fox-White {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1312px 0px;
width: 81px;
height: 99px;
}
.Pet-Fox-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1312px -100px;
width: 81px;
height: 99px;
}
.Pet-Frog-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1312px -200px;
width: 81px;
height: 99px;
}
.Pet-Frog-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1312px -300px;
width: 81px;
height: 99px;
}
.Pet-Frog-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1312px -400px;
width: 81px;
height: 99px;
}
.Pet-Frog-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1312px -500px;
width: 81px;
height: 99px;
}
.Pet-Frog-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1312px -600px;
width: 81px;
height: 99px;
}
.Pet-Frog-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1312px -700px;
width: 81px;
height: 99px;
}
.Pet-Frog-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1312px -800px;
width: 81px;
height: 99px;
}
.Pet-Frog-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1312px -900px;
width: 81px;
height: 99px;
}
.Pet-Frog-White {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1312px -1000px;
width: 81px;
height: 99px;
}
.Pet-Frog-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1312px -1100px;
width: 81px;
height: 99px;
}
.Pet-Gryphon-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1312px -1200px;
width: 81px;
height: 99px;
}
.Pet-Gryphon-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1394px 0px;
width: 81px;
height: 99px;
}
.Pet-Gryphon-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1394px -100px;
width: 81px;
height: 99px;
}
.Pet-Gryphon-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1394px -200px;
width: 81px;
height: 99px;
}
.Pet-Gryphon-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1394px -300px;
width: 81px;
height: 99px;
}
.Pet-Gryphon-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1394px -400px;
width: 81px;
height: 99px;
}
.Pet-Gryphon-RoyalPurple {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1394px -500px;
width: 81px;
height: 99px;
}
.Pet-Gryphon-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1394px -600px;
width: 81px;
height: 99px;
}
.Pet-Gryphon-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1394px -700px;
width: 81px;
height: 99px;
}
.Pet-Gryphon-White {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1394px -800px;
width: 81px;
height: 99px;
}
.Pet-Gryphon-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1394px -900px;
width: 81px;
height: 99px;
}
.Pet-GuineaPig-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1394px -1000px;
width: 81px;
height: 99px;
}
.Pet-GuineaPig-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1394px -1100px;
width: 81px;
height: 99px;
}
.Pet-GuineaPig-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1394px -1200px;
width: 81px;
height: 99px;
}
.Pet-GuineaPig-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: 0px -1303px;
width: 81px;
height: 99px;
}
.Pet-GuineaPig-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -82px -1303px;
width: 81px;
height: 99px;
}
.Pet-GuineaPig-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -164px -1303px;
width: 81px;
height: 99px;
}
.Pet-GuineaPig-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -246px -1303px;
width: 81px;
height: 99px;
}
.Pet-GuineaPig-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -328px -1303px;
width: 81px;
height: 99px;
}
.Pet-GuineaPig-White {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -410px -1303px;
width: 81px;
height: 99px;
}
.Pet-GuineaPig-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -492px -1303px;
width: 81px;
height: 99px;
}
.Pet-Hedgehog-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -574px -1303px;
width: 81px;
height: 99px;
}
.Pet-Hedgehog-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -656px -1303px;
width: 81px;
height: 99px;
}
.Pet-Hedgehog-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -738px -1303px;
width: 81px;
height: 99px;
}
.Pet-Hedgehog-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -820px -1303px;
width: 81px;
height: 99px;
}
.Pet-Hedgehog-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -902px -1303px;
width: 81px;
height: 99px;
}
.Pet-Hedgehog-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -984px -1303px;
width: 81px;
height: 99px;
}
.Pet-Hedgehog-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1066px -1303px;
width: 81px;
height: 99px;
}
.Pet-Hedgehog-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1148px -1303px;
width: 81px;
height: 99px;
}
.Pet-Hedgehog-White {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1230px -1303px;
width: 81px;
height: 99px;
}
.Pet-Hedgehog-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1312px -1303px;
width: 81px;
height: 99px;
}
.Pet-Hippo-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1394px -1303px;
width: 81px;
height: 99px;
}
.Pet-Hippo-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1476px 0px;
width: 81px;
height: 99px;
}
.Pet-Hippo-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1476px -100px;
width: 81px;
height: 99px;
}
.Pet-Hippo-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1476px -200px;
width: 81px;
height: 99px;
}
.Pet-Hippo-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1476px -300px;
width: 81px;
height: 99px;
}
.Pet-Hippo-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1476px -400px;
width: 81px;
height: 99px;
}
.Pet-Hippo-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1476px -500px;
width: 81px;
height: 99px;
}
.Pet-Hippo-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1476px -600px;
width: 81px;
height: 99px;
}
.Pet-Hippo-White {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1476px -700px;
width: 81px;
height: 99px;
}
.Pet-Hippo-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1476px -800px;
width: 81px;
height: 99px;
}
.Pet-Hippogriff-Hopeful {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1476px -900px;
width: 81px;
height: 99px;
}
.Pet-Horse-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1476px -1000px;
width: 81px;
height: 99px;
}
.Pet-Horse-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1476px -1100px;
width: 81px;
height: 99px;
}
.Pet-Horse-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1476px -1200px;
width: 81px;
height: 99px;
}
.Pet-Horse-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1476px -1300px;
width: 81px;
height: 99px;
}
.Pet-Horse-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: 0px -1403px;
width: 81px;
height: 99px;
}
.Pet-Horse-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -82px -1403px;
width: 81px;
height: 99px;
}
.Pet-Horse-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -164px -1403px;
width: 81px;
height: 99px;
}
.Pet-Horse-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -246px -1403px;
width: 81px;
height: 99px;
}
.Pet-Horse-White {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -328px -1403px;
width: 81px;
height: 99px;
}
.Pet-Horse-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -410px -1403px;
width: 81px;
height: 99px;
}
.Pet-JackOLantern-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -574px -1403px;
width: 81px;
height: 99px;
}
.Pet-JackOLantern-Ghost {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -656px -1403px;
width: 81px;
height: 99px;
}
.Pet-JackOLantern-Glow {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -738px -1403px;
width: 81px;
height: 99px;
}
.Pet-Jackalope-RoyalPurple {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -492px -1403px;
width: 81px;
height: 99px;
}
.Pet-Kangaroo-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -820px -1403px;
width: 81px;
height: 99px;
}
.Pet-Kangaroo-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -902px -1403px;
width: 81px;
height: 99px;
}
.Pet-Kangaroo-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -984px -1403px;
width: 81px;
height: 99px;
}
.Pet-Kangaroo-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1066px -1403px;
width: 81px;
height: 99px;
}
.Pet-Kangaroo-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1148px -1403px;
width: 81px;
height: 99px;
}
.Pet-Kangaroo-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1230px -1403px;
width: 81px;
height: 99px;
}
.Pet-Kangaroo-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1312px -1403px;
width: 81px;
height: 99px;
}
.Pet-Kangaroo-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1394px -1403px;
width: 81px;
height: 99px;
}
.Pet-Kangaroo-White {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1476px -1403px;
width: 81px;
height: 99px;
}
.Pet-Kangaroo-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1558px 0px;
width: 81px;
height: 99px;
}
.Pet-Lion-Veteran {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1558px -100px;
width: 81px;
height: 99px;
}
.Pet-LionCub-Aquatic {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1558px -200px;
width: 81px;
height: 99px;
}
.Pet-LionCub-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1558px -300px;
width: 81px;
height: 99px;
}
.Pet-LionCub-Bronze {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1558px -400px;
width: 81px;
height: 99px;
}
.Pet-LionCub-Celestial {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1558px -500px;
width: 81px;
height: 99px;
}
.Pet-LionCub-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1558px -600px;
width: 81px;
height: 99px;
}
.Pet-LionCub-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1558px -700px;
width: 81px;
height: 99px;
}
.Pet-LionCub-Cupid {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1558px -800px;
width: 81px;
height: 99px;
}
.Pet-LionCub-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1558px -900px;
width: 81px;
height: 99px;
}
.Pet-LionCub-Ember {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1558px -1000px;
width: 81px;
height: 99px;
}
.Pet-LionCub-Fairy {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1558px -1100px;
width: 81px;
height: 99px;
}
.Pet-LionCub-Floral {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1558px -1200px;
width: 81px;
height: 99px;
}
.Pet-LionCub-Frost {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1558px -1300px;
width: 81px;
height: 99px;
}
.Pet-LionCub-Ghost {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1558px -1400px;
width: 81px;
height: 99px;
}
.Pet-LionCub-Glass {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: 0px -1503px;
width: 81px;
height: 99px;
}
.Pet-LionCub-Glow {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -82px -1503px;
width: 81px;
height: 99px;
}
.Pet-LionCub-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -164px -1503px;
width: 81px;
height: 99px;
}
.Pet-LionCub-Holly {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -246px -1503px;
width: 81px;
height: 99px;
}
.Pet-LionCub-IcySnow {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -328px -1503px;
width: 81px;
height: 99px;
}
.Pet-LionCub-Peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -410px -1503px;
width: 81px;
height: 99px;
}
.Pet-LionCub-Rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -492px -1503px;
width: 81px;
height: 99px;
}
.Pet-LionCub-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -574px -1503px;
width: 81px;
height: 99px;
}
.Pet-LionCub-RoseQuartz {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -656px -1503px;
width: 81px;
height: 99px;
}
.Pet-LionCub-RoyalPurple {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -738px -1503px;
width: 81px;
height: 99px;
}
.Pet-LionCub-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -820px -1503px;
width: 81px;
height: 99px;
}
.Pet-LionCub-Shadow {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -902px -1503px;
width: 81px;
height: 99px;
}
.Pet-LionCub-Shimmer {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -984px -1503px;
width: 81px;
height: 99px;
}
.Pet-LionCub-Silver {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1066px -1503px;
width: 81px;
height: 99px;
}
.Pet-LionCub-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1148px -1503px;
width: 81px;
height: 99px;
}
.Pet-LionCub-Spooky {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1230px -1503px;
width: 81px;
height: 99px;
}
.Pet-LionCub-StarryNight {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1312px -1503px;
width: 81px;
height: 99px;
}
.Pet-LionCub-Sunshine {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1394px -1503px;
width: 81px;
height: 99px;
}
.Pet-LionCub-Thunderstorm {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1476px -1503px;
width: 81px;
height: 99px;
}
.Pet-LionCub-Veggie {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1558px -1503px;
width: 81px;
height: 99px;
}
.Pet-LionCub-Watery {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1640px 0px;
width: 81px;
height: 99px;
}
.Pet-LionCub-White {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1640px -100px;
width: 81px;
height: 99px;
}
.Pet-LionCub-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1640px -200px;
width: 81px;
height: 99px;
}
.Pet-MagicalBee-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1640px -300px;
width: 81px;
height: 99px;
}
.Pet-Mammoth-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1640px -400px;
width: 81px;
height: 99px;
}
.Pet-MantisShrimp-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1640px -500px;
width: 81px;
height: 99px;
}
.Pet-Monkey-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1640px -600px;
width: 81px;
height: 99px;
}
.Pet-Monkey-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1640px -700px;
width: 81px;
height: 99px;
}
.Pet-Monkey-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1640px -800px;
width: 81px;
height: 99px;
}
.Pet-Monkey-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1640px -900px;
width: 81px;
height: 99px;
}
.Pet-Monkey-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1640px -1000px;
width: 81px;
height: 99px;
}
.Pet-Monkey-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-24.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-24.png');
background-position: -1640px -1100px;
width: 81px;
height: 99px;
diff --git a/website/client/assets/css/sprites/spritesmith-main-25.css b/website/client/src/assets/css/sprites/spritesmith-main-25.css
similarity index 55%
rename from website/client/assets/css/sprites/spritesmith-main-25.css
rename to website/client/src/assets/css/sprites/spritesmith-main-25.css
index d46f647cbc..69f10e39e8 100644
--- a/website/client/assets/css/sprites/spritesmith-main-25.css
+++ b/website/client/src/assets/css/sprites/spritesmith-main-25.css
@@ -1,1991 +1,1991 @@
.Pet-Monkey-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
- background-position: -82px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
+ background-position: 0px 0px;
width: 81px;
height: 99px;
}
.Pet-Monkey-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
- background-position: -82px -1100px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
+ background-position: -82px 0px;
width: 81px;
height: 99px;
}
.Pet-Monkey-White {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -164px 0px;
width: 81px;
height: 99px;
}
.Pet-Monkey-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: 0px -100px;
width: 81px;
height: 99px;
}
.Pet-Nudibranch-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -82px -100px;
width: 81px;
height: 99px;
}
.Pet-Nudibranch-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -164px -100px;
width: 81px;
height: 99px;
}
.Pet-Nudibranch-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -246px 0px;
width: 81px;
height: 99px;
}
.Pet-Nudibranch-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -246px -100px;
width: 81px;
height: 99px;
}
.Pet-Nudibranch-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: 0px -200px;
width: 81px;
height: 99px;
}
.Pet-Nudibranch-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -82px -200px;
width: 81px;
height: 99px;
}
.Pet-Nudibranch-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -164px -200px;
width: 81px;
height: 99px;
}
.Pet-Nudibranch-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -246px -200px;
width: 81px;
height: 99px;
}
.Pet-Nudibranch-White {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -328px 0px;
width: 81px;
height: 99px;
}
.Pet-Nudibranch-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -328px -100px;
width: 81px;
height: 99px;
}
.Pet-Octopus-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -328px -200px;
width: 81px;
height: 99px;
}
.Pet-Octopus-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: 0px -300px;
width: 81px;
height: 99px;
}
.Pet-Octopus-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -82px -300px;
width: 81px;
height: 99px;
}
.Pet-Octopus-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -164px -300px;
width: 81px;
height: 99px;
}
.Pet-Octopus-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -246px -300px;
width: 81px;
height: 99px;
}
.Pet-Octopus-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -328px -300px;
width: 81px;
height: 99px;
}
.Pet-Octopus-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -410px 0px;
width: 81px;
height: 99px;
}
.Pet-Octopus-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -410px -100px;
width: 81px;
height: 99px;
}
.Pet-Octopus-White {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -410px -200px;
width: 81px;
height: 99px;
}
.Pet-Octopus-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -410px -300px;
width: 81px;
height: 99px;
}
.Pet-Orca-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -492px 0px;
width: 81px;
height: 99px;
}
.Pet-Owl-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -492px -100px;
width: 81px;
height: 99px;
}
.Pet-Owl-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -492px -200px;
width: 81px;
height: 99px;
}
.Pet-Owl-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -492px -300px;
width: 81px;
height: 99px;
}
.Pet-Owl-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: 0px -400px;
width: 81px;
height: 99px;
}
.Pet-Owl-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -82px -400px;
width: 81px;
height: 99px;
}
.Pet-Owl-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -164px -400px;
width: 81px;
height: 99px;
}
.Pet-Owl-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -246px -400px;
width: 81px;
height: 99px;
}
.Pet-Owl-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -328px -400px;
width: 81px;
height: 99px;
}
.Pet-Owl-White {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -410px -400px;
width: 81px;
height: 99px;
}
.Pet-Owl-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -492px -400px;
width: 81px;
height: 99px;
}
.Pet-PandaCub-Aquatic {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -574px 0px;
width: 81px;
height: 99px;
}
.Pet-PandaCub-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -574px -100px;
width: 81px;
height: 99px;
}
.Pet-PandaCub-Bronze {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -574px -200px;
width: 81px;
height: 99px;
}
.Pet-PandaCub-Celestial {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -574px -300px;
width: 81px;
height: 99px;
}
.Pet-PandaCub-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -574px -400px;
width: 81px;
height: 99px;
}
.Pet-PandaCub-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: 0px -500px;
width: 81px;
height: 99px;
}
.Pet-PandaCub-Cupid {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -82px -500px;
width: 81px;
height: 99px;
}
.Pet-PandaCub-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -164px -500px;
width: 81px;
height: 99px;
}
.Pet-PandaCub-Ember {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -246px -500px;
width: 81px;
height: 99px;
}
.Pet-PandaCub-Fairy {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -328px -500px;
width: 81px;
height: 99px;
}
.Pet-PandaCub-Floral {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -410px -500px;
width: 81px;
height: 99px;
}
.Pet-PandaCub-Frost {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -492px -500px;
width: 81px;
height: 99px;
}
.Pet-PandaCub-Ghost {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -574px -500px;
width: 81px;
height: 99px;
}
.Pet-PandaCub-Glass {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -656px 0px;
width: 81px;
height: 99px;
}
.Pet-PandaCub-Glow {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -656px -100px;
width: 81px;
height: 99px;
}
.Pet-PandaCub-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -656px -200px;
width: 81px;
height: 99px;
}
.Pet-PandaCub-Holly {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -656px -300px;
width: 81px;
height: 99px;
}
.Pet-PandaCub-IcySnow {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -656px -400px;
width: 81px;
height: 99px;
}
.Pet-PandaCub-Peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -656px -500px;
width: 81px;
height: 99px;
}
.Pet-PandaCub-Rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: 0px -600px;
width: 81px;
height: 99px;
}
.Pet-PandaCub-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -82px -600px;
width: 81px;
height: 99px;
}
.Pet-PandaCub-RoseQuartz {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -164px -600px;
width: 81px;
height: 99px;
}
.Pet-PandaCub-RoyalPurple {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -246px -600px;
width: 81px;
height: 99px;
}
.Pet-PandaCub-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -328px -600px;
width: 81px;
height: 99px;
}
.Pet-PandaCub-Shadow {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -410px -600px;
width: 81px;
height: 99px;
}
.Pet-PandaCub-Shimmer {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -492px -600px;
width: 81px;
height: 99px;
}
.Pet-PandaCub-Silver {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -574px -600px;
width: 81px;
height: 99px;
}
.Pet-PandaCub-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -656px -600px;
width: 81px;
height: 99px;
}
.Pet-PandaCub-Spooky {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -738px 0px;
width: 81px;
height: 99px;
}
.Pet-PandaCub-StarryNight {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -738px -100px;
width: 81px;
height: 99px;
}
.Pet-PandaCub-Sunshine {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -738px -200px;
width: 81px;
height: 99px;
}
.Pet-PandaCub-Thunderstorm {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -738px -300px;
width: 81px;
height: 99px;
}
.Pet-PandaCub-Veggie {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -738px -400px;
width: 81px;
height: 99px;
}
.Pet-PandaCub-Watery {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -738px -500px;
width: 81px;
height: 99px;
}
.Pet-PandaCub-White {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -738px -600px;
width: 81px;
height: 99px;
}
.Pet-PandaCub-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: 0px -700px;
width: 81px;
height: 99px;
}
.Pet-Parrot-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -82px -700px;
width: 81px;
height: 99px;
}
.Pet-Parrot-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -164px -700px;
width: 81px;
height: 99px;
}
.Pet-Parrot-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -246px -700px;
width: 81px;
height: 99px;
}
.Pet-Parrot-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -328px -700px;
width: 81px;
height: 99px;
}
.Pet-Parrot-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -410px -700px;
width: 81px;
height: 99px;
}
.Pet-Parrot-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -492px -700px;
width: 81px;
height: 99px;
}
.Pet-Parrot-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -574px -700px;
width: 81px;
height: 99px;
}
.Pet-Parrot-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -656px -700px;
width: 81px;
height: 99px;
}
.Pet-Parrot-White {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -738px -700px;
width: 81px;
height: 99px;
}
.Pet-Parrot-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -820px 0px;
width: 81px;
height: 99px;
}
.Pet-Peacock-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -820px -100px;
width: 81px;
height: 99px;
}
.Pet-Peacock-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -820px -200px;
width: 81px;
height: 99px;
}
.Pet-Peacock-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -820px -300px;
width: 81px;
height: 99px;
}
.Pet-Peacock-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -820px -400px;
width: 81px;
height: 99px;
}
.Pet-Peacock-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -820px -500px;
width: 81px;
height: 99px;
}
.Pet-Peacock-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -820px -600px;
width: 81px;
height: 99px;
}
.Pet-Peacock-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -820px -700px;
width: 81px;
height: 99px;
}
.Pet-Peacock-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: 0px -800px;
width: 81px;
height: 99px;
}
.Pet-Peacock-White {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -82px -800px;
width: 81px;
height: 99px;
}
.Pet-Peacock-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -164px -800px;
width: 81px;
height: 99px;
}
.Pet-Penguin-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -246px -800px;
width: 81px;
height: 99px;
}
.Pet-Penguin-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -328px -800px;
width: 81px;
height: 99px;
}
.Pet-Penguin-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -410px -800px;
width: 81px;
height: 99px;
}
.Pet-Penguin-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -492px -800px;
width: 81px;
height: 99px;
}
.Pet-Penguin-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -574px -800px;
width: 81px;
height: 99px;
}
.Pet-Penguin-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -656px -800px;
width: 81px;
height: 99px;
}
.Pet-Penguin-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -738px -800px;
width: 81px;
height: 99px;
}
.Pet-Penguin-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -820px -800px;
width: 81px;
height: 99px;
}
.Pet-Penguin-White {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -902px 0px;
width: 81px;
height: 99px;
}
.Pet-Penguin-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -902px -100px;
width: 81px;
height: 99px;
}
.Pet-Phoenix-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -902px -200px;
width: 81px;
height: 99px;
}
.Pet-Pterodactyl-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -902px -300px;
width: 81px;
height: 99px;
}
.Pet-Pterodactyl-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -902px -400px;
width: 81px;
height: 99px;
}
.Pet-Pterodactyl-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -902px -500px;
width: 81px;
height: 99px;
}
.Pet-Pterodactyl-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -902px -600px;
width: 81px;
height: 99px;
}
.Pet-Pterodactyl-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -902px -700px;
width: 81px;
height: 99px;
}
.Pet-Pterodactyl-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -902px -800px;
width: 81px;
height: 99px;
}
.Pet-Pterodactyl-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -984px 0px;
width: 81px;
height: 99px;
}
.Pet-Pterodactyl-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -984px -100px;
width: 81px;
height: 99px;
}
.Pet-Pterodactyl-White {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -984px -200px;
width: 81px;
height: 99px;
}
.Pet-Pterodactyl-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -984px -300px;
width: 81px;
height: 99px;
}
.Pet-Rat-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -984px -400px;
width: 81px;
height: 99px;
}
.Pet-Rat-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -984px -500px;
width: 81px;
height: 99px;
}
.Pet-Rat-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -984px -600px;
width: 81px;
height: 99px;
}
.Pet-Rat-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -984px -700px;
width: 81px;
height: 99px;
}
.Pet-Rat-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -984px -800px;
width: 81px;
height: 99px;
}
.Pet-Rat-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: 0px -900px;
width: 81px;
height: 99px;
}
.Pet-Rat-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -82px -900px;
width: 81px;
height: 99px;
}
.Pet-Rat-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -164px -900px;
width: 81px;
height: 99px;
}
.Pet-Rat-White {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -246px -900px;
width: 81px;
height: 99px;
}
.Pet-Rat-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -328px -900px;
width: 81px;
height: 99px;
}
.Pet-Robot-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -410px -900px;
width: 81px;
height: 99px;
}
.Pet-Robot-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -492px -900px;
width: 81px;
height: 99px;
}
.Pet-Robot-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -574px -900px;
width: 81px;
height: 99px;
}
.Pet-Robot-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -656px -900px;
width: 81px;
height: 99px;
}
.Pet-Robot-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -738px -900px;
width: 81px;
height: 99px;
}
.Pet-Robot-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -820px -900px;
width: 81px;
height: 99px;
}
.Pet-Robot-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -902px -900px;
width: 81px;
height: 99px;
}
.Pet-Robot-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -984px -900px;
width: 81px;
height: 99px;
}
.Pet-Robot-White {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1066px 0px;
width: 81px;
height: 99px;
}
.Pet-Robot-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1066px -100px;
width: 81px;
height: 99px;
}
.Pet-Rock-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1066px -200px;
width: 81px;
height: 99px;
}
.Pet-Rock-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1066px -300px;
width: 81px;
height: 99px;
}
.Pet-Rock-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1066px -400px;
width: 81px;
height: 99px;
}
.Pet-Rock-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1066px -500px;
width: 81px;
height: 99px;
}
.Pet-Rock-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1066px -600px;
width: 81px;
height: 99px;
}
.Pet-Rock-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1066px -700px;
width: 81px;
height: 99px;
}
.Pet-Rock-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1066px -800px;
width: 81px;
height: 99px;
}
.Pet-Rock-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1066px -900px;
width: 81px;
height: 99px;
}
.Pet-Rock-White {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: 0px -1000px;
width: 81px;
height: 99px;
}
.Pet-Rock-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -82px -1000px;
width: 81px;
height: 99px;
}
.Pet-Rooster-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -164px -1000px;
width: 81px;
height: 99px;
}
.Pet-Rooster-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -246px -1000px;
width: 81px;
height: 99px;
}
.Pet-Rooster-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -328px -1000px;
width: 81px;
height: 99px;
}
.Pet-Rooster-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -410px -1000px;
width: 81px;
height: 99px;
}
.Pet-Rooster-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -492px -1000px;
width: 81px;
height: 99px;
}
.Pet-Rooster-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -574px -1000px;
width: 81px;
height: 99px;
}
.Pet-Rooster-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -656px -1000px;
width: 81px;
height: 99px;
}
.Pet-Rooster-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -738px -1000px;
width: 81px;
height: 99px;
}
.Pet-Rooster-White {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -820px -1000px;
width: 81px;
height: 99px;
}
.Pet-Rooster-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -902px -1000px;
width: 81px;
height: 99px;
}
.Pet-Sabretooth-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -984px -1000px;
width: 81px;
height: 99px;
}
.Pet-Sabretooth-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1066px -1000px;
width: 81px;
height: 99px;
}
.Pet-Sabretooth-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1148px 0px;
width: 81px;
height: 99px;
}
.Pet-Sabretooth-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1148px -100px;
width: 81px;
height: 99px;
}
.Pet-Sabretooth-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1148px -200px;
width: 81px;
height: 99px;
}
.Pet-Sabretooth-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1148px -300px;
width: 81px;
height: 99px;
}
.Pet-Sabretooth-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1148px -400px;
width: 81px;
height: 99px;
}
.Pet-Sabretooth-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1148px -500px;
width: 81px;
height: 99px;
}
.Pet-Sabretooth-White {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1148px -600px;
width: 81px;
height: 99px;
}
.Pet-Sabretooth-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1148px -700px;
width: 81px;
height: 99px;
}
.Pet-SeaSerpent-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -574px -1100px;
width: 81px;
height: 99px;
}
.Pet-SeaSerpent-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -656px -1100px;
width: 81px;
height: 99px;
}
.Pet-SeaSerpent-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -738px -1100px;
width: 81px;
height: 99px;
}
.Pet-SeaSerpent-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -820px -1100px;
width: 81px;
height: 99px;
}
.Pet-SeaSerpent-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -902px -1100px;
width: 81px;
height: 99px;
}
.Pet-SeaSerpent-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -984px -1100px;
width: 81px;
height: 99px;
}
.Pet-SeaSerpent-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1066px -1100px;
width: 81px;
height: 99px;
}
.Pet-SeaSerpent-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1148px -1100px;
width: 81px;
height: 99px;
}
.Pet-SeaSerpent-White {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1230px 0px;
width: 81px;
height: 99px;
}
.Pet-SeaSerpent-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1230px -100px;
width: 81px;
height: 99px;
}
.Pet-Seahorse-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1148px -800px;
width: 81px;
height: 99px;
}
.Pet-Seahorse-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1148px -900px;
width: 81px;
height: 99px;
}
.Pet-Seahorse-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1148px -1000px;
width: 81px;
height: 99px;
}
.Pet-Seahorse-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: 0px -1100px;
width: 81px;
height: 99px;
}
.Pet-Seahorse-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
- background-position: 0px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
+ background-position: -82px -1100px;
width: 81px;
height: 99px;
}
.Pet-Seahorse-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -164px -1100px;
width: 81px;
height: 99px;
}
.Pet-Seahorse-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -246px -1100px;
width: 81px;
height: 99px;
}
.Pet-Seahorse-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -328px -1100px;
width: 81px;
height: 99px;
}
.Pet-Seahorse-White {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -410px -1100px;
width: 81px;
height: 99px;
}
.Pet-Seahorse-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -492px -1100px;
width: 81px;
height: 99px;
}
.Pet-Sheep-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1230px -200px;
width: 81px;
height: 99px;
}
.Pet-Sheep-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1230px -300px;
width: 81px;
height: 99px;
}
.Pet-Sheep-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1230px -400px;
width: 81px;
height: 99px;
}
.Pet-Sheep-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1230px -500px;
width: 81px;
height: 99px;
}
.Pet-Sheep-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1230px -600px;
width: 81px;
height: 99px;
}
.Pet-Sheep-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1230px -700px;
width: 81px;
height: 99px;
}
.Pet-Sheep-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1230px -800px;
width: 81px;
height: 99px;
}
.Pet-Sheep-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1230px -900px;
width: 81px;
height: 99px;
}
.Pet-Sheep-White {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1230px -1000px;
width: 81px;
height: 99px;
}
.Pet-Sheep-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1230px -1100px;
width: 81px;
height: 99px;
}
.Pet-Slime-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: 0px -1200px;
width: 81px;
height: 99px;
}
.Pet-Slime-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -82px -1200px;
width: 81px;
height: 99px;
}
.Pet-Slime-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -164px -1200px;
width: 81px;
height: 99px;
}
.Pet-Slime-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -246px -1200px;
width: 81px;
height: 99px;
}
.Pet-Slime-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -328px -1200px;
width: 81px;
height: 99px;
}
.Pet-Slime-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -410px -1200px;
width: 81px;
height: 99px;
}
.Pet-Slime-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -492px -1200px;
width: 81px;
height: 99px;
}
.Pet-Slime-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -574px -1200px;
width: 81px;
height: 99px;
}
.Pet-Slime-White {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -656px -1200px;
width: 81px;
height: 99px;
}
.Pet-Slime-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -738px -1200px;
width: 81px;
height: 99px;
}
.Pet-Sloth-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -820px -1200px;
width: 81px;
height: 99px;
}
.Pet-Sloth-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -902px -1200px;
width: 81px;
height: 99px;
}
.Pet-Sloth-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -984px -1200px;
width: 81px;
height: 99px;
}
.Pet-Sloth-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1066px -1200px;
width: 81px;
height: 99px;
}
.Pet-Sloth-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1148px -1200px;
width: 81px;
height: 99px;
}
.Pet-Sloth-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1230px -1200px;
width: 81px;
height: 99px;
}
.Pet-Sloth-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1312px 0px;
width: 81px;
height: 99px;
}
.Pet-Sloth-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1312px -100px;
width: 81px;
height: 99px;
}
.Pet-Sloth-White {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1312px -200px;
width: 81px;
height: 99px;
}
.Pet-Sloth-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1312px -300px;
width: 81px;
height: 99px;
}
.Pet-Snail-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1312px -400px;
width: 81px;
height: 99px;
}
.Pet-Snail-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1312px -500px;
width: 81px;
height: 99px;
}
.Pet-Snail-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1312px -600px;
width: 81px;
height: 99px;
}
.Pet-Snail-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1312px -700px;
width: 81px;
height: 99px;
}
.Pet-Snail-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1312px -800px;
width: 81px;
height: 99px;
}
.Pet-Snail-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1312px -900px;
width: 81px;
height: 99px;
}
.Pet-Snail-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1312px -1000px;
width: 81px;
height: 99px;
}
.Pet-Snail-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1312px -1100px;
width: 81px;
height: 99px;
}
.Pet-Snail-White {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1312px -1200px;
width: 81px;
height: 99px;
}
.Pet-Snail-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1394px 0px;
width: 81px;
height: 99px;
}
.Pet-Snake-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1394px -100px;
width: 81px;
height: 99px;
}
.Pet-Snake-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1394px -200px;
width: 81px;
height: 99px;
}
.Pet-Snake-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1394px -300px;
width: 81px;
height: 99px;
}
.Pet-Snake-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1394px -400px;
width: 81px;
height: 99px;
}
.Pet-Snake-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1394px -500px;
width: 81px;
height: 99px;
}
.Pet-Snake-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1394px -600px;
width: 81px;
height: 99px;
}
.Pet-Snake-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1394px -700px;
width: 81px;
height: 99px;
}
.Pet-Snake-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1394px -800px;
width: 81px;
height: 99px;
}
.Pet-Snake-White {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1394px -900px;
width: 81px;
height: 99px;
}
.Pet-Snake-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1394px -1000px;
width: 81px;
height: 99px;
}
.Pet-Spider-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1394px -1100px;
width: 81px;
height: 99px;
}
.Pet-Spider-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1394px -1200px;
width: 81px;
height: 99px;
}
.Pet-Spider-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: 0px -1300px;
width: 81px;
height: 99px;
}
.Pet-Spider-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -82px -1300px;
width: 81px;
height: 99px;
}
.Pet-Spider-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -164px -1300px;
width: 81px;
height: 99px;
}
.Pet-Spider-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -246px -1300px;
width: 81px;
height: 99px;
}
.Pet-Spider-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -328px -1300px;
width: 81px;
height: 99px;
}
.Pet-Spider-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -410px -1300px;
width: 81px;
height: 99px;
}
.Pet-Spider-White {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -492px -1300px;
width: 81px;
height: 99px;
}
.Pet-Spider-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -574px -1300px;
width: 81px;
height: 99px;
}
.Pet-Squirrel-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -656px -1300px;
width: 81px;
height: 99px;
}
.Pet-Squirrel-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -738px -1300px;
width: 81px;
height: 99px;
}
.Pet-Squirrel-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -820px -1300px;
width: 81px;
height: 99px;
}
.Pet-Squirrel-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -902px -1300px;
width: 81px;
height: 99px;
}
.Pet-Squirrel-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -984px -1300px;
width: 81px;
height: 99px;
}
.Pet-Squirrel-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1066px -1300px;
width: 81px;
height: 99px;
}
.Pet-Squirrel-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1148px -1300px;
width: 81px;
height: 99px;
}
.Pet-Squirrel-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1230px -1300px;
width: 81px;
height: 99px;
}
.Pet-Squirrel-White {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1312px -1300px;
width: 81px;
height: 99px;
}
.Pet-Squirrel-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1394px -1300px;
width: 81px;
height: 99px;
}
.Pet-TRex-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1558px -1400px;
width: 81px;
height: 99px;
}
.Pet-TRex-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: 0px -1500px;
width: 81px;
height: 99px;
}
.Pet-TRex-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -82px -1500px;
width: 81px;
height: 99px;
}
.Pet-TRex-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -164px -1500px;
width: 81px;
height: 99px;
}
.Pet-TRex-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -246px -1500px;
width: 81px;
height: 99px;
}
.Pet-TRex-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -328px -1500px;
width: 81px;
height: 99px;
}
.Pet-TRex-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -410px -1500px;
width: 81px;
height: 99px;
}
.Pet-TRex-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -492px -1500px;
width: 81px;
height: 99px;
}
.Pet-TRex-White {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -574px -1500px;
width: 81px;
height: 99px;
}
.Pet-TRex-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -656px -1500px;
width: 81px;
height: 99px;
}
.Pet-Tiger-Veteran {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1476px 0px;
width: 81px;
height: 99px;
}
.Pet-TigerCub-Aquatic {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1476px -100px;
width: 81px;
height: 99px;
}
.Pet-TigerCub-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1476px -200px;
width: 81px;
height: 99px;
}
.Pet-TigerCub-Bronze {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1476px -300px;
width: 81px;
height: 99px;
}
.Pet-TigerCub-Celestial {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1476px -400px;
width: 81px;
height: 99px;
}
.Pet-TigerCub-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1476px -500px;
width: 81px;
height: 99px;
}
.Pet-TigerCub-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1476px -600px;
width: 81px;
height: 99px;
}
.Pet-TigerCub-Cupid {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1476px -700px;
width: 81px;
height: 99px;
}
.Pet-TigerCub-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1476px -800px;
width: 81px;
height: 99px;
}
.Pet-TigerCub-Ember {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1476px -900px;
width: 81px;
height: 99px;
}
.Pet-TigerCub-Fairy {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1476px -1000px;
width: 81px;
height: 99px;
}
.Pet-TigerCub-Floral {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1476px -1100px;
width: 81px;
height: 99px;
}
.Pet-TigerCub-Frost {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1476px -1200px;
width: 81px;
height: 99px;
}
.Pet-TigerCub-Ghost {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1476px -1300px;
width: 81px;
height: 99px;
}
.Pet-TigerCub-Glass {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: 0px -1400px;
width: 81px;
height: 99px;
}
.Pet-TigerCub-Glow {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -82px -1400px;
width: 81px;
height: 99px;
}
.Pet-TigerCub-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -164px -1400px;
width: 81px;
height: 99px;
}
.Pet-TigerCub-Holly {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -246px -1400px;
width: 81px;
height: 99px;
}
.Pet-TigerCub-IcySnow {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -328px -1400px;
width: 81px;
height: 99px;
}
.Pet-TigerCub-Peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -410px -1400px;
width: 81px;
height: 99px;
}
.Pet-TigerCub-Rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -492px -1400px;
width: 81px;
height: 99px;
}
.Pet-TigerCub-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -574px -1400px;
width: 81px;
height: 99px;
}
.Pet-TigerCub-RoseQuartz {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -656px -1400px;
width: 81px;
height: 99px;
}
.Pet-TigerCub-RoyalPurple {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -738px -1400px;
width: 81px;
height: 99px;
}
.Pet-TigerCub-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -820px -1400px;
width: 81px;
height: 99px;
}
.Pet-TigerCub-Shadow {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -902px -1400px;
width: 81px;
height: 99px;
}
.Pet-TigerCub-Shimmer {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -984px -1400px;
width: 81px;
height: 99px;
}
.Pet-TigerCub-Silver {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1066px -1400px;
width: 81px;
height: 99px;
}
.Pet-TigerCub-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1148px -1400px;
width: 81px;
height: 99px;
}
.Pet-TigerCub-Spooky {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1230px -1400px;
width: 81px;
height: 99px;
}
.Pet-TigerCub-StarryNight {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1312px -1400px;
width: 81px;
height: 99px;
}
.Pet-TigerCub-Sunshine {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1394px -1400px;
width: 81px;
height: 99px;
}
.Pet-TigerCub-Thunderstorm {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1476px -1400px;
width: 81px;
height: 99px;
}
.Pet-TigerCub-Veggie {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1558px 0px;
width: 81px;
height: 99px;
}
.Pet-TigerCub-Watery {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1558px -100px;
width: 81px;
height: 99px;
}
.Pet-TigerCub-White {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1558px -200px;
width: 81px;
height: 99px;
}
.Pet-TigerCub-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1558px -300px;
width: 81px;
height: 99px;
}
.Pet-Treeling-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1558px -400px;
width: 81px;
height: 99px;
}
.Pet-Treeling-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1558px -500px;
width: 81px;
height: 99px;
}
.Pet-Treeling-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1558px -600px;
width: 81px;
height: 99px;
}
.Pet-Treeling-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1558px -700px;
width: 81px;
height: 99px;
}
.Pet-Treeling-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1558px -800px;
width: 81px;
height: 99px;
}
.Pet-Treeling-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1558px -900px;
width: 81px;
height: 99px;
}
.Pet-Treeling-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1558px -1000px;
width: 81px;
height: 99px;
}
.Pet-Treeling-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1558px -1100px;
width: 81px;
height: 99px;
}
.Pet-Treeling-White {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1558px -1200px;
width: 81px;
height: 99px;
}
.Pet-Treeling-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1558px -1300px;
width: 81px;
height: 99px;
}
.Pet-Triceratops-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -738px -1500px;
width: 81px;
height: 99px;
}
.Pet-Triceratops-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -820px -1500px;
width: 81px;
height: 99px;
}
.Pet-Triceratops-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -902px -1500px;
width: 81px;
height: 99px;
}
.Pet-Triceratops-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -984px -1500px;
width: 81px;
height: 99px;
}
.Pet-Triceratops-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1066px -1500px;
width: 81px;
height: 99px;
}
.Pet-Triceratops-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1148px -1500px;
width: 81px;
height: 99px;
}
.Pet-Triceratops-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1230px -1500px;
width: 81px;
height: 99px;
}
.Pet-Triceratops-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1312px -1500px;
width: 81px;
height: 99px;
}
.Pet-Triceratops-White {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1394px -1500px;
width: 81px;
height: 99px;
}
.Pet-Triceratops-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1476px -1500px;
width: 81px;
height: 99px;
}
.Pet-Turkey-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1558px -1500px;
width: 81px;
height: 99px;
}
.Pet-Turkey-Gilded {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1640px 0px;
width: 81px;
height: 99px;
}
.Pet-Turtle-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1640px -100px;
width: 81px;
height: 99px;
}
.Pet-Turtle-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1640px -200px;
width: 81px;
height: 99px;
}
.Pet-Turtle-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1640px -300px;
width: 81px;
height: 99px;
}
.Pet-Turtle-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1640px -400px;
width: 81px;
height: 99px;
}
.Pet-Turtle-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1640px -500px;
width: 81px;
height: 99px;
}
.Pet-Turtle-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1640px -600px;
width: 81px;
height: 99px;
}
.Pet-Turtle-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1640px -700px;
width: 81px;
height: 99px;
}
.Pet-Turtle-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1640px -800px;
width: 81px;
height: 99px;
}
.Pet-Turtle-White {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1640px -900px;
width: 81px;
height: 99px;
}
.Pet-Turtle-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1640px -1000px;
width: 81px;
height: 99px;
}
.Pet-Unicorn-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-25.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-25.png');
background-position: -1640px -1100px;
width: 81px;
height: 99px;
diff --git a/website/client/assets/css/sprites/spritesmith-main-26.css b/website/client/src/assets/css/sprites/spritesmith-main-26.css
similarity index 55%
rename from website/client/assets/css/sprites/spritesmith-main-26.css
rename to website/client/src/assets/css/sprites/spritesmith-main-26.css
index f535b47ed4..b4e86c249d 100644
--- a/website/client/assets/css/sprites/spritesmith-main-26.css
+++ b/website/client/src/assets/css/sprites/spritesmith-main-26.css
@@ -1,671 +1,671 @@
.Pet-Unicorn-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
- background-position: -82px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
+ background-position: 0px 0px;
width: 81px;
height: 99px;
}
.Pet-Unicorn-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
- background-position: -164px -600px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
+ background-position: -82px 0px;
width: 81px;
height: 99px;
}
.Pet-Unicorn-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -164px 0px;
width: 81px;
height: 99px;
}
.Pet-Unicorn-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: 0px -100px;
width: 81px;
height: 99px;
}
.Pet-Unicorn-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -82px -100px;
width: 81px;
height: 99px;
}
.Pet-Unicorn-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -164px -100px;
width: 81px;
height: 99px;
}
.Pet-Unicorn-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -246px 0px;
width: 81px;
height: 99px;
}
.Pet-Unicorn-White {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -246px -100px;
width: 81px;
height: 99px;
}
.Pet-Unicorn-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: 0px -200px;
width: 81px;
height: 99px;
}
.Pet-Velociraptor-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -82px -200px;
width: 81px;
height: 99px;
}
.Pet-Velociraptor-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -164px -200px;
width: 81px;
height: 99px;
}
.Pet-Velociraptor-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -246px -200px;
width: 81px;
height: 99px;
}
.Pet-Velociraptor-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -328px 0px;
width: 81px;
height: 99px;
}
.Pet-Velociraptor-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -328px -100px;
width: 81px;
height: 99px;
}
.Pet-Velociraptor-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -328px -200px;
width: 81px;
height: 99px;
}
.Pet-Velociraptor-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: 0px -300px;
width: 81px;
height: 99px;
}
.Pet-Velociraptor-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -82px -300px;
width: 81px;
height: 99px;
}
.Pet-Velociraptor-White {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -164px -300px;
width: 81px;
height: 99px;
}
.Pet-Velociraptor-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -246px -300px;
width: 81px;
height: 99px;
}
.Pet-Whale-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -328px -300px;
width: 81px;
height: 99px;
}
.Pet-Whale-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -410px 0px;
width: 81px;
height: 99px;
}
.Pet-Whale-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -410px -100px;
width: 81px;
height: 99px;
}
.Pet-Whale-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -410px -200px;
width: 81px;
height: 99px;
}
.Pet-Whale-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -410px -300px;
width: 81px;
height: 99px;
}
.Pet-Whale-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -492px 0px;
width: 81px;
height: 99px;
}
.Pet-Whale-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -492px -100px;
width: 81px;
height: 99px;
}
.Pet-Whale-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -492px -200px;
width: 81px;
height: 99px;
}
.Pet-Whale-White {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -492px -300px;
width: 81px;
height: 99px;
}
.Pet-Whale-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: 0px -400px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Aquatic {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -82px -400px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -164px -400px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Bronze {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -246px -400px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Celestial {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -328px -400px;
width: 81px;
height: 99px;
}
.Pet-Wolf-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -410px -400px;
width: 81px;
height: 99px;
}
.Pet-Wolf-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -492px -400px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Cupid {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -574px 0px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -574px -100px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Ember {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -574px -200px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Fairy {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -574px -300px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Floral {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -574px -400px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Frost {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: 0px -500px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Ghost {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -82px -500px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Glass {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -164px -500px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Glow {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -246px -500px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -328px -500px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Holly {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -410px -500px;
width: 81px;
height: 99px;
}
.Pet-Wolf-IcySnow {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -492px -500px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -574px -500px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -656px 0px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -656px -100px;
width: 81px;
height: 99px;
}
.Pet-Wolf-RoseQuartz {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -656px -200px;
width: 81px;
height: 99px;
}
.Pet-Wolf-RoyalPurple {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -656px -300px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -656px -400px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Shadow {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -656px -500px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Shimmer {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: 0px -600px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Silver {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -82px -600px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
- background-position: 0px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
+ background-position: -164px -600px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Spooky {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -246px -600px;
width: 81px;
height: 99px;
}
.Pet-Wolf-StarryNight {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -328px -600px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Sunshine {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -410px -600px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Thunderstorm {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -492px -600px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Veggie {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -574px -600px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Veteran {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -656px -600px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Watery {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -738px 0px;
width: 81px;
height: 99px;
}
.Pet-Wolf-White {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -738px -100px;
width: 81px;
height: 99px;
}
.Pet-Wolf-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -738px -200px;
width: 81px;
height: 99px;
}
.Pet-Yarn-Base {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -738px -300px;
width: 81px;
height: 99px;
}
.Pet-Yarn-CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -738px -400px;
width: 81px;
height: 99px;
}
.Pet-Yarn-CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -738px -500px;
width: 81px;
height: 99px;
}
.Pet-Yarn-Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -738px -600px;
width: 81px;
height: 99px;
}
.Pet-Yarn-Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: 0px -700px;
width: 81px;
height: 99px;
}
.Pet-Yarn-Red {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -82px -700px;
width: 81px;
height: 99px;
}
.Pet-Yarn-Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -164px -700px;
width: 81px;
height: 99px;
}
.Pet-Yarn-Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -246px -700px;
width: 81px;
height: 99px;
}
.Pet-Yarn-White {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -328px -700px;
width: 81px;
height: 99px;
}
.Pet-Yarn-Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -410px -700px;
width: 81px;
height: 99px;
}
.Pet_HatchingPotion_Aquatic {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
- background-position: -561px -700px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
+ background-position: -492px -700px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Base {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
- background-position: -207px -800px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
+ background-position: -561px -700px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Bronze {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -630px -700px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Celestial {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -699px -700px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_CottonCandyBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -820px 0px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_CottonCandyPink {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -820px -69px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Cupid {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -820px -138px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Desert {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -820px -207px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Ember {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -820px -276px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Fairy {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -820px -345px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Floral {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -820px -414px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Frost {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -820px -483px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Ghost {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -820px -552px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Glass {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -820px -621px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Glow {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -820px -690px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Golden {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: 0px -800px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Holly {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -69px -800px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_IcySnow {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -138px -800px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
- background-position: -492px -700px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
+ background-position: -207px -800px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Purple {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -276px -800px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -345px -800px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Red {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -414px -800px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_RoseQuartz {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -483px -800px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_RoyalPurple {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -552px -800px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Shade {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -621px -800px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Shadow {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -690px -800px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Shimmer {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -759px -800px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Silver {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -889px 0px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -889px -69px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Spooky {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -889px -138px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_StarryNight {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -889px -207px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Sunshine {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -889px -276px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Thunderstorm {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -889px -345px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Watery {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -889px -414px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_White {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -889px -483px;
width: 68px;
height: 68px;
}
.Pet_HatchingPotion_Zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-26.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-26.png');
background-position: -889px -552px;
width: 68px;
height: 68px;
diff --git a/website/client/assets/css/sprites/spritesmith-main-3.css b/website/client/src/assets/css/sprites/spritesmith-main-3.css
similarity index 57%
rename from website/client/assets/css/sprites/spritesmith-main-3.css
rename to website/client/src/assets/css/sprites/spritesmith-main-3.css
index 902553d804..cdf33a643a 100644
--- a/website/client/assets/css/sprites/spritesmith-main-3.css
+++ b/website/client/src/assets/css/sprites/spritesmith-main-3.css
@@ -1,3947 +1,3947 @@
.hair_bangs_4_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
- background-position: -91px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
+ background-position: 0px 0px;
width: 90px;
height: 90px;
}
.customize-option.hair_bangs_4_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
- background-position: -116px -15px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
+ background-position: -25px -15px;
width: 60px;
height: 60px;
}
.hair_base_10_TRUred {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -91px -728px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_TRUred {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -116px -743px;
width: 60px;
height: 60px;
}
.hair_base_10_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -546px -364px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -571px -379px;
width: 60px;
height: 60px;
}
.hair_base_10_black {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -546px -455px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_black {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -571px -470px;
width: 60px;
height: 60px;
}
.hair_base_10_blond {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: 0px -546px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_blond {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -25px -561px;
width: 60px;
height: 60px;
}
.hair_base_10_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -91px -546px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -116px -561px;
width: 60px;
height: 60px;
}
.hair_base_10_brown {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -182px -546px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_brown {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -207px -561px;
width: 60px;
height: 60px;
}
.hair_base_10_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -273px -546px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -298px -561px;
width: 60px;
height: 60px;
}
.hair_base_10_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -364px -546px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -389px -561px;
width: 60px;
height: 60px;
}
.hair_base_10_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -455px -546px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -480px -561px;
width: 60px;
height: 60px;
}
.hair_base_10_frost {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -546px -546px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_frost {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -571px -561px;
width: 60px;
height: 60px;
}
.hair_base_10_ghostwhite {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -637px 0px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_ghostwhite {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -662px -15px;
width: 60px;
height: 60px;
}
.hair_base_10_green {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -637px -91px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_green {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -662px -106px;
width: 60px;
height: 60px;
}
.hair_base_10_halloween {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -637px -182px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_halloween {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -662px -197px;
width: 60px;
height: 60px;
}
.hair_base_10_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -637px -273px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -662px -288px;
width: 60px;
height: 60px;
}
.hair_base_10_hollygreen {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -637px -364px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_hollygreen {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -662px -379px;
width: 60px;
height: 60px;
}
.hair_base_10_midnight {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -637px -455px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_midnight {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -662px -470px;
width: 60px;
height: 60px;
}
.hair_base_10_pblue {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -637px -546px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_pblue {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -662px -561px;
width: 60px;
height: 60px;
}
.hair_base_10_pblue2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: 0px -637px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_pblue2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -25px -652px;
width: 60px;
height: 60px;
}
.hair_base_10_peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -91px -637px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -116px -652px;
width: 60px;
height: 60px;
}
.hair_base_10_pgreen {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -182px -637px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_pgreen {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -207px -652px;
width: 60px;
height: 60px;
}
.hair_base_10_pgreen2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -273px -637px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_pgreen2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -298px -652px;
width: 60px;
height: 60px;
}
.hair_base_10_porange {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -364px -637px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_porange {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -389px -652px;
width: 60px;
height: 60px;
}
.hair_base_10_porange2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -455px -637px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_porange2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -480px -652px;
width: 60px;
height: 60px;
}
.hair_base_10_ppink {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -546px -637px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_ppink {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -571px -652px;
width: 60px;
height: 60px;
}
.hair_base_10_ppink2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -637px -637px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_ppink2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -662px -652px;
width: 60px;
height: 60px;
}
.hair_base_10_ppurple {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -728px 0px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_ppurple {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -753px -15px;
width: 60px;
height: 60px;
}
.hair_base_10_ppurple2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -728px -91px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_ppurple2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -753px -106px;
width: 60px;
height: 60px;
}
.hair_base_10_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -728px -182px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -753px -197px;
width: 60px;
height: 60px;
}
.hair_base_10_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -728px -273px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -753px -288px;
width: 60px;
height: 60px;
}
.hair_base_10_pyellow {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -728px -364px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_pyellow {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -753px -379px;
width: 60px;
height: 60px;
}
.hair_base_10_pyellow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -728px -455px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_pyellow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -753px -470px;
width: 60px;
height: 60px;
}
.hair_base_10_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -728px -546px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -753px -561px;
width: 60px;
height: 60px;
}
.hair_base_10_red {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -728px -637px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_red {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -753px -652px;
width: 60px;
height: 60px;
}
.hair_base_10_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: 0px -728px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -25px -743px;
width: 60px;
height: 60px;
}
.hair_base_10_white {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -182px -728px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_white {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -207px -743px;
width: 60px;
height: 60px;
}
.hair_base_10_winternight {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -273px -728px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_winternight {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -298px -743px;
width: 60px;
height: 60px;
}
.hair_base_10_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -364px -728px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -389px -743px;
width: 60px;
height: 60px;
}
.hair_base_10_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -455px -728px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -480px -743px;
width: 60px;
height: 60px;
}
.hair_base_10_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -546px -728px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_10_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -571px -743px;
width: 60px;
height: 60px;
}
.hair_base_11_TRUred {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -182px -910px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_11_TRUred {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -207px -925px;
width: 60px;
height: 60px;
}
.hair_base_11_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -637px -728px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_11_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -662px -743px;
width: 60px;
height: 60px;
}
.hair_base_11_black {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -728px -728px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_11_black {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -753px -743px;
width: 60px;
height: 60px;
}
.hair_base_11_blond {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -819px 0px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_11_blond {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -844px -15px;
width: 60px;
height: 60px;
}
.hair_base_11_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -819px -91px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_11_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -844px -106px;
width: 60px;
height: 60px;
}
.hair_base_11_brown {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -819px -182px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_11_brown {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -844px -197px;
width: 60px;
height: 60px;
}
.hair_base_11_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -819px -273px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_11_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -844px -288px;
width: 60px;
height: 60px;
}
.hair_base_11_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -819px -364px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_11_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -844px -379px;
width: 60px;
height: 60px;
}
.hair_base_11_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -819px -455px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_11_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -844px -470px;
width: 60px;
height: 60px;
}
.hair_base_11_frost {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -819px -546px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_11_frost {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -844px -561px;
width: 60px;
height: 60px;
}
.hair_base_11_ghostwhite {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -819px -637px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_11_ghostwhite {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -844px -652px;
width: 60px;
height: 60px;
}
.hair_base_11_green {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -819px -728px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_11_green {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -844px -743px;
width: 60px;
height: 60px;
}
.hair_base_11_halloween {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: 0px -819px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_11_halloween {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -25px -834px;
width: 60px;
height: 60px;
}
.hair_base_11_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -91px -819px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_11_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -116px -834px;
width: 60px;
height: 60px;
}
.hair_base_11_hollygreen {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -182px -819px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_11_hollygreen {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -207px -834px;
width: 60px;
height: 60px;
}
.hair_base_11_midnight {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -273px -819px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_11_midnight {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -298px -834px;
width: 60px;
height: 60px;
}
.hair_base_11_pblue {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -364px -819px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_11_pblue {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -389px -834px;
width: 60px;
height: 60px;
}
.hair_base_11_pblue2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -455px -819px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_11_pblue2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -480px -834px;
width: 60px;
height: 60px;
}
.hair_base_11_peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -546px -819px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_11_peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -571px -834px;
width: 60px;
height: 60px;
}
.hair_base_11_pgreen {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -637px -819px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_11_pgreen {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -662px -834px;
width: 60px;
height: 60px;
}
.hair_base_11_pgreen2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -728px -819px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_11_pgreen2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -753px -834px;
width: 60px;
height: 60px;
}
.hair_base_11_porange {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -819px -819px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_11_porange {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -844px -834px;
width: 60px;
height: 60px;
}
.hair_base_11_porange2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -910px 0px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_11_porange2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -935px -15px;
width: 60px;
height: 60px;
}
.hair_base_11_ppink {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -910px -91px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_11_ppink {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -935px -106px;
width: 60px;
height: 60px;
}
.hair_base_11_ppink2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -910px -182px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_11_ppink2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -935px -197px;
width: 60px;
height: 60px;
}
.hair_base_11_ppurple {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -910px -273px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_11_ppurple {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -935px -288px;
width: 60px;
height: 60px;
}
.hair_base_11_ppurple2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -910px -364px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_11_ppurple2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -935px -379px;
width: 60px;
height: 60px;
}
.hair_base_11_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -910px -455px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_11_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -935px -470px;
width: 60px;
height: 60px;
}
.hair_base_11_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -910px -546px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_11_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -935px -561px;
width: 60px;
height: 60px;
}
.hair_base_11_pyellow {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -910px -637px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_11_pyellow {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -935px -652px;
width: 60px;
height: 60px;
}
.hair_base_11_pyellow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -910px -728px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_11_pyellow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -935px -743px;
width: 60px;
height: 60px;
}
.hair_base_11_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -910px -819px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_11_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -935px -834px;
width: 60px;
height: 60px;
}
.hair_base_11_red {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: 0px -910px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_11_red {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -25px -925px;
width: 60px;
height: 60px;
}
.hair_base_11_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -91px -910px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_11_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -116px -925px;
width: 60px;
height: 60px;
}
.hair_base_11_white {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -273px -910px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_11_white {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -298px -925px;
width: 60px;
height: 60px;
}
.hair_base_11_winternight {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -364px -910px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_11_winternight {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -389px -925px;
width: 60px;
height: 60px;
}
.hair_base_11_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -455px -910px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_11_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -480px -925px;
width: 60px;
height: 60px;
}
.hair_base_11_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -546px -910px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_11_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -571px -925px;
width: 60px;
height: 60px;
}
.hair_base_11_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -637px -910px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_11_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -662px -925px;
width: 60px;
height: 60px;
}
.hair_base_12_TRUred {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1092px -637px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_12_TRUred {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1117px -652px;
width: 60px;
height: 60px;
}
.hair_base_12_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -728px -910px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_12_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -753px -925px;
width: 60px;
height: 60px;
}
.hair_base_12_black {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -819px -910px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_12_black {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -844px -925px;
width: 60px;
height: 60px;
}
.hair_base_12_blond {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -910px -910px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_12_blond {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -935px -925px;
width: 60px;
height: 60px;
}
.hair_base_12_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1001px 0px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_12_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1026px -15px;
width: 60px;
height: 60px;
}
.hair_base_12_brown {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1001px -91px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_12_brown {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1026px -106px;
width: 60px;
height: 60px;
}
.hair_base_12_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1001px -182px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_12_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1026px -197px;
width: 60px;
height: 60px;
}
.hair_base_12_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1001px -273px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_12_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1026px -288px;
width: 60px;
height: 60px;
}
.hair_base_12_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1001px -364px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_12_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1026px -379px;
width: 60px;
height: 60px;
}
.hair_base_12_frost {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1001px -455px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_12_frost {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1026px -470px;
width: 60px;
height: 60px;
}
.hair_base_12_ghostwhite {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1001px -546px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_12_ghostwhite {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1026px -561px;
width: 60px;
height: 60px;
}
.hair_base_12_green {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1001px -637px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_12_green {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1026px -652px;
width: 60px;
height: 60px;
}
.hair_base_12_halloween {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1001px -728px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_12_halloween {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1026px -743px;
width: 60px;
height: 60px;
}
.hair_base_12_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1001px -819px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_12_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1026px -834px;
width: 60px;
height: 60px;
}
.hair_base_12_hollygreen {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1001px -910px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_12_hollygreen {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1026px -925px;
width: 60px;
height: 60px;
}
.hair_base_12_midnight {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: 0px -1001px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_12_midnight {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -25px -1016px;
width: 60px;
height: 60px;
}
.hair_base_12_pblue {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -91px -1001px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_12_pblue {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -116px -1016px;
width: 60px;
height: 60px;
}
.hair_base_12_pblue2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -182px -1001px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_12_pblue2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -207px -1016px;
width: 60px;
height: 60px;
}
.hair_base_12_peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -273px -1001px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_12_peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -298px -1016px;
width: 60px;
height: 60px;
}
.hair_base_12_pgreen {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -364px -1001px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_12_pgreen {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -389px -1016px;
width: 60px;
height: 60px;
}
.hair_base_12_pgreen2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -455px -1001px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_12_pgreen2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -480px -1016px;
width: 60px;
height: 60px;
}
.hair_base_12_porange {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -546px -1001px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_12_porange {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -571px -1016px;
width: 60px;
height: 60px;
}
.hair_base_12_porange2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -637px -1001px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_12_porange2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -662px -1016px;
width: 60px;
height: 60px;
}
.hair_base_12_ppink {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -728px -1001px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_12_ppink {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -753px -1016px;
width: 60px;
height: 60px;
}
.hair_base_12_ppink2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -819px -1001px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_12_ppink2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -844px -1016px;
width: 60px;
height: 60px;
}
.hair_base_12_ppurple {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -910px -1001px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_12_ppurple {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -935px -1016px;
width: 60px;
height: 60px;
}
.hair_base_12_ppurple2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1001px -1001px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_12_ppurple2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1026px -1016px;
width: 60px;
height: 60px;
}
.hair_base_12_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1092px 0px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_12_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1117px -15px;
width: 60px;
height: 60px;
}
.hair_base_12_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1092px -91px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_12_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1117px -106px;
width: 60px;
height: 60px;
}
.hair_base_12_pyellow {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1092px -182px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_12_pyellow {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1117px -197px;
width: 60px;
height: 60px;
}
.hair_base_12_pyellow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1092px -273px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_12_pyellow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1117px -288px;
width: 60px;
height: 60px;
}
.hair_base_12_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1092px -364px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_12_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1117px -379px;
width: 60px;
height: 60px;
}
.hair_base_12_red {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1092px -455px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_12_red {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1117px -470px;
width: 60px;
height: 60px;
}
.hair_base_12_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1092px -546px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_12_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1117px -561px;
width: 60px;
height: 60px;
}
.hair_base_12_white {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1092px -728px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_12_white {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1117px -743px;
width: 60px;
height: 60px;
}
.hair_base_12_winternight {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1092px -819px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_12_winternight {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1117px -834px;
width: 60px;
height: 60px;
}
.hair_base_12_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1092px -910px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_12_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1117px -925px;
width: 60px;
height: 60px;
}
.hair_base_12_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1092px -1001px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_12_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1117px -1016px;
width: 60px;
height: 60px;
}
.hair_base_12_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: 0px -1092px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_12_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -25px -1107px;
width: 60px;
height: 60px;
}
.hair_base_13_TRUred {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -728px -1183px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_13_TRUred {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -753px -1198px;
width: 60px;
height: 60px;
}
.hair_base_13_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -91px -1092px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_13_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -116px -1107px;
width: 60px;
height: 60px;
}
.hair_base_13_black {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -182px -1092px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_13_black {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -207px -1107px;
width: 60px;
height: 60px;
}
.hair_base_13_blond {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -273px -1092px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_13_blond {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -298px -1107px;
width: 60px;
height: 60px;
}
.hair_base_13_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -364px -1092px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_13_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -389px -1107px;
width: 60px;
height: 60px;
}
.hair_base_13_brown {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -455px -1092px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_13_brown {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -480px -1107px;
width: 60px;
height: 60px;
}
.hair_base_13_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -546px -1092px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_13_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -571px -1107px;
width: 60px;
height: 60px;
}
.hair_base_13_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -637px -1092px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_13_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -662px -1107px;
width: 60px;
height: 60px;
}
.hair_base_13_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
- background-position: 0px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
+ background-position: -728px -1092px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_13_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
- background-position: -25px -15px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
+ background-position: -753px -1107px;
width: 60px;
height: 60px;
}
.hair_base_13_frost {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -819px -1092px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_13_frost {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -844px -1107px;
width: 60px;
height: 60px;
}
.hair_base_13_ghostwhite {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -910px -1092px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_13_ghostwhite {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -935px -1107px;
width: 60px;
height: 60px;
}
.hair_base_13_green {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1001px -1092px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_13_green {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1026px -1107px;
width: 60px;
height: 60px;
}
.hair_base_13_halloween {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1092px -1092px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_13_halloween {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1117px -1107px;
width: 60px;
height: 60px;
}
.hair_base_13_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1183px 0px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_13_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1208px -15px;
width: 60px;
height: 60px;
}
.hair_base_13_hollygreen {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1183px -91px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_13_hollygreen {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1208px -106px;
width: 60px;
height: 60px;
}
.hair_base_13_midnight {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1183px -182px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_13_midnight {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1208px -197px;
width: 60px;
height: 60px;
}
.hair_base_13_pblue {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1183px -273px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_13_pblue {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1208px -288px;
width: 60px;
height: 60px;
}
.hair_base_13_pblue2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1183px -364px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_13_pblue2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1208px -379px;
width: 60px;
height: 60px;
}
.hair_base_13_peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1183px -455px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_13_peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1208px -470px;
width: 60px;
height: 60px;
}
.hair_base_13_pgreen {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1183px -546px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_13_pgreen {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1208px -561px;
width: 60px;
height: 60px;
}
.hair_base_13_pgreen2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1183px -637px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_13_pgreen2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1208px -652px;
width: 60px;
height: 60px;
}
.hair_base_13_porange {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1183px -728px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_13_porange {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1208px -743px;
width: 60px;
height: 60px;
}
.hair_base_13_porange2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1183px -819px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_13_porange2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1208px -834px;
width: 60px;
height: 60px;
}
.hair_base_13_ppink {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1183px -910px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_13_ppink {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1208px -925px;
width: 60px;
height: 60px;
}
.hair_base_13_ppink2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1183px -1001px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_13_ppink2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1208px -1016px;
width: 60px;
height: 60px;
}
.hair_base_13_ppurple {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1183px -1092px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_13_ppurple {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1208px -1107px;
width: 60px;
height: 60px;
}
.hair_base_13_ppurple2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: 0px -1183px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_13_ppurple2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -25px -1198px;
width: 60px;
height: 60px;
}
.hair_base_13_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -91px -1183px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_13_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -116px -1198px;
width: 60px;
height: 60px;
}
.hair_base_13_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -182px -1183px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_13_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -207px -1198px;
width: 60px;
height: 60px;
}
.hair_base_13_pyellow {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -273px -1183px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_13_pyellow {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -298px -1198px;
width: 60px;
height: 60px;
}
.hair_base_13_pyellow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -364px -1183px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_13_pyellow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -389px -1198px;
width: 60px;
height: 60px;
}
.hair_base_13_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -455px -1183px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_13_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -480px -1198px;
width: 60px;
height: 60px;
}
.hair_base_13_red {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -546px -1183px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_13_red {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -571px -1198px;
width: 60px;
height: 60px;
}
.hair_base_13_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -637px -1183px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_13_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -662px -1198px;
width: 60px;
height: 60px;
}
.hair_base_13_white {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -819px -1183px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_13_white {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -844px -1198px;
width: 60px;
height: 60px;
}
.hair_base_13_winternight {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -910px -1183px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_13_winternight {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -935px -1198px;
width: 60px;
height: 60px;
}
.hair_base_13_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1001px -1183px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_13_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1026px -1198px;
width: 60px;
height: 60px;
}
.hair_base_13_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1092px -1183px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_13_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1117px -1198px;
width: 60px;
height: 60px;
}
.hair_base_13_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1183px -1183px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_13_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1208px -1198px;
width: 60px;
height: 60px;
}
.hair_base_14_TRUred {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1365px -364px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_14_TRUred {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1390px -379px;
width: 60px;
height: 60px;
}
.hair_base_14_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1274px 0px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_14_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1299px -15px;
width: 60px;
height: 60px;
}
.hair_base_14_black {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1274px -91px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_14_black {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1299px -106px;
width: 60px;
height: 60px;
}
.hair_base_14_blond {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1274px -182px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_14_blond {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1299px -197px;
width: 60px;
height: 60px;
}
.hair_base_14_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1274px -273px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_14_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1299px -288px;
width: 60px;
height: 60px;
}
.hair_base_14_brown {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1274px -364px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_14_brown {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1299px -379px;
width: 60px;
height: 60px;
}
.hair_base_14_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1274px -455px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_14_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1299px -470px;
width: 60px;
height: 60px;
}
.hair_base_14_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1274px -546px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_14_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1299px -561px;
width: 60px;
height: 60px;
}
.hair_base_14_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1274px -637px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_14_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1299px -652px;
width: 60px;
height: 60px;
}
.hair_base_14_frost {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1274px -728px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_14_frost {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1299px -743px;
width: 60px;
height: 60px;
}
.hair_base_14_ghostwhite {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1274px -819px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_14_ghostwhite {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1299px -834px;
width: 60px;
height: 60px;
}
.hair_base_14_green {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1274px -910px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_14_green {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1299px -925px;
width: 60px;
height: 60px;
}
.hair_base_14_halloween {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1274px -1001px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_14_halloween {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1299px -1016px;
width: 60px;
height: 60px;
}
.hair_base_14_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1274px -1092px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_14_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1299px -1107px;
width: 60px;
height: 60px;
}
.hair_base_14_hollygreen {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1274px -1183px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_14_hollygreen {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1299px -1198px;
width: 60px;
height: 60px;
}
.hair_base_14_midnight {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: 0px -1274px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_14_midnight {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -25px -1289px;
width: 60px;
height: 60px;
}
.hair_base_14_pblue {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -91px -1274px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_14_pblue {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -116px -1289px;
width: 60px;
height: 60px;
}
.hair_base_14_pblue2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -182px -1274px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_14_pblue2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -207px -1289px;
width: 60px;
height: 60px;
}
.hair_base_14_peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -273px -1274px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_14_peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -298px -1289px;
width: 60px;
height: 60px;
}
.hair_base_14_pgreen {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -364px -1274px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_14_pgreen {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -389px -1289px;
width: 60px;
height: 60px;
}
.hair_base_14_pgreen2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -455px -1274px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_14_pgreen2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -480px -1289px;
width: 60px;
height: 60px;
}
.hair_base_14_porange {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -546px -1274px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_14_porange {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -571px -1289px;
width: 60px;
height: 60px;
}
.hair_base_14_porange2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -637px -1274px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_14_porange2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -662px -1289px;
width: 60px;
height: 60px;
}
.hair_base_14_ppink {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -728px -1274px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_14_ppink {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -753px -1289px;
width: 60px;
height: 60px;
}
.hair_base_14_ppink2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -819px -1274px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_14_ppink2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -844px -1289px;
width: 60px;
height: 60px;
}
.hair_base_14_ppurple {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -910px -1274px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_14_ppurple {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -935px -1289px;
width: 60px;
height: 60px;
}
.hair_base_14_ppurple2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1001px -1274px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_14_ppurple2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1026px -1289px;
width: 60px;
height: 60px;
}
.hair_base_14_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1092px -1274px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_14_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1117px -1289px;
width: 60px;
height: 60px;
}
.hair_base_14_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1183px -1274px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_14_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1208px -1289px;
width: 60px;
height: 60px;
}
.hair_base_14_pyellow {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1274px -1274px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_14_pyellow {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1299px -1289px;
width: 60px;
height: 60px;
}
.hair_base_14_pyellow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1365px 0px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_14_pyellow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1390px -15px;
width: 60px;
height: 60px;
}
.hair_base_14_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1365px -91px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_14_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1390px -106px;
width: 60px;
height: 60px;
}
.hair_base_14_red {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1365px -182px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_14_red {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1390px -197px;
width: 60px;
height: 60px;
}
.hair_base_14_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1365px -273px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_14_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1390px -288px;
width: 60px;
height: 60px;
}
.hair_base_14_white {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1365px -455px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_14_white {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1390px -470px;
width: 60px;
height: 60px;
}
.hair_base_14_winternight {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1365px -546px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_14_winternight {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1390px -561px;
width: 60px;
height: 60px;
}
.hair_base_14_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1365px -637px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_14_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1390px -652px;
width: 60px;
height: 60px;
}
.hair_base_14_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1365px -728px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_14_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1390px -743px;
width: 60px;
height: 60px;
}
.hair_base_14_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1365px -819px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_14_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1390px -834px;
width: 60px;
height: 60px;
}
.hair_base_15_TRUred {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1456px -1092px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_15_TRUred {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1481px -1092px;
width: 60px;
height: 60px;
}
.hair_base_15_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1365px -910px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_15_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1390px -910px;
width: 60px;
height: 60px;
}
.hair_base_15_black {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1365px -1001px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_15_black {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1390px -1001px;
width: 60px;
height: 60px;
}
.hair_base_15_blond {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1365px -1092px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_15_blond {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1390px -1092px;
width: 60px;
height: 60px;
}
.hair_base_15_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1365px -1183px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_15_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1390px -1183px;
width: 60px;
height: 60px;
}
.hair_base_15_brown {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1365px -1274px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_15_brown {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1390px -1274px;
width: 60px;
height: 60px;
}
.hair_base_15_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: 0px -1365px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_15_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -25px -1365px;
width: 60px;
height: 60px;
}
.hair_base_15_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -91px -1365px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_15_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -116px -1365px;
width: 60px;
height: 60px;
}
.hair_base_15_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -182px -1365px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_15_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -207px -1365px;
width: 60px;
height: 60px;
}
.hair_base_15_frost {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -273px -1365px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_15_frost {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -298px -1365px;
width: 60px;
height: 60px;
}
.hair_base_15_ghostwhite {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -364px -1365px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_15_ghostwhite {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -389px -1365px;
width: 60px;
height: 60px;
}
.hair_base_15_green {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -455px -1365px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_15_green {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -480px -1365px;
width: 60px;
height: 60px;
}
.hair_base_15_halloween {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -546px -1365px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_15_halloween {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -571px -1365px;
width: 60px;
height: 60px;
}
.hair_base_15_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -637px -1365px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_15_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -662px -1365px;
width: 60px;
height: 60px;
}
.hair_base_15_hollygreen {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -728px -1365px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_15_hollygreen {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -753px -1365px;
width: 60px;
height: 60px;
}
.hair_base_15_midnight {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -819px -1365px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_15_midnight {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -844px -1365px;
width: 60px;
height: 60px;
}
.hair_base_15_pblue {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -910px -1365px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_15_pblue {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -935px -1365px;
width: 60px;
height: 60px;
}
.hair_base_15_pblue2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1001px -1365px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_15_pblue2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1026px -1365px;
width: 60px;
height: 60px;
}
.hair_base_15_peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1092px -1365px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_15_peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1117px -1365px;
width: 60px;
height: 60px;
}
.hair_base_15_pgreen {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1183px -1365px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_15_pgreen {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1208px -1365px;
width: 60px;
height: 60px;
}
.hair_base_15_pgreen2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1274px -1365px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_15_pgreen2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1299px -1365px;
width: 60px;
height: 60px;
}
.hair_base_15_porange {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1365px -1365px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_15_porange {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1390px -1365px;
width: 60px;
height: 60px;
}
.hair_base_15_porange2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1456px 0px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_15_porange2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1481px -0px;
width: 60px;
height: 60px;
}
.hair_base_15_ppink {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1456px -91px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_15_ppink {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1481px -91px;
width: 60px;
height: 60px;
}
.hair_base_15_ppink2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1456px -182px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_15_ppink2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1481px -182px;
width: 60px;
height: 60px;
}
.hair_base_15_ppurple {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1456px -273px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_15_ppurple {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1481px -273px;
width: 60px;
height: 60px;
}
.hair_base_15_ppurple2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1456px -364px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_15_ppurple2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1481px -364px;
width: 60px;
height: 60px;
}
.hair_base_15_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1456px -455px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_15_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1481px -455px;
width: 60px;
height: 60px;
}
.hair_base_15_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1456px -546px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_15_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1481px -546px;
width: 60px;
height: 60px;
}
.hair_base_15_pyellow {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1456px -637px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_15_pyellow {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1481px -637px;
width: 60px;
height: 60px;
}
.hair_base_15_pyellow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1456px -728px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_15_pyellow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1481px -728px;
width: 60px;
height: 60px;
}
.hair_base_15_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1456px -819px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_15_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1481px -819px;
width: 60px;
height: 60px;
}
.hair_base_15_red {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1456px -910px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_15_red {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1481px -910px;
width: 60px;
height: 60px;
}
.hair_base_15_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1456px -1001px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_15_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1481px -1001px;
width: 60px;
height: 60px;
}
.hair_base_15_white {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1456px -1183px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_15_white {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1481px -1183px;
width: 60px;
height: 60px;
}
.hair_base_15_winternight {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1456px -1274px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_15_winternight {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1481px -1274px;
width: 60px;
height: 60px;
}
.hair_base_15_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1456px -1365px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_15_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1481px -1365px;
width: 60px;
height: 60px;
}
.hair_base_15_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: 0px -1456px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_15_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -25px -1456px;
width: 60px;
height: 60px;
}
.hair_base_15_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -91px -1456px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_15_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -116px -1456px;
width: 60px;
height: 60px;
}
.hair_base_16_TRUred {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -91px -1547px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_16_TRUred {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -116px -1547px;
width: 60px;
height: 60px;
}
.hair_base_16_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -182px -1456px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_16_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -207px -1456px;
width: 60px;
height: 60px;
}
.hair_base_16_black {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -273px -1456px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_16_black {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -298px -1456px;
width: 60px;
height: 60px;
}
.hair_base_16_blond {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -364px -1456px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_16_blond {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -389px -1456px;
width: 60px;
height: 60px;
}
.hair_base_16_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -455px -1456px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_16_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -480px -1456px;
width: 60px;
height: 60px;
}
.hair_base_16_brown {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -546px -1456px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_16_brown {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -571px -1456px;
width: 60px;
height: 60px;
}
.hair_base_16_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -637px -1456px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_16_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -662px -1456px;
width: 60px;
height: 60px;
}
.hair_base_16_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -728px -1456px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_16_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -753px -1456px;
width: 60px;
height: 60px;
}
.hair_base_16_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -819px -1456px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_16_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -844px -1456px;
width: 60px;
height: 60px;
}
.hair_base_16_frost {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -910px -1456px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_16_frost {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -935px -1456px;
width: 60px;
height: 60px;
}
.hair_base_16_ghostwhite {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1001px -1456px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_16_ghostwhite {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1026px -1456px;
width: 60px;
height: 60px;
}
.hair_base_16_green {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1092px -1456px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_16_green {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1117px -1456px;
width: 60px;
height: 60px;
}
.hair_base_16_halloween {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1183px -1456px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_16_halloween {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1208px -1456px;
width: 60px;
height: 60px;
}
.hair_base_16_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1274px -1456px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_16_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1299px -1456px;
width: 60px;
height: 60px;
}
.hair_base_16_hollygreen {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1365px -1456px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_16_hollygreen {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1390px -1456px;
width: 60px;
height: 60px;
}
.hair_base_16_midnight {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1456px -1456px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_16_midnight {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1481px -1456px;
width: 60px;
height: 60px;
}
.hair_base_16_pblue {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1547px 0px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_16_pblue {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1572px -0px;
width: 60px;
height: 60px;
}
.hair_base_16_pblue2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1547px -91px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_16_pblue2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1572px -91px;
width: 60px;
height: 60px;
}
.hair_base_16_peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1547px -182px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_16_peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1572px -182px;
width: 60px;
height: 60px;
}
.hair_base_16_pgreen {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1547px -273px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_16_pgreen {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1572px -273px;
width: 60px;
height: 60px;
}
.hair_base_16_pgreen2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1547px -364px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_16_pgreen2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1572px -364px;
width: 60px;
height: 60px;
}
.hair_base_16_porange {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1547px -455px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_16_porange {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1572px -455px;
width: 60px;
height: 60px;
}
.hair_base_16_porange2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1547px -546px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_16_porange2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1572px -546px;
width: 60px;
height: 60px;
}
.hair_base_16_ppink {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1547px -637px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_16_ppink {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1572px -637px;
width: 60px;
height: 60px;
}
.hair_base_16_ppink2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1547px -728px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_16_ppink2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1572px -728px;
width: 60px;
height: 60px;
}
.hair_base_16_ppurple {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1547px -819px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_16_ppurple {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1572px -819px;
width: 60px;
height: 60px;
}
.hair_base_16_ppurple2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1547px -910px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_16_ppurple2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1572px -910px;
width: 60px;
height: 60px;
}
.hair_base_16_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1547px -1001px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_16_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1572px -1001px;
width: 60px;
height: 60px;
}
.hair_base_16_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1547px -1092px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_16_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1572px -1092px;
width: 60px;
height: 60px;
}
.hair_base_16_pyellow {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1547px -1183px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_16_pyellow {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1572px -1183px;
width: 60px;
height: 60px;
}
.hair_base_16_pyellow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1547px -1274px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_16_pyellow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1572px -1274px;
width: 60px;
height: 60px;
}
.hair_base_16_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1547px -1365px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_16_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1572px -1365px;
width: 60px;
height: 60px;
}
.hair_base_16_red {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1547px -1456px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_16_red {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1572px -1456px;
width: 60px;
height: 60px;
}
.hair_base_16_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: 0px -1547px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_16_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -25px -1547px;
width: 60px;
height: 60px;
}
.hair_base_16_white {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -182px -1547px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_16_white {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -207px -1547px;
width: 60px;
height: 60px;
}
.hair_base_16_winternight {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -273px -1547px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_16_winternight {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -298px -1547px;
width: 60px;
height: 60px;
}
.hair_base_16_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -364px -1547px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_16_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -389px -1547px;
width: 60px;
height: 60px;
}
.hair_base_16_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -455px -1547px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_16_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -480px -1547px;
width: 60px;
height: 60px;
}
.hair_base_16_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -546px -1547px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_16_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -571px -1547px;
width: 60px;
height: 60px;
}
.hair_base_17_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -637px -1547px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_17_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -662px -1547px;
width: 60px;
height: 60px;
}
.hair_base_17_black {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -728px -1547px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_17_black {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -753px -1547px;
width: 60px;
height: 60px;
}
.hair_base_17_blond {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -819px -1547px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_17_blond {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -844px -1547px;
width: 60px;
height: 60px;
}
.hair_base_17_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -910px -1547px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_17_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -935px -1547px;
width: 60px;
height: 60px;
}
.hair_base_17_brown {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1001px -1547px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_17_brown {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1026px -1547px;
width: 60px;
height: 60px;
}
.hair_base_17_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1092px -1547px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_17_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1117px -1547px;
width: 60px;
height: 60px;
}
.hair_base_17_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1183px -1547px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_17_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1208px -1547px;
width: 60px;
height: 60px;
}
.hair_base_17_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1274px -1547px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_17_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1299px -1547px;
width: 60px;
height: 60px;
}
.hair_base_17_frost {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1365px -1547px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_17_frost {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1390px -1547px;
width: 60px;
height: 60px;
}
.hair_base_17_ghostwhite {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1456px -1547px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_17_ghostwhite {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1481px -1547px;
width: 60px;
height: 60px;
}
.hair_base_17_green {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1547px -1547px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_17_green {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1572px -1547px;
width: 60px;
height: 60px;
}
.hair_base_17_halloween {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1638px 0px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_17_halloween {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1663px -0px;
width: 60px;
height: 60px;
}
.hair_base_17_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1638px -91px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_17_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1663px -91px;
width: 60px;
height: 60px;
}
.hair_base_17_hollygreen {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1638px -182px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_17_hollygreen {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1663px -182px;
width: 60px;
height: 60px;
}
.hair_base_17_midnight {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1638px -273px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_17_midnight {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1663px -273px;
width: 60px;
height: 60px;
}
.hair_base_17_pblue {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1638px -364px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_17_pblue {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -1663px -364px;
width: 60px;
height: 60px;
}
.hair_base_1_TRUred {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -364px -455px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_1_TRUred {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -389px -470px;
width: 60px;
height: 60px;
}
.hair_base_1_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
- background-position: -728px -1092px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
+ background-position: -91px 0px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_1_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
- background-position: -753px -1107px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
+ background-position: -116px -15px;
width: 60px;
height: 60px;
}
.hair_base_1_black {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: 0px -91px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_1_black {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -25px -106px;
width: 60px;
height: 60px;
}
.hair_base_1_blond {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -91px -91px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_1_blond {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -116px -106px;
width: 60px;
height: 60px;
}
.hair_base_1_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -182px 0px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_1_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -207px -15px;
width: 60px;
height: 60px;
}
.hair_base_1_brown {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -182px -91px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_1_brown {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -207px -106px;
width: 60px;
height: 60px;
}
.hair_base_1_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: 0px -182px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_1_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -25px -197px;
width: 60px;
height: 60px;
}
.hair_base_1_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -91px -182px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_1_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -116px -197px;
width: 60px;
height: 60px;
}
.hair_base_1_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -182px -182px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_1_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -207px -197px;
width: 60px;
height: 60px;
}
.hair_base_1_frost {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -273px 0px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_1_frost {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -298px -15px;
width: 60px;
height: 60px;
}
.hair_base_1_ghostwhite {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -273px -91px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_1_ghostwhite {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -298px -106px;
width: 60px;
height: 60px;
}
.hair_base_1_green {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -273px -182px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_1_green {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -298px -197px;
width: 60px;
height: 60px;
}
.hair_base_1_halloween {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: 0px -273px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_1_halloween {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -25px -288px;
width: 60px;
height: 60px;
}
.hair_base_1_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -91px -273px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_1_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -116px -288px;
width: 60px;
height: 60px;
}
.hair_base_1_hollygreen {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -182px -273px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_1_hollygreen {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -207px -288px;
width: 60px;
height: 60px;
}
.hair_base_1_midnight {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -273px -273px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_1_midnight {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -298px -288px;
width: 60px;
height: 60px;
}
.hair_base_1_pblue {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -364px 0px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_1_pblue {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -389px -15px;
width: 60px;
height: 60px;
}
.hair_base_1_pblue2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -364px -91px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_1_pblue2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -389px -106px;
width: 60px;
height: 60px;
}
.hair_base_1_peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -364px -182px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_1_peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -389px -197px;
width: 60px;
height: 60px;
}
.hair_base_1_pgreen {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -364px -273px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_1_pgreen {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -389px -288px;
width: 60px;
height: 60px;
}
.hair_base_1_pgreen2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: 0px -364px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_1_pgreen2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -25px -379px;
width: 60px;
height: 60px;
}
.hair_base_1_porange {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -91px -364px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_1_porange {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -116px -379px;
width: 60px;
height: 60px;
}
.hair_base_1_porange2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -182px -364px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_1_porange2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -207px -379px;
width: 60px;
height: 60px;
}
.hair_base_1_ppink {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -273px -364px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_1_ppink {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -298px -379px;
width: 60px;
height: 60px;
}
.hair_base_1_ppink2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -364px -364px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_1_ppink2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -389px -379px;
width: 60px;
height: 60px;
}
.hair_base_1_ppurple {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -455px 0px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_1_ppurple {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -480px -15px;
width: 60px;
height: 60px;
}
.hair_base_1_ppurple2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -455px -91px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_1_ppurple2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -480px -106px;
width: 60px;
height: 60px;
}
.hair_base_1_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -455px -182px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_1_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -480px -197px;
width: 60px;
height: 60px;
}
.hair_base_1_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -455px -273px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_1_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -480px -288px;
width: 60px;
height: 60px;
}
.hair_base_1_pyellow {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -455px -364px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_1_pyellow {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -480px -379px;
width: 60px;
height: 60px;
}
.hair_base_1_pyellow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: 0px -455px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_1_pyellow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -25px -470px;
width: 60px;
height: 60px;
}
.hair_base_1_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -91px -455px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_1_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -116px -470px;
width: 60px;
height: 60px;
}
.hair_base_1_red {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -182px -455px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_1_red {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -207px -470px;
width: 60px;
height: 60px;
}
.hair_base_1_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -273px -455px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_1_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -298px -470px;
width: 60px;
height: 60px;
}
.hair_base_1_white {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -455px -455px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_1_white {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -480px -470px;
width: 60px;
height: 60px;
}
.hair_base_1_winternight {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -546px 0px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_1_winternight {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -571px -15px;
width: 60px;
height: 60px;
}
.hair_base_1_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -546px -91px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_1_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -571px -106px;
width: 60px;
height: 60px;
}
.hair_base_1_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -546px -182px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_1_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -571px -197px;
width: 60px;
height: 60px;
}
.hair_base_1_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -546px -273px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_1_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-3.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-3.png');
background-position: -571px -288px;
width: 60px;
height: 60px;
diff --git a/website/client/assets/css/sprites/spritesmith-main-4.css b/website/client/src/assets/css/sprites/spritesmith-main-4.css
similarity index 57%
rename from website/client/assets/css/sprites/spritesmith-main-4.css
rename to website/client/src/assets/css/sprites/spritesmith-main-4.css
index 6e1612671b..2d822aab29 100644
--- a/website/client/assets/css/sprites/spritesmith-main-4.css
+++ b/website/client/src/assets/css/sprites/spritesmith-main-4.css
@@ -1,3947 +1,3947 @@
.hair_base_17_TRUred {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -364px -91px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_17_TRUred {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -389px -91px;
width: 60px;
height: 60px;
}
.hair_base_17_pblue2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
- background-position: -91px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
+ background-position: 0px 0px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_17_pblue2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
- background-position: -116px -0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
+ background-position: -25px -0px;
width: 60px;
height: 60px;
}
.hair_base_17_peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
- background-position: -728px -1092px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
+ background-position: -91px 0px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_17_peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
- background-position: -753px -1092px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
+ background-position: -116px -0px;
width: 60px;
height: 60px;
}
.hair_base_17_pgreen {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: 0px -91px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_17_pgreen {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -25px -91px;
width: 60px;
height: 60px;
}
.hair_base_17_pgreen2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -91px -91px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_17_pgreen2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -116px -91px;
width: 60px;
height: 60px;
}
.hair_base_17_porange {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -182px 0px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_17_porange {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -207px -0px;
width: 60px;
height: 60px;
}
.hair_base_17_porange2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -182px -91px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_17_porange2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -207px -91px;
width: 60px;
height: 60px;
}
.hair_base_17_ppink {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: 0px -182px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_17_ppink {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -25px -182px;
width: 60px;
height: 60px;
}
.hair_base_17_ppink2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -91px -182px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_17_ppink2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -116px -182px;
width: 60px;
height: 60px;
}
.hair_base_17_ppurple {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -182px -182px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_17_ppurple {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -207px -182px;
width: 60px;
height: 60px;
}
.hair_base_17_ppurple2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -273px 0px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_17_ppurple2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -298px -0px;
width: 60px;
height: 60px;
}
.hair_base_17_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -273px -91px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_17_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -298px -91px;
width: 60px;
height: 60px;
}
.hair_base_17_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -273px -182px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_17_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -298px -182px;
width: 60px;
height: 60px;
}
.hair_base_17_pyellow {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: 0px -273px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_17_pyellow {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -25px -273px;
width: 60px;
height: 60px;
}
.hair_base_17_pyellow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -91px -273px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_17_pyellow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -116px -273px;
width: 60px;
height: 60px;
}
.hair_base_17_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -182px -273px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_17_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -207px -273px;
width: 60px;
height: 60px;
}
.hair_base_17_red {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -273px -273px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_17_red {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -298px -273px;
width: 60px;
height: 60px;
}
.hair_base_17_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -364px 0px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_17_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -389px -0px;
width: 60px;
height: 60px;
}
.hair_base_17_white {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -364px -182px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_17_white {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -389px -182px;
width: 60px;
height: 60px;
}
.hair_base_17_winternight {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -364px -273px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_17_winternight {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -389px -273px;
width: 60px;
height: 60px;
}
.hair_base_17_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: 0px -364px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_17_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -25px -364px;
width: 60px;
height: 60px;
}
.hair_base_17_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -91px -364px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_17_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -116px -364px;
width: 60px;
height: 60px;
}
.hair_base_17_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -182px -364px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_17_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -207px -364px;
width: 60px;
height: 60px;
}
.hair_base_18_TRUred {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: 0px -637px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_18_TRUred {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -25px -637px;
width: 60px;
height: 60px;
}
.hair_base_18_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -273px -364px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_18_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -298px -364px;
width: 60px;
height: 60px;
}
.hair_base_18_black {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -364px -364px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_18_black {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -389px -364px;
width: 60px;
height: 60px;
}
.hair_base_18_blond {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -455px 0px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_18_blond {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -480px -0px;
width: 60px;
height: 60px;
}
.hair_base_18_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -455px -91px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_18_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -480px -91px;
width: 60px;
height: 60px;
}
.hair_base_18_brown {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -455px -182px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_18_brown {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -480px -182px;
width: 60px;
height: 60px;
}
.hair_base_18_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -455px -273px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_18_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -480px -273px;
width: 60px;
height: 60px;
}
.hair_base_18_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -455px -364px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_18_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -480px -364px;
width: 60px;
height: 60px;
}
.hair_base_18_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: 0px -455px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_18_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -25px -455px;
width: 60px;
height: 60px;
}
.hair_base_18_frost {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -91px -455px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_18_frost {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -116px -455px;
width: 60px;
height: 60px;
}
.hair_base_18_ghostwhite {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -182px -455px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_18_ghostwhite {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -207px -455px;
width: 60px;
height: 60px;
}
.hair_base_18_green {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -273px -455px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_18_green {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -298px -455px;
width: 60px;
height: 60px;
}
.hair_base_18_halloween {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -364px -455px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_18_halloween {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -389px -455px;
width: 60px;
height: 60px;
}
.hair_base_18_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -455px -455px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_18_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -480px -455px;
width: 60px;
height: 60px;
}
.hair_base_18_hollygreen {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -546px 0px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_18_hollygreen {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -571px -0px;
width: 60px;
height: 60px;
}
.hair_base_18_midnight {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -546px -91px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_18_midnight {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -571px -91px;
width: 60px;
height: 60px;
}
.hair_base_18_pblue {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -546px -182px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_18_pblue {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -571px -182px;
width: 60px;
height: 60px;
}
.hair_base_18_pblue2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -546px -273px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_18_pblue2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -571px -273px;
width: 60px;
height: 60px;
}
.hair_base_18_peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -546px -364px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_18_peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -571px -364px;
width: 60px;
height: 60px;
}
.hair_base_18_pgreen {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -546px -455px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_18_pgreen {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -571px -455px;
width: 60px;
height: 60px;
}
.hair_base_18_pgreen2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: 0px -546px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_18_pgreen2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -25px -546px;
width: 60px;
height: 60px;
}
.hair_base_18_porange {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -91px -546px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_18_porange {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -116px -546px;
width: 60px;
height: 60px;
}
.hair_base_18_porange2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -182px -546px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_18_porange2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -207px -546px;
width: 60px;
height: 60px;
}
.hair_base_18_ppink {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -273px -546px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_18_ppink {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -298px -546px;
width: 60px;
height: 60px;
}
.hair_base_18_ppink2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -364px -546px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_18_ppink2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -389px -546px;
width: 60px;
height: 60px;
}
.hair_base_18_ppurple {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -455px -546px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_18_ppurple {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -480px -546px;
width: 60px;
height: 60px;
}
.hair_base_18_ppurple2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -546px -546px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_18_ppurple2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -571px -546px;
width: 60px;
height: 60px;
}
.hair_base_18_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -637px 0px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_18_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -662px -0px;
width: 60px;
height: 60px;
}
.hair_base_18_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -637px -91px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_18_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -662px -91px;
width: 60px;
height: 60px;
}
.hair_base_18_pyellow {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -637px -182px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_18_pyellow {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -662px -182px;
width: 60px;
height: 60px;
}
.hair_base_18_pyellow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -637px -273px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_18_pyellow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -662px -273px;
width: 60px;
height: 60px;
}
.hair_base_18_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -637px -364px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_18_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -662px -364px;
width: 60px;
height: 60px;
}
.hair_base_18_red {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -637px -455px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_18_red {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -662px -455px;
width: 60px;
height: 60px;
}
.hair_base_18_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -637px -546px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_18_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -662px -546px;
width: 60px;
height: 60px;
}
.hair_base_18_white {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -91px -637px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_18_white {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -116px -637px;
width: 60px;
height: 60px;
}
.hair_base_18_winternight {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -182px -637px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_18_winternight {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -207px -637px;
width: 60px;
height: 60px;
}
.hair_base_18_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -273px -637px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_18_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -298px -637px;
width: 60px;
height: 60px;
}
.hair_base_18_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -364px -637px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_18_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -389px -637px;
width: 60px;
height: 60px;
}
.hair_base_18_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -455px -637px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_18_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -480px -637px;
width: 60px;
height: 60px;
}
.hair_base_19_TRUred {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -455px -819px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_19_TRUred {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -480px -819px;
width: 60px;
height: 60px;
}
.hair_base_19_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -546px -637px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_19_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -571px -637px;
width: 60px;
height: 60px;
}
.hair_base_19_black {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -637px -637px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_19_black {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -662px -637px;
width: 60px;
height: 60px;
}
.hair_base_19_blond {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -728px 0px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_19_blond {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -753px -0px;
width: 60px;
height: 60px;
}
.hair_base_19_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -728px -91px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_19_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -753px -91px;
width: 60px;
height: 60px;
}
.hair_base_19_brown {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -728px -182px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_19_brown {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -753px -182px;
width: 60px;
height: 60px;
}
.hair_base_19_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -728px -273px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_19_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -753px -273px;
width: 60px;
height: 60px;
}
.hair_base_19_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -728px -364px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_19_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -753px -364px;
width: 60px;
height: 60px;
}
.hair_base_19_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -728px -455px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_19_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -753px -455px;
width: 60px;
height: 60px;
}
.hair_base_19_frost {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -728px -546px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_19_frost {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -753px -546px;
width: 60px;
height: 60px;
}
.hair_base_19_ghostwhite {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -728px -637px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_19_ghostwhite {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -753px -637px;
width: 60px;
height: 60px;
}
.hair_base_19_green {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: 0px -728px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_19_green {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -25px -728px;
width: 60px;
height: 60px;
}
.hair_base_19_halloween {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -91px -728px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_19_halloween {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -116px -728px;
width: 60px;
height: 60px;
}
.hair_base_19_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -182px -728px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_19_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -207px -728px;
width: 60px;
height: 60px;
}
.hair_base_19_hollygreen {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -273px -728px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_19_hollygreen {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -298px -728px;
width: 60px;
height: 60px;
}
.hair_base_19_midnight {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -364px -728px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_19_midnight {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -389px -728px;
width: 60px;
height: 60px;
}
.hair_base_19_pblue {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -455px -728px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_19_pblue {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -480px -728px;
width: 60px;
height: 60px;
}
.hair_base_19_pblue2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -546px -728px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_19_pblue2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -571px -728px;
width: 60px;
height: 60px;
}
.hair_base_19_peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -637px -728px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_19_peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -662px -728px;
width: 60px;
height: 60px;
}
.hair_base_19_pgreen {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -728px -728px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_19_pgreen {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -753px -728px;
width: 60px;
height: 60px;
}
.hair_base_19_pgreen2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -819px 0px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_19_pgreen2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -844px -0px;
width: 60px;
height: 60px;
}
.hair_base_19_porange {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -819px -91px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_19_porange {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -844px -91px;
width: 60px;
height: 60px;
}
.hair_base_19_porange2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -819px -182px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_19_porange2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -844px -182px;
width: 60px;
height: 60px;
}
.hair_base_19_ppink {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -819px -273px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_19_ppink {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -844px -273px;
width: 60px;
height: 60px;
}
.hair_base_19_ppink2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -819px -364px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_19_ppink2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -844px -364px;
width: 60px;
height: 60px;
}
.hair_base_19_ppurple {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -819px -455px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_19_ppurple {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -844px -455px;
width: 60px;
height: 60px;
}
.hair_base_19_ppurple2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -819px -546px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_19_ppurple2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -844px -546px;
width: 60px;
height: 60px;
}
.hair_base_19_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -819px -637px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_19_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -844px -637px;
width: 60px;
height: 60px;
}
.hair_base_19_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -819px -728px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_19_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -844px -728px;
width: 60px;
height: 60px;
}
.hair_base_19_pyellow {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: 0px -819px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_19_pyellow {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -25px -819px;
width: 60px;
height: 60px;
}
.hair_base_19_pyellow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -91px -819px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_19_pyellow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -116px -819px;
width: 60px;
height: 60px;
}
.hair_base_19_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -182px -819px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_19_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -207px -819px;
width: 60px;
height: 60px;
}
.hair_base_19_red {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -273px -819px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_19_red {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -298px -819px;
width: 60px;
height: 60px;
}
.hair_base_19_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -364px -819px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_19_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -389px -819px;
width: 60px;
height: 60px;
}
.hair_base_19_white {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -546px -819px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_19_white {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -571px -819px;
width: 60px;
height: 60px;
}
.hair_base_19_winternight {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -637px -819px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_19_winternight {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -662px -819px;
width: 60px;
height: 60px;
}
.hair_base_19_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -728px -819px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_19_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -753px -819px;
width: 60px;
height: 60px;
}
.hair_base_19_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -819px -819px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_19_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -844px -819px;
width: 60px;
height: 60px;
}
.hair_base_19_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -910px 0px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_19_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -935px -0px;
width: 60px;
height: 60px;
}
.hair_base_20_TRUred {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1183px -364px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_20_TRUred {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1208px -364px;
width: 60px;
height: 60px;
}
.hair_base_20_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -728px -1001px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_20_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -753px -1001px;
width: 60px;
height: 60px;
}
.hair_base_20_black {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -819px -1001px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_20_black {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -844px -1001px;
width: 60px;
height: 60px;
}
.hair_base_20_blond {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -910px -1001px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_20_blond {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -935px -1001px;
width: 60px;
height: 60px;
}
.hair_base_20_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1001px -1001px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_20_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1026px -1001px;
width: 60px;
height: 60px;
}
.hair_base_20_brown {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1092px 0px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_20_brown {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1117px -0px;
width: 60px;
height: 60px;
}
.hair_base_20_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1092px -91px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_20_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1117px -91px;
width: 60px;
height: 60px;
}
.hair_base_20_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1092px -182px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_20_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1117px -182px;
width: 60px;
height: 60px;
}
.hair_base_20_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1092px -273px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_20_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1117px -273px;
width: 60px;
height: 60px;
}
.hair_base_20_frost {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1092px -364px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_20_frost {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1117px -364px;
width: 60px;
height: 60px;
}
.hair_base_20_ghostwhite {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1092px -455px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_20_ghostwhite {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1117px -455px;
width: 60px;
height: 60px;
}
.hair_base_20_green {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1092px -546px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_20_green {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1117px -546px;
width: 60px;
height: 60px;
}
.hair_base_20_halloween {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1092px -637px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_20_halloween {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1117px -637px;
width: 60px;
height: 60px;
}
.hair_base_20_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1092px -728px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_20_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1117px -728px;
width: 60px;
height: 60px;
}
.hair_base_20_hollygreen {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1092px -819px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_20_hollygreen {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1117px -819px;
width: 60px;
height: 60px;
}
.hair_base_20_midnight {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1092px -910px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_20_midnight {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1117px -910px;
width: 60px;
height: 60px;
}
.hair_base_20_pblue {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1092px -1001px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_20_pblue {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1117px -1001px;
width: 60px;
height: 60px;
}
.hair_base_20_pblue2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: 0px -1092px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_20_pblue2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -25px -1092px;
width: 60px;
height: 60px;
}
.hair_base_20_peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -91px -1092px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_20_peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -116px -1092px;
width: 60px;
height: 60px;
}
.hair_base_20_pgreen {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -182px -1092px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_20_pgreen {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -207px -1092px;
width: 60px;
height: 60px;
}
.hair_base_20_pgreen2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -273px -1092px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_20_pgreen2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -298px -1092px;
width: 60px;
height: 60px;
}
.hair_base_20_porange {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -364px -1092px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_20_porange {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -389px -1092px;
width: 60px;
height: 60px;
}
.hair_base_20_porange2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -455px -1092px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_20_porange2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -480px -1092px;
width: 60px;
height: 60px;
}
.hair_base_20_ppink {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -546px -1092px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_20_ppink {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -571px -1092px;
width: 60px;
height: 60px;
}
.hair_base_20_ppink2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -637px -1092px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_20_ppink2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -662px -1092px;
width: 60px;
height: 60px;
}
.hair_base_20_ppurple {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
- background-position: 0px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
+ background-position: -728px -1092px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_20_ppurple {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
- background-position: -25px -0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
+ background-position: -753px -1092px;
width: 60px;
height: 60px;
}
.hair_base_20_ppurple2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -819px -1092px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_20_ppurple2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -844px -1092px;
width: 60px;
height: 60px;
}
.hair_base_20_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -910px -1092px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_20_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -935px -1092px;
width: 60px;
height: 60px;
}
.hair_base_20_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1001px -1092px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_20_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1026px -1092px;
width: 60px;
height: 60px;
}
.hair_base_20_pyellow {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1092px -1092px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_20_pyellow {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1117px -1092px;
width: 60px;
height: 60px;
}
.hair_base_20_pyellow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1183px 0px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_20_pyellow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1208px -0px;
width: 60px;
height: 60px;
}
.hair_base_20_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1183px -91px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_20_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1208px -91px;
width: 60px;
height: 60px;
}
.hair_base_20_red {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1183px -182px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_20_red {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1208px -182px;
width: 60px;
height: 60px;
}
.hair_base_20_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1183px -273px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_20_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1208px -273px;
width: 60px;
height: 60px;
}
.hair_base_20_white {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1183px -455px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_20_white {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1208px -455px;
width: 60px;
height: 60px;
}
.hair_base_20_winternight {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1183px -546px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_20_winternight {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1208px -546px;
width: 60px;
height: 60px;
}
.hair_base_20_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1183px -637px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_20_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1208px -637px;
width: 60px;
height: 60px;
}
.hair_base_20_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1183px -728px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_20_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1208px -728px;
width: 60px;
height: 60px;
}
.hair_base_20_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1183px -819px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_20_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1208px -819px;
width: 60px;
height: 60px;
}
.hair_base_2_TRUred {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -182px -1001px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_2_TRUred {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -207px -1016px;
width: 60px;
height: 60px;
}
.hair_base_2_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -910px -91px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_2_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -935px -106px;
width: 60px;
height: 60px;
}
.hair_base_2_black {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -910px -182px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_2_black {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -935px -197px;
width: 60px;
height: 60px;
}
.hair_base_2_blond {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -910px -273px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_2_blond {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -935px -288px;
width: 60px;
height: 60px;
}
.hair_base_2_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -910px -364px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_2_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -935px -379px;
width: 60px;
height: 60px;
}
.hair_base_2_brown {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -910px -455px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_2_brown {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -935px -470px;
width: 60px;
height: 60px;
}
.hair_base_2_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -910px -546px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_2_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -935px -561px;
width: 60px;
height: 60px;
}
.hair_base_2_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -910px -637px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_2_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -935px -652px;
width: 60px;
height: 60px;
}
.hair_base_2_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -910px -728px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_2_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -935px -743px;
width: 60px;
height: 60px;
}
.hair_base_2_frost {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -910px -819px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_2_frost {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -935px -834px;
width: 60px;
height: 60px;
}
.hair_base_2_ghostwhite {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: 0px -910px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_2_ghostwhite {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -25px -925px;
width: 60px;
height: 60px;
}
.hair_base_2_green {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -91px -910px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_2_green {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -116px -925px;
width: 60px;
height: 60px;
}
.hair_base_2_halloween {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -182px -910px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_2_halloween {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -207px -925px;
width: 60px;
height: 60px;
}
.hair_base_2_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -273px -910px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_2_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -298px -925px;
width: 60px;
height: 60px;
}
.hair_base_2_hollygreen {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -364px -910px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_2_hollygreen {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -389px -925px;
width: 60px;
height: 60px;
}
.hair_base_2_midnight {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -455px -910px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_2_midnight {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -480px -925px;
width: 60px;
height: 60px;
}
.hair_base_2_pblue {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -546px -910px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_2_pblue {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -571px -925px;
width: 60px;
height: 60px;
}
.hair_base_2_pblue2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -637px -910px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_2_pblue2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -662px -925px;
width: 60px;
height: 60px;
}
.hair_base_2_peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -728px -910px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_2_peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -753px -925px;
width: 60px;
height: 60px;
}
.hair_base_2_pgreen {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -819px -910px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_2_pgreen {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -844px -925px;
width: 60px;
height: 60px;
}
.hair_base_2_pgreen2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -910px -910px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_2_pgreen2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -935px -925px;
width: 60px;
height: 60px;
}
.hair_base_2_porange {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1001px 0px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_2_porange {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1026px -15px;
width: 60px;
height: 60px;
}
.hair_base_2_porange2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1001px -91px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_2_porange2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1026px -106px;
width: 60px;
height: 60px;
}
.hair_base_2_ppink {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1001px -182px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_2_ppink {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1026px -197px;
width: 60px;
height: 60px;
}
.hair_base_2_ppink2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1001px -273px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_2_ppink2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1026px -288px;
width: 60px;
height: 60px;
}
.hair_base_2_ppurple {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1001px -364px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_2_ppurple {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1026px -379px;
width: 60px;
height: 60px;
}
.hair_base_2_ppurple2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1001px -455px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_2_ppurple2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1026px -470px;
width: 60px;
height: 60px;
}
.hair_base_2_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1001px -546px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_2_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1026px -561px;
width: 60px;
height: 60px;
}
.hair_base_2_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1001px -637px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_2_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1026px -652px;
width: 60px;
height: 60px;
}
.hair_base_2_pyellow {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1001px -728px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_2_pyellow {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1026px -743px;
width: 60px;
height: 60px;
}
.hair_base_2_pyellow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1001px -819px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_2_pyellow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1026px -834px;
width: 60px;
height: 60px;
}
.hair_base_2_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1001px -910px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_2_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1026px -925px;
width: 60px;
height: 60px;
}
.hair_base_2_red {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: 0px -1001px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_2_red {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -25px -1016px;
width: 60px;
height: 60px;
}
.hair_base_2_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -91px -1001px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_2_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -116px -1016px;
width: 60px;
height: 60px;
}
.hair_base_2_white {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -273px -1001px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_2_white {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -298px -1016px;
width: 60px;
height: 60px;
}
.hair_base_2_winternight {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -364px -1001px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_2_winternight {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -389px -1016px;
width: 60px;
height: 60px;
}
.hair_base_2_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -455px -1001px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_2_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -480px -1016px;
width: 60px;
height: 60px;
}
.hair_base_2_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -546px -1001px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_2_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -571px -1016px;
width: 60px;
height: 60px;
}
.hair_base_2_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -637px -1001px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_2_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -662px -1016px;
width: 60px;
height: 60px;
}
.hair_base_3_TRUred {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -182px -1274px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_3_TRUred {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -207px -1289px;
width: 60px;
height: 60px;
}
.hair_base_3_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1183px -910px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_3_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1208px -925px;
width: 60px;
height: 60px;
}
.hair_base_3_black {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1183px -1001px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_3_black {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1208px -1016px;
width: 60px;
height: 60px;
}
.hair_base_3_blond {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1183px -1092px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_3_blond {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1208px -1107px;
width: 60px;
height: 60px;
}
.hair_base_3_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: 0px -1183px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_3_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -25px -1198px;
width: 60px;
height: 60px;
}
.hair_base_3_brown {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -91px -1183px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_3_brown {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -116px -1198px;
width: 60px;
height: 60px;
}
.hair_base_3_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -182px -1183px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_3_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -207px -1198px;
width: 60px;
height: 60px;
}
.hair_base_3_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -273px -1183px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_3_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -298px -1198px;
width: 60px;
height: 60px;
}
.hair_base_3_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -364px -1183px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_3_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -389px -1198px;
width: 60px;
height: 60px;
}
.hair_base_3_frost {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -455px -1183px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_3_frost {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -480px -1198px;
width: 60px;
height: 60px;
}
.hair_base_3_ghostwhite {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -546px -1183px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_3_ghostwhite {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -571px -1198px;
width: 60px;
height: 60px;
}
.hair_base_3_green {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -637px -1183px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_3_green {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -662px -1198px;
width: 60px;
height: 60px;
}
.hair_base_3_halloween {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -728px -1183px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_3_halloween {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -753px -1198px;
width: 60px;
height: 60px;
}
.hair_base_3_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -819px -1183px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_3_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -844px -1198px;
width: 60px;
height: 60px;
}
.hair_base_3_hollygreen {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -910px -1183px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_3_hollygreen {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -935px -1198px;
width: 60px;
height: 60px;
}
.hair_base_3_midnight {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1001px -1183px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_3_midnight {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1026px -1198px;
width: 60px;
height: 60px;
}
.hair_base_3_pblue {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1092px -1183px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_3_pblue {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1117px -1198px;
width: 60px;
height: 60px;
}
.hair_base_3_pblue2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1183px -1183px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_3_pblue2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1208px -1198px;
width: 60px;
height: 60px;
}
.hair_base_3_peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1274px 0px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_3_peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1299px -15px;
width: 60px;
height: 60px;
}
.hair_base_3_pgreen {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1274px -91px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_3_pgreen {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1299px -106px;
width: 60px;
height: 60px;
}
.hair_base_3_pgreen2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1274px -182px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_3_pgreen2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1299px -197px;
width: 60px;
height: 60px;
}
.hair_base_3_porange {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1274px -273px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_3_porange {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1299px -288px;
width: 60px;
height: 60px;
}
.hair_base_3_porange2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1274px -364px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_3_porange2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1299px -379px;
width: 60px;
height: 60px;
}
.hair_base_3_ppink {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1274px -455px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_3_ppink {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1299px -470px;
width: 60px;
height: 60px;
}
.hair_base_3_ppink2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1274px -546px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_3_ppink2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1299px -561px;
width: 60px;
height: 60px;
}
.hair_base_3_ppurple {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1274px -637px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_3_ppurple {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1299px -652px;
width: 60px;
height: 60px;
}
.hair_base_3_ppurple2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1274px -728px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_3_ppurple2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1299px -743px;
width: 60px;
height: 60px;
}
.hair_base_3_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1274px -819px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_3_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1299px -834px;
width: 60px;
height: 60px;
}
.hair_base_3_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1274px -910px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_3_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1299px -925px;
width: 60px;
height: 60px;
}
.hair_base_3_pyellow {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1274px -1001px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_3_pyellow {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1299px -1016px;
width: 60px;
height: 60px;
}
.hair_base_3_pyellow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1274px -1092px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_3_pyellow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1299px -1107px;
width: 60px;
height: 60px;
}
.hair_base_3_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1274px -1183px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_3_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1299px -1198px;
width: 60px;
height: 60px;
}
.hair_base_3_red {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: 0px -1274px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_3_red {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -25px -1289px;
width: 60px;
height: 60px;
}
.hair_base_3_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -91px -1274px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_3_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -116px -1289px;
width: 60px;
height: 60px;
}
.hair_base_3_white {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -273px -1274px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_3_white {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -298px -1289px;
width: 60px;
height: 60px;
}
.hair_base_3_winternight {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -364px -1274px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_3_winternight {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -389px -1289px;
width: 60px;
height: 60px;
}
.hair_base_3_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -455px -1274px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_3_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -480px -1289px;
width: 60px;
height: 60px;
}
.hair_base_3_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -546px -1274px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_3_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -571px -1289px;
width: 60px;
height: 60px;
}
.hair_base_3_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -637px -1274px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_3_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -662px -1289px;
width: 60px;
height: 60px;
}
.hair_base_4_TRUred {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1001px -1365px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_4_TRUred {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1026px -1380px;
width: 60px;
height: 60px;
}
.hair_base_4_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -728px -1274px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_4_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -753px -1289px;
width: 60px;
height: 60px;
}
.hair_base_4_black {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -819px -1274px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_4_black {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -844px -1289px;
width: 60px;
height: 60px;
}
.hair_base_4_blond {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -910px -1274px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_4_blond {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -935px -1289px;
width: 60px;
height: 60px;
}
.hair_base_4_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1001px -1274px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_4_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1026px -1289px;
width: 60px;
height: 60px;
}
.hair_base_4_brown {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1092px -1274px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_4_brown {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1117px -1289px;
width: 60px;
height: 60px;
}
.hair_base_4_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1183px -1274px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_4_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1208px -1289px;
width: 60px;
height: 60px;
}
.hair_base_4_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1274px -1274px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_4_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1299px -1289px;
width: 60px;
height: 60px;
}
.hair_base_4_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1365px 0px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_4_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1390px -15px;
width: 60px;
height: 60px;
}
.hair_base_4_frost {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1365px -91px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_4_frost {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1390px -106px;
width: 60px;
height: 60px;
}
.hair_base_4_ghostwhite {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1365px -182px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_4_ghostwhite {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1390px -197px;
width: 60px;
height: 60px;
}
.hair_base_4_green {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1365px -273px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_4_green {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1390px -288px;
width: 60px;
height: 60px;
}
.hair_base_4_halloween {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1365px -364px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_4_halloween {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1390px -379px;
width: 60px;
height: 60px;
}
.hair_base_4_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1365px -455px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_4_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1390px -470px;
width: 60px;
height: 60px;
}
.hair_base_4_hollygreen {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1365px -546px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_4_hollygreen {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1390px -561px;
width: 60px;
height: 60px;
}
.hair_base_4_midnight {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1365px -637px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_4_midnight {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1390px -652px;
width: 60px;
height: 60px;
}
.hair_base_4_pblue {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1365px -728px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_4_pblue {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1390px -743px;
width: 60px;
height: 60px;
}
.hair_base_4_pblue2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1365px -819px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_4_pblue2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1390px -834px;
width: 60px;
height: 60px;
}
.hair_base_4_peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1365px -910px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_4_peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1390px -925px;
width: 60px;
height: 60px;
}
.hair_base_4_pgreen {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1365px -1001px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_4_pgreen {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1390px -1016px;
width: 60px;
height: 60px;
}
.hair_base_4_pgreen2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1365px -1092px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_4_pgreen2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1390px -1107px;
width: 60px;
height: 60px;
}
.hair_base_4_porange {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1365px -1183px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_4_porange {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1390px -1198px;
width: 60px;
height: 60px;
}
.hair_base_4_porange2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1365px -1274px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_4_porange2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1390px -1289px;
width: 60px;
height: 60px;
}
.hair_base_4_ppink {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: 0px -1365px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_4_ppink {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -25px -1380px;
width: 60px;
height: 60px;
}
.hair_base_4_ppink2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -91px -1365px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_4_ppink2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -116px -1380px;
width: 60px;
height: 60px;
}
.hair_base_4_ppurple {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -182px -1365px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_4_ppurple {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -207px -1380px;
width: 60px;
height: 60px;
}
.hair_base_4_ppurple2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -273px -1365px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_4_ppurple2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -298px -1380px;
width: 60px;
height: 60px;
}
.hair_base_4_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -364px -1365px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_4_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -389px -1380px;
width: 60px;
height: 60px;
}
.hair_base_4_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -455px -1365px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_4_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -480px -1380px;
width: 60px;
height: 60px;
}
.hair_base_4_pyellow {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -546px -1365px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_4_pyellow {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -571px -1380px;
width: 60px;
height: 60px;
}
.hair_base_4_pyellow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -637px -1365px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_4_pyellow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -662px -1380px;
width: 60px;
height: 60px;
}
.hair_base_4_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -728px -1365px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_4_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -753px -1380px;
width: 60px;
height: 60px;
}
.hair_base_4_red {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -819px -1365px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_4_red {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -844px -1380px;
width: 60px;
height: 60px;
}
.hair_base_4_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -910px -1365px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_4_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -935px -1380px;
width: 60px;
height: 60px;
}
.hair_base_4_white {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1092px -1365px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_4_white {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1117px -1380px;
width: 60px;
height: 60px;
}
.hair_base_4_winternight {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1183px -1365px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_4_winternight {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1208px -1380px;
width: 60px;
height: 60px;
}
.hair_base_4_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1274px -1365px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_4_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1299px -1380px;
width: 60px;
height: 60px;
}
.hair_base_4_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1365px -1365px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_4_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1390px -1380px;
width: 60px;
height: 60px;
}
.hair_base_4_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1456px 0px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_4_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1481px -15px;
width: 60px;
height: 60px;
}
.hair_base_5_TRUred {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1547px -91px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_5_TRUred {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1572px -106px;
width: 60px;
height: 60px;
}
.hair_base_5_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1456px -91px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_5_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1481px -106px;
width: 60px;
height: 60px;
}
.hair_base_5_black {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1456px -182px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_5_black {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1481px -197px;
width: 60px;
height: 60px;
}
.hair_base_5_blond {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1456px -273px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_5_blond {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1481px -288px;
width: 60px;
height: 60px;
}
.hair_base_5_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1456px -364px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_5_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1481px -379px;
width: 60px;
height: 60px;
}
.hair_base_5_brown {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1456px -455px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_5_brown {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1481px -470px;
width: 60px;
height: 60px;
}
.hair_base_5_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1456px -546px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_5_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1481px -561px;
width: 60px;
height: 60px;
}
.hair_base_5_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1456px -637px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_5_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1481px -652px;
width: 60px;
height: 60px;
}
.hair_base_5_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1456px -728px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_5_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1481px -743px;
width: 60px;
height: 60px;
}
.hair_base_5_frost {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1456px -819px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_5_frost {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1481px -834px;
width: 60px;
height: 60px;
}
.hair_base_5_ghostwhite {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1456px -910px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_5_ghostwhite {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1481px -925px;
width: 60px;
height: 60px;
}
.hair_base_5_green {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1456px -1001px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_5_green {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1481px -1016px;
width: 60px;
height: 60px;
}
.hair_base_5_halloween {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1456px -1092px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_5_halloween {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1481px -1107px;
width: 60px;
height: 60px;
}
.hair_base_5_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1456px -1183px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_5_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1481px -1198px;
width: 60px;
height: 60px;
}
.hair_base_5_hollygreen {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1456px -1274px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_5_hollygreen {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1481px -1289px;
width: 60px;
height: 60px;
}
.hair_base_5_midnight {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1456px -1365px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_5_midnight {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1481px -1380px;
width: 60px;
height: 60px;
}
.hair_base_5_pblue {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: 0px -1456px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_5_pblue {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -25px -1471px;
width: 60px;
height: 60px;
}
.hair_base_5_pblue2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -91px -1456px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_5_pblue2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -116px -1471px;
width: 60px;
height: 60px;
}
.hair_base_5_peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -182px -1456px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_5_peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -207px -1471px;
width: 60px;
height: 60px;
}
.hair_base_5_pgreen {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -273px -1456px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_5_pgreen {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -298px -1471px;
width: 60px;
height: 60px;
}
.hair_base_5_pgreen2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -364px -1456px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_5_pgreen2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -389px -1471px;
width: 60px;
height: 60px;
}
.hair_base_5_porange {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -455px -1456px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_5_porange {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -480px -1471px;
width: 60px;
height: 60px;
}
.hair_base_5_porange2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -546px -1456px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_5_porange2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -571px -1471px;
width: 60px;
height: 60px;
}
.hair_base_5_ppink {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -637px -1456px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_5_ppink {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -662px -1471px;
width: 60px;
height: 60px;
}
.hair_base_5_ppink2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -728px -1456px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_5_ppink2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -753px -1471px;
width: 60px;
height: 60px;
}
.hair_base_5_ppurple {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -819px -1456px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_5_ppurple {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -844px -1471px;
width: 60px;
height: 60px;
}
.hair_base_5_ppurple2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -910px -1456px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_5_ppurple2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -935px -1471px;
width: 60px;
height: 60px;
}
.hair_base_5_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1001px -1456px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_5_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1026px -1471px;
width: 60px;
height: 60px;
}
.hair_base_5_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1092px -1456px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_5_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1117px -1471px;
width: 60px;
height: 60px;
}
.hair_base_5_pyellow {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1183px -1456px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_5_pyellow {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1208px -1471px;
width: 60px;
height: 60px;
}
.hair_base_5_pyellow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1274px -1456px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_5_pyellow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1299px -1471px;
width: 60px;
height: 60px;
}
.hair_base_5_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1365px -1456px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_5_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1390px -1471px;
width: 60px;
height: 60px;
}
.hair_base_5_red {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1456px -1456px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_5_red {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1481px -1471px;
width: 60px;
height: 60px;
}
.hair_base_5_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1547px 0px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_5_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1572px -15px;
width: 60px;
height: 60px;
}
.hair_base_5_white {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1547px -182px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_5_white {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1572px -197px;
width: 60px;
height: 60px;
}
.hair_base_5_winternight {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1547px -273px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_5_winternight {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1572px -288px;
width: 60px;
height: 60px;
}
.hair_base_5_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1547px -364px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_5_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1572px -379px;
width: 60px;
height: 60px;
}
.hair_base_5_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1547px -455px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_5_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1572px -470px;
width: 60px;
height: 60px;
}
.hair_base_5_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1547px -546px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_5_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1572px -561px;
width: 60px;
height: 60px;
}
.hair_base_6_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1547px -637px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_6_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1572px -652px;
width: 60px;
height: 60px;
}
.hair_base_6_black {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1547px -728px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_6_black {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1572px -743px;
width: 60px;
height: 60px;
}
.hair_base_6_blond {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1547px -819px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_6_blond {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1572px -834px;
width: 60px;
height: 60px;
}
.hair_base_6_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1547px -910px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_6_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1572px -925px;
width: 60px;
height: 60px;
}
.hair_base_6_brown {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1547px -1001px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_6_brown {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1572px -1016px;
width: 60px;
height: 60px;
}
.hair_base_6_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1547px -1092px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_6_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1572px -1107px;
width: 60px;
height: 60px;
}
.hair_base_6_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1547px -1183px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_6_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1572px -1198px;
width: 60px;
height: 60px;
}
.hair_base_6_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1547px -1274px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_6_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1572px -1289px;
width: 60px;
height: 60px;
}
.hair_base_6_frost {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1547px -1365px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_6_frost {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1572px -1380px;
width: 60px;
height: 60px;
}
.hair_base_6_ghostwhite {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1547px -1456px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_6_ghostwhite {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1572px -1471px;
width: 60px;
height: 60px;
}
.hair_base_6_green {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: 0px -1547px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_6_green {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -25px -1562px;
width: 60px;
height: 60px;
}
.hair_base_6_halloween {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -91px -1547px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_6_halloween {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -116px -1562px;
width: 60px;
height: 60px;
}
.hair_base_6_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -182px -1547px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_6_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -207px -1562px;
width: 60px;
height: 60px;
}
.hair_base_6_hollygreen {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -273px -1547px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_6_hollygreen {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -298px -1562px;
width: 60px;
height: 60px;
}
.hair_base_6_midnight {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -364px -1547px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_6_midnight {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -389px -1562px;
width: 60px;
height: 60px;
}
.hair_base_6_pblue {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -455px -1547px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_6_pblue {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -480px -1562px;
width: 60px;
height: 60px;
}
.hair_base_6_pblue2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -546px -1547px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_6_pblue2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -571px -1562px;
width: 60px;
height: 60px;
}
.hair_base_6_peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -637px -1547px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_6_peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -662px -1562px;
width: 60px;
height: 60px;
}
.hair_base_6_pgreen {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -728px -1547px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_6_pgreen {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -753px -1562px;
width: 60px;
height: 60px;
}
.hair_base_6_pgreen2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -819px -1547px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_6_pgreen2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -844px -1562px;
width: 60px;
height: 60px;
}
.hair_base_6_porange {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -910px -1547px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_6_porange {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -935px -1562px;
width: 60px;
height: 60px;
}
.hair_base_6_porange2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1001px -1547px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_6_porange2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1026px -1562px;
width: 60px;
height: 60px;
}
.hair_base_6_ppink {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1092px -1547px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_6_ppink {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1117px -1562px;
width: 60px;
height: 60px;
}
.hair_base_6_ppink2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1183px -1547px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_6_ppink2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1208px -1562px;
width: 60px;
height: 60px;
}
.hair_base_6_ppurple {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1274px -1547px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_6_ppurple {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1299px -1562px;
width: 60px;
height: 60px;
}
.hair_base_6_ppurple2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1365px -1547px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_6_ppurple2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1390px -1562px;
width: 60px;
height: 60px;
}
.hair_base_6_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1456px -1547px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_6_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1481px -1562px;
width: 60px;
height: 60px;
}
.hair_base_6_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1547px -1547px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_6_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1572px -1562px;
width: 60px;
height: 60px;
}
.hair_base_6_pyellow {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1638px 0px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_6_pyellow {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1663px -15px;
width: 60px;
height: 60px;
}
.hair_base_6_pyellow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1638px -91px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_6_pyellow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1663px -106px;
width: 60px;
height: 60px;
}
.hair_base_6_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1638px -182px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_6_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1663px -197px;
width: 60px;
height: 60px;
}
.hair_base_6_red {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1638px -273px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_6_red {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1663px -288px;
width: 60px;
height: 60px;
}
.hair_base_6_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1638px -364px;
width: 90px;
height: 90px;
}
.customize-option.hair_base_6_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-4.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-4.png');
background-position: -1663px -379px;
width: 60px;
height: 60px;
diff --git a/website/client/assets/css/sprites/spritesmith-main-5.css b/website/client/src/assets/css/sprites/spritesmith-main-5.css
similarity index 56%
rename from website/client/assets/css/sprites/spritesmith-main-5.css
rename to website/client/src/assets/css/sprites/spritesmith-main-5.css
index f7e9e2582d..76ad9c8281 100644
--- a/website/client/assets/css/sprites/spritesmith-main-5.css
+++ b/website/client/src/assets/css/sprites/spritesmith-main-5.css
@@ -1,3827 +1,3827 @@
.hair_base_6_TRUred {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1710px -364px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_6_TRUred {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1735px -379px;
- width: 60px;
- height: 60px;
-}
-.hair_base_6_white {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1255px -546px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_6_white {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1280px -561px;
- width: 60px;
- height: 60px;
-}
-.hair_base_6_winternight {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1710px -546px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_6_winternight {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1735px -561px;
- width: 60px;
- height: 60px;
-}
-.hair_base_6_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1710px -819px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_6_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1735px -834px;
- width: 60px;
- height: 60px;
-}
-.hair_base_6_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1710px -910px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_6_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1735px -925px;
- width: 60px;
- height: 60px;
-}
-.hair_base_6_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1710px -1183px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_6_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1735px -1198px;
- width: 60px;
- height: 60px;
-}
-.hair_base_7_TRUred {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -273px -543px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_7_TRUred {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -298px -558px;
- width: 60px;
- height: 60px;
-}
-.hair_base_7_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1710px -1274px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_7_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1735px -1289px;
- width: 60px;
- height: 60px;
-}
-.hair_base_7_black {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1710px -1456px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_7_black {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1735px -1471px;
- width: 60px;
- height: 60px;
-}
-.hair_base_7_blond {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -345px -91px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_7_blond {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -370px -106px;
- width: 60px;
- height: 60px;
-}
-.hair_base_7_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: 0px -270px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_7_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -25px -285px;
- width: 60px;
- height: 60px;
-}
-.hair_base_7_brown {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -91px -270px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_7_brown {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -116px -285px;
- width: 60px;
- height: 60px;
-}
-.hair_base_7_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -182px -270px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_7_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -207px -285px;
- width: 60px;
- height: 60px;
-}
-.hair_base_7_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -273px -270px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_7_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -298px -285px;
- width: 60px;
- height: 60px;
-}
-.hair_base_7_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -436px 0px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_7_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -461px -15px;
- width: 60px;
- height: 60px;
-}
-.hair_base_7_frost {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -436px -91px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_7_frost {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -461px -106px;
- width: 60px;
- height: 60px;
-}
-.hair_base_7_ghostwhite {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -436px -182px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_7_ghostwhite {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -461px -197px;
- width: 60px;
- height: 60px;
-}
-.hair_base_7_green {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: 0px -361px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_7_green {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -25px -376px;
- width: 60px;
- height: 60px;
-}
-.hair_base_7_halloween {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -91px -361px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_7_halloween {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -116px -376px;
- width: 60px;
- height: 60px;
-}
-.hair_base_7_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -182px -361px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_7_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -207px -376px;
- width: 60px;
- height: 60px;
-}
-.hair_base_7_hollygreen {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -273px -361px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_7_hollygreen {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -298px -376px;
- width: 60px;
- height: 60px;
-}
-.hair_base_7_midnight {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -364px -361px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_7_midnight {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -389px -376px;
- width: 60px;
- height: 60px;
-}
-.hair_base_7_pblue {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -527px 0px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_7_pblue {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -552px -15px;
- width: 60px;
- height: 60px;
-}
-.hair_base_7_pblue2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -527px -91px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_7_pblue2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -552px -106px;
- width: 60px;
- height: 60px;
-}
-.hair_base_7_peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -527px -182px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_7_peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -552px -197px;
- width: 60px;
- height: 60px;
-}
-.hair_base_7_pgreen {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -527px -273px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_7_pgreen {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -552px -288px;
- width: 60px;
- height: 60px;
-}
-.hair_base_7_pgreen2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: 0px -452px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_7_pgreen2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -25px -467px;
- width: 60px;
- height: 60px;
-}
-.hair_base_7_porange {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -91px -452px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_7_porange {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -116px -467px;
- width: 60px;
- height: 60px;
-}
-.hair_base_7_porange2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -182px -452px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_7_porange2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -207px -467px;
- width: 60px;
- height: 60px;
-}
-.hair_base_7_ppink {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -273px -452px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_7_ppink {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -298px -467px;
- width: 60px;
- height: 60px;
-}
-.hair_base_7_ppink2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -364px -452px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_7_ppink2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -389px -467px;
- width: 60px;
- height: 60px;
-}
-.hair_base_7_ppurple {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -455px -452px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_7_ppurple {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -480px -467px;
- width: 60px;
- height: 60px;
-}
-.hair_base_7_ppurple2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -618px 0px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_7_ppurple2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -643px -15px;
- width: 60px;
- height: 60px;
-}
-.hair_base_7_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -618px -91px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_7_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -643px -106px;
- width: 60px;
- height: 60px;
-}
-.hair_base_7_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -618px -182px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_7_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -643px -197px;
- width: 60px;
- height: 60px;
-}
-.hair_base_7_pyellow {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -618px -273px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_7_pyellow {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -643px -288px;
- width: 60px;
- height: 60px;
-}
-.hair_base_7_pyellow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -618px -364px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_7_pyellow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -643px -379px;
- width: 60px;
- height: 60px;
-}
-.hair_base_7_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: 0px -543px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_7_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -25px -558px;
- width: 60px;
- height: 60px;
-}
-.hair_base_7_red {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -91px -543px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_7_red {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -116px -558px;
- width: 60px;
- height: 60px;
-}
-.hair_base_7_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -182px -543px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_7_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -207px -558px;
- width: 60px;
- height: 60px;
-}
-.hair_base_7_white {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -364px -543px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_7_white {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -389px -558px;
- width: 60px;
- height: 60px;
-}
-.hair_base_7_winternight {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -455px -543px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_7_winternight {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -480px -558px;
- width: 60px;
- height: 60px;
-}
-.hair_base_7_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -546px -543px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_7_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -571px -558px;
- width: 60px;
- height: 60px;
-}
-.hair_base_7_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -709px 0px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_7_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -734px -15px;
- width: 60px;
- height: 60px;
-}
-.hair_base_7_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -709px -91px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_7_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -734px -106px;
- width: 60px;
- height: 60px;
-}
-.hair_base_8_TRUred {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -891px -455px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_8_TRUred {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -916px -470px;
- width: 60px;
- height: 60px;
-}
-.hair_base_8_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -709px -182px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_8_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -734px -197px;
- width: 60px;
- height: 60px;
-}
-.hair_base_8_black {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -709px -273px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_8_black {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -734px -288px;
- width: 60px;
- height: 60px;
-}
-.hair_base_8_blond {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -709px -364px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_8_blond {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -734px -379px;
- width: 60px;
- height: 60px;
-}
-.hair_base_8_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -709px -455px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_8_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -734px -470px;
- width: 60px;
- height: 60px;
-}
-.hair_base_8_brown {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: 0px -634px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_8_brown {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -25px -649px;
- width: 60px;
- height: 60px;
-}
-.hair_base_8_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -91px -634px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_8_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -116px -649px;
- width: 60px;
- height: 60px;
-}
-.hair_base_8_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -182px -634px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_8_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -207px -649px;
- width: 60px;
- height: 60px;
-}
-.hair_base_8_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -273px -634px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_8_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -298px -649px;
- width: 60px;
- height: 60px;
-}
-.hair_base_8_frost {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -364px -634px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_8_frost {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -389px -649px;
- width: 60px;
- height: 60px;
-}
-.hair_base_8_ghostwhite {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -455px -634px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_8_ghostwhite {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -480px -649px;
- width: 60px;
- height: 60px;
-}
-.hair_base_8_green {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -546px -634px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_8_green {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -571px -649px;
- width: 60px;
- height: 60px;
-}
-.hair_base_8_halloween {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -637px -634px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_8_halloween {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -662px -649px;
- width: 60px;
- height: 60px;
-}
-.hair_base_8_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -800px 0px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_8_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -825px -15px;
- width: 60px;
- height: 60px;
-}
-.hair_base_8_hollygreen {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -800px -91px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_8_hollygreen {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -825px -106px;
- width: 60px;
- height: 60px;
-}
-.hair_base_8_midnight {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -800px -182px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_8_midnight {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -825px -197px;
- width: 60px;
- height: 60px;
-}
-.hair_base_8_pblue {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -800px -273px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_8_pblue {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -825px -288px;
- width: 60px;
- height: 60px;
-}
-.hair_base_8_pblue2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -800px -364px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_8_pblue2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -825px -379px;
- width: 60px;
- height: 60px;
-}
-.hair_base_8_peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -800px -455px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_8_peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -825px -470px;
- width: 60px;
- height: 60px;
-}
-.hair_base_8_pgreen {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -800px -546px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_8_pgreen {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -825px -561px;
- width: 60px;
- height: 60px;
-}
-.hair_base_8_pgreen2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: 0px -725px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_8_pgreen2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -25px -740px;
- width: 60px;
- height: 60px;
-}
-.hair_base_8_porange {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -91px -725px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_8_porange {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -116px -740px;
- width: 60px;
- height: 60px;
-}
-.hair_base_8_porange2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -182px -725px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_8_porange2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -207px -740px;
- width: 60px;
- height: 60px;
-}
-.hair_base_8_ppink {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -273px -725px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_8_ppink {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -298px -740px;
- width: 60px;
- height: 60px;
-}
-.hair_base_8_ppink2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -364px -725px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_8_ppink2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -389px -740px;
- width: 60px;
- height: 60px;
-}
-.hair_base_8_ppurple {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -455px -725px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_8_ppurple {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -480px -740px;
- width: 60px;
- height: 60px;
-}
-.hair_base_8_ppurple2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -546px -725px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_8_ppurple2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -571px -740px;
- width: 60px;
- height: 60px;
-}
-.hair_base_8_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -637px -725px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_8_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -662px -740px;
- width: 60px;
- height: 60px;
-}
-.hair_base_8_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -728px -725px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_8_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -753px -740px;
- width: 60px;
- height: 60px;
-}
-.hair_base_8_pyellow {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -891px 0px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_8_pyellow {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -916px -15px;
- width: 60px;
- height: 60px;
-}
-.hair_base_8_pyellow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -891px -91px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_8_pyellow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -916px -106px;
- width: 60px;
- height: 60px;
-}
-.hair_base_8_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -891px -182px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_8_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -916px -197px;
- width: 60px;
- height: 60px;
-}
-.hair_base_8_red {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -891px -273px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_8_red {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -916px -288px;
- width: 60px;
- height: 60px;
-}
-.hair_base_8_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -891px -364px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_8_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -916px -379px;
- width: 60px;
- height: 60px;
-}
-.hair_base_8_white {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -891px -546px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_8_white {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -916px -561px;
- width: 60px;
- height: 60px;
-}
-.hair_base_8_winternight {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -891px -637px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_8_winternight {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -916px -652px;
- width: 60px;
- height: 60px;
-}
-.hair_base_8_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: 0px -816px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_8_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -25px -831px;
- width: 60px;
- height: 60px;
-}
-.hair_base_8_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -91px -816px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_8_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -116px -831px;
- width: 60px;
- height: 60px;
-}
-.hair_base_8_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -182px -816px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_8_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -207px -831px;
- width: 60px;
- height: 60px;
-}
-.hair_base_9_TRUred {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1073px -546px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_9_TRUred {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1098px -561px;
- width: 60px;
- height: 60px;
-}
-.hair_base_9_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -273px -816px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_9_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -298px -831px;
- width: 60px;
- height: 60px;
-}
-.hair_base_9_black {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -364px -816px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_9_black {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -389px -831px;
- width: 60px;
- height: 60px;
-}
-.hair_base_9_blond {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -455px -816px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_9_blond {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -480px -831px;
- width: 60px;
- height: 60px;
-}
-.hair_base_9_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -546px -816px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_9_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -571px -831px;
- width: 60px;
- height: 60px;
-}
-.hair_base_9_brown {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -637px -816px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_9_brown {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -662px -831px;
- width: 60px;
- height: 60px;
-}
-.hair_base_9_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -728px -816px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_9_candycane {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -753px -831px;
- width: 60px;
- height: 60px;
-}
-.hair_base_9_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -819px -816px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_9_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -844px -831px;
- width: 60px;
- height: 60px;
-}
-.hair_base_9_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -982px 0px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_9_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1007px -15px;
- width: 60px;
- height: 60px;
-}
-.hair_base_9_frost {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -982px -91px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_9_frost {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1007px -106px;
- width: 60px;
- height: 60px;
-}
-.hair_base_9_ghostwhite {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -982px -182px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_9_ghostwhite {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1007px -197px;
- width: 60px;
- height: 60px;
-}
-.hair_base_9_green {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -982px -273px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_9_green {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1007px -288px;
- width: 60px;
- height: 60px;
-}
-.hair_base_9_halloween {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -982px -364px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_9_halloween {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1007px -379px;
- width: 60px;
- height: 60px;
-}
-.hair_base_9_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -982px -455px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_9_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1007px -470px;
- width: 60px;
- height: 60px;
-}
-.hair_base_9_hollygreen {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -982px -546px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_9_hollygreen {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1007px -561px;
- width: 60px;
- height: 60px;
-}
-.hair_base_9_midnight {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -982px -637px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_9_midnight {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1007px -652px;
- width: 60px;
- height: 60px;
-}
-.hair_base_9_pblue {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -982px -728px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_9_pblue {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1007px -743px;
- width: 60px;
- height: 60px;
-}
-.hair_base_9_pblue2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: 0px -907px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_9_pblue2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -25px -922px;
- width: 60px;
- height: 60px;
-}
-.hair_base_9_peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -91px -907px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_9_peppermint {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -116px -922px;
- width: 60px;
- height: 60px;
-}
-.hair_base_9_pgreen {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -182px -907px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_9_pgreen {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -207px -922px;
- width: 60px;
- height: 60px;
-}
-.hair_base_9_pgreen2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -273px -907px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_9_pgreen2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -298px -922px;
- width: 60px;
- height: 60px;
-}
-.hair_base_9_porange {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -364px -907px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_9_porange {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -389px -922px;
- width: 60px;
- height: 60px;
-}
-.hair_base_9_porange2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -455px -907px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_9_porange2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -480px -922px;
- width: 60px;
- height: 60px;
-}
-.hair_base_9_ppink {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -546px -907px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_9_ppink {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -571px -922px;
- width: 60px;
- height: 60px;
-}
-.hair_base_9_ppink2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -637px -907px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_9_ppink2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -662px -922px;
- width: 60px;
- height: 60px;
-}
-.hair_base_9_ppurple {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -728px -907px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_9_ppurple {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -753px -922px;
- width: 60px;
- height: 60px;
-}
-.hair_base_9_ppurple2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -819px -907px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_9_ppurple2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -844px -922px;
- width: 60px;
- height: 60px;
-}
-.hair_base_9_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -910px -907px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_9_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -935px -922px;
- width: 60px;
- height: 60px;
-}
-.hair_base_9_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1073px 0px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_9_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1098px -15px;
- width: 60px;
- height: 60px;
-}
-.hair_base_9_pyellow {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1073px -91px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_9_pyellow {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1098px -106px;
- width: 60px;
- height: 60px;
-}
-.hair_base_9_pyellow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1073px -182px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_9_pyellow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1098px -197px;
- width: 60px;
- height: 60px;
-}
-.hair_base_9_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1073px -273px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_9_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1098px -288px;
- width: 60px;
- height: 60px;
-}
-.hair_base_9_red {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1073px -364px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_9_red {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1098px -379px;
- width: 60px;
- height: 60px;
-}
-.hair_base_9_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1073px -455px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_9_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1098px -470px;
- width: 60px;
- height: 60px;
-}
-.hair_base_9_white {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1073px -637px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_9_white {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1098px -652px;
- width: 60px;
- height: 60px;
-}
-.hair_base_9_winternight {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1073px -728px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_9_winternight {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1098px -743px;
- width: 60px;
- height: 60px;
-}
-.hair_base_9_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1073px -819px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_9_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1098px -834px;
- width: 60px;
- height: 60px;
-}
-.hair_base_9_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: 0px -998px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_9_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -25px -1013px;
- width: 60px;
- height: 60px;
-}
-.hair_base_9_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -91px -998px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_base_9_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -116px -1013px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_1_pblue2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -182px -998px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_1_pblue2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -207px -1013px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_1_pgreen2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -273px -998px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_1_pgreen2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -298px -1013px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_1_porange2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -364px -998px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_1_porange2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -389px -1013px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_1_ppink2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -455px -998px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_1_ppink2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -480px -1013px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_1_ppurple2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -546px -998px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_1_ppurple2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -571px -1013px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_1_pyellow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -637px -998px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_1_pyellow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -662px -1013px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_2_pblue2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -728px -998px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_2_pblue2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -753px -1013px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_2_pgreen2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -819px -998px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_2_pgreen2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -844px -1013px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_2_porange2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -910px -998px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_2_porange2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -935px -1013px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_2_ppink2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1001px -998px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_2_ppink2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1026px -1013px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_2_ppurple2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1164px 0px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_2_ppurple2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1189px -15px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_2_pyellow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1164px -91px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_2_pyellow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1189px -106px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_3_pblue2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1164px -182px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_3_pblue2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1189px -197px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_3_pgreen2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1164px -273px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_3_pgreen2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1189px -288px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_3_porange2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1164px -364px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_3_porange2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1189px -379px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_3_ppink2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1164px -455px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_3_ppink2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1189px -470px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_3_ppurple2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1164px -546px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_3_ppurple2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1189px -561px;
- width: 60px;
- height: 60px;
-}
-.hair_beard_3_pyellow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1164px -637px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_beard_3_pyellow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1189px -652px;
- width: 60px;
- height: 60px;
-}
-.hair_mustache_1_pblue2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1164px -728px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_mustache_1_pblue2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1189px -743px;
- width: 60px;
- height: 60px;
-}
-.hair_mustache_1_pgreen2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1164px -819px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_mustache_1_pgreen2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1189px -834px;
- width: 60px;
- height: 60px;
-}
-.hair_mustache_1_porange2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1164px -910px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_mustache_1_porange2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1189px -925px;
- width: 60px;
- height: 60px;
-}
-.hair_mustache_1_ppink2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: 0px -1089px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_mustache_1_ppink2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -25px -1104px;
- width: 60px;
- height: 60px;
-}
-.hair_mustache_1_ppurple2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -91px -1089px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_mustache_1_ppurple2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -116px -1104px;
- width: 60px;
- height: 60px;
-}
-.hair_mustache_1_pyellow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -182px -1089px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_mustache_1_pyellow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -207px -1104px;
- width: 60px;
- height: 60px;
-}
-.hair_mustache_2_pblue2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -273px -1089px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_mustache_2_pblue2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -298px -1104px;
- width: 60px;
- height: 60px;
-}
-.hair_mustache_2_pgreen2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -364px -1089px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_mustache_2_pgreen2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -389px -1104px;
- width: 60px;
- height: 60px;
-}
-.hair_mustache_2_porange2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -455px -1089px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_mustache_2_porange2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -480px -1104px;
- width: 60px;
- height: 60px;
-}
-.hair_mustache_2_ppink2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -546px -1089px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_mustache_2_ppink2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -571px -1104px;
- width: 60px;
- height: 60px;
-}
-.hair_mustache_2_ppurple2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -637px -1089px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_mustache_2_ppurple2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -662px -1104px;
- width: 60px;
- height: 60px;
-}
-.hair_mustache_2_pyellow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -728px -1089px;
- width: 90px;
- height: 90px;
-}
-.customize-option.hair_mustache_2_pyellow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -753px -1104px;
- width: 60px;
- height: 60px;
-}
-.broad_shirt_black {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -819px -1089px;
- width: 90px;
- height: 90px;
-}
-.customize-option.broad_shirt_black {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -844px -1124px;
- width: 60px;
- height: 60px;
-}
-.broad_shirt_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -910px -1089px;
- width: 90px;
- height: 90px;
-}
-.customize-option.broad_shirt_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -935px -1124px;
- width: 60px;
- height: 60px;
-}
-.broad_shirt_convict {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1001px -1089px;
- width: 90px;
- height: 90px;
-}
-.customize-option.broad_shirt_convict {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1026px -1124px;
- width: 60px;
- height: 60px;
-}
-.broad_shirt_cross {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1092px -1089px;
- width: 90px;
- height: 90px;
-}
-.customize-option.broad_shirt_cross {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1117px -1124px;
- width: 60px;
- height: 60px;
-}
-.broad_shirt_fire {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1255px 0px;
- width: 90px;
- height: 90px;
-}
-.customize-option.broad_shirt_fire {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1280px -35px;
- width: 60px;
- height: 60px;
-}
-.broad_shirt_green {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1255px -91px;
- width: 90px;
- height: 90px;
-}
-.customize-option.broad_shirt_green {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1280px -126px;
- width: 60px;
- height: 60px;
-}
-.broad_shirt_horizon {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1255px -182px;
- width: 90px;
- height: 90px;
-}
-.customize-option.broad_shirt_horizon {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1280px -217px;
- width: 60px;
- height: 60px;
-}
-.broad_shirt_ocean {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1255px -273px;
- width: 90px;
- height: 90px;
-}
-.customize-option.broad_shirt_ocean {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1280px -308px;
- width: 60px;
- height: 60px;
-}
-.broad_shirt_pink {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1255px -364px;
- width: 90px;
- height: 90px;
-}
-.customize-option.broad_shirt_pink {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1280px -399px;
- width: 60px;
- height: 60px;
-}
-.broad_shirt_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1255px -455px;
- width: 90px;
- height: 90px;
-}
-.customize-option.broad_shirt_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1280px -490px;
- width: 60px;
- height: 60px;
-}
-.broad_shirt_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -345px 0px;
width: 90px;
height: 90px;
}
-.customize-option.broad_shirt_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -370px -35px;
+.customize-option.hair_base_6_TRUred {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -370px -15px;
width: 60px;
height: 60px;
}
-.broad_shirt_redblue {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.hair_base_6_white {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -345px -91px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_6_white {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -370px -106px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_6_winternight {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: 0px -270px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_6_winternight {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -25px -285px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_6_winterstar {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -91px -270px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_6_winterstar {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -116px -285px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_6_yellow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -182px -270px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_6_yellow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -207px -285px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_6_zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -273px -270px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_6_zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -298px -285px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_7_TRUred {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -709px -273px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_7_TRUred {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -734px -288px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_7_aurora {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -436px 0px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_7_aurora {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -461px -15px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_7_black {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -436px -91px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_7_black {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -461px -106px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_7_blond {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -436px -182px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_7_blond {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -461px -197px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_7_blue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: 0px -361px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_7_blue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -25px -376px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_7_brown {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -91px -361px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_7_brown {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -116px -376px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_7_candycane {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -182px -361px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_7_candycane {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -207px -376px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_7_candycorn {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -273px -361px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_7_candycorn {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -298px -376px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_7_festive {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -364px -361px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_7_festive {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -389px -376px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_7_frost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -527px 0px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_7_frost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -552px -15px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_7_ghostwhite {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -527px -91px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_7_ghostwhite {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -552px -106px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_7_green {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -527px -182px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_7_green {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -552px -197px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_7_halloween {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -527px -273px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_7_halloween {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -552px -288px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_7_holly {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: 0px -452px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_7_holly {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -25px -467px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_7_hollygreen {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -91px -452px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_7_hollygreen {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -116px -467px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_7_midnight {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -182px -452px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_7_midnight {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -207px -467px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_7_pblue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -273px -452px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_7_pblue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -298px -467px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_7_pblue2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -364px -452px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_7_pblue2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -389px -467px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_7_peppermint {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -455px -452px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_7_peppermint {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -480px -467px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_7_pgreen {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -618px 0px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_7_pgreen {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -643px -15px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_7_pgreen2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -618px -91px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_7_pgreen2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -643px -106px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_7_porange {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -618px -182px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_7_porange {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -643px -197px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_7_porange2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -618px -273px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_7_porange2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -643px -288px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_7_ppink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -618px -364px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_7_ppink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -643px -379px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_7_ppink2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: 0px -543px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_7_ppink2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -25px -558px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_7_ppurple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -91px -543px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_7_ppurple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -116px -558px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_7_ppurple2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -182px -543px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_7_ppurple2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -207px -558px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_7_pumpkin {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -273px -543px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_7_pumpkin {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -298px -558px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_7_purple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -364px -543px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_7_purple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -389px -558px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_7_pyellow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -455px -543px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_7_pyellow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -480px -558px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_7_pyellow2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -546px -543px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_7_pyellow2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -571px -558px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_7_rainbow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -709px 0px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_7_rainbow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -734px -15px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_7_red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -709px -91px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_7_red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -734px -106px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_7_snowy {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -709px -182px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_7_snowy {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -734px -197px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_7_white {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -709px -364px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_7_white {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -734px -379px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_7_winternight {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -709px -455px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_7_winternight {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -734px -470px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_7_winterstar {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: 0px -634px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_7_winterstar {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -25px -649px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_7_yellow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -91px -634px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_7_yellow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -116px -649px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_7_zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -182px -634px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_7_zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -207px -649px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_8_TRUred {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -364px -816px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_8_TRUred {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -389px -831px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_8_aurora {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -273px -634px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_8_aurora {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -298px -649px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_8_black {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -364px -634px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_8_black {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -389px -649px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_8_blond {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -455px -634px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_8_blond {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -480px -649px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_8_blue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -546px -634px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_8_blue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -571px -649px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_8_brown {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -637px -634px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_8_brown {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -662px -649px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_8_candycane {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -800px 0px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_8_candycane {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -825px -15px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_8_candycorn {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -800px -91px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_8_candycorn {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -825px -106px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_8_festive {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -800px -182px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_8_festive {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -825px -197px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_8_frost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -800px -273px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_8_frost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -825px -288px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_8_ghostwhite {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -800px -364px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_8_ghostwhite {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -825px -379px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_8_green {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -800px -455px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_8_green {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -825px -470px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_8_halloween {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -800px -546px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_8_halloween {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -825px -561px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_8_holly {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: 0px -725px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_8_holly {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -25px -740px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_8_hollygreen {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -91px -725px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_8_hollygreen {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -116px -740px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_8_midnight {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -182px -725px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_8_midnight {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -207px -740px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_8_pblue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -273px -725px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_8_pblue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -298px -740px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_8_pblue2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -364px -725px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_8_pblue2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -389px -740px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_8_peppermint {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -455px -725px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_8_peppermint {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -480px -740px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_8_pgreen {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -546px -725px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_8_pgreen {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -571px -740px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_8_pgreen2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -637px -725px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_8_pgreen2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -662px -740px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_8_porange {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -728px -725px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_8_porange {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -753px -740px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_8_porange2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -891px 0px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_8_porange2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -916px -15px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_8_ppink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -891px -91px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_8_ppink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -916px -106px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_8_ppink2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -891px -182px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_8_ppink2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -916px -197px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_8_ppurple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -891px -273px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_8_ppurple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -916px -288px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_8_ppurple2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -891px -364px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_8_ppurple2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -916px -379px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_8_pumpkin {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -891px -455px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_8_pumpkin {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -916px -470px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_8_purple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -891px -546px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_8_purple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -916px -561px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_8_pyellow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -891px -637px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_8_pyellow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -916px -652px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_8_pyellow2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: 0px -816px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_8_pyellow2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -25px -831px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_8_rainbow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -91px -816px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_8_rainbow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -116px -831px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_8_red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -182px -816px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_8_red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -207px -831px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_8_snowy {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -273px -816px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_8_snowy {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -298px -831px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_8_white {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -455px -816px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_8_white {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -480px -831px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_8_winternight {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -546px -816px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_8_winternight {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -571px -831px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_8_winterstar {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -637px -816px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_8_winterstar {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -662px -831px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_8_yellow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -728px -816px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_8_yellow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -753px -831px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_8_zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -819px -816px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_8_zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -844px -831px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_9_TRUred {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -273px -998px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_9_TRUred {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -298px -1013px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_9_aurora {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -982px 0px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_9_aurora {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1007px -15px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_9_black {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -982px -91px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_9_black {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1007px -106px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_9_blond {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -982px -182px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_9_blond {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1007px -197px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_9_blue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -982px -273px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_9_blue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1007px -288px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_9_brown {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -982px -364px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_9_brown {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1007px -379px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_9_candycane {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -982px -455px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_9_candycane {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1007px -470px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_9_candycorn {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -982px -546px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_9_candycorn {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1007px -561px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_9_festive {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -982px -637px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_9_festive {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1007px -652px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_9_frost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -982px -728px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_9_frost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1007px -743px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_9_ghostwhite {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: 0px -907px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_9_ghostwhite {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -25px -922px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_9_green {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -91px -907px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_9_green {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -116px -922px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_9_halloween {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -182px -907px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_9_halloween {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -207px -922px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_9_holly {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -273px -907px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_9_holly {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -298px -922px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_9_hollygreen {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -364px -907px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_9_hollygreen {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -389px -922px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_9_midnight {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -455px -907px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_9_midnight {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -480px -922px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_9_pblue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -546px -907px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_9_pblue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -571px -922px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_9_pblue2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -637px -907px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_9_pblue2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -662px -922px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_9_peppermint {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -728px -907px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_9_peppermint {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -753px -922px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_9_pgreen {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -819px -907px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_9_pgreen {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -844px -922px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_9_pgreen2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -910px -907px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_9_pgreen2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -935px -922px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_9_porange {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1073px 0px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_9_porange {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1098px -15px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_9_porange2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1073px -91px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_9_porange2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1098px -106px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_9_ppink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1073px -182px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_9_ppink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1098px -197px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_9_ppink2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1073px -273px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_9_ppink2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1098px -288px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_9_ppurple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1073px -364px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_9_ppurple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1098px -379px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_9_ppurple2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1073px -455px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_9_ppurple2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1098px -470px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_9_pumpkin {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1073px -546px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_9_pumpkin {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1098px -561px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_9_purple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1073px -637px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_9_purple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1098px -652px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_9_pyellow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1073px -728px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_9_pyellow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1098px -743px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_9_pyellow2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1073px -819px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_9_pyellow2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1098px -834px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_9_rainbow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: 0px -998px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_9_rainbow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -25px -1013px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_9_red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -91px -998px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_9_red {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -116px -1013px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_9_snowy {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -182px -998px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_9_snowy {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -207px -1013px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_9_white {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -364px -998px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_9_white {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -389px -1013px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_9_winternight {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -455px -998px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_9_winternight {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -480px -1013px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_9_winterstar {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -546px -998px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_9_winterstar {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -571px -1013px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_9_yellow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -637px -998px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_9_yellow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -662px -1013px;
+ width: 60px;
+ height: 60px;
+}
+.hair_base_9_zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -728px -998px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_base_9_zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -753px -1013px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_1_pblue2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -819px -998px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_1_pblue2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -844px -1013px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_1_pgreen2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -910px -998px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_1_pgreen2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -935px -1013px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_1_porange2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1001px -998px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_1_porange2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1026px -1013px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_1_ppink2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1164px 0px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_1_ppink2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1189px -15px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_1_ppurple2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1164px -91px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_1_ppurple2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1189px -106px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_1_pyellow2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1164px -182px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_1_pyellow2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1189px -197px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_2_pblue2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1164px -273px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_2_pblue2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1189px -288px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_2_pgreen2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1164px -364px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_2_pgreen2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1189px -379px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_2_porange2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1164px -455px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_2_porange2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1189px -470px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_2_ppink2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1164px -546px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_2_ppink2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1189px -561px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_2_ppurple2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1164px -637px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_2_ppurple2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1189px -652px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_2_pyellow2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1164px -728px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_2_pyellow2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1189px -743px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_3_pblue2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1164px -819px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_3_pblue2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1189px -834px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_3_pgreen2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1164px -910px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_3_pgreen2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1189px -925px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_3_porange2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: 0px -1089px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_3_porange2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -25px -1104px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_3_ppink2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -91px -1089px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_3_ppink2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -116px -1104px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_3_ppurple2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -182px -1089px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_3_ppurple2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -207px -1104px;
+ width: 60px;
+ height: 60px;
+}
+.hair_beard_3_pyellow2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -273px -1089px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_beard_3_pyellow2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -298px -1104px;
+ width: 60px;
+ height: 60px;
+}
+.hair_mustache_1_pblue2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -364px -1089px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_mustache_1_pblue2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -389px -1104px;
+ width: 60px;
+ height: 60px;
+}
+.hair_mustache_1_pgreen2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -455px -1089px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_mustache_1_pgreen2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -480px -1104px;
+ width: 60px;
+ height: 60px;
+}
+.hair_mustache_1_porange2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -546px -1089px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_mustache_1_porange2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -571px -1104px;
+ width: 60px;
+ height: 60px;
+}
+.hair_mustache_1_ppink2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -637px -1089px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_mustache_1_ppink2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -662px -1104px;
+ width: 60px;
+ height: 60px;
+}
+.hair_mustache_1_ppurple2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -728px -1089px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_mustache_1_ppurple2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -753px -1104px;
+ width: 60px;
+ height: 60px;
+}
+.hair_mustache_1_pyellow2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -819px -1089px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_mustache_1_pyellow2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -844px -1104px;
+ width: 60px;
+ height: 60px;
+}
+.hair_mustache_2_pblue2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -910px -1089px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_mustache_2_pblue2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -935px -1104px;
+ width: 60px;
+ height: 60px;
+}
+.hair_mustache_2_pgreen2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1001px -1089px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_mustache_2_pgreen2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1026px -1104px;
+ width: 60px;
+ height: 60px;
+}
+.hair_mustache_2_porange2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1092px -1089px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_mustache_2_porange2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1117px -1104px;
+ width: 60px;
+ height: 60px;
+}
+.hair_mustache_2_ppink2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1255px 0px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_mustache_2_ppink2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1280px -15px;
+ width: 60px;
+ height: 60px;
+}
+.hair_mustache_2_ppurple2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1255px -91px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_mustache_2_ppurple2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1280px -106px;
+ width: 60px;
+ height: 60px;
+}
+.hair_mustache_2_pyellow2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1255px -182px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.hair_mustache_2_pyellow2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1280px -197px;
+ width: 60px;
+ height: 60px;
+}
+.broad_shirt_black {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1255px -273px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.broad_shirt_black {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1280px -308px;
+ width: 60px;
+ height: 60px;
+}
+.broad_shirt_blue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1255px -364px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.broad_shirt_blue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1280px -399px;
+ width: 60px;
+ height: 60px;
+}
+.broad_shirt_convict {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1255px -455px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.broad_shirt_convict {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1280px -490px;
+ width: 60px;
+ height: 60px;
+}
+.broad_shirt_cross {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1255px -546px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.broad_shirt_cross {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1280px -581px;
+ width: 60px;
+ height: 60px;
+}
+.broad_shirt_fire {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1255px -637px;
width: 90px;
height: 90px;
}
-.customize-option.broad_shirt_redblue {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.broad_shirt_fire {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1280px -672px;
width: 60px;
height: 60px;
}
-.broad_shirt_thunder {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.broad_shirt_green {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1255px -728px;
width: 90px;
height: 90px;
}
-.customize-option.broad_shirt_thunder {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.broad_shirt_green {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1280px -763px;
width: 60px;
height: 60px;
}
-.broad_shirt_tropical {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.broad_shirt_horizon {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1255px -819px;
width: 90px;
height: 90px;
}
-.customize-option.broad_shirt_tropical {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.broad_shirt_horizon {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1280px -854px;
width: 60px;
height: 60px;
}
-.broad_shirt_white {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.broad_shirt_ocean {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1255px -910px;
width: 90px;
height: 90px;
}
-.customize-option.broad_shirt_white {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.broad_shirt_ocean {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1280px -945px;
width: 60px;
height: 60px;
}
-.broad_shirt_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.broad_shirt_pink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1255px -1001px;
width: 90px;
height: 90px;
}
-.customize-option.broad_shirt_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.broad_shirt_pink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1280px -1036px;
width: 60px;
height: 60px;
}
-.broad_shirt_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.broad_shirt_purple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: 0px -1180px;
width: 90px;
height: 90px;
}
-.customize-option.broad_shirt_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.broad_shirt_purple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -25px -1215px;
width: 60px;
height: 60px;
}
-.slim_shirt_black {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.broad_shirt_rainbow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -91px -1180px;
width: 90px;
height: 90px;
}
-.customize-option.slim_shirt_black {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.broad_shirt_rainbow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -116px -1215px;
width: 60px;
height: 60px;
}
-.slim_shirt_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.broad_shirt_redblue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -182px -1180px;
width: 90px;
height: 90px;
}
-.customize-option.slim_shirt_blue {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.broad_shirt_redblue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -207px -1215px;
width: 60px;
height: 60px;
}
-.slim_shirt_convict {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.broad_shirt_thunder {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -273px -1180px;
width: 90px;
height: 90px;
}
-.customize-option.slim_shirt_convict {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.broad_shirt_thunder {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -298px -1215px;
width: 60px;
height: 60px;
}
-.slim_shirt_cross {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.broad_shirt_tropical {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -364px -1180px;
width: 90px;
height: 90px;
}
-.customize-option.slim_shirt_cross {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.broad_shirt_tropical {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -389px -1215px;
width: 60px;
height: 60px;
}
-.slim_shirt_fire {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.broad_shirt_white {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -455px -1180px;
width: 90px;
height: 90px;
}
-.customize-option.slim_shirt_fire {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.broad_shirt_white {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -480px -1215px;
width: 60px;
height: 60px;
}
-.slim_shirt_green {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.broad_shirt_yellow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -546px -1180px;
width: 90px;
height: 90px;
}
-.customize-option.slim_shirt_green {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.broad_shirt_yellow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -571px -1215px;
width: 60px;
height: 60px;
}
-.slim_shirt_horizon {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.broad_shirt_zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -637px -1180px;
width: 90px;
height: 90px;
}
-.customize-option.slim_shirt_horizon {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.broad_shirt_zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -662px -1215px;
width: 60px;
height: 60px;
}
-.slim_shirt_ocean {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.slim_shirt_black {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -728px -1180px;
width: 90px;
height: 90px;
}
-.customize-option.slim_shirt_ocean {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.slim_shirt_black {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -753px -1215px;
width: 60px;
height: 60px;
}
-.slim_shirt_pink {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.slim_shirt_blue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -819px -1180px;
width: 90px;
height: 90px;
}
-.customize-option.slim_shirt_pink {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.slim_shirt_blue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -844px -1215px;
width: 60px;
height: 60px;
}
-.slim_shirt_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.slim_shirt_convict {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -910px -1180px;
width: 90px;
height: 90px;
}
-.customize-option.slim_shirt_purple {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.slim_shirt_convict {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -935px -1215px;
width: 60px;
height: 60px;
}
-.slim_shirt_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.slim_shirt_cross {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1001px -1180px;
width: 90px;
height: 90px;
}
-.customize-option.slim_shirt_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.slim_shirt_cross {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1026px -1215px;
width: 60px;
height: 60px;
}
-.slim_shirt_redblue {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.slim_shirt_fire {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1092px -1180px;
width: 90px;
height: 90px;
}
-.customize-option.slim_shirt_redblue {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.slim_shirt_fire {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1117px -1215px;
width: 60px;
height: 60px;
}
-.slim_shirt_thunder {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.slim_shirt_green {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1183px -1180px;
width: 90px;
height: 90px;
}
-.customize-option.slim_shirt_thunder {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.slim_shirt_green {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1208px -1215px;
width: 60px;
height: 60px;
}
-.slim_shirt_tropical {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.slim_shirt_horizon {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1346px 0px;
width: 90px;
height: 90px;
}
-.customize-option.slim_shirt_tropical {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.slim_shirt_horizon {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1371px -35px;
width: 60px;
height: 60px;
}
-.slim_shirt_white {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.slim_shirt_ocean {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1346px -91px;
width: 90px;
height: 90px;
}
-.customize-option.slim_shirt_white {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.slim_shirt_ocean {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1371px -126px;
width: 60px;
height: 60px;
}
-.slim_shirt_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.slim_shirt_pink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1346px -182px;
width: 90px;
height: 90px;
}
-.customize-option.slim_shirt_yellow {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.slim_shirt_pink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1371px -217px;
width: 60px;
height: 60px;
}
-.slim_shirt_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.slim_shirt_purple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1346px -273px;
width: 90px;
height: 90px;
}
-.customize-option.slim_shirt_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.slim_shirt_purple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1371px -308px;
width: 60px;
height: 60px;
}
-.skin_0ff591 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1346px -455px;
- width: 90px;
- height: 90px;
-}
-.customize-option.skin_0ff591 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1371px -470px;
- width: 60px;
- height: 60px;
-}
-.skin_0ff591_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.slim_shirt_rainbow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1346px -364px;
width: 90px;
height: 90px;
}
-.customize-option.skin_0ff591_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1371px -379px;
+.customize-option.slim_shirt_rainbow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1371px -399px;
width: 60px;
height: 60px;
}
-.skin_2b43f6 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1346px -637px;
+.slim_shirt_redblue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1346px -455px;
width: 90px;
height: 90px;
}
-.customize-option.skin_2b43f6 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1371px -652px;
+.customize-option.slim_shirt_redblue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1371px -490px;
width: 60px;
height: 60px;
}
-.skin_2b43f6_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.slim_shirt_thunder {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1346px -546px;
width: 90px;
height: 90px;
}
-.customize-option.skin_2b43f6_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1371px -561px;
+.customize-option.slim_shirt_thunder {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1371px -581px;
width: 60px;
height: 60px;
}
-.skin_6bd049 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1346px -819px;
+.slim_shirt_tropical {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1346px -637px;
width: 90px;
height: 90px;
}
-.customize-option.skin_6bd049 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1371px -834px;
+.customize-option.slim_shirt_tropical {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1371px -672px;
width: 60px;
height: 60px;
}
-.skin_6bd049_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.slim_shirt_white {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1346px -728px;
width: 90px;
height: 90px;
}
-.customize-option.skin_6bd049_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1371px -743px;
+.customize-option.slim_shirt_white {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1371px -763px;
width: 60px;
height: 60px;
}
-.skin_800ed0 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1346px -1001px;
+.slim_shirt_yellow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1346px -819px;
width: 90px;
height: 90px;
}
-.customize-option.skin_800ed0 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1371px -1016px;
+.customize-option.slim_shirt_yellow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1371px -854px;
width: 60px;
height: 60px;
}
-.skin_800ed0_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.slim_shirt_zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1346px -910px;
width: 90px;
height: 90px;
}
-.customize-option.skin_800ed0_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1371px -925px;
+.customize-option.slim_shirt_zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1371px -945px;
width: 60px;
height: 60px;
}
-.skin_915533 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: 0px -1271px;
- width: 90px;
- height: 90px;
-}
-.customize-option.skin_915533 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -25px -1286px;
- width: 60px;
- height: 60px;
-}
-.skin_915533_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.skin_0ff591 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1346px -1092px;
width: 90px;
height: 90px;
}
-.customize-option.skin_915533_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.skin_0ff591 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1371px -1107px;
width: 60px;
height: 60px;
}
-.skin_98461a {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -182px -1271px;
+.skin_0ff591_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1346px -1001px;
width: 90px;
height: 90px;
}
-.customize-option.skin_98461a {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -207px -1286px;
+.customize-option.skin_0ff591_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1371px -1016px;
width: 60px;
height: 60px;
}
-.skin_98461a_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.skin_2b43f6 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -91px -1271px;
width: 90px;
height: 90px;
}
-.customize-option.skin_98461a_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.skin_2b43f6 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -116px -1286px;
width: 60px;
height: 60px;
}
-.skin_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -364px -1271px;
+.skin_2b43f6_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: 0px -1271px;
width: 90px;
height: 90px;
}
-.customize-option.skin_aurora {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -389px -1286px;
+.customize-option.skin_2b43f6_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -25px -1286px;
width: 60px;
height: 60px;
}
-.skin_aurora_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.skin_6bd049 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -273px -1271px;
width: 90px;
height: 90px;
}
-.customize-option.skin_aurora_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.skin_6bd049 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -298px -1286px;
width: 60px;
height: 60px;
}
-.skin_bear {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -546px -1271px;
+.skin_6bd049_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -182px -1271px;
width: 90px;
height: 90px;
}
-.customize-option.skin_bear {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -571px -1286px;
+.customize-option.skin_6bd049_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -207px -1286px;
width: 60px;
height: 60px;
}
-.skin_bear_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.skin_800ed0 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -455px -1271px;
width: 90px;
height: 90px;
}
-.customize-option.skin_bear_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.skin_800ed0 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -480px -1286px;
width: 60px;
height: 60px;
}
-.skin_c06534 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -728px -1271px;
+.skin_800ed0_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -364px -1271px;
width: 90px;
height: 90px;
}
-.customize-option.skin_c06534 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -753px -1286px;
+.customize-option.skin_800ed0_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -389px -1286px;
width: 60px;
height: 60px;
}
-.skin_c06534_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.skin_915533 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -637px -1271px;
width: 90px;
height: 90px;
}
-.customize-option.skin_c06534_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.skin_915533 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -662px -1286px;
width: 60px;
height: 60px;
}
-.skin_c3e1dc {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -910px -1271px;
+.skin_915533_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -546px -1271px;
width: 90px;
height: 90px;
}
-.customize-option.skin_c3e1dc {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -935px -1286px;
+.customize-option.skin_915533_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -571px -1286px;
width: 60px;
height: 60px;
}
-.skin_c3e1dc_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.skin_98461a {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -819px -1271px;
width: 90px;
height: 90px;
}
-.customize-option.skin_c3e1dc_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.skin_98461a {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -844px -1286px;
width: 60px;
height: 60px;
}
-.skin_cactus {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1092px -1271px;
+.skin_98461a_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -728px -1271px;
width: 90px;
height: 90px;
}
-.customize-option.skin_cactus {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1117px -1286px;
+.customize-option.skin_98461a_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -753px -1286px;
width: 60px;
height: 60px;
}
-.skin_cactus_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.skin_aurora {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1001px -1271px;
width: 90px;
height: 90px;
}
-.customize-option.skin_cactus_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.skin_aurora {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1026px -1286px;
width: 60px;
height: 60px;
}
-.skin_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1274px -1271px;
+.skin_aurora_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -910px -1271px;
width: 90px;
height: 90px;
}
-.customize-option.skin_candycorn {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1299px -1286px;
+.customize-option.skin_aurora_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -935px -1286px;
width: 60px;
height: 60px;
}
-.skin_candycorn_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.skin_bear {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1183px -1271px;
width: 90px;
height: 90px;
}
-.customize-option.skin_candycorn_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.skin_bear {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1208px -1286px;
width: 60px;
height: 60px;
}
-.skin_clownfish {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1437px -91px;
+.skin_bear_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1092px -1271px;
width: 90px;
height: 90px;
}
-.customize-option.skin_clownfish {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1462px -106px;
+.customize-option.skin_bear_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1117px -1286px;
width: 60px;
height: 60px;
}
-.skin_clownfish_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.skin_c06534 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1437px 0px;
width: 90px;
height: 90px;
}
-.customize-option.skin_clownfish_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.skin_c06534 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1462px -15px;
width: 60px;
height: 60px;
}
-.skin_d7a9f7 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1437px -273px;
+.skin_c06534_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1274px -1271px;
width: 90px;
height: 90px;
}
-.customize-option.skin_d7a9f7 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1462px -288px;
+.customize-option.skin_c06534_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1299px -1286px;
width: 60px;
height: 60px;
}
-.skin_d7a9f7_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.skin_c3e1dc {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1437px -182px;
width: 90px;
height: 90px;
}
-.customize-option.skin_d7a9f7_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.skin_c3e1dc {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1462px -197px;
width: 60px;
height: 60px;
}
-.skin_dapper {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1437px -455px;
+.skin_c3e1dc_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1437px -91px;
width: 90px;
height: 90px;
}
-.customize-option.skin_dapper {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1462px -470px;
+.customize-option.skin_c3e1dc_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1462px -106px;
width: 60px;
height: 60px;
}
-.skin_dapper_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.skin_cactus {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1437px -364px;
width: 90px;
height: 90px;
}
-.customize-option.skin_dapper_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.skin_cactus {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1462px -379px;
width: 60px;
height: 60px;
}
-.skin_ddc994 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1437px -637px;
+.skin_cactus_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1437px -273px;
width: 90px;
height: 90px;
}
-.customize-option.skin_ddc994 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1462px -652px;
+.customize-option.skin_cactus_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1462px -288px;
width: 60px;
height: 60px;
}
-.skin_ddc994_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.skin_candycorn {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1437px -546px;
width: 90px;
height: 90px;
}
-.customize-option.skin_ddc994_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.skin_candycorn {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1462px -561px;
width: 60px;
height: 60px;
}
-.skin_deepocean {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1437px -819px;
+.skin_candycorn_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1437px -455px;
width: 90px;
height: 90px;
}
-.customize-option.skin_deepocean {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1462px -834px;
+.customize-option.skin_candycorn_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1462px -470px;
width: 60px;
height: 60px;
}
-.skin_deepocean_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.skin_clownfish {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1437px -728px;
width: 90px;
height: 90px;
}
-.customize-option.skin_deepocean_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.skin_clownfish {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1462px -743px;
width: 60px;
height: 60px;
}
-.skin_ea8349 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1437px -1001px;
+.skin_clownfish_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1437px -637px;
width: 90px;
height: 90px;
}
-.customize-option.skin_ea8349 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1462px -1016px;
+.customize-option.skin_clownfish_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1462px -652px;
width: 60px;
height: 60px;
}
-.skin_ea8349_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.skin_d7a9f7 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1437px -910px;
width: 90px;
height: 90px;
}
-.customize-option.skin_ea8349_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.skin_d7a9f7 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1462px -925px;
width: 60px;
height: 60px;
}
-.skin_eb052b {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1437px -1183px;
+.skin_d7a9f7_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1437px -819px;
width: 90px;
height: 90px;
}
-.customize-option.skin_eb052b {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1462px -1198px;
+.customize-option.skin_d7a9f7_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1462px -834px;
width: 60px;
height: 60px;
}
-.skin_eb052b_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.skin_dapper {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1437px -1092px;
width: 90px;
height: 90px;
}
-.customize-option.skin_eb052b_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.skin_dapper {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1462px -1107px;
width: 60px;
height: 60px;
}
-.skin_f5a76e {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -91px -1362px;
+.skin_dapper_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1437px -1001px;
width: 90px;
height: 90px;
}
-.customize-option.skin_f5a76e {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -116px -1377px;
+.customize-option.skin_dapper_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1462px -1016px;
width: 60px;
height: 60px;
}
-.skin_f5a76e_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.skin_ddc994 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: 0px -1362px;
width: 90px;
height: 90px;
}
-.customize-option.skin_f5a76e_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.skin_ddc994 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -25px -1377px;
width: 60px;
height: 60px;
}
-.skin_f5d70f {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -273px -1362px;
+.skin_ddc994_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1437px -1183px;
width: 90px;
height: 90px;
}
-.customize-option.skin_f5d70f {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -298px -1377px;
+.customize-option.skin_ddc994_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1462px -1198px;
width: 60px;
height: 60px;
}
-.skin_f5d70f_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.skin_deepocean {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -182px -1362px;
width: 90px;
height: 90px;
}
-.customize-option.skin_f5d70f_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.skin_deepocean {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -207px -1377px;
width: 60px;
height: 60px;
}
-.skin_f69922 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -455px -1362px;
+.skin_deepocean_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -91px -1362px;
width: 90px;
height: 90px;
}
-.customize-option.skin_f69922 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -480px -1377px;
+.customize-option.skin_deepocean_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -116px -1377px;
width: 60px;
height: 60px;
}
-.skin_f69922_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.skin_ea8349 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -364px -1362px;
width: 90px;
height: 90px;
}
-.customize-option.skin_f69922_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.skin_ea8349 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -389px -1377px;
width: 60px;
height: 60px;
}
-.skin_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -637px -1362px;
+.skin_ea8349_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -273px -1362px;
width: 90px;
height: 90px;
}
-.customize-option.skin_festive {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -662px -1377px;
+.customize-option.skin_ea8349_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -298px -1377px;
width: 60px;
height: 60px;
}
-.skin_festive_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.skin_eb052b {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -546px -1362px;
width: 90px;
height: 90px;
}
-.customize-option.skin_festive_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.skin_eb052b {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -571px -1377px;
width: 60px;
height: 60px;
}
-.skin_fox {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -819px -1362px;
+.skin_eb052b_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -455px -1362px;
width: 90px;
height: 90px;
}
-.customize-option.skin_fox {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -844px -1377px;
+.customize-option.skin_eb052b_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -480px -1377px;
width: 60px;
height: 60px;
}
-.skin_fox_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.skin_f5a76e {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -728px -1362px;
width: 90px;
height: 90px;
}
-.customize-option.skin_fox_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.skin_f5a76e {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -753px -1377px;
width: 60px;
height: 60px;
}
-.skin_ghost {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1001px -1362px;
+.skin_f5a76e_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -637px -1362px;
width: 90px;
height: 90px;
}
-.customize-option.skin_ghost {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1026px -1377px;
+.customize-option.skin_f5a76e_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -662px -1377px;
width: 60px;
height: 60px;
}
-.skin_ghost_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.skin_f5d70f {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -910px -1362px;
width: 90px;
height: 90px;
}
-.customize-option.skin_ghost_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.skin_f5d70f {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -935px -1377px;
width: 60px;
height: 60px;
}
-.skin_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1183px -1362px;
+.skin_f5d70f_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -819px -1362px;
width: 90px;
height: 90px;
}
-.customize-option.skin_holly {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1208px -1377px;
+.customize-option.skin_f5d70f_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -844px -1377px;
width: 60px;
height: 60px;
}
-.skin_holly_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.skin_f69922 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1092px -1362px;
width: 90px;
height: 90px;
}
-.customize-option.skin_holly_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.skin_f69922 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1117px -1377px;
width: 60px;
height: 60px;
}
-.skin_lion {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1365px -1362px;
+.skin_f69922_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1001px -1362px;
width: 90px;
height: 90px;
}
-.customize-option.skin_lion {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1390px -1377px;
+.customize-option.skin_f69922_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1026px -1377px;
width: 60px;
height: 60px;
}
-.skin_lion_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.skin_festive {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1274px -1362px;
width: 90px;
height: 90px;
}
-.customize-option.skin_lion_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.skin_festive {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1299px -1377px;
width: 60px;
height: 60px;
}
-.skin_merblue {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1528px -91px;
+.skin_festive_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1183px -1362px;
width: 90px;
height: 90px;
}
-.customize-option.skin_merblue {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1553px -106px;
+.customize-option.skin_festive_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1208px -1377px;
width: 60px;
height: 60px;
}
-.skin_merblue_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.skin_fox {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1528px 0px;
width: 90px;
height: 90px;
}
-.customize-option.skin_merblue_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.skin_fox {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1553px -15px;
width: 60px;
height: 60px;
}
-.skin_mergold {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1528px -273px;
+.skin_fox_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1365px -1362px;
width: 90px;
height: 90px;
}
-.customize-option.skin_mergold {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1553px -288px;
+.customize-option.skin_fox_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1390px -1377px;
width: 60px;
height: 60px;
}
-.skin_mergold_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.skin_ghost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1528px -182px;
width: 90px;
height: 90px;
}
-.customize-option.skin_mergold_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.skin_ghost {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1553px -197px;
width: 60px;
height: 60px;
}
-.skin_mergreen {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1528px -455px;
+.skin_ghost_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1528px -91px;
width: 90px;
height: 90px;
}
-.customize-option.skin_mergreen {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1553px -470px;
+.customize-option.skin_ghost_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1553px -106px;
width: 60px;
height: 60px;
}
-.skin_mergreen_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.skin_holly {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1528px -364px;
width: 90px;
height: 90px;
}
-.customize-option.skin_mergreen_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.skin_holly {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1553px -379px;
width: 60px;
height: 60px;
}
-.skin_merruby {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1528px -637px;
+.skin_holly_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1528px -273px;
width: 90px;
height: 90px;
}
-.customize-option.skin_merruby {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1553px -652px;
+.customize-option.skin_holly_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1553px -288px;
width: 60px;
height: 60px;
}
-.skin_merruby_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.skin_lion {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1528px -546px;
width: 90px;
height: 90px;
}
-.customize-option.skin_merruby_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.skin_lion {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1553px -561px;
width: 60px;
height: 60px;
}
-.skin_monster {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1528px -819px;
+.skin_lion_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1528px -455px;
width: 90px;
height: 90px;
}
-.customize-option.skin_monster {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1553px -834px;
+.customize-option.skin_lion_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1553px -470px;
width: 60px;
height: 60px;
}
-.skin_monster_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.skin_merblue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1528px -728px;
width: 90px;
height: 90px;
}
-.customize-option.skin_monster_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.skin_merblue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1553px -743px;
width: 60px;
height: 60px;
}
-.skin_ogre {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1528px -1001px;
+.skin_merblue_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1528px -637px;
width: 90px;
height: 90px;
}
-.customize-option.skin_ogre {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1553px -1016px;
+.customize-option.skin_merblue_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1553px -652px;
width: 60px;
height: 60px;
}
-.skin_ogre_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.skin_mergold {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1528px -910px;
width: 90px;
height: 90px;
}
-.customize-option.skin_ogre_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.skin_mergold {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1553px -925px;
width: 60px;
height: 60px;
}
-.skin_panda {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1528px -1183px;
+.skin_mergold_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1528px -819px;
width: 90px;
height: 90px;
}
-.customize-option.skin_panda {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1553px -1198px;
+.customize-option.skin_mergold_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1553px -834px;
width: 60px;
height: 60px;
}
-.skin_panda_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.skin_mergreen {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1528px -1092px;
width: 90px;
height: 90px;
}
-.customize-option.skin_panda_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.skin_mergreen {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1553px -1107px;
width: 60px;
height: 60px;
}
-.skin_pastelBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: 0px -1453px;
+.skin_mergreen_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1528px -1001px;
width: 90px;
height: 90px;
}
-.customize-option.skin_pastelBlue {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -25px -1468px;
+.customize-option.skin_mergreen_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1553px -1016px;
width: 60px;
height: 60px;
}
-.skin_pastelBlue_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.skin_merruby {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1528px -1274px;
width: 90px;
height: 90px;
}
-.customize-option.skin_pastelBlue_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.skin_merruby {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1553px -1289px;
width: 60px;
height: 60px;
}
-.skin_pastelGreen {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -182px -1453px;
+.skin_merruby_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1528px -1183px;
width: 90px;
height: 90px;
}
-.customize-option.skin_pastelGreen {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -207px -1468px;
+.customize-option.skin_merruby_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1553px -1198px;
width: 60px;
height: 60px;
}
-.skin_pastelGreen_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.skin_monster {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -91px -1453px;
width: 90px;
height: 90px;
}
-.customize-option.skin_pastelGreen_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.skin_monster {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -116px -1468px;
width: 60px;
height: 60px;
}
-.skin_pastelOrange {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -364px -1453px;
+.skin_monster_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: 0px -1453px;
width: 90px;
height: 90px;
}
-.customize-option.skin_pastelOrange {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -389px -1468px;
+.customize-option.skin_monster_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -25px -1468px;
width: 60px;
height: 60px;
}
-.skin_pastelOrange_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.skin_ogre {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -273px -1453px;
width: 90px;
height: 90px;
}
-.customize-option.skin_pastelOrange_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.skin_ogre {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -298px -1468px;
width: 60px;
height: 60px;
}
-.skin_pastelPink {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -546px -1453px;
+.skin_ogre_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -182px -1453px;
width: 90px;
height: 90px;
}
-.customize-option.skin_pastelPink {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -571px -1468px;
+.customize-option.skin_ogre_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -207px -1468px;
width: 60px;
height: 60px;
}
-.skin_pastelPink_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.skin_panda {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -455px -1453px;
width: 90px;
height: 90px;
}
-.customize-option.skin_pastelPink_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.skin_panda {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -480px -1468px;
width: 60px;
height: 60px;
}
-.skin_pastelPurple {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -728px -1453px;
+.skin_panda_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -364px -1453px;
width: 90px;
height: 90px;
}
-.customize-option.skin_pastelPurple {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -753px -1468px;
+.customize-option.skin_panda_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -389px -1468px;
width: 60px;
height: 60px;
}
-.skin_pastelPurple_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.skin_pastelBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -637px -1453px;
width: 90px;
height: 90px;
}
-.customize-option.skin_pastelPurple_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.skin_pastelBlue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -662px -1468px;
width: 60px;
height: 60px;
}
-.skin_pastelRainbowChevron {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -910px -1453px;
+.skin_pastelBlue_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -546px -1453px;
width: 90px;
height: 90px;
}
-.customize-option.skin_pastelRainbowChevron {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -935px -1468px;
+.customize-option.skin_pastelBlue_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -571px -1468px;
width: 60px;
height: 60px;
}
-.skin_pastelRainbowChevron_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.skin_pastelGreen {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -819px -1453px;
width: 90px;
height: 90px;
}
-.customize-option.skin_pastelRainbowChevron_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.skin_pastelGreen {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -844px -1468px;
width: 60px;
height: 60px;
}
-.skin_pastelRainbowDiagonal {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1092px -1453px;
+.skin_pastelGreen_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -728px -1453px;
width: 90px;
height: 90px;
}
-.customize-option.skin_pastelRainbowDiagonal {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1117px -1468px;
+.customize-option.skin_pastelGreen_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -753px -1468px;
width: 60px;
height: 60px;
}
-.skin_pastelRainbowDiagonal_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.skin_pastelOrange {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1001px -1453px;
width: 90px;
height: 90px;
}
-.customize-option.skin_pastelRainbowDiagonal_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.skin_pastelOrange {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1026px -1468px;
width: 60px;
height: 60px;
}
-.skin_pastelYellow {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1274px -1453px;
+.skin_pastelOrange_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -910px -1453px;
width: 90px;
height: 90px;
}
-.customize-option.skin_pastelYellow {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1299px -1468px;
+.customize-option.skin_pastelOrange_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -935px -1468px;
width: 60px;
height: 60px;
}
-.skin_pastelYellow_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.skin_pastelPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1183px -1453px;
width: 90px;
height: 90px;
}
-.customize-option.skin_pastelYellow_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.skin_pastelPink {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1208px -1468px;
width: 60px;
height: 60px;
}
-.skin_pig {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1456px -1453px;
+.skin_pastelPink_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1092px -1453px;
width: 90px;
height: 90px;
}
-.customize-option.skin_pig {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1481px -1468px;
+.customize-option.skin_pastelPink_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1117px -1468px;
width: 60px;
height: 60px;
}
-.skin_pig_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.skin_pastelPurple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1365px -1453px;
width: 90px;
height: 90px;
}
-.customize-option.skin_pig_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.skin_pastelPurple {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1390px -1468px;
width: 60px;
height: 60px;
}
-.skin_polar {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1619px -91px;
+.skin_pastelPurple_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1274px -1453px;
width: 90px;
height: 90px;
}
-.customize-option.skin_polar {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1644px -106px;
+.customize-option.skin_pastelPurple_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1299px -1468px;
width: 60px;
height: 60px;
}
-.skin_polar_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.skin_pastelRainbowChevron {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1619px 0px;
width: 90px;
height: 90px;
}
-.customize-option.skin_polar_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.skin_pastelRainbowChevron {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1644px -15px;
width: 60px;
height: 60px;
}
-.skin_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1619px -273px;
+.skin_pastelRainbowChevron_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1456px -1453px;
width: 90px;
height: 90px;
}
-.customize-option.skin_pumpkin {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1644px -288px;
+.customize-option.skin_pastelRainbowChevron_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1481px -1468px;
width: 60px;
height: 60px;
}
-.skin_pumpkin2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1619px -455px;
- width: 90px;
- height: 90px;
-}
-.customize-option.skin_pumpkin2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1644px -470px;
- width: 60px;
- height: 60px;
-}
-.skin_pumpkin2_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1619px -364px;
- width: 90px;
- height: 90px;
-}
-.customize-option.skin_pumpkin2_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1644px -379px;
- width: 60px;
- height: 60px;
-}
-.skin_pumpkin_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.skin_pastelRainbowDiagonal {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1619px -182px;
width: 90px;
height: 90px;
}
-.customize-option.skin_pumpkin_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.skin_pastelRainbowDiagonal {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1644px -197px;
width: 60px;
height: 60px;
}
-.skin_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1619px -637px;
+.skin_pastelRainbowDiagonal_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1619px -91px;
width: 90px;
height: 90px;
}
-.customize-option.skin_rainbow {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1644px -652px;
+.customize-option.skin_pastelRainbowDiagonal_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1644px -106px;
width: 60px;
height: 60px;
}
-.skin_rainbow_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.skin_pastelYellow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1619px -364px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.skin_pastelYellow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1644px -379px;
+ width: 60px;
+ height: 60px;
+}
+.skin_pastelYellow_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1619px -273px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.skin_pastelYellow_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1644px -288px;
+ width: 60px;
+ height: 60px;
+}
+.skin_pig {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1619px -546px;
width: 90px;
height: 90px;
}
-.customize-option.skin_rainbow_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.skin_pig {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1644px -561px;
width: 60px;
height: 60px;
}
-.skin_reptile {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1619px -819px;
+.skin_pig_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1619px -455px;
width: 90px;
height: 90px;
}
-.customize-option.skin_reptile {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1644px -834px;
+.customize-option.skin_pig_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1644px -470px;
width: 60px;
height: 60px;
}
-.skin_reptile_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.skin_polar {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1619px -728px;
width: 90px;
height: 90px;
}
-.customize-option.skin_reptile_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.skin_polar {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1644px -743px;
width: 60px;
height: 60px;
}
-.skin_shadow {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1619px -1001px;
+.skin_polar_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1619px -637px;
width: 90px;
height: 90px;
}
-.customize-option.skin_shadow {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1644px -1016px;
+.customize-option.skin_polar_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1644px -652px;
width: 60px;
height: 60px;
}
-.skin_shadow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1619px -1183px;
- width: 90px;
- height: 90px;
-}
-.customize-option.skin_shadow2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1644px -1198px;
- width: 60px;
- height: 60px;
-}
-.skin_shadow2_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1619px -1092px;
- width: 90px;
- height: 90px;
-}
-.customize-option.skin_shadow2_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1644px -1107px;
- width: 60px;
- height: 60px;
-}
-.skin_shadow_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.skin_pumpkin {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1619px -910px;
width: 90px;
height: 90px;
}
-.customize-option.skin_shadow_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.skin_pumpkin {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1644px -925px;
width: 60px;
height: 60px;
}
-.skin_shark {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1619px -1365px;
+.skin_pumpkin2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1619px -1092px;
width: 90px;
height: 90px;
}
-.customize-option.skin_shark {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1644px -1380px;
+.customize-option.skin_pumpkin2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1644px -1107px;
width: 60px;
height: 60px;
}
-.skin_shark_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.skin_pumpkin2_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1619px -1001px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.skin_pumpkin2_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1644px -1016px;
+ width: 60px;
+ height: 60px;
+}
+.skin_pumpkin_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1619px -819px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.skin_pumpkin_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1644px -834px;
+ width: 60px;
+ height: 60px;
+}
+.skin_rainbow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1619px -1274px;
width: 90px;
height: 90px;
}
-.customize-option.skin_shark_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.skin_rainbow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1644px -1289px;
width: 60px;
height: 60px;
}
-.skin_skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -91px -1544px;
+.skin_rainbow_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1619px -1183px;
width: 90px;
height: 90px;
}
-.customize-option.skin_skeleton {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -116px -1559px;
+.customize-option.skin_rainbow_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1644px -1198px;
width: 60px;
height: 60px;
}
-.skin_skeleton2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -273px -1544px;
- width: 90px;
- height: 90px;
-}
-.customize-option.skin_skeleton2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -298px -1559px;
- width: 60px;
- height: 60px;
-}
-.skin_skeleton2_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -182px -1544px;
- width: 90px;
- height: 90px;
-}
-.customize-option.skin_skeleton2_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -207px -1559px;
- width: 60px;
- height: 60px;
-}
-.skin_skeleton_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.skin_reptile {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: 0px -1544px;
width: 90px;
height: 90px;
}
-.customize-option.skin_skeleton_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.skin_reptile {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -25px -1559px;
width: 60px;
height: 60px;
}
-.skin_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -455px -1544px;
+.skin_reptile_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1619px -1365px;
width: 90px;
height: 90px;
}
-.customize-option.skin_snowy {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -480px -1559px;
+.customize-option.skin_reptile_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1644px -1380px;
width: 60px;
height: 60px;
}
-.skin_snowy_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.skin_shadow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -182px -1544px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.skin_shadow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -207px -1559px;
+ width: 60px;
+ height: 60px;
+}
+.skin_shadow2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -364px -1544px;
width: 90px;
height: 90px;
}
-.customize-option.skin_snowy_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.skin_shadow2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -389px -1559px;
width: 60px;
height: 60px;
}
-.skin_sugar {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -637px -1544px;
+.skin_shadow2_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -273px -1544px;
width: 90px;
height: 90px;
}
-.customize-option.skin_sugar {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -662px -1559px;
+.customize-option.skin_shadow2_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -298px -1559px;
width: 60px;
height: 60px;
}
-.skin_sugar_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.skin_shadow_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -91px -1544px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.skin_shadow_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -116px -1559px;
+ width: 60px;
+ height: 60px;
+}
+.skin_shark {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -546px -1544px;
width: 90px;
height: 90px;
}
-.customize-option.skin_sugar_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.skin_shark {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -571px -1559px;
width: 60px;
height: 60px;
}
-.skin_tiger {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -819px -1544px;
+.skin_shark_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -455px -1544px;
width: 90px;
height: 90px;
}
-.customize-option.skin_tiger {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -844px -1559px;
+.customize-option.skin_shark_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -480px -1559px;
width: 60px;
height: 60px;
}
-.skin_tiger_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.skin_skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -728px -1544px;
width: 90px;
height: 90px;
}
-.customize-option.skin_tiger_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.skin_skeleton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -753px -1559px;
width: 60px;
height: 60px;
}
-.skin_transparent {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1001px -1544px;
- width: 90px;
- height: 90px;
-}
-.customize-option.skin_transparent {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1026px -1559px;
- width: 60px;
- height: 60px;
-}
-.skin_transparent_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.skin_skeleton2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -910px -1544px;
width: 90px;
height: 90px;
}
-.customize-option.skin_transparent_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.skin_skeleton2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -935px -1559px;
width: 60px;
height: 60px;
}
-.skin_tropicalwater {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1183px -1544px;
+.skin_skeleton2_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -819px -1544px;
width: 90px;
height: 90px;
}
-.customize-option.skin_tropicalwater {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1208px -1559px;
+.customize-option.skin_skeleton2_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -844px -1559px;
width: 60px;
height: 60px;
}
-.skin_tropicalwater_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.skin_skeleton_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -637px -1544px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.skin_skeleton_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -662px -1559px;
+ width: 60px;
+ height: 60px;
+}
+.skin_snowy {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1092px -1544px;
width: 90px;
height: 90px;
}
-.customize-option.skin_tropicalwater_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.skin_snowy {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1117px -1559px;
width: 60px;
height: 60px;
}
-.skin_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1365px -1544px;
+.skin_snowy_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1001px -1544px;
width: 90px;
height: 90px;
}
-.customize-option.skin_winterstar {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1390px -1559px;
+.customize-option.skin_snowy_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1026px -1559px;
width: 60px;
height: 60px;
}
-.skin_winterstar_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.skin_sugar {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1274px -1544px;
width: 90px;
height: 90px;
}
-.customize-option.skin_winterstar_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.skin_sugar {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1299px -1559px;
width: 60px;
height: 60px;
}
-.skin_wolf {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1547px -1544px;
+.skin_sugar_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1183px -1544px;
width: 90px;
height: 90px;
}
-.customize-option.skin_wolf {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1572px -1559px;
+.customize-option.skin_sugar_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1208px -1559px;
width: 60px;
height: 60px;
}
-.skin_wolf_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.skin_tiger {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1456px -1544px;
width: 90px;
height: 90px;
}
-.customize-option.skin_wolf_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.skin_tiger {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1481px -1559px;
width: 60px;
height: 60px;
}
-.skin_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1710px -91px;
+.skin_tiger_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1365px -1544px;
width: 90px;
height: 90px;
}
-.customize-option.skin_zombie {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1735px -106px;
+.customize-option.skin_tiger_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1390px -1559px;
width: 60px;
height: 60px;
}
-.skin_zombie2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1710px -273px;
- width: 90px;
- height: 90px;
-}
-.customize-option.skin_zombie2 {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1735px -288px;
- width: 60px;
- height: 60px;
-}
-.skin_zombie2_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1710px -182px;
- width: 90px;
- height: 90px;
-}
-.customize-option.skin_zombie2_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1735px -197px;
- width: 60px;
- height: 60px;
-}
-.skin_zombie_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.skin_transparent {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1710px 0px;
width: 90px;
height: 90px;
}
-.customize-option.skin_zombie_sleep {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+.customize-option.skin_transparent {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -1735px -15px;
width: 60px;
height: 60px;
}
+.skin_transparent_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1547px -1544px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.skin_transparent_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1572px -1559px;
+ width: 60px;
+ height: 60px;
+}
+.skin_tropicalwater {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1710px -182px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.skin_tropicalwater {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1735px -197px;
+ width: 60px;
+ height: 60px;
+}
+.skin_tropicalwater_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1710px -91px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.skin_tropicalwater_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1735px -106px;
+ width: 60px;
+ height: 60px;
+}
+.skin_winterstar {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1710px -364px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.skin_winterstar {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1735px -379px;
+ width: 60px;
+ height: 60px;
+}
+.skin_winterstar_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1710px -273px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.skin_winterstar_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1735px -288px;
+ width: 60px;
+ height: 60px;
+}
+.skin_wolf {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1710px -546px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.skin_wolf {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1735px -561px;
+ width: 60px;
+ height: 60px;
+}
+.skin_wolf_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1710px -455px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.skin_wolf_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1735px -470px;
+ width: 60px;
+ height: 60px;
+}
+.skin_zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1710px -728px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.skin_zombie {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1735px -743px;
+ width: 60px;
+ height: 60px;
+}
+.skin_zombie2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1710px -910px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.skin_zombie2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1735px -925px;
+ width: 60px;
+ height: 60px;
+}
+.skin_zombie2_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1710px -819px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.skin_zombie2_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1735px -834px;
+ width: 60px;
+ height: 60px;
+}
+.skin_zombie_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1710px -637px;
+ width: 90px;
+ height: 90px;
+}
+.customize-option.skin_zombie_sleep {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1735px -652px;
+ width: 60px;
+ height: 60px;
+}
.body_armoire_cozyScarf {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: 0px -182px;
width: 114px;
height: 87px;
}
.broad_armor_armoire_antiProcrastinationArmor {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1710px -455px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1710px -1001px;
width: 90px;
height: 90px;
}
.broad_armor_armoire_astronomersRobe {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: 0px 0px;
width: 114px;
height: 90px;
}
.broad_armor_armoire_barristerRobes {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1710px -637px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1710px -1092px;
width: 90px;
height: 90px;
}
.broad_armor_armoire_basicArcherArmor {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1710px -728px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1710px -1183px;
width: 90px;
height: 90px;
}
.broad_armor_armoire_bluePartyDress {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -115px 0px;
width: 114px;
height: 90px;
}
.broad_armor_armoire_boatingJacket {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: 0px -91px;
width: 114px;
height: 90px;
}
.broad_armor_armoire_candlestickMakerOutfit {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1710px -1001px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1710px -1274px;
width: 90px;
height: 90px;
}
.broad_armor_armoire_cannoneerRags {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1710px -1092px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1710px -1365px;
width: 90px;
height: 90px;
}
.broad_armor_armoire_chefsJacket {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -115px -91px;
width: 114px;
height: 90px;
}
.broad_armor_armoire_coachDriverLivery {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -230px 0px;
width: 114px;
height: 90px;
}
.broad_armor_armoire_cobblersCoveralls {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
- background-position: -1710px -1365px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
+ background-position: -1710px -1456px;
width: 90px;
height: 90px;
}
.broad_armor_armoire_coverallsOfBookbinding {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -230px -91px;
width: 114px;
height: 90px;
}
.broad_armor_armoire_crystalCrescentRobes {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: 0px -1635px;
width: 90px;
height: 90px;
}
.broad_armor_armoire_dragonTamerArmor {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -91px -1635px;
width: 90px;
height: 90px;
}
.broad_armor_armoire_falconerArmor {
- background-image: url('~assets/images/sprites/spritesmith-main-5.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-5.png');
background-position: -182px -1635px;
width: 90px;
height: 90px;
diff --git a/website/client/assets/css/sprites/spritesmith-main-6.css b/website/client/src/assets/css/sprites/spritesmith-main-6.css
similarity index 58%
rename from website/client/assets/css/sprites/spritesmith-main-6.css
rename to website/client/src/assets/css/sprites/spritesmith-main-6.css
index 8f1d9ccd40..8692aac1c6 100644
--- a/website/client/assets/css/sprites/spritesmith-main-6.css
+++ b/website/client/src/assets/css/sprites/spritesmith-main-6.css
@@ -1,2358 +1,2358 @@
.broad_armor_armoire_farrierOutfit {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
background-position: -100px -819px;
width: 90px;
height: 90px;
}
.broad_armor_armoire_flutteryFrock {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -115px 0px;
- width: 114px;
- height: 90px;
-}
-.broad_armor_armoire_gladiatorArmor {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -646px -819px;
- width: 90px;
- height: 90px;
-}
-.broad_armor_armoire_glassblowersCoveralls {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
background-position: 0px 0px;
width: 114px;
height: 90px;
}
+.broad_armor_armoire_gladiatorArmor {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -191px -819px;
+ width: 90px;
+ height: 90px;
+}
+.broad_armor_armoire_glassblowersCoveralls {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -115px 0px;
+ width: 114px;
+ height: 90px;
+}
.broad_armor_armoire_goldenToga {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1011px -273px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -282px -819px;
width: 90px;
height: 90px;
}
.broad_armor_armoire_gownOfHearts {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -455px -1092px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -373px -819px;
width: 90px;
height: 90px;
}
.broad_armor_armoire_graduateRobe {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1001px -1092px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -464px -819px;
width: 90px;
height: 90px;
}
.broad_armor_armoire_greenFestivalYukata {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -575px -455px;
- width: 114px;
- height: 90px;
-}
-.broad_armor_armoire_hornedIronArmor {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -920px -91px;
- width: 90px;
- height: 90px;
-}
-.broad_armor_armoire_invernessCape {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
background-position: 0px -91px;
width: 114px;
height: 90px;
}
+.broad_armor_armoire_hornedIronArmor {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -555px -819px;
+ width: 90px;
+ height: 90px;
+}
+.broad_armor_armoire_invernessCape {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -115px -91px;
+ width: 114px;
+ height: 90px;
+}
.broad_armor_armoire_ironBlueArcherArmor {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -182px -910px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -646px -819px;
width: 90px;
height: 90px;
}
.broad_armor_armoire_jesterCostume {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -455px -910px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -737px -819px;
width: 90px;
height: 90px;
}
.broad_armor_armoire_jeweledArcherArmor {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1011px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -828px -819px;
width: 90px;
height: 90px;
}
.broad_armor_armoire_lamplightersGreatcoat {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -690px -728px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -230px -728px;
width: 114px;
height: 87px;
}
.broad_armor_armoire_lunarArmor {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1011px -637px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -920px 0px;
width: 90px;
height: 90px;
}
.broad_armor_armoire_merchantTunic {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -91px -1001px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -920px -91px;
width: 90px;
height: 90px;
}
.broad_armor_armoire_minerOveralls {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -728px -1001px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -920px -182px;
width: 90px;
height: 90px;
}
.broad_armor_armoire_mushroomDruidArmor {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1102px -455px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -920px -273px;
width: 90px;
height: 90px;
}
.broad_armor_armoire_nephriteArmor {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
background-position: -230px 0px;
width: 114px;
height: 90px;
}
.broad_armor_armoire_ogreArmor {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -819px -1092px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -920px -364px;
width: 90px;
height: 90px;
}
.broad_armor_armoire_piraticalPrincessGown {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
background-position: -230px -91px;
width: 114px;
height: 90px;
}
.broad_armor_armoire_plagueDoctorOvercoat {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1193px -546px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -920px -455px;
width: 90px;
height: 90px;
}
.broad_armor_armoire_ramFleeceRobes {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -364px -1183px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -920px -546px;
width: 90px;
height: 90px;
}
.broad_armor_armoire_rancherRobes {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -910px -1183px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -920px -637px;
width: 90px;
height: 90px;
}
.broad_armor_armoire_redPartyDress {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -191px -819px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -920px -728px;
width: 90px;
height: 90px;
}
.broad_armor_armoire_robeOfDiamonds {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
background-position: 0px -182px;
width: 114px;
height: 90px;
}
.broad_armor_armoire_robeOfSpades {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
background-position: -115px -182px;
width: 114px;
height: 90px;
}
.broad_armor_armoire_royalRobes {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -920px -728px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -920px -819px;
width: 90px;
height: 90px;
}
.broad_armor_armoire_scribesRobe {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
background-position: -230px -182px;
width: 114px;
height: 90px;
}
.broad_armor_armoire_shadowMastersRobe {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
background-position: -345px 0px;
width: 114px;
height: 90px;
}
.broad_armor_armoire_shepherdRobes {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -273px -910px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: 0px -910px;
width: 90px;
height: 90px;
}
.broad_armor_armoire_softBlueSuit {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
background-position: -345px -91px;
width: 114px;
height: 90px;
}
.broad_armor_armoire_softGreenSuit {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
background-position: -345px -182px;
width: 114px;
height: 90px;
}
.broad_armor_armoire_softRedSuit {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
background-position: 0px -273px;
width: 114px;
height: 90px;
}
.broad_armor_armoire_stripedSwimsuit {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1011px -455px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -91px -910px;
width: 90px;
height: 90px;
}
.broad_armor_armoire_swanDancerTutu {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
background-position: -115px -273px;
width: 114px;
height: 90px;
}
.broad_armor_armoire_vermilionArcherArmor {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1011px -819px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -182px -910px;
width: 90px;
height: 90px;
}
.broad_armor_armoire_vernalVestment {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
background-position: -230px -273px;
width: 114px;
height: 90px;
}
.broad_armor_armoire_vikingTunic {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -273px -1001px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -273px -910px;
width: 90px;
height: 90px;
}
.broad_armor_armoire_woodElfArmor {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -364px -1001px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -364px -910px;
width: 90px;
height: 90px;
}
.broad_armor_armoire_wovenRobes {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
background-position: -345px -273px;
width: 114px;
height: 90px;
}
.broad_armor_armoire_yellowPartyDress {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -819px -1001px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -455px -910px;
width: 90px;
height: 90px;
}
.eyewear_armoire_goofyGlasses {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1102px -182px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -546px -910px;
width: 90px;
height: 90px;
}
.eyewear_armoire_plagueDoctorMask {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1102px -273px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -637px -910px;
width: 90px;
height: 90px;
}
.headAccessory_armoire_comicalArrow {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -910px -910px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -364px -1092px;
width: 90px;
height: 90px;
}
.headAccessory_armoire_gogglesOfBookbinding {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -575px -91px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -575px 0px;
width: 114px;
height: 90px;
}
.head_armoire_antiProcrastinationHelm {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1102px -364px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -728px -910px;
width: 90px;
height: 90px;
}
.head_armoire_astronomersHat {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
background-position: 0px -364px;
width: 114px;
height: 90px;
}
.head_armoire_barristerWig {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1102px -546px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -819px -910px;
width: 90px;
height: 90px;
}
.head_armoire_basicArcherCap {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1102px -637px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -910px -910px;
width: 90px;
height: 90px;
}
.head_armoire_bigWig {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1102px -728px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1011px 0px;
width: 90px;
height: 90px;
}
.head_armoire_birdsNest {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1102px -910px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1011px -91px;
width: 90px;
height: 90px;
}
.head_armoire_blackCat {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: 0px -1092px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1011px -182px;
width: 90px;
height: 90px;
}
.head_armoire_blueFloppyHat {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -182px -1092px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1011px -273px;
width: 90px;
height: 90px;
}
.head_armoire_blueHairbow {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -364px -1092px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1011px -364px;
width: 90px;
height: 90px;
}
.head_armoire_boaterHat {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
background-position: -115px -364px;
width: 114px;
height: 90px;
}
.head_armoire_candlestickMakerHat {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -546px -1092px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1011px -455px;
width: 90px;
height: 90px;
}
.head_armoire_cannoneerBandanna {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -728px -1092px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1011px -546px;
width: 90px;
height: 90px;
}
.head_armoire_coachDriversHat {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
background-position: -230px -364px;
width: 114px;
height: 90px;
}
.head_armoire_crownOfDiamonds {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
background-position: -345px -364px;
width: 114px;
height: 90px;
}
.head_armoire_crownOfHearts {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1092px -1092px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1011px -637px;
width: 90px;
height: 90px;
}
.head_armoire_crystalCrescentHat {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1193px -364px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1011px -728px;
width: 90px;
height: 90px;
}
.head_armoire_deerstalkerCap {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
background-position: -460px 0px;
width: 114px;
height: 90px;
}
.head_armoire_dragonTamerHelm {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1193px -1001px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1011px -819px;
width: 90px;
height: 90px;
}
.head_armoire_falconerCap {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -182px -1183px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1011px -910px;
width: 90px;
height: 90px;
}
.head_armoire_flutteryWig {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
background-position: -460px -91px;
width: 114px;
height: 90px;
}
.head_armoire_gladiatorHelm {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -728px -1183px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: 0px -1001px;
width: 90px;
height: 90px;
}
.head_armoire_glassblowersHat {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
background-position: -460px -182px;
width: 114px;
height: 90px;
}
.head_armoire_goldenLaurels {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1284px -91px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -91px -1001px;
width: 90px;
height: 90px;
}
.head_armoire_graduateCap {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1284px -273px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -182px -1001px;
width: 90px;
height: 90px;
}
.head_armoire_greenFloppyHat {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1284px -364px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -273px -1001px;
width: 90px;
height: 90px;
}
.head_armoire_hornedIronHelm {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1284px -637px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -364px -1001px;
width: 90px;
height: 90px;
}
.head_armoire_ironBlueArcherHelm {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1284px -728px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -455px -1001px;
width: 90px;
height: 90px;
}
.head_armoire_jesterCap {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1284px -1001px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -546px -1001px;
width: 90px;
height: 90px;
}
.head_armoire_jeweledArcherHelm {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1284px -1183px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -637px -1001px;
width: 90px;
height: 90px;
}
.head_armoire_lamplightersTopHat {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -575px -728px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -345px -728px;
width: 114px;
height: 87px;
}
.head_armoire_lunarCrown {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -282px -819px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -728px -1001px;
width: 90px;
height: 90px;
}
.head_armoire_merchantChaperon {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -373px -819px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -819px -1001px;
width: 90px;
height: 90px;
}
.head_armoire_minerHelmet {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -464px -819px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -910px -1001px;
width: 90px;
height: 90px;
}
.head_armoire_mushroomDruidCap {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -555px -819px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1001px -1001px;
width: 90px;
height: 90px;
}
.head_armoire_nephriteHelm {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -460px -364px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -460px -273px;
width: 114px;
height: 90px;
}
.head_armoire_ogreMask {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -737px -819px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1102px 0px;
width: 90px;
height: 90px;
}
.head_armoire_orangeCat {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -828px -819px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1102px -91px;
width: 90px;
height: 90px;
}
.head_armoire_paperBag {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -920px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1102px -182px;
width: 90px;
height: 90px;
}
.head_armoire_piraticalPrincessHeaddress {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: 0px -455px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -460px -364px;
width: 114px;
height: 90px;
}
.head_armoire_plagueDoctorHat {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -920px -182px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1102px -273px;
width: 90px;
height: 90px;
}
.head_armoire_ramHeaddress {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -920px -273px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1102px -364px;
width: 90px;
height: 90px;
}
.head_armoire_rancherHat {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -920px -364px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1102px -455px;
width: 90px;
height: 90px;
}
.head_armoire_redFloppyHat {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -920px -455px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1102px -546px;
width: 90px;
height: 90px;
}
.head_armoire_redHairbow {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -920px -546px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1102px -637px;
width: 90px;
height: 90px;
}
.head_armoire_royalCrown {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -920px -637px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1102px -728px;
width: 90px;
height: 90px;
}
.head_armoire_shadowMastersHood {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -115px -455px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: 0px -455px;
width: 114px;
height: 90px;
}
.head_armoire_shepherdHeaddress {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -920px -819px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1102px -819px;
width: 90px;
height: 90px;
}
.head_armoire_swanFeatherCrown {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: 0px -910px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1102px -910px;
width: 90px;
height: 90px;
}
.head_armoire_toqueBlanche {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -230px -455px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -115px -455px;
width: 114px;
height: 90px;
}
.head_armoire_tricornHat {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -345px -455px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -230px -455px;
width: 114px;
height: 90px;
}
.head_armoire_veilOfSpades {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -460px -455px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -345px -455px;
width: 114px;
height: 90px;
}
.head_armoire_vermilionArcherHelm {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -364px -910px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1102px -1001px;
width: 90px;
height: 90px;
}
.head_armoire_vernalHennin {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -575px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -460px -455px;
width: 114px;
height: 90px;
}
.head_armoire_vikingHelm {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -546px -910px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: 0px -1092px;
width: 90px;
height: 90px;
}
.head_armoire_violetFloppyHat {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -637px -910px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -91px -1092px;
width: 90px;
height: 90px;
}
.head_armoire_woodElfHelm {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -728px -910px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -182px -1092px;
width: 90px;
height: 90px;
}
.head_armoire_yellowHairbow {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -819px -910px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -273px -1092px;
width: 90px;
height: 90px;
}
.shield_armoire_antiProcrastinationShield {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1011px -91px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -455px -1092px;
width: 90px;
height: 90px;
}
.shield_armoire_dragonTamerShield {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1011px -182px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -546px -1092px;
width: 90px;
height: 90px;
}
.shield_armoire_fancyBlownGlassVase {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -575px -182px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -575px -91px;
width: 114px;
height: 90px;
}
.shield_armoire_fancyShoe {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1011px -364px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -637px -1092px;
width: 90px;
height: 90px;
}
.shield_armoire_festivalParasol {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
background-position: -460px -728px;
width: 114px;
height: 87px;
}
.shield_armoire_floralBouquet {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1011px -546px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -728px -1092px;
width: 90px;
height: 90px;
}
.shield_armoire_flutteryFan {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -575px -364px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -575px -182px;
width: 114px;
height: 90px;
}
.shield_armoire_gladiatorShield {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1011px -728px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -819px -1092px;
width: 90px;
height: 90px;
}
.shield_armoire_goldenBaton {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
background-position: 0px -819px;
width: 99px;
height: 90px;
}
.shield_armoire_handmadeCandlestick {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1011px -910px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -910px -1092px;
width: 90px;
height: 90px;
}
.shield_armoire_horseshoe {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: 0px -1001px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1001px -1092px;
width: 90px;
height: 90px;
}
.shield_armoire_masteredShadow {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: 0px -546px;
- width: 114px;
- height: 90px;
-}
-.shield_armoire_midnightShield {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -182px -1001px;
- width: 90px;
- height: 90px;
-}
-.shield_armoire_mightyPizza {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -115px -546px;
- width: 114px;
- height: 90px;
-}
-.shield_armoire_mightyQuill {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -230px -546px;
- width: 114px;
- height: 90px;
-}
-.shield_armoire_mushroomDruidShield {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -455px -1001px;
- width: 90px;
- height: 90px;
-}
-.shield_armoire_mysticLamp {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -546px -1001px;
- width: 90px;
- height: 90px;
-}
-.shield_armoire_perchingFalcon {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -637px -1001px;
- width: 90px;
- height: 90px;
-}
-.shield_armoire_piraticalSkullShield {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -345px -546px;
- width: 114px;
- height: 90px;
-}
-.shield_armoire_polishedPocketwatch {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -460px -546px;
- width: 114px;
- height: 90px;
-}
-.shield_armoire_ramHornShield {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -910px -1001px;
- width: 90px;
- height: 90px;
-}
-.shield_armoire_redRose {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1001px -1001px;
- width: 90px;
- height: 90px;
-}
-.shield_armoire_royalCane {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1102px 0px;
- width: 90px;
- height: 90px;
-}
-.shield_armoire_sandyBucket {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1102px -91px;
- width: 90px;
- height: 90px;
-}
-.shield_armoire_shieldOfDiamonds {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -575px -546px;
- width: 114px;
- height: 90px;
-}
-.shield_armoire_softBluePillow {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -690px 0px;
- width: 114px;
- height: 90px;
-}
-.shield_armoire_softGreenPillow {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -690px -91px;
- width: 114px;
- height: 90px;
-}
-.shield_armoire_softRedPillow {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -690px -182px;
- width: 114px;
- height: 90px;
-}
-.shield_armoire_swanFeatherFan {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -345px -728px;
- width: 114px;
- height: 87px;
-}
-.shield_armoire_trustyUmbrella {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -690px -364px;
- width: 114px;
- height: 90px;
-}
-.shield_armoire_unfinishedTome {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -690px -455px;
- width: 114px;
- height: 90px;
-}
-.shield_armoire_vikingShield {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1102px -819px;
- width: 90px;
- height: 90px;
-}
-.shield_armoire_weaversShuttle {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -690px -546px;
- width: 114px;
- height: 90px;
-}
-.shop_armor_armoire_antiProcrastinationArmor {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1651px -828px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_armoire_astronomersRobe {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1651px -759px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_armoire_barristerRobes {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1651px -690px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_armoire_basicArcherArmor {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1651px -621px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_armoire_bluePartyDress {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1651px -552px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_armoire_boatingJacket {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1651px -483px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_armoire_candlestickMakerOutfit {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1651px -414px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_armoire_cannoneerRags {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1651px -345px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_armoire_chefsJacket {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1651px -276px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_armoire_coachDriverLivery {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1651px -207px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_armoire_cobblersCoveralls {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1651px -138px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_armoire_coverallsOfBookbinding {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1651px -69px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_armoire_crystalCrescentRobes {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1651px 0px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_armoire_dragonTamerArmor {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1518px -1550px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_armoire_falconerArmor {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1449px -1550px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_armoire_farrierOutfit {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1380px -1550px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_armoire_flutteryFrock {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1311px -1550px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_armoire_gladiatorArmor {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1242px -1550px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_armoire_glassblowersCoveralls {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1173px -1550px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_armoire_goldenToga {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1104px -1550px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_armoire_gownOfHearts {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1035px -1550px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_armoire_graduateRobe {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -966px -1550px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_armoire_greenFestivalYukata {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -897px -1550px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_armoire_hornedIronArmor {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -828px -1550px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_armoire_invernessCape {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -759px -1550px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_armoire_ironBlueArcherArmor {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -690px -1550px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_armoire_jesterCostume {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -621px -1550px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_armoire_jeweledArcherArmor {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -552px -1550px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_armoire_lamplightersGreatcoat {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -483px -1550px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_armoire_lunarArmor {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -414px -1550px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_armoire_merchantTunic {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -345px -1550px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_armoire_minerOveralls {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -276px -1550px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_armoire_mushroomDruidArmor {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -207px -1550px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_armoire_nephriteArmor {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -138px -1550px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_armoire_ogreArmor {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -69px -1550px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_armoire_piraticalPrincessGown {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: 0px -1550px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_armoire_plagueDoctorOvercoat {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1582px -1449px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_armoire_ramFleeceRobes {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1582px -1380px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_armoire_rancherRobes {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1582px -1311px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_armoire_redPartyDress {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1582px -1242px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_armoire_robeOfDiamonds {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1582px -1173px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_armoire_robeOfSpades {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1582px -1104px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_armoire_royalRobes {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1582px -1035px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_armoire_scribesRobe {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1582px -966px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_armoire_shadowMastersRobe {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1582px -897px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_armoire_shepherdRobes {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1582px -828px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_armoire_softBlueSuit {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1582px -759px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_armoire_softGreenSuit {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1582px -690px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_armoire_softRedSuit {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1582px -621px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_armoire_stripedSwimsuit {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1582px -552px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_armoire_swanDancerTutu {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1582px -483px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_armoire_vermilionArcherArmor {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1582px -414px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_armoire_vernalVestment {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1582px -345px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_armoire_vikingTunic {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1582px -276px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_armoire_woodElfArmor {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -276px -1274px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_armoire_wovenRobes {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: 0px -1274px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_armoire_yellowPartyDress {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1513px -69px;
- width: 68px;
- height: 68px;
-}
-.shop_body_armoire_cozyScarf {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -69px -1274px;
- width: 68px;
- height: 68px;
-}
-.shop_eyewear_armoire_goofyGlasses {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -138px -1274px;
- width: 68px;
- height: 68px;
-}
-.shop_eyewear_armoire_plagueDoctorMask {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -207px -1274px;
- width: 68px;
- height: 68px;
-}
-.shop_headAccessory_armoire_comicalArrow {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1444px -207px;
- width: 68px;
- height: 68px;
-}
-.shop_headAccessory_armoire_gogglesOfBookbinding {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1444px -276px;
- width: 68px;
- height: 68px;
-}
-.shop_head_armoire_antiProcrastinationHelm {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1651px -897px;
- width: 68px;
- height: 68px;
-}
-.shop_head_armoire_astronomersHat {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -345px -1274px;
- width: 68px;
- height: 68px;
-}
-.shop_head_armoire_barristerWig {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -414px -1274px;
- width: 68px;
- height: 68px;
-}
-.shop_head_armoire_basicArcherCap {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -483px -1274px;
- width: 68px;
- height: 68px;
-}
-.shop_head_armoire_bigWig {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -552px -1274px;
- width: 68px;
- height: 68px;
-}
-.shop_head_armoire_birdsNest {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -621px -1274px;
- width: 68px;
- height: 68px;
-}
-.shop_head_armoire_blackCat {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -690px -1274px;
- width: 68px;
- height: 68px;
-}
-.shop_head_armoire_blueFloppyHat {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -759px -1274px;
- width: 68px;
- height: 68px;
-}
-.shop_head_armoire_blueHairbow {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -828px -1274px;
- width: 68px;
- height: 68px;
-}
-.shop_head_armoire_boaterHat {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -897px -1274px;
- width: 68px;
- height: 68px;
-}
-.shop_head_armoire_candlestickMakerHat {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -966px -1274px;
- width: 68px;
- height: 68px;
-}
-.shop_head_armoire_cannoneerBandanna {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1035px -1274px;
- width: 68px;
- height: 68px;
-}
-.shop_head_armoire_coachDriversHat {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1104px -1274px;
- width: 68px;
- height: 68px;
-}
-.shop_head_armoire_crownOfDiamonds {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1173px -1274px;
- width: 68px;
- height: 68px;
-}
-.shop_head_armoire_crownOfHearts {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1242px -1274px;
- width: 68px;
- height: 68px;
-}
-.shop_head_armoire_crystalCrescentHat {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1375px 0px;
- width: 68px;
- height: 68px;
-}
-.shop_head_armoire_deerstalkerCap {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1375px -69px;
- width: 68px;
- height: 68px;
-}
-.shop_head_armoire_dragonTamerHelm {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1375px -138px;
- width: 68px;
- height: 68px;
-}
-.shop_head_armoire_falconerCap {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1375px -207px;
- width: 68px;
- height: 68px;
-}
-.shop_head_armoire_flutteryWig {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1375px -276px;
- width: 68px;
- height: 68px;
-}
-.shop_head_armoire_gladiatorHelm {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1375px -345px;
- width: 68px;
- height: 68px;
-}
-.shop_head_armoire_glassblowersHat {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1375px -414px;
- width: 68px;
- height: 68px;
-}
-.shop_head_armoire_goldenLaurels {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1375px -483px;
- width: 68px;
- height: 68px;
-}
-.shop_head_armoire_graduateCap {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1375px -552px;
- width: 68px;
- height: 68px;
-}
-.shop_head_armoire_greenFloppyHat {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1375px -621px;
- width: 68px;
- height: 68px;
-}
-.shop_head_armoire_hornedIronHelm {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1375px -690px;
- width: 68px;
- height: 68px;
-}
-.shop_head_armoire_ironBlueArcherHelm {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1375px -759px;
- width: 68px;
- height: 68px;
-}
-.shop_head_armoire_jesterCap {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1375px -828px;
- width: 68px;
- height: 68px;
-}
-.shop_head_armoire_jeweledArcherHelm {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1375px -897px;
- width: 68px;
- height: 68px;
-}
-.shop_head_armoire_lamplightersTopHat {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1375px -966px;
- width: 68px;
- height: 68px;
-}
-.shop_head_armoire_lunarCrown {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1375px -1035px;
- width: 68px;
- height: 68px;
-}
-.shop_head_armoire_merchantChaperon {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1375px -1104px;
- width: 68px;
- height: 68px;
-}
-.shop_head_armoire_minerHelmet {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1375px -1173px;
- width: 68px;
- height: 68px;
-}
-.shop_head_armoire_mushroomDruidCap {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1375px -1242px;
- width: 68px;
- height: 68px;
-}
-.shop_head_armoire_nephriteHelm {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: 0px -1343px;
- width: 68px;
- height: 68px;
-}
-.shop_head_armoire_ogreMask {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -69px -1343px;
- width: 68px;
- height: 68px;
-}
-.shop_head_armoire_orangeCat {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -138px -1343px;
- width: 68px;
- height: 68px;
-}
-.shop_head_armoire_paperBag {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -207px -1343px;
- width: 68px;
- height: 68px;
-}
-.shop_head_armoire_piraticalPrincessHeaddress {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -276px -1343px;
- width: 68px;
- height: 68px;
-}
-.shop_head_armoire_plagueDoctorHat {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -345px -1343px;
- width: 68px;
- height: 68px;
-}
-.shop_head_armoire_ramHeaddress {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -414px -1343px;
- width: 68px;
- height: 68px;
-}
-.shop_head_armoire_rancherHat {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -483px -1343px;
- width: 68px;
- height: 68px;
-}
-.shop_head_armoire_redFloppyHat {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -552px -1343px;
- width: 68px;
- height: 68px;
-}
-.shop_head_armoire_redHairbow {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -621px -1343px;
- width: 68px;
- height: 68px;
-}
-.shop_head_armoire_royalCrown {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -690px -1343px;
- width: 68px;
- height: 68px;
-}
-.shop_head_armoire_shadowMastersHood {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -759px -1343px;
- width: 68px;
- height: 68px;
-}
-.shop_head_armoire_shepherdHeaddress {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -828px -1343px;
- width: 68px;
- height: 68px;
-}
-.shop_head_armoire_swanFeatherCrown {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -897px -1343px;
- width: 68px;
- height: 68px;
-}
-.shop_head_armoire_toqueBlanche {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -966px -1343px;
- width: 68px;
- height: 68px;
-}
-.shop_head_armoire_tricornHat {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1035px -1343px;
- width: 68px;
- height: 68px;
-}
-.shop_head_armoire_veilOfSpades {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1104px -1343px;
- width: 68px;
- height: 68px;
-}
-.shop_head_armoire_vermilionArcherHelm {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1173px -1343px;
- width: 68px;
- height: 68px;
-}
-.shop_head_armoire_vernalHennin {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1242px -1343px;
- width: 68px;
- height: 68px;
-}
-.shop_head_armoire_vikingHelm {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1311px -1343px;
- width: 68px;
- height: 68px;
-}
-.shop_head_armoire_violetFloppyHat {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1444px 0px;
- width: 68px;
- height: 68px;
-}
-.shop_head_armoire_woodElfHelm {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1444px -69px;
- width: 68px;
- height: 68px;
-}
-.shop_head_armoire_yellowHairbow {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1444px -138px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_armoire_antiProcrastinationShield {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1444px -345px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_armoire_dragonTamerShield {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1444px -414px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_armoire_fancyBlownGlassVase {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1444px -483px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_armoire_fancyShoe {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1444px -552px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_armoire_festivalParasol {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1444px -621px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_armoire_floralBouquet {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1444px -690px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_armoire_flutteryFan {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1444px -759px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_armoire_gladiatorShield {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1444px -828px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_armoire_goldenBaton {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1444px -897px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_armoire_handmadeCandlestick {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1444px -966px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_armoire_horseshoe {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1444px -1035px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_armoire_masteredShadow {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1444px -1104px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_armoire_midnightShield {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1444px -1173px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_armoire_mightyPizza {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1444px -1242px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_armoire_mightyQuill {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1444px -1311px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_armoire_mushroomDruidShield {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: 0px -1412px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_armoire_mysticLamp {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -69px -1412px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_armoire_perchingFalcon {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -138px -1412px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_armoire_piraticalSkullShield {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -207px -1412px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_armoire_polishedPocketwatch {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -276px -1412px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_armoire_ramHornShield {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -345px -1412px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_armoire_redRose {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -414px -1412px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_armoire_royalCane {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -483px -1412px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_armoire_sandyBucket {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -552px -1412px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_armoire_shieldOfDiamonds {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -621px -1412px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_armoire_softBluePillow {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -690px -1412px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_armoire_softGreenPillow {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -759px -1412px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_armoire_softRedPillow {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -828px -1412px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_armoire_swanFeatherFan {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -897px -1412px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_armoire_trustyUmbrella {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -966px -1412px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_armoire_unfinishedTome {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1035px -1412px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_armoire_vikingShield {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1104px -1412px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_armoire_weaversShuttle {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1173px -1412px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_armoire_arcaneScroll {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1242px -1412px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_armoire_astronomersTelescope {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1311px -1412px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_armoire_bambooCane {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1380px -1412px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_armoire_barristerGavel {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1513px 0px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_armoire_basicCrossbow {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -805px -728px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_armoire_basicLongbow {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1513px -138px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_armoire_batWand {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1513px -276px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_armoire_battleAxe {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1513px -207px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_armoire_blueLongbow {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1513px -345px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_armoire_cannon {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1513px -414px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_armoire_chefsSpoon {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1513px -483px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_armoire_coachDriversWhip {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1513px -552px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_armoire_cobblersHammer {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1513px -621px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_armoire_crystalCrescentStaff {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1513px -690px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_armoire_festivalFirecracker {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1513px -759px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_armoire_floridFan {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1513px -828px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_armoire_flutteryArmy {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1513px -897px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_armoire_forestFungusStaff {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1513px -966px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_armoire_glassblowersBlowpipe {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1513px -1035px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_armoire_glowingSpear {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1513px -1104px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_armoire_goldWingStaff {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1513px -1173px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_armoire_habiticanDiploma {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1513px -1242px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_armoire_hoofClippers {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1513px -1311px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_armoire_ironCrook {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1513px -1380px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_armoire_jesterBaton {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: 0px -1481px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_armoire_jeweledArcherBow {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -69px -1481px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_armoire_jugglingBalls {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -138px -1481px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_armoire_lamplighter {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -207px -1481px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_armoire_lunarSceptre {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -276px -1481px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_armoire_magnifyingGlass {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -345px -1481px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_armoire_merchantsDisplayTray {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -414px -1481px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_armoire_miningPickax {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -483px -1481px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_armoire_mythmakerSword {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -552px -1481px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_armoire_needleOfBookbinding {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -621px -1481px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_armoire_nephriteBow {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -690px -1481px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_armoire_ogreClub {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -759px -1481px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_armoire_poisonedGoblet {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -828px -1481px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_armoire_rancherLasso {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -897px -1481px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_armoire_resplendentRapier {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -966px -1481px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_armoire_sandySpade {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1035px -1481px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_armoire_scepterOfDiamonds {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1104px -1481px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_armoire_shadowMastersMace {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1173px -1481px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_armoire_shepherdsCrook {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1242px -1481px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_armoire_slingshot {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1311px -1481px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_armoire_spearOfSpades {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1380px -1481px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_armoire_vermilionArcherBow {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1449px -1481px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_armoire_vernalTaper {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1582px 0px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_armoire_wandOfHearts {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1582px -69px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_armoire_weaversComb {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1582px -138px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_armoire_woodElfStaff {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1582px -207px;
- width: 68px;
- height: 68px;
-}
-.slim_armor_armoire_antiProcrastinationArmor {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1284px -1092px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_armoire_astronomersRobe {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -115px -728px;
- width: 114px;
- height: 90px;
-}
-.slim_armor_armoire_barristerRobes {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1284px -910px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_armoire_basicArcherArmor {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1284px -819px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_armoire_bluePartyDress {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -115px -91px;
- width: 114px;
- height: 90px;
-}
-.slim_armor_armoire_boatingJacket {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -460px -273px;
- width: 114px;
- height: 90px;
-}
-.slim_armor_armoire_candlestickMakerOutfit {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1284px -546px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_armoire_cannoneerRags {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1284px -455px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_armoire_chefsJacket {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
background-position: -575px -273px;
width: 114px;
height: 90px;
}
-.slim_armor_armoire_coachDriverLivery {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -690px -273px;
+.shield_armoire_midnightShield {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1092px -1092px;
+ width: 90px;
+ height: 90px;
+}
+.shield_armoire_mightyPizza {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -575px -364px;
width: 114px;
height: 90px;
}
-.slim_armor_armoire_cobblersCoveralls {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1284px -182px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_armoire_coverallsOfBookbinding {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -805px -364px;
+.shield_armoire_mightyQuill {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -575px -455px;
width: 114px;
height: 90px;
}
-.slim_armor_armoire_crystalCrescentRobes {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1284px 0px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_armoire_dragonTamerArmor {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1183px -1183px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_armoire_falconerArmor {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1092px -1183px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_armoire_farrierOutfit {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1001px -1183px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_armoire_flutteryFrock {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: 0px -728px;
- width: 114px;
- height: 90px;
-}
-.slim_armor_armoire_gladiatorArmor {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -819px -1183px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_armoire_glassblowersCoveralls {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -805px -637px;
- width: 114px;
- height: 90px;
-}
-.slim_armor_armoire_goldenToga {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -637px -1183px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_armoire_gownOfHearts {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -546px -1183px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_armoire_graduateRobe {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -455px -1183px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_armoire_greenFestivalYukata {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -805px -546px;
- width: 114px;
- height: 90px;
-}
-.slim_armor_armoire_hornedIronArmor {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -273px -1183px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_armoire_invernessCape {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -805px -455px;
- width: 114px;
- height: 90px;
-}
-.slim_armor_armoire_ironBlueArcherArmor {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -91px -1183px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_armoire_jesterCostume {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: 0px -1183px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_armoire_jeweledArcherArmor {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1193px -1092px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_armoire_lamplightersGreatcoat {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -230px -728px;
- width: 114px;
- height: 87px;
-}
-.slim_armor_armoire_lunarArmor {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1193px -910px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_armoire_merchantTunic {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1193px -819px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_armoire_minerOveralls {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1193px -728px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_armoire_mushroomDruidArmor {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1193px -637px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_armoire_nephriteArmor {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -805px -273px;
- width: 114px;
- height: 90px;
-}
-.slim_armor_armoire_ogreArmor {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1193px -455px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_armoire_piraticalPrincessGown {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -805px -182px;
- width: 114px;
- height: 90px;
-}
-.slim_armor_armoire_plagueDoctorOvercoat {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1193px -273px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_armoire_ramFleeceRobes {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1193px -182px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_armoire_rancherRobes {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1193px -91px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_armoire_redPartyDress {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
+.shield_armoire_mushroomDruidShield {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
background-position: -1193px 0px;
width: 90px;
height: 90px;
}
+.shield_armoire_mysticLamp {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1193px -91px;
+ width: 90px;
+ height: 90px;
+}
+.shield_armoire_perchingFalcon {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1193px -182px;
+ width: 90px;
+ height: 90px;
+}
+.shield_armoire_piraticalSkullShield {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: 0px -546px;
+ width: 114px;
+ height: 90px;
+}
+.shield_armoire_polishedPocketwatch {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -115px -546px;
+ width: 114px;
+ height: 90px;
+}
+.shield_armoire_ramHornShield {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1193px -273px;
+ width: 90px;
+ height: 90px;
+}
+.shield_armoire_redRose {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1193px -364px;
+ width: 90px;
+ height: 90px;
+}
+.shield_armoire_royalCane {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1193px -455px;
+ width: 90px;
+ height: 90px;
+}
+.shield_armoire_sandyBucket {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1193px -546px;
+ width: 90px;
+ height: 90px;
+}
+.shield_armoire_shieldOfDiamonds {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -230px -546px;
+ width: 114px;
+ height: 90px;
+}
+.shield_armoire_softBluePillow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -345px -546px;
+ width: 114px;
+ height: 90px;
+}
+.shield_armoire_softGreenPillow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -460px -546px;
+ width: 114px;
+ height: 90px;
+}
+.shield_armoire_softRedPillow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -575px -546px;
+ width: 114px;
+ height: 90px;
+}
+.shield_armoire_swanFeatherFan {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -575px -728px;
+ width: 114px;
+ height: 87px;
+}
+.shield_armoire_trustyUmbrella {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -690px 0px;
+ width: 114px;
+ height: 90px;
+}
+.shield_armoire_unfinishedTome {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -690px -91px;
+ width: 114px;
+ height: 90px;
+}
+.shield_armoire_vikingShield {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1193px -637px;
+ width: 90px;
+ height: 90px;
+}
+.shield_armoire_weaversShuttle {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -690px -182px;
+ width: 114px;
+ height: 90px;
+}
+.shop_armor_armoire_antiProcrastinationArmor {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -805px -728px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_armoire_astronomersRobe {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: 0px -1274px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_armoire_barristerRobes {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -69px -1274px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_armoire_basicArcherArmor {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -138px -1274px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_armoire_bluePartyDress {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -207px -1274px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_armoire_boatingJacket {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -276px -1274px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_armoire_candlestickMakerOutfit {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -345px -1274px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_armoire_cannoneerRags {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -414px -1274px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_armoire_chefsJacket {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -483px -1274px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_armoire_coachDriverLivery {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -552px -1274px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_armoire_cobblersCoveralls {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -621px -1274px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_armoire_coverallsOfBookbinding {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -690px -1274px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_armoire_crystalCrescentRobes {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -759px -1274px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_armoire_dragonTamerArmor {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -828px -1274px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_armoire_falconerArmor {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -897px -1274px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_armoire_farrierOutfit {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -966px -1274px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_armoire_flutteryFrock {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1035px -1274px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_armoire_gladiatorArmor {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1104px -1274px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_armoire_glassblowersCoveralls {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1173px -1274px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_armoire_goldenToga {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1242px -1274px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_armoire_gownOfHearts {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1375px 0px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_armoire_graduateRobe {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1375px -69px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_armoire_greenFestivalYukata {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1375px -138px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_armoire_hornedIronArmor {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1375px -207px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_armoire_invernessCape {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1375px -276px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_armoire_ironBlueArcherArmor {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1375px -345px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_armoire_jesterCostume {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1375px -414px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_armoire_jeweledArcherArmor {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1375px -483px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_armoire_lamplightersGreatcoat {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1375px -552px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_armoire_lunarArmor {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1375px -621px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_armoire_merchantTunic {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1375px -690px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_armoire_minerOveralls {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1375px -759px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_armoire_mushroomDruidArmor {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1375px -828px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_armoire_nephriteArmor {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1375px -897px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_armoire_ogreArmor {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1375px -966px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_armoire_piraticalPrincessGown {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1375px -1035px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_armoire_plagueDoctorOvercoat {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1375px -1104px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_armoire_ramFleeceRobes {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1375px -1173px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_armoire_rancherRobes {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1375px -1242px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_armoire_redPartyDress {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: 0px -1343px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_armoire_robeOfDiamonds {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -69px -1343px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_armoire_robeOfSpades {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -138px -1343px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_armoire_royalRobes {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -207px -1343px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_armoire_scribesRobe {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -276px -1343px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_armoire_shadowMastersRobe {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -345px -1343px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_armoire_shepherdRobes {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -414px -1343px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_armoire_softBlueSuit {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -483px -1343px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_armoire_softGreenSuit {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -552px -1343px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_armoire_softRedSuit {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -621px -1343px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_armoire_stripedSwimsuit {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -690px -1343px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_armoire_swanDancerTutu {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -759px -1343px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_armoire_vermilionArcherArmor {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -828px -1343px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_armoire_vernalVestment {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -897px -1343px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_armoire_vikingTunic {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -966px -1343px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_armoire_woodElfArmor {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1035px -1343px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_armoire_wovenRobes {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1104px -1343px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_armoire_yellowPartyDress {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1173px -1343px;
+ width: 68px;
+ height: 68px;
+}
+.shop_body_armoire_cozyScarf {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1242px -1343px;
+ width: 68px;
+ height: 68px;
+}
+.shop_eyewear_armoire_goofyGlasses {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1311px -1343px;
+ width: 68px;
+ height: 68px;
+}
+.shop_eyewear_armoire_plagueDoctorMask {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1444px 0px;
+ width: 68px;
+ height: 68px;
+}
+.shop_headAccessory_armoire_comicalArrow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1513px -1173px;
+ width: 68px;
+ height: 68px;
+}
+.shop_headAccessory_armoire_gogglesOfBookbinding {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1513px -1242px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_armoire_antiProcrastinationHelm {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1444px -69px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_armoire_astronomersHat {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1444px -138px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_armoire_barristerWig {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1444px -207px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_armoire_basicArcherCap {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1444px -276px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_armoire_bigWig {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1444px -345px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_armoire_birdsNest {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1444px -414px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_armoire_blackCat {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1444px -483px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_armoire_blueFloppyHat {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1444px -552px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_armoire_blueHairbow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1444px -621px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_armoire_boaterHat {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1444px -690px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_armoire_candlestickMakerHat {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1444px -759px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_armoire_cannoneerBandanna {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1444px -828px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_armoire_coachDriversHat {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1444px -897px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_armoire_crownOfDiamonds {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1444px -966px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_armoire_crownOfHearts {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1444px -1035px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_armoire_crystalCrescentHat {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1444px -1104px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_armoire_deerstalkerCap {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1444px -1173px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_armoire_dragonTamerHelm {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1444px -1242px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_armoire_falconerCap {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1444px -1311px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_armoire_flutteryWig {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: 0px -1412px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_armoire_gladiatorHelm {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -69px -1412px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_armoire_glassblowersHat {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -138px -1412px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_armoire_goldenLaurels {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -207px -1412px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_armoire_graduateCap {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -276px -1412px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_armoire_greenFloppyHat {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -345px -1412px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_armoire_hornedIronHelm {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -414px -1412px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_armoire_ironBlueArcherHelm {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -483px -1412px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_armoire_jesterCap {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -552px -1412px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_armoire_jeweledArcherHelm {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -621px -1412px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_armoire_lamplightersTopHat {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -690px -1412px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_armoire_lunarCrown {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -759px -1412px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_armoire_merchantChaperon {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -828px -1412px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_armoire_minerHelmet {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -897px -1412px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_armoire_mushroomDruidCap {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -966px -1412px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_armoire_nephriteHelm {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1035px -1412px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_armoire_ogreMask {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1104px -1412px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_armoire_orangeCat {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1173px -1412px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_armoire_paperBag {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1242px -1412px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_armoire_piraticalPrincessHeaddress {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1311px -1412px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_armoire_plagueDoctorHat {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1380px -1412px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_armoire_ramHeaddress {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1513px 0px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_armoire_rancherHat {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1513px -69px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_armoire_redFloppyHat {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1513px -138px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_armoire_redHairbow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1513px -207px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_armoire_royalCrown {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1513px -276px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_armoire_shadowMastersHood {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1513px -345px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_armoire_shepherdHeaddress {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1513px -414px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_armoire_swanFeatherCrown {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1513px -483px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_armoire_toqueBlanche {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1513px -552px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_armoire_tricornHat {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1513px -621px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_armoire_veilOfSpades {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1513px -690px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_armoire_vermilionArcherHelm {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1513px -759px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_armoire_vernalHennin {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1513px -828px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_armoire_vikingHelm {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1513px -897px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_armoire_violetFloppyHat {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1513px -966px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_armoire_woodElfHelm {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1513px -1035px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_armoire_yellowHairbow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1513px -1104px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_armoire_antiProcrastinationShield {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1513px -1311px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_armoire_dragonTamerShield {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1513px -1380px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_armoire_fancyBlownGlassVase {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: 0px -1481px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_armoire_fancyShoe {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -69px -1481px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_armoire_festivalParasol {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -138px -1481px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_armoire_floralBouquet {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -207px -1481px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_armoire_flutteryFan {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -276px -1481px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_armoire_gladiatorShield {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -345px -1481px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_armoire_goldenBaton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -414px -1481px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_armoire_handmadeCandlestick {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -483px -1481px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_armoire_horseshoe {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -552px -1481px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_armoire_masteredShadow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -621px -1481px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_armoire_midnightShield {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -690px -1481px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_armoire_mightyPizza {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -759px -1481px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_armoire_mightyQuill {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -828px -1481px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_armoire_mushroomDruidShield {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -897px -1481px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_armoire_mysticLamp {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -966px -1481px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_armoire_perchingFalcon {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1035px -1481px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_armoire_piraticalSkullShield {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1104px -1481px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_armoire_polishedPocketwatch {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1173px -1481px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_armoire_ramHornShield {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1242px -1481px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_armoire_redRose {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1311px -1481px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_armoire_royalCane {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1380px -1481px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_armoire_sandyBucket {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1449px -1481px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_armoire_shieldOfDiamonds {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1582px 0px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_armoire_softBluePillow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1582px -69px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_armoire_softGreenPillow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1582px -138px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_armoire_softRedPillow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1582px -207px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_armoire_swanFeatherFan {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1582px -276px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_armoire_trustyUmbrella {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1582px -345px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_armoire_unfinishedTome {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1582px -414px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_armoire_vikingShield {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1582px -483px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_armoire_weaversShuttle {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1582px -552px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_armoire_arcaneScroll {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1582px -621px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_armoire_astronomersTelescope {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1582px -690px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_armoire_bambooCane {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1582px -759px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_armoire_barristerGavel {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1582px -828px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_armoire_basicCrossbow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1582px -897px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_armoire_basicLongbow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1582px -966px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_armoire_batWand {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1582px -1104px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_armoire_battleAxe {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1582px -1035px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_armoire_blueLongbow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1582px -1173px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_armoire_cannon {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1582px -1242px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_armoire_chefsSpoon {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1582px -1311px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_armoire_coachDriversWhip {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1582px -1380px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_armoire_cobblersHammer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1582px -1449px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_armoire_crystalCrescentStaff {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: 0px -1550px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_armoire_festivalFirecracker {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -69px -1550px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_armoire_floridFan {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -138px -1550px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_armoire_flutteryArmy {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -207px -1550px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_armoire_forestFungusStaff {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -276px -1550px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_armoire_glassblowersBlowpipe {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -345px -1550px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_armoire_glowingSpear {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -414px -1550px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_armoire_goldWingStaff {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -483px -1550px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_armoire_habiticanDiploma {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -552px -1550px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_armoire_hoofClippers {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -621px -1550px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_armoire_ironCrook {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -690px -1550px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_armoire_jesterBaton {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -759px -1550px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_armoire_jeweledArcherBow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -828px -1550px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_armoire_jugglingBalls {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -897px -1550px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_armoire_lamplighter {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -966px -1550px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_armoire_lunarSceptre {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1035px -1550px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_armoire_magnifyingGlass {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1104px -1550px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_armoire_merchantsDisplayTray {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1173px -1550px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_armoire_miningPickax {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1242px -1550px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_armoire_mythmakerSword {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1311px -1550px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_armoire_needleOfBookbinding {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1380px -1550px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_armoire_nephriteBow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1449px -1550px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_armoire_ogreClub {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1518px -1550px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_armoire_poisonedGoblet {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1651px 0px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_armoire_rancherLasso {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1651px -69px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_armoire_resplendentRapier {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1651px -138px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_armoire_sandySpade {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1651px -207px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_armoire_scepterOfDiamonds {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1651px -276px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_armoire_shadowMastersMace {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1651px -345px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_armoire_shepherdsCrook {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1651px -414px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_armoire_slingshot {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1651px -483px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_armoire_spearOfSpades {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1651px -552px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_armoire_vermilionArcherBow {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1651px -621px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_armoire_vernalTaper {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1651px -690px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_armoire_wandOfHearts {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1651px -759px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_armoire_weaversComb {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1651px -828px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_armoire_woodElfStaff {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1651px -897px;
+ width: 68px;
+ height: 68px;
+}
+.slim_armor_armoire_antiProcrastinationArmor {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1193px -728px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_armoire_astronomersRobe {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -690px -273px;
+ width: 114px;
+ height: 90px;
+}
+.slim_armor_armoire_barristerRobes {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1193px -819px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_armoire_basicArcherArmor {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1193px -910px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_armoire_bluePartyDress {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -690px -364px;
+ width: 114px;
+ height: 90px;
+}
+.slim_armor_armoire_boatingJacket {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -690px -455px;
+ width: 114px;
+ height: 90px;
+}
+.slim_armor_armoire_candlestickMakerOutfit {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1193px -1001px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_armoire_cannoneerRags {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1193px -1092px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_armoire_chefsJacket {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -690px -546px;
+ width: 114px;
+ height: 90px;
+}
+.slim_armor_armoire_coachDriverLivery {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: 0px -637px;
+ width: 114px;
+ height: 90px;
+}
+.slim_armor_armoire_cobblersCoveralls {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: 0px -1183px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_armoire_coverallsOfBookbinding {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -115px -637px;
+ width: 114px;
+ height: 90px;
+}
+.slim_armor_armoire_crystalCrescentRobes {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -91px -1183px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_armoire_dragonTamerArmor {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -182px -1183px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_armoire_falconerArmor {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -273px -1183px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_armoire_farrierOutfit {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -364px -1183px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_armoire_flutteryFrock {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -230px -637px;
+ width: 114px;
+ height: 90px;
+}
+.slim_armor_armoire_gladiatorArmor {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -455px -1183px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_armoire_glassblowersCoveralls {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -345px -637px;
+ width: 114px;
+ height: 90px;
+}
+.slim_armor_armoire_goldenToga {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -546px -1183px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_armoire_gownOfHearts {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -637px -1183px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_armoire_graduateRobe {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -728px -1183px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_armoire_greenFestivalYukata {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -460px -637px;
+ width: 114px;
+ height: 90px;
+}
+.slim_armor_armoire_hornedIronArmor {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -819px -1183px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_armoire_invernessCape {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -575px -637px;
+ width: 114px;
+ height: 90px;
+}
+.slim_armor_armoire_ironBlueArcherArmor {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -910px -1183px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_armoire_jesterCostume {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1001px -1183px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_armoire_jeweledArcherArmor {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1092px -1183px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_armoire_lamplightersGreatcoat {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -690px -728px;
+ width: 114px;
+ height: 87px;
+}
+.slim_armor_armoire_lunarArmor {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1183px -1183px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_armoire_merchantTunic {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1284px 0px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_armoire_minerOveralls {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1284px -91px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_armoire_mushroomDruidArmor {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1284px -182px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_armoire_nephriteArmor {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -690px -637px;
+ width: 114px;
+ height: 90px;
+}
+.slim_armor_armoire_ogreArmor {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1284px -273px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_armoire_piraticalPrincessGown {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -805px 0px;
+ width: 114px;
+ height: 90px;
+}
+.slim_armor_armoire_plagueDoctorOvercoat {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1284px -364px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_armoire_ramFleeceRobes {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1284px -455px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_armoire_rancherRobes {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1284px -546px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_armoire_redPartyDress {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1284px -637px;
+ width: 90px;
+ height: 90px;
+}
.slim_armor_armoire_robeOfDiamonds {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
background-position: -805px -91px;
width: 114px;
height: 90px;
}
.slim_armor_armoire_robeOfSpades {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -805px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -805px -182px;
width: 114px;
height: 90px;
}
.slim_armor_armoire_royalRobes {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -910px -1092px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1284px -728px;
width: 90px;
height: 90px;
}
.slim_armor_armoire_scribesRobe {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -690px -637px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -805px -273px;
width: 114px;
height: 90px;
}
.slim_armor_armoire_shadowMastersRobe {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -575px -637px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -805px -364px;
width: 114px;
height: 90px;
}
.slim_armor_armoire_shepherdRobes {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -637px -1092px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1284px -819px;
width: 90px;
height: 90px;
}
.slim_armor_armoire_softBlueSuit {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -460px -637px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -805px -455px;
width: 114px;
height: 90px;
}
.slim_armor_armoire_softGreenSuit {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -345px -637px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -805px -546px;
width: 114px;
height: 90px;
}
.slim_armor_armoire_softRedSuit {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -230px -637px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -805px -637px;
width: 114px;
height: 90px;
}
.slim_armor_armoire_stripedSwimsuit {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -273px -1092px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1284px -910px;
width: 90px;
height: 90px;
}
.slim_armor_armoire_swanDancerTutu {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -115px -637px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: 0px -728px;
width: 114px;
height: 90px;
}
.slim_armor_armoire_vermilionArcherArmor {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -91px -1092px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1284px -1001px;
width: 90px;
height: 90px;
}
.slim_armor_armoire_vernalVestment {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: 0px -637px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -115px -728px;
width: 114px;
height: 90px;
}
.slim_armor_armoire_vikingTunic {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -1102px -1001px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1284px -1092px;
width: 90px;
height: 90px;
}
.slim_armor_armoire_woodElfArmor {
- background-image: url('~assets/images/sprites/spritesmith-main-6.png');
- background-position: -91px -910px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-6.png');
+ background-position: -1284px -1183px;
width: 90px;
height: 90px;
}
diff --git a/website/client/assets/css/sprites/spritesmith-main-7.css b/website/client/src/assets/css/sprites/spritesmith-main-7.css
similarity index 57%
rename from website/client/assets/css/sprites/spritesmith-main-7.css
rename to website/client/src/assets/css/sprites/spritesmith-main-7.css
index ea3e221c2c..be830ca676 100644
--- a/website/client/assets/css/sprites/spritesmith-main-7.css
+++ b/website/client/src/assets/css/sprites/spritesmith-main-7.css
@@ -1,2226 +1,2226 @@
.slim_armor_armoire_wovenRobes {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -345px -273px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: 0px -91px;
width: 114px;
height: 90px;
}
.slim_armor_armoire_yellowPartyDress {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: 0px -1089px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -388px -907px;
width: 90px;
height: 90px;
}
.weapon_armoire_arcaneScroll {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -460px -728px;
- width: 114px;
- height: 90px;
-}
-.weapon_armoire_astronomersTelescope {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -230px -546px;
- width: 114px;
- height: 90px;
-}
-.weapon_armoire_bambooCane {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
background-position: -115px -91px;
width: 114px;
height: 90px;
}
+.weapon_armoire_astronomersTelescope {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -242px 0px;
+ width: 114px;
+ height: 90px;
+}
+.weapon_armoire_bambooCane {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -242px -91px;
+ width: 114px;
+ height: 90px;
+}
.weapon_armoire_barristerGavel {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1411px -1092px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -479px -907px;
width: 90px;
height: 90px;
}
.weapon_armoire_basicCrossbow {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1411px -1001px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -570px -907px;
width: 90px;
height: 90px;
}
.weapon_armoire_basicLongbow {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1411px -910px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -661px -907px;
width: 90px;
height: 90px;
}
.weapon_armoire_batWand {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1411px -728px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -843px -907px;
width: 90px;
height: 90px;
}
.weapon_armoire_battleAxe {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1411px -819px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -752px -907px;
width: 90px;
height: 90px;
}
.weapon_armoire_blueLongbow {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1411px -637px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -934px -907px;
width: 90px;
height: 90px;
}
.weapon_armoire_cannon {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1411px -546px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1047px 0px;
width: 90px;
height: 90px;
}
.weapon_armoire_chefsSpoon {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -357px -182px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: 0px -182px;
width: 114px;
height: 90px;
}
.weapon_armoire_coachDriversWhip {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: 0px -273px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -115px -182px;
width: 114px;
height: 90px;
}
.weapon_armoire_cobblersHammer {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1411px -455px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1047px -91px;
width: 90px;
height: 90px;
}
.weapon_armoire_crystalCrescentStaff {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1411px -364px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1047px -182px;
width: 90px;
height: 90px;
}
.weapon_armoire_festivalFirecracker {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -910px -1271px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1047px -273px;
width: 90px;
height: 90px;
}
.weapon_armoire_floridFan {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: 0px -364px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -230px -182px;
width: 114px;
height: 90px;
}
.weapon_armoire_flutteryArmy {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -115px -364px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -357px 0px;
width: 114px;
height: 90px;
}
.weapon_armoire_forestFungusStaff {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -728px -1271px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1047px -364px;
width: 90px;
height: 90px;
}
.weapon_armoire_glassblowersBlowpipe {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -345px -364px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -357px -91px;
width: 114px;
height: 90px;
}
.weapon_armoire_glowingSpear {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -637px -1271px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1047px -455px;
width: 90px;
height: 90px;
}
.weapon_armoire_goldWingStaff {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -546px -1271px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1047px -546px;
width: 90px;
height: 90px;
}
.weapon_armoire_habiticanDiploma {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -455px -1271px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1047px -637px;
width: 90px;
height: 90px;
}
.weapon_armoire_hoofClippers {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -364px -1271px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1047px -728px;
width: 90px;
height: 90px;
}
.weapon_armoire_ironCrook {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -273px -1271px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1047px -819px;
width: 90px;
height: 90px;
}
.weapon_armoire_jesterBaton {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -182px -1271px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: 0px -998px;
width: 90px;
height: 90px;
}
.weapon_armoire_jeweledArcherBow {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -91px -1271px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -91px -998px;
width: 90px;
height: 90px;
}
.weapon_armoire_jugglingBalls {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -230px -455px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -357px -182px;
width: 114px;
height: 90px;
}
.weapon_armoire_lamplighter {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -932px -264px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: 0px -819px;
width: 114px;
height: 87px;
}
.weapon_armoire_lunarSceptre {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1320px -1092px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -182px -998px;
width: 90px;
height: 90px;
}
.weapon_armoire_magnifyingGlass {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -587px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: 0px -273px;
width: 114px;
height: 90px;
}
.weapon_armoire_merchantsDisplayTray {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1320px -1001px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -273px -998px;
width: 90px;
height: 90px;
}
.weapon_armoire_miningPickax {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1320px -910px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -364px -998px;
width: 90px;
height: 90px;
}
.weapon_armoire_mythmakerSword {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1320px -91px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -455px -998px;
width: 90px;
height: 90px;
}
.weapon_armoire_needleOfBookbinding {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -587px -364px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -115px -273px;
width: 114px;
height: 90px;
}
.weapon_armoire_nephriteBow {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -587px -455px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -230px -273px;
width: 114px;
height: 90px;
}
.weapon_armoire_ogreClub {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1320px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -546px -998px;
width: 90px;
height: 90px;
}
.weapon_armoire_poisonedGoblet {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -115px -546px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -345px -273px;
width: 114px;
height: 90px;
}
.weapon_armoire_rancherLasso {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1001px -1180px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -637px -998px;
width: 90px;
height: 90px;
}
.weapon_armoire_resplendentRapier {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -345px -546px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: 0px -364px;
width: 114px;
height: 90px;
}
.weapon_armoire_sandySpade {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -819px -1180px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -728px -998px;
width: 90px;
height: 90px;
}
.weapon_armoire_scepterOfDiamonds {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -575px -546px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -115px -364px;
width: 114px;
height: 90px;
}
.weapon_armoire_shadowMastersMace {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -702px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -230px -364px;
width: 114px;
height: 90px;
}
.weapon_armoire_shepherdsCrook {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -728px -1180px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -819px -998px;
width: 90px;
height: 90px;
}
.weapon_armoire_slingshot {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -702px -182px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -345px -364px;
width: 114px;
height: 90px;
}
.weapon_armoire_spearOfSpades {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -702px -273px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -472px 0px;
width: 114px;
height: 90px;
}
.weapon_armoire_vermilionArcherBow {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -637px -1180px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -910px -998px;
width: 90px;
height: 90px;
}
.weapon_armoire_vernalTaper {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -702px -455px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -472px -91px;
width: 114px;
height: 90px;
}
.weapon_armoire_wandOfHearts {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -546px -1180px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1001px -998px;
width: 90px;
height: 90px;
}
.weapon_armoire_weaversComb {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: 0px -637px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -472px -182px;
width: 114px;
height: 90px;
}
.weapon_armoire_woodElfStaff {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -455px -1180px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1138px 0px;
width: 90px;
height: 90px;
}
.armor_special_bardRobes {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -364px -1180px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1138px -91px;
width: 90px;
height: 90px;
}
.broad_armor_healer_1 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -273px -1180px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1138px -182px;
width: 90px;
height: 90px;
}
.broad_armor_healer_2 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -182px -1180px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1138px -273px;
width: 90px;
height: 90px;
}
.broad_armor_healer_3 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -91px -1180px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1138px -364px;
width: 90px;
height: 90px;
}
.broad_armor_healer_4 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: 0px -1180px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1138px -455px;
width: 90px;
height: 90px;
}
.broad_armor_healer_5 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1229px -1001px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1138px -546px;
width: 90px;
height: 90px;
}
.broad_armor_rogue_1 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1229px -910px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1138px -637px;
width: 90px;
height: 90px;
}
.broad_armor_rogue_2 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1229px -91px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1138px -728px;
width: 90px;
height: 90px;
}
.broad_armor_rogue_3 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1229px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1138px -819px;
width: 90px;
height: 90px;
}
.broad_armor_rogue_4 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -728px -1089px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1138px -910px;
width: 90px;
height: 90px;
}
.broad_armor_rogue_5 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -637px -1089px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: 0px -1089px;
width: 90px;
height: 90px;
}
.broad_armor_special_2 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
background-position: -91px -1089px;
width: 90px;
height: 90px;
}
.broad_armor_special_bardRobes {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1138px -819px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -182px -1089px;
width: 90px;
height: 90px;
}
.broad_armor_special_dandySuit {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1138px -728px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -273px -1089px;
width: 90px;
height: 90px;
}
.broad_armor_special_finnedOceanicArmor {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1001px -998px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -364px -1089px;
width: 90px;
height: 90px;
}
.broad_armor_special_lunarWarriorArmor {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: 0px -998px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -455px -1089px;
width: 90px;
height: 90px;
}
.broad_armor_special_mammothRiderArmor {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1047px -819px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -546px -1089px;
width: 90px;
height: 90px;
}
.broad_armor_special_nomadsCuirass {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1047px -637px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -637px -1089px;
width: 90px;
height: 90px;
}
.broad_armor_special_pageArmor {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1229px -546px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -728px -1089px;
width: 90px;
height: 90px;
}
.broad_armor_special_pyromancersRobes {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1229px -273px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -819px -1089px;
width: 90px;
height: 90px;
}
.broad_armor_special_roguishRainbowMessengerRobes {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
background-position: -910px -1089px;
width: 90px;
height: 90px;
}
.broad_armor_special_samuraiArmor {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1138px -546px;
- width: 90px;
- height: 90px;
-}
-.broad_armor_special_sneakthiefRobes {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -805px -728px;
- width: 114px;
- height: 90px;
-}
-.broad_armor_special_snowSovereignRobes {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1229px -182px;
- width: 90px;
- height: 90px;
-}
-.broad_armor_special_turkeyArmorBase {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -690px -728px;
- width: 114px;
- height: 90px;
-}
-.broad_armor_special_turkeyArmorGilded {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -575px -728px;
- width: 114px;
- height: 90px;
-}
-.broad_armor_warrior_1 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1229px -637px;
- width: 90px;
- height: 90px;
-}
-.broad_armor_warrior_2 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1229px -728px;
- width: 90px;
- height: 90px;
-}
-.broad_armor_warrior_3 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1229px -819px;
- width: 90px;
- height: 90px;
-}
-.broad_armor_warrior_4 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1092px -1180px;
- width: 90px;
- height: 90px;
-}
-.broad_armor_warrior_5 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1320px -182px;
- width: 90px;
- height: 90px;
-}
-.broad_armor_wizard_1 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1320px -273px;
- width: 90px;
- height: 90px;
-}
-.broad_armor_wizard_2 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1320px -546px;
- width: 90px;
- height: 90px;
-}
-.broad_armor_wizard_3 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1320px -637px;
- width: 90px;
- height: 90px;
-}
-.broad_armor_wizard_4 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1320px -728px;
- width: 90px;
- height: 90px;
-}
-.broad_armor_wizard_5 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1320px -819px;
- width: 90px;
- height: 90px;
-}
-.shop_armor_healer_1 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -665px -1362px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_healer_2 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -734px -1362px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_healer_3 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -803px -1362px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_healer_4 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -872px -1362px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_healer_5 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -941px -1362px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_rogue_1 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1010px -1362px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_rogue_2 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1079px -1362px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_rogue_3 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1148px -1362px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_rogue_4 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1502px -621px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_rogue_5 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1502px -1104px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_0 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1502px -1173px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_1 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1502px -1380px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_2 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: 0px -1453px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_bardRobes {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -69px -1453px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_dandySuit {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -138px -1453px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_finnedOceanicArmor {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -207px -1453px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_lunarWarriorArmor {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -276px -1453px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_mammothRiderArmor {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -759px -1453px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_nomadsCuirass {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -828px -1453px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_pageArmor {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -897px -1453px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_pyromancersRobes {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -966px -1453px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_roguishRainbowMessengerRobes {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1035px -1453px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_samuraiArmor {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1104px -1453px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_sneakthiefRobes {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1173px -1453px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_snowSovereignRobes {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1242px -1453px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_turkeyArmorBase {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1311px -1453px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_turkeyArmorGilded {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1411px -1274px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_warrior_1 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1320px -1183px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_warrior_2 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1229px -1092px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_warrior_3 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1138px -1001px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_warrior_4 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1047px -910px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_warrior_5 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -182px -1362px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_wizard_1 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -251px -1362px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_wizard_2 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -320px -1362px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_wizard_3 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -389px -1362px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_wizard_4 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -458px -1362px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_wizard_5 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -527px -1362px;
- width: 68px;
- height: 68px;
-}
-.slim_armor_healer_1 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: 0px -1271px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_healer_2 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1001px -1271px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_healer_3 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1183px -1271px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_healer_4 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1274px -1271px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_healer_5 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1411px -91px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_rogue_1 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1411px -182px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_rogue_2 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1411px -273px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_rogue_3 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: 0px -1362px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_rogue_4 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -479px -907px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_rogue_5 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -570px -907px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_special_2 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -661px -907px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_special_bardRobes {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -752px -907px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_special_dandySuit {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -843px -907px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_special_finnedOceanicArmor {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -934px -907px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_special_lunarWarriorArmor {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1047px 0px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_special_mammothRiderArmor {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1047px -91px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_special_nomadsCuirass {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1047px -182px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_special_pageArmor {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1047px -273px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_special_pyromancersRobes {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1047px -364px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_special_roguishRainbowMessengerRobes {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1047px -455px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_special_samuraiArmor {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1047px -546px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_special_sneakthiefRobes {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: 0px -91px;
- width: 114px;
- height: 90px;
-}
-.slim_armor_special_snowSovereignRobes {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1047px -728px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_special_turkeyArmorBase {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -345px -728px;
- width: 114px;
- height: 90px;
-}
-.slim_armor_special_turkeyArmorGilded {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -230px -728px;
- width: 114px;
- height: 90px;
-}
-.slim_armor_warrior_1 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -91px -998px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_warrior_2 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -182px -998px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_warrior_3 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -273px -998px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_warrior_4 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -364px -998px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_warrior_5 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -455px -998px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_wizard_1 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -546px -998px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_wizard_2 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -637px -998px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_wizard_3 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -728px -998px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_wizard_4 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -819px -998px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_wizard_5 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -910px -998px;
- width: 90px;
- height: 90px;
-}
-.back_special_aetherCloak {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -115px -728px;
- width: 114px;
- height: 90px;
-}
-.back_special_bearTail {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1138px 0px;
- width: 90px;
- height: 90px;
-}
-.back_special_cactusTail {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1138px -91px;
- width: 90px;
- height: 90px;
-}
-.back_special_foxTail {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1138px -182px;
- width: 90px;
- height: 90px;
-}
-.back_special_lionTail {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1138px -273px;
- width: 90px;
- height: 90px;
-}
-.back_special_pandaTail {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1138px -364px;
- width: 90px;
- height: 90px;
-}
-.back_special_pigTail {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1138px -455px;
- width: 90px;
- height: 90px;
-}
-.back_special_snowdriftVeil {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -805px -819px;
- width: 114px;
- height: 87px;
-}
-.back_special_tigerTail {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1138px -637px;
- width: 90px;
- height: 90px;
-}
-.back_special_turkeyTailBase {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: 0px -728px;
- width: 114px;
- height: 90px;
-}
-.back_special_turkeyTailGilded {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -817px -637px;
- width: 114px;
- height: 90px;
-}
-.back_special_wolfTail {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1138px -910px;
- width: 90px;
- height: 90px;
-}
-.icon_back_special_bearTail {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1186px -1591px;
- width: 60px;
- height: 60px;
-}
-.icon_back_special_cactusTail {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1125px -1591px;
- width: 60px;
- height: 60px;
-}
-.icon_back_special_foxTail {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1064px -1591px;
- width: 60px;
- height: 60px;
-}
-.icon_back_special_lionTail {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1003px -1591px;
- width: 60px;
- height: 60px;
-}
-.icon_back_special_pandaTail {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -942px -1591px;
- width: 60px;
- height: 60px;
-}
-.icon_back_special_pigTail {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -881px -1591px;
- width: 60px;
- height: 60px;
-}
-.icon_back_special_tigerTail {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -820px -1591px;
- width: 60px;
- height: 60px;
-}
-.icon_back_special_wolfTail {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -759px -1591px;
- width: 60px;
- height: 60px;
-}
-.shop_back_special_aetherCloak {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1502px -276px;
- width: 68px;
- height: 68px;
-}
-.shop_back_special_bearTail {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1502px -345px;
- width: 68px;
- height: 68px;
-}
-.shop_back_special_cactusTail {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1502px -414px;
- width: 68px;
- height: 68px;
-}
-.shop_back_special_foxTail {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1502px -483px;
- width: 68px;
- height: 68px;
-}
-.shop_back_special_lionTail {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1502px -552px;
- width: 68px;
- height: 68px;
-}
-.shop_back_special_pandaTail {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -690px -1591px;
- width: 68px;
- height: 68px;
-}
-.shop_back_special_pigTail {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1502px -690px;
- width: 68px;
- height: 68px;
-}
-.shop_back_special_snowdriftVeil {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1502px -759px;
- width: 68px;
- height: 68px;
-}
-.shop_back_special_tigerTail {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1502px -828px;
- width: 68px;
- height: 68px;
-}
-.shop_back_special_turkeyTailBase {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1502px -897px;
- width: 68px;
- height: 68px;
-}
-.shop_back_special_turkeyTailGilded {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1502px -966px;
- width: 68px;
- height: 68px;
-}
-.shop_back_special_wolfTail {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1502px -1035px;
- width: 68px;
- height: 68px;
-}
-.body_special_aetherAmulet {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -817px -546px;
- width: 114px;
- height: 90px;
-}
-.body_special_namingDay2018 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -182px -1089px;
- width: 90px;
- height: 90px;
-}
-.shop_body_special_aetherAmulet {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1502px -1242px;
- width: 68px;
- height: 68px;
-}
-.shop_body_special_namingDay2018 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1502px -1311px;
- width: 68px;
- height: 68px;
-}
-.broad_armor_special_birthday {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -273px -1089px;
- width: 90px;
- height: 90px;
-}
-.broad_armor_special_birthday2015 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -364px -1089px;
- width: 90px;
- height: 90px;
-}
-.broad_armor_special_birthday2016 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -455px -1089px;
- width: 90px;
- height: 90px;
-}
-.broad_armor_special_birthday2017 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -546px -1089px;
- width: 90px;
- height: 90px;
-}
-.broad_armor_special_birthday2018 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -817px -455px;
- width: 114px;
- height: 90px;
-}
-.broad_armor_special_birthday2019 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -817px -364px;
- width: 114px;
- height: 90px;
-}
-.shop_armor_special_birthday {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -345px -1453px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_birthday2015 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -414px -1453px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_birthday2016 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -483px -1453px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_birthday2017 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -552px -1453px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_birthday2018 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -621px -1453px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_birthday2019 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -690px -1453px;
- width: 68px;
- height: 68px;
-}
-.slim_armor_special_birthday {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -819px -1089px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_special_birthday2015 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -388px -907px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_special_birthday2016 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
background-position: -1001px -1089px;
width: 90px;
height: 90px;
}
-.slim_armor_special_birthday2017 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
+.broad_armor_special_sneakthiefRobes {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -472px -273px;
+ width: 114px;
+ height: 90px;
+}
+.broad_armor_special_snowSovereignRobes {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
background-position: -1092px -1089px;
width: 90px;
height: 90px;
}
-.slim_armor_special_birthday2018 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -817px -273px;
+.broad_armor_special_turkeyArmorBase {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -472px -364px;
width: 114px;
height: 90px;
}
-.slim_armor_special_birthday2019 {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -817px -182px;
+.broad_armor_special_turkeyArmorGilded {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: 0px -455px;
width: 114px;
height: 90px;
}
-.broad_armor_special_fall2015Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -294px -907px;
- width: 93px;
+.broad_armor_warrior_1 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1229px 0px;
+ width: 90px;
height: 90px;
}
-.broad_armor_special_fall2015Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -932px -622px;
- width: 105px;
+.broad_armor_warrior_2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1229px -91px;
+ width: 90px;
height: 90px;
}
-.broad_armor_special_fall2015Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
+.broad_armor_warrior_3 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1229px -182px;
+ width: 90px;
+ height: 90px;
+}
+.broad_armor_warrior_4 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1229px -273px;
+ width: 90px;
+ height: 90px;
+}
+.broad_armor_warrior_5 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
background-position: -1229px -364px;
width: 90px;
height: 90px;
}
-.broad_armor_special_fall2015Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
+.broad_armor_wizard_1 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
background-position: -1229px -455px;
width: 90px;
height: 90px;
}
+.broad_armor_wizard_2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1229px -546px;
+ width: 90px;
+ height: 90px;
+}
+.broad_armor_wizard_3 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1229px -637px;
+ width: 90px;
+ height: 90px;
+}
+.broad_armor_wizard_4 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1229px -728px;
+ width: 90px;
+ height: 90px;
+}
+.broad_armor_wizard_5 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1229px -819px;
+ width: 90px;
+ height: 90px;
+}
+.shop_armor_healer_1 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1411px -1274px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_healer_2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1320px -1183px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_healer_3 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1229px -1092px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_healer_4 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1138px -1001px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_healer_5 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1047px -910px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_rogue_1 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -182px -1362px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_rogue_2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -251px -1362px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_rogue_3 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -320px -1362px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_rogue_4 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -389px -1362px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_rogue_5 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -458px -1362px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_0 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -527px -1362px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_1 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -596px -1362px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -665px -1362px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_bardRobes {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -734px -1362px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_dandySuit {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -803px -1362px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_finnedOceanicArmor {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -872px -1362px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_lunarWarriorArmor {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -941px -1362px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_mammothRiderArmor {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1010px -1362px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_nomadsCuirass {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1079px -1362px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_pageArmor {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1148px -1362px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_pyromancersRobes {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1217px -1362px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_roguishRainbowMessengerRobes {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1286px -1362px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_samuraiArmor {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1355px -1362px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_sneakthiefRobes {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1424px -1362px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_snowSovereignRobes {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1502px 0px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_turkeyArmorBase {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1502px -69px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_turkeyArmorGilded {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1502px -138px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_warrior_1 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1502px -207px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_warrior_2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1502px -276px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_warrior_3 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1502px -345px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_warrior_4 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1502px -414px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_warrior_5 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1502px -483px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_wizard_1 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1502px -552px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_wizard_2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1502px -621px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_wizard_3 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1502px -690px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_wizard_4 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1502px -759px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_wizard_5 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1502px -828px;
+ width: 68px;
+ height: 68px;
+}
+.slim_armor_healer_1 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1229px -910px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_healer_2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1229px -1001px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_healer_3 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: 0px -1180px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_healer_4 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -91px -1180px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_healer_5 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -182px -1180px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_rogue_1 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -273px -1180px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_rogue_2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -364px -1180px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_rogue_3 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -455px -1180px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_rogue_4 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -546px -1180px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_rogue_5 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -637px -1180px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_special_2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -728px -1180px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_special_bardRobes {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -819px -1180px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_special_dandySuit {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -910px -1180px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_special_finnedOceanicArmor {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1001px -1180px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_special_lunarWarriorArmor {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1092px -1180px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_special_mammothRiderArmor {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1183px -1180px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_special_nomadsCuirass {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1320px 0px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_special_pageArmor {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1320px -91px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_special_pyromancersRobes {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1320px -182px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_special_roguishRainbowMessengerRobes {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1320px -273px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_special_samuraiArmor {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1320px -364px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_special_sneakthiefRobes {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -115px -455px;
+ width: 114px;
+ height: 90px;
+}
+.slim_armor_special_snowSovereignRobes {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1320px -455px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_special_turkeyArmorBase {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -230px -455px;
+ width: 114px;
+ height: 90px;
+}
+.slim_armor_special_turkeyArmorGilded {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -345px -455px;
+ width: 114px;
+ height: 90px;
+}
+.slim_armor_warrior_1 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1320px -546px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_warrior_2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1320px -637px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_warrior_3 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1320px -728px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_warrior_4 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1320px -819px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_warrior_5 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1320px -910px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_wizard_1 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1320px -1001px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_wizard_2 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1320px -1092px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_wizard_3 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: 0px -1271px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_wizard_4 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -91px -1271px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_wizard_5 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -182px -1271px;
+ width: 90px;
+ height: 90px;
+}
+.back_special_aetherCloak {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -460px -455px;
+ width: 114px;
+ height: 90px;
+}
+.back_special_bearTail {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -273px -1271px;
+ width: 90px;
+ height: 90px;
+}
+.back_special_cactusTail {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -364px -1271px;
+ width: 90px;
+ height: 90px;
+}
+.back_special_foxTail {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -455px -1271px;
+ width: 90px;
+ height: 90px;
+}
+.back_special_lionTail {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -546px -1271px;
+ width: 90px;
+ height: 90px;
+}
+.back_special_pandaTail {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -637px -1271px;
+ width: 90px;
+ height: 90px;
+}
+.back_special_pigTail {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -728px -1271px;
+ width: 90px;
+ height: 90px;
+}
+.back_special_snowdriftVeil {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -115px -819px;
+ width: 114px;
+ height: 87px;
+}
+.back_special_tigerTail {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -819px -1271px;
+ width: 90px;
+ height: 90px;
+}
+.back_special_turkeyTailBase {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -587px 0px;
+ width: 114px;
+ height: 90px;
+}
+.back_special_turkeyTailGilded {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -587px -91px;
+ width: 114px;
+ height: 90px;
+}
+.back_special_wolfTail {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -910px -1271px;
+ width: 90px;
+ height: 90px;
+}
+.icon_back_special_bearTail {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -759px -1591px;
+ width: 60px;
+ height: 60px;
+}
+.icon_back_special_cactusTail {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -820px -1591px;
+ width: 60px;
+ height: 60px;
+}
+.icon_back_special_foxTail {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -881px -1591px;
+ width: 60px;
+ height: 60px;
+}
+.icon_back_special_lionTail {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -942px -1591px;
+ width: 60px;
+ height: 60px;
+}
+.icon_back_special_pandaTail {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1003px -1591px;
+ width: 60px;
+ height: 60px;
+}
+.icon_back_special_pigTail {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1064px -1591px;
+ width: 60px;
+ height: 60px;
+}
+.icon_back_special_tigerTail {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1125px -1591px;
+ width: 60px;
+ height: 60px;
+}
+.icon_back_special_wolfTail {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1186px -1591px;
+ width: 60px;
+ height: 60px;
+}
+.shop_back_special_aetherCloak {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1502px -897px;
+ width: 68px;
+ height: 68px;
+}
+.shop_back_special_bearTail {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1502px -966px;
+ width: 68px;
+ height: 68px;
+}
+.shop_back_special_cactusTail {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1502px -1035px;
+ width: 68px;
+ height: 68px;
+}
+.shop_back_special_foxTail {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1502px -1104px;
+ width: 68px;
+ height: 68px;
+}
+.shop_back_special_lionTail {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1502px -1173px;
+ width: 68px;
+ height: 68px;
+}
+.shop_back_special_pandaTail {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1502px -1242px;
+ width: 68px;
+ height: 68px;
+}
+.shop_back_special_pigTail {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1502px -1311px;
+ width: 68px;
+ height: 68px;
+}
+.shop_back_special_snowdriftVeil {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1502px -1380px;
+ width: 68px;
+ height: 68px;
+}
+.shop_back_special_tigerTail {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: 0px -1453px;
+ width: 68px;
+ height: 68px;
+}
+.shop_back_special_turkeyTailBase {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -69px -1453px;
+ width: 68px;
+ height: 68px;
+}
+.shop_back_special_turkeyTailGilded {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -138px -1453px;
+ width: 68px;
+ height: 68px;
+}
+.shop_back_special_wolfTail {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -207px -1453px;
+ width: 68px;
+ height: 68px;
+}
+.body_special_aetherAmulet {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -587px -182px;
+ width: 114px;
+ height: 90px;
+}
+.body_special_namingDay2018 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1001px -1271px;
+ width: 90px;
+ height: 90px;
+}
+.shop_body_special_aetherAmulet {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -276px -1453px;
+ width: 68px;
+ height: 68px;
+}
+.shop_body_special_namingDay2018 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -345px -1453px;
+ width: 68px;
+ height: 68px;
+}
+.broad_armor_special_birthday {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1092px -1271px;
+ width: 90px;
+ height: 90px;
+}
+.broad_armor_special_birthday2015 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1183px -1271px;
+ width: 90px;
+ height: 90px;
+}
+.broad_armor_special_birthday2016 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1274px -1271px;
+ width: 90px;
+ height: 90px;
+}
+.broad_armor_special_birthday2017 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1411px 0px;
+ width: 90px;
+ height: 90px;
+}
+.broad_armor_special_birthday2018 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -587px -273px;
+ width: 114px;
+ height: 90px;
+}
+.broad_armor_special_birthday2019 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -587px -364px;
+ width: 114px;
+ height: 90px;
+}
+.shop_armor_special_birthday {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -414px -1453px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_birthday2015 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -483px -1453px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_birthday2016 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -552px -1453px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_birthday2017 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -621px -1453px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_birthday2018 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -690px -1453px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_birthday2019 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -759px -1453px;
+ width: 68px;
+ height: 68px;
+}
+.slim_armor_special_birthday {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1411px -91px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_special_birthday2015 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1411px -182px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_special_birthday2016 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1411px -273px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_special_birthday2017 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1411px -364px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_special_birthday2018 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -587px -455px;
+ width: 114px;
+ height: 90px;
+}
+.slim_armor_special_birthday2019 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: 0px -546px;
+ width: 114px;
+ height: 90px;
+}
+.broad_armor_special_fall2015Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -106px -907px;
+ width: 93px;
+ height: 90px;
+}
+.broad_armor_special_fall2015Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -932px -440px;
+ width: 105px;
+ height: 90px;
+}
+.broad_armor_special_fall2015Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1411px -455px;
+ width: 90px;
+ height: 90px;
+}
+.broad_armor_special_fall2015Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1411px -546px;
+ width: 90px;
+ height: 90px;
+}
.broad_armor_special_fall2016Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
background-position: -230px -819px;
width: 114px;
height: 87px;
}
.broad_armor_special_fall2016Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
background-position: -345px -819px;
width: 114px;
height: 87px;
}
.broad_armor_special_fall2016Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
background-position: -460px -819px;
width: 114px;
height: 87px;
}
.broad_armor_special_fall2016Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
background-position: -575px -819px;
width: 114px;
height: 87px;
}
.broad_armor_special_fall2017Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -817px -91px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -115px -546px;
width: 114px;
height: 90px;
}
.broad_armor_special_fall2017Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -817px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -230px -546px;
width: 114px;
height: 90px;
}
.broad_armor_special_fall2017Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -690px -637px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -345px -546px;
width: 114px;
height: 90px;
}
.broad_armor_special_fall2017Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -575px -637px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -460px -546px;
width: 114px;
height: 90px;
}
.broad_armor_special_fall2018Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -460px -637px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -575px -546px;
width: 114px;
height: 90px;
}
.broad_armor_special_fall2018Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -345px -637px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -702px 0px;
width: 114px;
height: 90px;
}
.broad_armor_special_fall2018Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -230px -637px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -702px -91px;
width: 114px;
height: 90px;
}
.broad_armor_special_fall2018Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -115px -637px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -702px -182px;
width: 114px;
height: 90px;
}
.broad_armor_special_fall2019Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -702px -546px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -702px -273px;
width: 114px;
height: 90px;
}
.broad_armor_special_fall2019Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
background-position: -702px -364px;
width: 114px;
height: 90px;
}
.broad_armor_special_fall2019Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -702px -91px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -702px -455px;
width: 114px;
height: 90px;
}
.broad_armor_special_fall2019Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -460px -546px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -702px -546px;
width: 114px;
height: 90px;
}
.broad_armor_special_fallHealer {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -910px -1180px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1411px -637px;
width: 90px;
height: 90px;
}
.broad_armor_special_fallMage {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -121px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: 0px 0px;
width: 120px;
height: 90px;
}
.broad_armor_special_fallRogue {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -932px -804px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -932px -531px;
width: 105px;
height: 90px;
}
.broad_armor_special_fallWarrior {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1183px -1180px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1411px -728px;
width: 90px;
height: 90px;
}
.eyewear_special_fall2019Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: 0px -546px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: 0px -637px;
width: 114px;
height: 90px;
}
.eyewear_special_fall2019Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -587px -273px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -115px -637px;
width: 114px;
height: 90px;
}
.head_special_fall2015Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
background-position: -200px -907px;
width: 93px;
height: 90px;
}
.head_special_fall2015Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -932px -531px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -932px -622px;
width: 105px;
height: 90px;
}
.head_special_fall2015Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1320px -364px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1411px -819px;
width: 90px;
height: 90px;
}
.head_special_fall2015Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1320px -455px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1411px -910px;
width: 90px;
height: 90px;
}
.head_special_fall2016Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -115px -819px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -690px -819px;
width: 114px;
height: 87px;
}
.head_special_fall2016Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -932px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -805px -819px;
width: 114px;
height: 87px;
}
.head_special_fall2016Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -932px -88px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -932px 0px;
width: 114px;
height: 87px;
}
.head_special_fall2016Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -932px -176px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -932px -88px;
width: 114px;
height: 87px;
}
.head_special_fall2017Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -587px -182px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -230px -637px;
width: 114px;
height: 90px;
}
.head_special_fall2017Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -587px -91px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -345px -637px;
width: 114px;
height: 90px;
}
.head_special_fall2017Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -460px -455px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -460px -637px;
width: 114px;
height: 90px;
}
.head_special_fall2017Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -345px -455px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -575px -637px;
width: 114px;
height: 90px;
}
.head_special_fall2018Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -115px -455px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -690px -637px;
width: 114px;
height: 90px;
}
.head_special_fall2018Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: 0px -455px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -817px 0px;
width: 114px;
height: 90px;
}
.head_special_fall2018Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -472px -364px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -817px -91px;
width: 114px;
height: 90px;
}
.head_special_fall2018Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -472px -273px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -817px -182px;
width: 114px;
height: 90px;
}
.head_special_fall2019Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -472px -182px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -817px -273px;
width: 114px;
height: 90px;
}
.head_special_fall2019Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -472px -91px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -817px -364px;
width: 114px;
height: 90px;
}
.head_special_fall2019Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -472px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -817px -455px;
width: 114px;
height: 90px;
}
.head_special_fall2019Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -230px -364px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -817px -546px;
width: 114px;
height: 90px;
}
.head_special_fallHealer {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -819px -1271px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1411px -1001px;
width: 90px;
height: 90px;
}
.head_special_fallMage {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: 0px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -121px 0px;
width: 120px;
height: 90px;
}
.head_special_fallRogue {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
background-position: -932px -713px;
width: 105px;
height: 90px;
}
.head_special_fallWarrior {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1092px -1271px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1411px -1092px;
width: 90px;
height: 90px;
}
.shield_special_fall2015Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -106px -907px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -294px -907px;
width: 93px;
height: 90px;
}
.shield_special_fall2015Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: 0px -907px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -932px -804px;
width: 105px;
height: 90px;
}
.shield_special_fall2015Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1411px 0px;
- width: 90px;
- height: 90px;
-}
-.shield_special_fall2016Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -932px -352px;
- width: 114px;
- height: 87px;
-}
-.shield_special_fall2016Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: 0px -819px;
- width: 114px;
- height: 87px;
-}
-.shield_special_fall2016Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -690px -819px;
- width: 114px;
- height: 87px;
-}
-.shield_special_fall2017Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -230px -273px;
- width: 114px;
- height: 90px;
-}
-.shield_special_fall2017Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -115px -273px;
- width: 114px;
- height: 90px;
-}
-.shield_special_fall2017Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -357px -91px;
- width: 114px;
- height: 90px;
-}
-.shield_special_fall2018Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -357px 0px;
- width: 114px;
- height: 90px;
-}
-.shield_special_fall2018Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -230px -182px;
- width: 114px;
- height: 90px;
-}
-.shield_special_fall2018Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -115px -182px;
- width: 114px;
- height: 90px;
-}
-.shield_special_fall2019Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: 0px -182px;
- width: 114px;
- height: 90px;
-}
-.shield_special_fall2019Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -242px -91px;
- width: 114px;
- height: 90px;
-}
-.shield_special_fall2019Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -242px 0px;
- width: 114px;
- height: 90px;
-}
-.shield_special_fallHealer {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
background-position: -1411px -1183px;
width: 90px;
height: 90px;
}
+.shield_special_fall2016Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -932px -176px;
+ width: 114px;
+ height: 87px;
+}
+.shield_special_fall2016Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -932px -264px;
+ width: 114px;
+ height: 87px;
+}
+.shield_special_fall2016Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -932px -352px;
+ width: 114px;
+ height: 87px;
+}
+.shield_special_fall2017Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -817px -637px;
+ width: 114px;
+ height: 90px;
+}
+.shield_special_fall2017Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: 0px -728px;
+ width: 114px;
+ height: 90px;
+}
+.shield_special_fall2017Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -115px -728px;
+ width: 114px;
+ height: 90px;
+}
+.shield_special_fall2018Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -230px -728px;
+ width: 114px;
+ height: 90px;
+}
+.shield_special_fall2018Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -345px -728px;
+ width: 114px;
+ height: 90px;
+}
+.shield_special_fall2018Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -460px -728px;
+ width: 114px;
+ height: 90px;
+}
+.shield_special_fall2019Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -575px -728px;
+ width: 114px;
+ height: 90px;
+}
+.shield_special_fall2019Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -690px -728px;
+ width: 114px;
+ height: 90px;
+}
+.shield_special_fall2019Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -805px -728px;
+ width: 114px;
+ height: 90px;
+}
+.shield_special_fallHealer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: 0px -1362px;
+ width: 90px;
+ height: 90px;
+}
.shield_special_fallRogue {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -932px -440px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: 0px -907px;
width: 105px;
height: 90px;
}
.shield_special_fallWarrior {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
background-position: -91px -1362px;
width: 90px;
height: 90px;
}
.shop_armor_special_fall2015Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1380px -1453px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -828px -1453px;
width: 68px;
height: 68px;
}
.shop_armor_special_fall2015Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1449px -1453px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -897px -1453px;
width: 68px;
height: 68px;
}
.shop_armor_special_fall2015Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1571px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -966px -1453px;
width: 68px;
height: 68px;
}
.shop_armor_special_fall2015Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1571px -69px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1035px -1453px;
width: 68px;
height: 68px;
}
.shop_armor_special_fall2016Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1571px -138px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1104px -1453px;
width: 68px;
height: 68px;
}
.shop_armor_special_fall2016Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1571px -207px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1173px -1453px;
width: 68px;
height: 68px;
}
.shop_armor_special_fall2016Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1571px -276px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1242px -1453px;
width: 68px;
height: 68px;
}
.shop_armor_special_fall2016Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1571px -345px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1311px -1453px;
width: 68px;
height: 68px;
}
.shop_armor_special_fall2017Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1571px -414px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1380px -1453px;
width: 68px;
height: 68px;
}
.shop_armor_special_fall2017Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1571px -483px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1449px -1453px;
width: 68px;
height: 68px;
}
.shop_armor_special_fall2017Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1571px -552px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1571px 0px;
width: 68px;
height: 68px;
}
.shop_armor_special_fall2017Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1571px -621px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1571px -69px;
width: 68px;
height: 68px;
}
.shop_armor_special_fall2018Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1571px -690px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1571px -138px;
width: 68px;
height: 68px;
}
.shop_armor_special_fall2018Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1571px -759px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1571px -207px;
width: 68px;
height: 68px;
}
.shop_armor_special_fall2018Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1571px -828px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1571px -276px;
width: 68px;
height: 68px;
}
.shop_armor_special_fall2018Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1571px -897px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1571px -345px;
width: 68px;
height: 68px;
}
.shop_armor_special_fall2019Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1571px -966px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1571px -414px;
width: 68px;
height: 68px;
}
.shop_armor_special_fall2019Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1571px -1035px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1571px -483px;
width: 68px;
height: 68px;
}
.shop_armor_special_fall2019Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1571px -1104px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1571px -552px;
width: 68px;
height: 68px;
}
.shop_armor_special_fall2019Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1571px -1173px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1571px -621px;
width: 68px;
height: 68px;
}
.shop_armor_special_fallHealer {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1571px -1242px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1571px -690px;
width: 68px;
height: 68px;
}
.shop_armor_special_fallMage {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1571px -1311px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1571px -759px;
width: 68px;
height: 68px;
}
.shop_armor_special_fallRogue {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1571px -1380px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1571px -828px;
width: 68px;
height: 68px;
}
.shop_armor_special_fallWarrior {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1571px -1449px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1571px -897px;
width: 68px;
height: 68px;
}
.shop_eyewear_special_fall2019Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: 0px -1522px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1571px -966px;
width: 68px;
height: 68px;
}
.shop_eyewear_special_fall2019Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -69px -1522px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1571px -1035px;
width: 68px;
height: 68px;
}
.shop_head_special_fall2015Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -138px -1522px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1571px -1104px;
width: 68px;
height: 68px;
}
.shop_head_special_fall2015Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -207px -1522px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1571px -1173px;
width: 68px;
height: 68px;
}
.shop_head_special_fall2015Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -276px -1522px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1571px -1242px;
width: 68px;
height: 68px;
}
.shop_head_special_fall2015Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -345px -1522px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1571px -1311px;
width: 68px;
height: 68px;
}
.shop_head_special_fall2016Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -414px -1522px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1571px -1380px;
width: 68px;
height: 68px;
}
.shop_head_special_fall2016Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -483px -1522px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1571px -1449px;
width: 68px;
height: 68px;
}
.shop_head_special_fall2016Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -552px -1522px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: 0px -1522px;
width: 68px;
height: 68px;
}
.shop_head_special_fall2016Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -621px -1522px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -69px -1522px;
width: 68px;
height: 68px;
}
.shop_head_special_fall2017Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -690px -1522px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -138px -1522px;
width: 68px;
height: 68px;
}
.shop_head_special_fall2017Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -759px -1522px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -207px -1522px;
width: 68px;
height: 68px;
}
.shop_head_special_fall2017Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -828px -1522px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -276px -1522px;
width: 68px;
height: 68px;
}
.shop_head_special_fall2017Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -897px -1522px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -345px -1522px;
width: 68px;
height: 68px;
}
.shop_head_special_fall2018Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -966px -1522px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -414px -1522px;
width: 68px;
height: 68px;
}
.shop_head_special_fall2018Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1035px -1522px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -483px -1522px;
width: 68px;
height: 68px;
}
.shop_head_special_fall2018Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1104px -1522px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -552px -1522px;
width: 68px;
height: 68px;
}
.shop_head_special_fall2018Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1173px -1522px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -621px -1522px;
width: 68px;
height: 68px;
}
.shop_head_special_fall2019Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1242px -1522px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -690px -1522px;
width: 68px;
height: 68px;
}
.shop_head_special_fall2019Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1311px -1522px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -759px -1522px;
width: 68px;
height: 68px;
}
.shop_head_special_fall2019Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1380px -1522px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -828px -1522px;
width: 68px;
height: 68px;
}
.shop_head_special_fall2019Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1449px -1522px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -897px -1522px;
width: 68px;
height: 68px;
}
.shop_head_special_fallHealer {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1518px -1522px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -966px -1522px;
width: 68px;
height: 68px;
}
.shop_head_special_fallMage {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1640px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1035px -1522px;
width: 68px;
height: 68px;
}
.shop_head_special_fallRogue {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1640px -69px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1104px -1522px;
width: 68px;
height: 68px;
}
.shop_head_special_fallWarrior {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1640px -138px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1173px -1522px;
width: 68px;
height: 68px;
}
.shop_shield_special_fall2015Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1640px -207px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1242px -1522px;
width: 68px;
height: 68px;
}
.shop_shield_special_fall2015Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1640px -276px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1311px -1522px;
width: 68px;
height: 68px;
}
.shop_shield_special_fall2015Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1640px -345px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1380px -1522px;
width: 68px;
height: 68px;
}
.shop_shield_special_fall2016Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1640px -414px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1449px -1522px;
width: 68px;
height: 68px;
}
.shop_shield_special_fall2016Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1640px -483px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1518px -1522px;
width: 68px;
height: 68px;
}
.shop_shield_special_fall2016Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1640px -552px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1640px 0px;
width: 68px;
height: 68px;
}
.shop_shield_special_fall2017Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1640px -621px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1640px -69px;
width: 68px;
height: 68px;
}
.shop_shield_special_fall2017Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1640px -690px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1640px -138px;
width: 68px;
height: 68px;
}
.shop_shield_special_fall2017Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1640px -759px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1640px -207px;
width: 68px;
height: 68px;
}
.shop_shield_special_fall2018Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1640px -828px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1640px -276px;
width: 68px;
height: 68px;
}
.shop_shield_special_fall2018Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1640px -897px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1640px -345px;
width: 68px;
height: 68px;
}
.shop_shield_special_fall2018Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1640px -966px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1640px -414px;
width: 68px;
height: 68px;
}
.shop_shield_special_fall2019Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1640px -1035px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1640px -483px;
width: 68px;
height: 68px;
}
.shop_shield_special_fall2019Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1640px -1104px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1640px -552px;
width: 68px;
height: 68px;
}
.shop_shield_special_fall2019Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1640px -1173px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1640px -621px;
width: 68px;
height: 68px;
}
.shop_shield_special_fallHealer {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1640px -1242px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1640px -690px;
width: 68px;
height: 68px;
}
.shop_shield_special_fallRogue {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1640px -1311px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1640px -759px;
width: 68px;
height: 68px;
}
.shop_shield_special_fallWarrior {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1640px -1380px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1640px -828px;
width: 68px;
height: 68px;
}
.shop_weapon_special_fall2015Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1640px -1449px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1640px -897px;
width: 68px;
height: 68px;
}
.shop_weapon_special_fall2015Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1640px -1518px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1640px -966px;
width: 68px;
height: 68px;
}
.shop_weapon_special_fall2015Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: 0px -1591px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1640px -1035px;
width: 68px;
height: 68px;
}
.shop_weapon_special_fall2015Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -69px -1591px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1640px -1104px;
width: 68px;
height: 68px;
}
.shop_weapon_special_fall2016Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -138px -1591px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1640px -1173px;
width: 68px;
height: 68px;
}
.shop_weapon_special_fall2016Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -207px -1591px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1640px -1242px;
width: 68px;
height: 68px;
}
.shop_weapon_special_fall2016Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -276px -1591px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1640px -1311px;
width: 68px;
height: 68px;
}
.shop_weapon_special_fall2016Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -345px -1591px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1640px -1380px;
width: 68px;
height: 68px;
}
.shop_weapon_special_fall2017Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -414px -1591px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1640px -1449px;
width: 68px;
height: 68px;
}
.shop_weapon_special_fall2017Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -483px -1591px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -1640px -1518px;
width: 68px;
height: 68px;
}
.shop_weapon_special_fall2017Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -552px -1591px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: 0px -1591px;
width: 68px;
height: 68px;
}
.shop_weapon_special_fall2017Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -621px -1591px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -69px -1591px;
width: 68px;
height: 68px;
}
.shop_weapon_special_fall2018Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1502px -207px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -138px -1591px;
width: 68px;
height: 68px;
}
.shop_weapon_special_fall2018Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1502px -138px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -207px -1591px;
width: 68px;
height: 68px;
}
.shop_weapon_special_fall2018Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1502px -69px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -276px -1591px;
width: 68px;
height: 68px;
}
.shop_weapon_special_fall2018Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1502px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -345px -1591px;
width: 68px;
height: 68px;
}
.shop_weapon_special_fall2019Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1424px -1362px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -414px -1591px;
width: 68px;
height: 68px;
}
.shop_weapon_special_fall2019Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1355px -1362px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -483px -1591px;
width: 68px;
height: 68px;
}
.shop_weapon_special_fall2019Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1286px -1362px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -552px -1591px;
width: 68px;
height: 68px;
}
.shop_weapon_special_fall2019Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -1217px -1362px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -621px -1591px;
width: 68px;
height: 68px;
}
.shop_weapon_special_fallHealer {
- background-image: url('~assets/images/sprites/spritesmith-main-7.png');
- background-position: -596px -1362px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-7.png');
+ background-position: -690px -1591px;
width: 68px;
height: 68px;
}
diff --git a/website/client/assets/css/sprites/spritesmith-main-8.css b/website/client/src/assets/css/sprites/spritesmith-main-8.css
similarity index 55%
rename from website/client/assets/css/sprites/spritesmith-main-8.css
rename to website/client/src/assets/css/sprites/spritesmith-main-8.css
index 29032c5533..89630bd30f 100644
--- a/website/client/assets/css/sprites/spritesmith-main-8.css
+++ b/website/client/src/assets/css/sprites/spritesmith-main-8.css
@@ -1,2274 +1,2274 @@
.shop_weapon_special_fallMage {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1490px -414px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1399px -1183px;
width: 68px;
height: 68px;
}
.shop_weapon_special_fallRogue {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1628px -552px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1399px -1252px;
width: 68px;
height: 68px;
}
.shop_weapon_special_fallWarrior {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -690px -788px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1308px -1183px;
width: 68px;
height: 68px;
}
.slim_armor_special_fall2015Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -91px -982px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -242px -242px;
width: 93px;
height: 90px;
}
.slim_armor_special_fall2015Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -926px -379px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -926px 0px;
width: 105px;
height: 90px;
}
.slim_armor_special_fall2015Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1399px -910px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1123px -364px;
width: 90px;
height: 90px;
}
.slim_armor_special_fall2015Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1399px -819px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1123px -455px;
width: 90px;
height: 90px;
}
.slim_armor_special_fall2016Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -460px -788px;
- width: 114px;
- height: 87px;
-}
-.slim_armor_special_fall2016Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -115px -788px;
- width: 114px;
- height: 87px;
-}
-.slim_armor_special_fall2016Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -575px -788px;
- width: 114px;
- height: 87px;
-}
-.slim_armor_special_fall2016Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -811px -634px;
- width: 114px;
- height: 87px;
-}
-.slim_armor_special_fall2017Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -460px -424px;
- width: 114px;
- height: 90px;
-}
-.slim_armor_special_fall2017Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -581px 0px;
- width: 114px;
- height: 90px;
-}
-.slim_armor_special_fall2017Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -115px -606px;
- width: 114px;
- height: 90px;
-}
-.slim_armor_special_fall2017Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -345px -182px;
- width: 114px;
- height: 90px;
-}
-.slim_armor_special_fall2018Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: 0px -333px;
- width: 114px;
- height: 90px;
-}
-.slim_armor_special_fall2018Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -115px -333px;
- width: 114px;
- height: 90px;
-}
-.slim_armor_special_fall2018Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -230px -333px;
- width: 114px;
- height: 90px;
-}
-.slim_armor_special_fall2018Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -345px -333px;
- width: 114px;
- height: 90px;
-}
-.slim_armor_special_fall2019Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -466px 0px;
- width: 114px;
- height: 90px;
-}
-.slim_armor_special_fall2019Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -466px -91px;
- width: 114px;
- height: 90px;
-}
-.slim_armor_special_fall2019Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -466px -182px;
- width: 114px;
- height: 90px;
-}
-.slim_armor_special_fall2019Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -466px -273px;
- width: 114px;
- height: 90px;
-}
-.slim_armor_special_fallHealer {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1399px -728px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_special_fallMage {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -345px 0px;
- width: 120px;
- height: 90px;
-}
-.slim_armor_special_fallRogue {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -182px -876px;
- width: 105px;
- height: 90px;
-}
-.slim_armor_special_fallWarrior {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1399px -637px;
- width: 90px;
- height: 90px;
-}
-.weapon_special_fall2015Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -373px -982px;
- width: 93px;
- height: 90px;
-}
-.weapon_special_fall2015Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -926px -470px;
- width: 105px;
- height: 90px;
-}
-.weapon_special_fall2015Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1399px -455px;
- width: 90px;
- height: 90px;
-}
-.weapon_special_fall2015Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1399px -364px;
- width: 90px;
- height: 90px;
-}
-.weapon_special_fall2016Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
background-position: -811px -546px;
width: 114px;
height: 87px;
}
+.slim_armor_special_fall2016Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -811px -634px;
+ width: 114px;
+ height: 87px;
+}
+.slim_armor_special_fall2016Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: 0px -788px;
+ width: 114px;
+ height: 87px;
+}
+.slim_armor_special_fall2016Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -115px -788px;
+ width: 114px;
+ height: 87px;
+}
+.slim_armor_special_fall2017Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -345px -182px;
+ width: 114px;
+ height: 90px;
+}
+.slim_armor_special_fall2017Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: 0px -333px;
+ width: 114px;
+ height: 90px;
+}
+.slim_armor_special_fall2017Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -115px -333px;
+ width: 114px;
+ height: 90px;
+}
+.slim_armor_special_fall2017Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -230px -333px;
+ width: 114px;
+ height: 90px;
+}
+.slim_armor_special_fall2018Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -345px -333px;
+ width: 114px;
+ height: 90px;
+}
+.slim_armor_special_fall2018Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -466px 0px;
+ width: 114px;
+ height: 90px;
+}
+.slim_armor_special_fall2018Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -466px -91px;
+ width: 114px;
+ height: 90px;
+}
+.slim_armor_special_fall2018Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -466px -182px;
+ width: 114px;
+ height: 90px;
+}
+.slim_armor_special_fall2019Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -466px -273px;
+ width: 114px;
+ height: 90px;
+}
+.slim_armor_special_fall2019Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: 0px -424px;
+ width: 114px;
+ height: 90px;
+}
+.slim_armor_special_fall2019Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -115px -424px;
+ width: 114px;
+ height: 90px;
+}
+.slim_armor_special_fall2019Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -230px -424px;
+ width: 114px;
+ height: 90px;
+}
+.slim_armor_special_fallHealer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1123px -546px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_special_fallMage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: 0px -242px;
+ width: 120px;
+ height: 90px;
+}
+.slim_armor_special_fallRogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -926px -91px;
+ width: 105px;
+ height: 90px;
+}
+.slim_armor_special_fallWarrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1123px -637px;
+ width: 90px;
+ height: 90px;
+}
+.weapon_special_fall2015Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -515px -876px;
+ width: 93px;
+ height: 90px;
+}
+.weapon_special_fall2015Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -926px -182px;
+ width: 105px;
+ height: 90px;
+}
+.weapon_special_fall2015Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1123px -728px;
+ width: 90px;
+ height: 90px;
+}
+.weapon_special_fall2015Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1123px -819px;
+ width: 90px;
+ height: 90px;
+}
+.weapon_special_fall2016Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -230px -788px;
+ width: 114px;
+ height: 87px;
+}
.weapon_special_fall2016Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
background-position: -345px -788px;
width: 114px;
height: 87px;
}
.weapon_special_fall2016Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: 0px -788px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -460px -788px;
width: 114px;
height: 87px;
}
.weapon_special_fall2016Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -230px -788px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -575px -788px;
width: 114px;
height: 87px;
}
.weapon_special_fall2017Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: 0px -515px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -345px -424px;
width: 114px;
height: 90px;
}
.weapon_special_fall2017Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -115px -515px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -460px -424px;
width: 114px;
height: 90px;
}
.weapon_special_fall2017Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -230px -515px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -581px 0px;
width: 114px;
height: 90px;
}
.weapon_special_fall2017Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -345px -515px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -581px -91px;
width: 114px;
height: 90px;
}
.weapon_special_fall2018Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -460px -515px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -581px -182px;
width: 114px;
height: 90px;
}
.weapon_special_fall2018Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -811px -273px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -581px -273px;
width: 114px;
height: 90px;
}
.weapon_special_fall2018Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -696px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -581px -364px;
width: 114px;
height: 90px;
}
.weapon_special_fall2018Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -696px -91px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: 0px -515px;
width: 114px;
height: 90px;
}
.weapon_special_fall2019Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -696px -182px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -115px -515px;
width: 114px;
height: 90px;
}
.weapon_special_fall2019Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -696px -273px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -230px -515px;
width: 114px;
height: 90px;
}
.weapon_special_fall2019Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -696px -364px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -345px -515px;
width: 114px;
height: 90px;
}
.weapon_special_fall2019Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -696px -455px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -460px -515px;
width: 114px;
height: 90px;
}
.weapon_special_fallHealer {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1399px -273px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1123px -910px;
width: 90px;
height: 90px;
}
.weapon_special_fallMage {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -345px -91px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -121px -242px;
width: 120px;
height: 90px;
}
.weapon_special_fallRogue {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -926px -773px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -926px -273px;
width: 105px;
height: 90px;
}
.weapon_special_fallWarrior {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1399px -182px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1031px -982px;
width: 90px;
height: 90px;
}
.broad_armor_special_gaymerx {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1399px -91px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: 0px -1079px;
width: 90px;
height: 90px;
}
.head_special_gaymerx {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1399px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -91px -1079px;
width: 90px;
height: 90px;
}
.shop_armor_special_gaymerx {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: 0px -1352px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1217px -1092px;
width: 68px;
height: 68px;
}
.shop_head_special_gaymerx {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -897px -1352px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1123px -1001px;
width: 68px;
height: 68px;
}
.slim_armor_special_gaymerx {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1274px -1261px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -182px -1079px;
width: 90px;
height: 90px;
}
.shop_armor_special_ks2019 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -483px -1490px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -926px -788px;
width: 68px;
height: 68px;
}
.shop_eyewear_special_ks2019 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -759px -1490px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -690px -788px;
width: 68px;
height: 68px;
}
.shop_head_special_ks2019 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1559px -1173px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -759px -788px;
width: 68px;
height: 68px;
}
.shop_shield_special_ks2019 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -759px -1559px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -828px -788px;
width: 68px;
height: 68px;
}
.shop_weapon_special_ks2019 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1242px -1559px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: 0px -1352px;
width: 68px;
height: 68px;
}
.back_mystery_201402 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1183px -1261px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -273px -1079px;
width: 90px;
height: 90px;
}
.broad_armor_mystery_201402 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1092px -1261px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -364px -1079px;
width: 90px;
height: 90px;
}
.head_mystery_201402 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1001px -1261px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -455px -1079px;
width: 90px;
height: 90px;
}
.shop_armor_mystery_201402 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1380px -1352px;
- width: 68px;
- height: 68px;
-}
-.shop_back_mystery_201402 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -207px -1421px;
- width: 68px;
- height: 68px;
-}
-.shop_head_mystery_201402 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1490px -276px;
- width: 68px;
- height: 68px;
-}
-.shop_set_mystery_201402 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1490px -345px;
- width: 68px;
- height: 68px;
-}
-.slim_armor_mystery_201402 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -910px -1261px;
- width: 90px;
- height: 90px;
-}
-.broad_armor_mystery_201403 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -819px -1261px;
- width: 90px;
- height: 90px;
-}
-.headAccessory_mystery_201403 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -728px -1261px;
- width: 90px;
- height: 90px;
-}
-.shop_armor_mystery_201403 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1242px -1490px;
- width: 68px;
- height: 68px;
-}
-.shop_headAccessory_mystery_201403 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1559px -621px;
- width: 68px;
- height: 68px;
-}
-.shop_set_mystery_201403 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1559px -1104px;
- width: 68px;
- height: 68px;
-}
-.slim_armor_mystery_201403 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -637px -1261px;
- width: 90px;
- height: 90px;
-}
-.back_mystery_201404 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -546px -1261px;
- width: 90px;
- height: 90px;
-}
-.headAccessory_mystery_201404 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -455px -1261px;
- width: 90px;
- height: 90px;
-}
-.shop_back_mystery_201404 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1311px -1559px;
- width: 68px;
- height: 68px;
-}
-.shop_headAccessory_mystery_201404 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: 0px -1628px;
- width: 68px;
- height: 68px;
-}
-.shop_set_mystery_201404 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -69px -1628px;
- width: 68px;
- height: 68px;
-}
-.broad_armor_mystery_201405 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -364px -1261px;
- width: 90px;
- height: 90px;
-}
-.head_mystery_201405 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -273px -1261px;
- width: 90px;
- height: 90px;
-}
-.shop_armor_mystery_201405 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
background-position: -69px -1352px;
width: 68px;
height: 68px;
}
-.shop_head_mystery_201405 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
+.shop_back_mystery_201402 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -138px -1352px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_mystery_201402 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -207px -1352px;
+ width: 68px;
+ height: 68px;
+}
+.shop_set_mystery_201402 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -276px -1352px;
+ width: 68px;
+ height: 68px;
+}
+.slim_armor_mystery_201402 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -546px -1079px;
+ width: 90px;
+ height: 90px;
+}
+.broad_armor_mystery_201403 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -637px -1079px;
+ width: 90px;
+ height: 90px;
+}
+.headAccessory_mystery_201403 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -728px -1079px;
+ width: 90px;
+ height: 90px;
+}
+.shop_armor_mystery_201403 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -345px -1352px;
+ width: 68px;
+ height: 68px;
+}
+.shop_headAccessory_mystery_201403 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -414px -1352px;
+ width: 68px;
+ height: 68px;
+}
+.shop_set_mystery_201403 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -483px -1352px;
+ width: 68px;
+ height: 68px;
+}
+.slim_armor_mystery_201403 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -819px -1079px;
+ width: 90px;
+ height: 90px;
+}
+.back_mystery_201404 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -910px -1079px;
+ width: 90px;
+ height: 90px;
+}
+.headAccessory_mystery_201404 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1001px -1079px;
+ width: 90px;
+ height: 90px;
+}
+.shop_back_mystery_201404 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
background-position: -552px -1352px;
width: 68px;
height: 68px;
}
-.shop_set_mystery_201405 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
+.shop_headAccessory_mystery_201404 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -621px -1352px;
+ width: 68px;
+ height: 68px;
+}
+.shop_set_mystery_201404 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -690px -1352px;
+ width: 68px;
+ height: 68px;
+}
+.broad_armor_mystery_201405 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1092px -1079px;
+ width: 90px;
+ height: 90px;
+}
+.head_mystery_201405 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1217px 0px;
+ width: 90px;
+ height: 90px;
+}
+.shop_armor_mystery_201405 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -759px -1352px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_mystery_201405 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
background-position: -828px -1352px;
width: 68px;
height: 68px;
}
+.shop_set_mystery_201405 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -897px -1352px;
+ width: 68px;
+ height: 68px;
+}
.slim_armor_mystery_201405 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -182px -1261px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1217px -91px;
width: 90px;
height: 90px;
}
.broad_armor_mystery_201406 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: 0px -982px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1032px -724px;
width: 90px;
height: 96px;
}
.head_mystery_201406 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
background-position: -1032px -821px;
width: 90px;
height: 96px;
}
.shop_armor_mystery_201406 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -690px -1421px;
- width: 68px;
- height: 68px;
-}
-.shop_head_mystery_201406 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -966px -1421px;
- width: 68px;
- height: 68px;
-}
-.shop_set_mystery_201406 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1035px -1421px;
- width: 68px;
- height: 68px;
-}
-.slim_armor_mystery_201406 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1032px -724px;
- width: 90px;
- height: 96px;
-}
-.broad_armor_mystery_201407 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1308px -637px;
- width: 90px;
- height: 90px;
-}
-.head_mystery_201407 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1308px -546px;
- width: 90px;
- height: 90px;
-}
-.shop_armor_mystery_201407 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1490px -1104px;
- width: 68px;
- height: 68px;
-}
-.shop_head_mystery_201407 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1490px -1173px;
- width: 68px;
- height: 68px;
-}
-.shop_set_mystery_201407 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -414px -1490px;
- width: 68px;
- height: 68px;
-}
-.slim_armor_mystery_201407 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1308px -364px;
- width: 90px;
- height: 90px;
-}
-.broad_armor_mystery_201408 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1308px -273px;
- width: 90px;
- height: 90px;
-}
-.head_mystery_201408 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1308px -182px;
- width: 90px;
- height: 90px;
-}
-.shop_armor_mystery_201408 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1559px 0px;
- width: 68px;
- height: 68px;
-}
-.shop_head_mystery_201408 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1559px -69px;
- width: 68px;
- height: 68px;
-}
-.shop_set_mystery_201408 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1559px -552px;
- width: 68px;
- height: 68px;
-}
-.slim_armor_mystery_201408 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1308px -91px;
- width: 90px;
- height: 90px;
-}
-.broad_armor_mystery_201409 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1308px 0px;
- width: 90px;
- height: 90px;
-}
-.headAccessory_mystery_201409 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1183px -1170px;
- width: 90px;
- height: 90px;
-}
-.shop_armor_mystery_201409 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1559px -1449px;
- width: 68px;
- height: 68px;
-}
-.shop_headAccessory_mystery_201409 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -414px -1559px;
- width: 68px;
- height: 68px;
-}
-.shop_set_mystery_201409 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -483px -1559px;
- width: 68px;
- height: 68px;
-}
-.slim_armor_mystery_201409 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -182px -1170px;
- width: 90px;
- height: 90px;
-}
-.back_mystery_201410 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -655px -982px;
- width: 93px;
- height: 90px;
-}
-.broad_armor_mystery_201410 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -676px -876px;
- width: 93px;
- height: 90px;
-}
-.shop_armor_mystery_201410 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1628px -483px;
- width: 68px;
- height: 68px;
-}
-.shop_back_mystery_201410 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1628px -828px;
- width: 68px;
- height: 68px;
-}
-.shop_set_mystery_201410 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1628px -1518px;
- width: 68px;
- height: 68px;
-}
-.slim_armor_mystery_201410 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -582px -876px;
- width: 93px;
- height: 90px;
-}
-.head_mystery_201411 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1123px -637px;
- width: 90px;
- height: 90px;
-}
-.shop_head_mystery_201411 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1399px -1092px;
- width: 68px;
- height: 68px;
-}
-.shop_set_mystery_201411 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1399px -1161px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_mystery_201411 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1123px -1001px;
- width: 68px;
- height: 68px;
-}
-.weapon_mystery_201411 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1123px -546px;
- width: 90px;
- height: 90px;
-}
-.broad_armor_mystery_201412 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1308px -1001px;
- width: 90px;
- height: 90px;
-}
-.head_mystery_201412 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1217px -364px;
- width: 90px;
- height: 90px;
-}
-.shop_armor_mystery_201412 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -138px -1352px;
- width: 68px;
- height: 68px;
-}
-.shop_head_mystery_201412 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -414px -1352px;
- width: 68px;
- height: 68px;
-}
-.shop_set_mystery_201412 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -483px -1352px;
- width: 68px;
- height: 68px;
-}
-.slim_armor_mystery_201412 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1217px -182px;
- width: 90px;
- height: 90px;
-}
-.broad_armor_mystery_201501 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1217px -91px;
- width: 90px;
- height: 90px;
-}
-.head_mystery_201501 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1217px 0px;
- width: 90px;
- height: 90px;
-}
-.shop_armor_mystery_201501 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
background-position: -966px -1352px;
width: 68px;
height: 68px;
}
-.shop_head_mystery_201501 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1242px -1352px;
- width: 68px;
- height: 68px;
-}
-.shop_set_mystery_201501 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1311px -1352px;
- width: 68px;
- height: 68px;
-}
-.slim_armor_mystery_201501 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1217px -273px;
- width: 90px;
- height: 90px;
-}
-.headAccessory_mystery_201502 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1217px -819px;
- width: 90px;
- height: 90px;
-}
-.shop_headAccessory_mystery_201502 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -276px -1421px;
- width: 68px;
- height: 68px;
-}
-.shop_set_mystery_201502 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -345px -1421px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_mystery_201502 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -621px -1421px;
- width: 68px;
- height: 68px;
-}
-.weapon_mystery_201502 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1217px -455px;
- width: 90px;
- height: 90px;
-}
-.broad_armor_mystery_201503 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1217px -546px;
- width: 90px;
- height: 90px;
-}
-.eyewear_mystery_201503 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1217px -637px;
- width: 90px;
- height: 90px;
-}
-.shop_armor_mystery_201503 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1104px -1421px;
- width: 68px;
- height: 68px;
-}
-.shop_eyewear_mystery_201503 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1380px -1421px;
- width: 68px;
- height: 68px;
-}
-.shop_set_mystery_201503 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1490px 0px;
- width: 68px;
- height: 68px;
-}
-.slim_armor_mystery_201503 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1308px -1092px;
- width: 90px;
- height: 90px;
-}
-.back_mystery_201504 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -91px -1079px;
- width: 90px;
- height: 90px;
-}
-.broad_armor_mystery_201504 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -182px -1079px;
- width: 90px;
- height: 90px;
-}
-.shop_armor_mystery_201504 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1490px -690px;
- width: 68px;
- height: 68px;
-}
-.shop_back_mystery_201504 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1490px -759px;
- width: 68px;
- height: 68px;
-}
-.shop_set_mystery_201504 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1490px -828px;
- width: 68px;
- height: 68px;
-}
-.slim_armor_mystery_201504 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -273px -1079px;
- width: 90px;
- height: 90px;
-}
-.head_mystery_201505 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -637px -1079px;
- width: 90px;
- height: 90px;
-}
-.shop_head_mystery_201505 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: 0px -1490px;
- width: 68px;
- height: 68px;
-}
-.shop_set_mystery_201505 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -69px -1490px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_mystery_201505 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -345px -1490px;
- width: 68px;
- height: 68px;
-}
-.weapon_mystery_201505 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -819px -1079px;
- width: 90px;
- height: 90px;
-}
-.broad_armor_mystery_201506 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1032px -318px;
- width: 90px;
- height: 105px;
-}
-.eyewear_mystery_201506 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1032px -212px;
- width: 90px;
- height: 105px;
-}
-.shop_armor_mystery_201506 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -828px -1490px;
- width: 68px;
- height: 68px;
-}
-.shop_eyewear_mystery_201506 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -897px -1490px;
- width: 68px;
- height: 68px;
-}
-.shop_set_mystery_201506 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1173px -1490px;
- width: 68px;
- height: 68px;
-}
-.slim_armor_mystery_201506 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1032px -106px;
- width: 90px;
- height: 105px;
-}
-.back_mystery_201507 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -926px -91px;
- width: 90px;
- height: 105px;
-}
-.eyewear_mystery_201507 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1032px 0px;
- width: 90px;
- height: 105px;
-}
-.shop_back_mystery_201507 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1559px -207px;
- width: 68px;
- height: 68px;
-}
-.shop_eyewear_mystery_201507 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1559px -345px;
- width: 68px;
- height: 68px;
-}
-.shop_set_mystery_201507 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1559px -414px;
- width: 68px;
- height: 68px;
-}
-.broad_armor_mystery_201508 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -467px -982px;
- width: 93px;
- height: 90px;
-}
-.head_mystery_201508 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -561px -982px;
- width: 93px;
- height: 90px;
-}
-.shop_armor_mystery_201508 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1559px -690px;
- width: 68px;
- height: 68px;
-}
-.shop_head_mystery_201508 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1559px -759px;
- width: 68px;
- height: 68px;
-}
-.shop_set_mystery_201508 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1559px -828px;
- width: 68px;
- height: 68px;
-}
-.slim_armor_mystery_201508 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -749px -982px;
- width: 93px;
- height: 90px;
-}
-.broad_armor_mystery_201509 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -91px -1170px;
- width: 90px;
- height: 90px;
-}
-.head_mystery_201509 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1308px -819px;
- width: 90px;
- height: 90px;
-}
-.shop_armor_mystery_201509 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: 0px -1559px;
- width: 68px;
- height: 68px;
-}
-.shop_head_mystery_201509 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -69px -1559px;
- width: 68px;
- height: 68px;
-}
-.shop_set_mystery_201509 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -345px -1559px;
- width: 68px;
- height: 68px;
-}
-.slim_armor_mystery_201509 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1308px -910px;
- width: 90px;
- height: 90px;
-}
-.back_mystery_201510 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -288px -876px;
- width: 105px;
- height: 90px;
-}
-.headAccessory_mystery_201510 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -843px -982px;
- width: 93px;
- height: 90px;
-}
-.shop_back_mystery_201510 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -828px -1559px;
- width: 68px;
- height: 68px;
-}
-.shop_headAccessory_mystery_201510 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -897px -1559px;
- width: 68px;
- height: 68px;
-}
-.shop_set_mystery_201510 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1173px -1559px;
- width: 68px;
- height: 68px;
-}
-.broad_armor_mystery_201511 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: 0px -1261px;
- width: 90px;
- height: 90px;
-}
-.head_mystery_201511 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -91px -1261px;
- width: 90px;
- height: 90px;
-}
-.shop_armor_mystery_201511 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1628px -69px;
- width: 68px;
- height: 68px;
-}
-.shop_head_mystery_201511 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1628px -138px;
- width: 68px;
- height: 68px;
-}
-.shop_set_mystery_201511 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1628px -207px;
- width: 68px;
- height: 68px;
-}
-.slim_armor_mystery_201511 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1399px -546px;
- width: 90px;
- height: 90px;
-}
-.broad_armor_mystery_201512 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1399px -1001px;
- width: 90px;
- height: 90px;
-}
-.head_mystery_201512 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1123px -364px;
- width: 90px;
- height: 90px;
-}
-.shop_armor_mystery_201512 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1628px -897px;
- width: 68px;
- height: 68px;
-}
-.shop_head_mystery_201512 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1628px -1173px;
- width: 68px;
- height: 68px;
-}
-.shop_set_mystery_201512 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1628px -1242px;
- width: 68px;
- height: 68px;
-}
-.slim_armor_mystery_201512 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1123px -455px;
- width: 90px;
- height: 90px;
-}
-.head_mystery_201601 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: 0px -242px;
- width: 120px;
- height: 90px;
-}
-.shield_mystery_201601 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -121px -242px;
- width: 120px;
- height: 90px;
-}
-.shop_head_mystery_201601 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -345px -1628px;
- width: 68px;
- height: 68px;
-}
-.shop_set_mystery_201601 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -414px -1628px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_mystery_201601 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -483px -1628px;
- width: 68px;
- height: 68px;
-}
-.back_mystery_201602 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1123px -728px;
- width: 90px;
- height: 90px;
-}
-.head_mystery_201602 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1123px -819px;
- width: 90px;
- height: 90px;
-}
-.shop_back_mystery_201602 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1399px -1230px;
- width: 68px;
- height: 68px;
-}
-.shop_head_mystery_201602 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1308px -1183px;
- width: 68px;
- height: 68px;
-}
-.shop_set_mystery_201602 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1217px -1092px;
- width: 68px;
- height: 68px;
-}
-.broad_armor_mystery_201603 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1123px -910px;
- width: 90px;
- height: 90px;
-}
-.head_mystery_201603 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1031px -982px;
- width: 90px;
- height: 90px;
-}
-.shop_armor_mystery_201603 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -759px -788px;
- width: 68px;
- height: 68px;
-}
-.shop_head_mystery_201603 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -828px -788px;
- width: 68px;
- height: 68px;
-}
-.shop_set_mystery_201603 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -958px -876px;
- width: 68px;
- height: 68px;
-}
-.slim_armor_mystery_201603 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: 0px -1079px;
- width: 90px;
- height: 90px;
-}
-.broad_armor_mystery_201604 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1123px -182px;
- width: 93px;
- height: 90px;
-}
-.head_mystery_201604 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -394px -876px;
- width: 93px;
- height: 90px;
-}
-.shop_armor_mystery_201604 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -207px -1352px;
- width: 68px;
- height: 68px;
-}
-.shop_head_mystery_201604 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -276px -1352px;
- width: 68px;
- height: 68px;
-}
-.shop_set_mystery_201604 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -345px -1352px;
- width: 68px;
- height: 68px;
-}
-.slim_armor_mystery_201604 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -488px -876px;
- width: 93px;
- height: 90px;
-}
-.broad_armor_mystery_201605 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -364px -1079px;
- width: 90px;
- height: 90px;
-}
-.head_mystery_201605 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -455px -1079px;
- width: 90px;
- height: 90px;
-}
-.shop_armor_mystery_201605 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -621px -1352px;
- width: 68px;
- height: 68px;
-}
-.shop_head_mystery_201605 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -690px -1352px;
- width: 68px;
- height: 68px;
-}
-.shop_set_mystery_201605 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -759px -1352px;
- width: 68px;
- height: 68px;
-}
-.slim_armor_mystery_201605 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -546px -1079px;
- width: 90px;
- height: 90px;
-}
-.broad_armor_mystery_201606 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -91px -876px;
- width: 90px;
- height: 105px;
-}
-.head_mystery_201606 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -728px -1079px;
- width: 90px;
- height: 90px;
-}
-.shop_armor_mystery_201606 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
+.shop_head_mystery_201406 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
background-position: -1035px -1352px;
width: 68px;
height: 68px;
}
-.shop_head_mystery_201606 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
+.shop_set_mystery_201406 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
background-position: -1104px -1352px;
width: 68px;
height: 68px;
}
-.shop_set_mystery_201606 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
+.slim_armor_mystery_201406 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: 0px -982px;
+ width: 90px;
+ height: 96px;
+}
+.broad_armor_mystery_201407 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1217px -182px;
+ width: 90px;
+ height: 90px;
+}
+.head_mystery_201407 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1217px -273px;
+ width: 90px;
+ height: 90px;
+}
+.shop_armor_mystery_201407 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
background-position: -1173px -1352px;
width: 68px;
height: 68px;
}
-.slim_armor_mystery_201606 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: 0px -876px;
- width: 90px;
- height: 105px;
+.shop_head_mystery_201407 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1242px -1352px;
+ width: 68px;
+ height: 68px;
}
-.broad_armor_mystery_201607 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -910px -1079px;
+.shop_set_mystery_201407 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1311px -1352px;
+ width: 68px;
+ height: 68px;
+}
+.slim_armor_mystery_201407 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1217px -364px;
width: 90px;
height: 90px;
}
-.head_mystery_201607 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1001px -1079px;
+.broad_armor_mystery_201408 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1217px -455px;
width: 90px;
height: 90px;
}
-.shop_armor_mystery_201607 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
+.head_mystery_201408 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1217px -546px;
+ width: 90px;
+ height: 90px;
+}
+.shop_armor_mystery_201408 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1380px -1352px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_mystery_201408 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
background-position: 0px -1421px;
width: 68px;
height: 68px;
}
-.shop_head_mystery_201607 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
+.shop_set_mystery_201408 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
background-position: -69px -1421px;
width: 68px;
height: 68px;
}
-.shop_set_mystery_201607 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
+.slim_armor_mystery_201408 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1217px -637px;
+ width: 90px;
+ height: 90px;
+}
+.broad_armor_mystery_201409 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1217px -728px;
+ width: 90px;
+ height: 90px;
+}
+.headAccessory_mystery_201409 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1217px -819px;
+ width: 90px;
+ height: 90px;
+}
+.shop_armor_mystery_201409 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
background-position: -138px -1421px;
width: 68px;
height: 68px;
}
-.slim_armor_mystery_201607 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1092px -1079px;
+.shop_headAccessory_mystery_201409 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -207px -1421px;
+ width: 68px;
+ height: 68px;
+}
+.shop_set_mystery_201409 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -276px -1421px;
+ width: 68px;
+ height: 68px;
+}
+.slim_armor_mystery_201409 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1217px -910px;
width: 90px;
height: 90px;
}
-.back_mystery_201608 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -770px -876px;
+.back_mystery_201410 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -609px -876px;
width: 93px;
height: 90px;
}
-.head_mystery_201608 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -864px -876px;
+.broad_armor_mystery_201410 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -703px -876px;
width: 93px;
height: 90px;
}
-.shop_back_mystery_201608 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
+.shop_armor_mystery_201410 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -345px -1421px;
+ width: 68px;
+ height: 68px;
+}
+.shop_back_mystery_201410 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
background-position: -414px -1421px;
width: 68px;
height: 68px;
}
-.shop_head_mystery_201608 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
+.shop_set_mystery_201410 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
background-position: -483px -1421px;
width: 68px;
height: 68px;
}
-.shop_set_mystery_201608 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
+.slim_armor_mystery_201410 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -797px -876px;
+ width: 93px;
+ height: 90px;
+}
+.head_mystery_201411 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1217px -1001px;
+ width: 90px;
+ height: 90px;
+}
+.shop_head_mystery_201411 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
background-position: -552px -1421px;
width: 68px;
height: 68px;
}
-.broad_armor_mystery_201609 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -242px -242px;
- width: 93px;
+.shop_set_mystery_201411 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -621px -1421px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_mystery_201411 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -690px -1421px;
+ width: 68px;
+ height: 68px;
+}
+.weapon_mystery_201411 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: 0px -1170px;
+ width: 90px;
height: 90px;
}
-.head_mystery_201609 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -185px -982px;
- width: 93px;
+.broad_armor_mystery_201412 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -91px -1170px;
+ width: 90px;
height: 90px;
}
-.shop_armor_mystery_201609 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
+.head_mystery_201412 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -182px -1170px;
+ width: 90px;
+ height: 90px;
+}
+.shop_armor_mystery_201412 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
background-position: -759px -1421px;
width: 68px;
height: 68px;
}
-.shop_head_mystery_201609 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
+.shop_head_mystery_201412 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
background-position: -828px -1421px;
width: 68px;
height: 68px;
}
-.shop_set_mystery_201609 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
+.shop_set_mystery_201412 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
background-position: -897px -1421px;
width: 68px;
height: 68px;
}
-.slim_armor_mystery_201609 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
+.slim_armor_mystery_201412 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -273px -1170px;
+ width: 90px;
+ height: 90px;
+}
+.broad_armor_mystery_201501 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -364px -1170px;
+ width: 90px;
+ height: 90px;
+}
+.head_mystery_201501 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -455px -1170px;
+ width: 90px;
+ height: 90px;
+}
+.shop_armor_mystery_201501 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -966px -1421px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_mystery_201501 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1035px -1421px;
+ width: 68px;
+ height: 68px;
+}
+.shop_set_mystery_201501 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1104px -1421px;
+ width: 68px;
+ height: 68px;
+}
+.slim_armor_mystery_201501 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -546px -1170px;
+ width: 90px;
+ height: 90px;
+}
+.headAccessory_mystery_201502 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -637px -1170px;
+ width: 90px;
+ height: 90px;
+}
+.shop_headAccessory_mystery_201502 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1173px -1421px;
+ width: 68px;
+ height: 68px;
+}
+.shop_set_mystery_201502 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1242px -1421px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_mystery_201502 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1311px -1421px;
+ width: 68px;
+ height: 68px;
+}
+.weapon_mystery_201502 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -728px -1170px;
+ width: 90px;
+ height: 90px;
+}
+.broad_armor_mystery_201503 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -819px -1170px;
+ width: 90px;
+ height: 90px;
+}
+.eyewear_mystery_201503 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -910px -1170px;
+ width: 90px;
+ height: 90px;
+}
+.shop_armor_mystery_201503 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1380px -1421px;
+ width: 68px;
+ height: 68px;
+}
+.shop_eyewear_mystery_201503 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1490px 0px;
+ width: 68px;
+ height: 68px;
+}
+.shop_set_mystery_201503 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1490px -69px;
+ width: 68px;
+ height: 68px;
+}
+.slim_armor_mystery_201503 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1001px -1170px;
+ width: 90px;
+ height: 90px;
+}
+.back_mystery_201504 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1092px -1170px;
+ width: 90px;
+ height: 90px;
+}
+.broad_armor_mystery_201504 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1183px -1170px;
+ width: 90px;
+ height: 90px;
+}
+.shop_armor_mystery_201504 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1490px -138px;
+ width: 68px;
+ height: 68px;
+}
+.shop_back_mystery_201504 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1490px -207px;
+ width: 68px;
+ height: 68px;
+}
+.shop_set_mystery_201504 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1490px -276px;
+ width: 68px;
+ height: 68px;
+}
+.slim_armor_mystery_201504 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1308px 0px;
+ width: 90px;
+ height: 90px;
+}
+.head_mystery_201505 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1308px -91px;
+ width: 90px;
+ height: 90px;
+}
+.shop_head_mystery_201505 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1490px -345px;
+ width: 68px;
+ height: 68px;
+}
+.shop_set_mystery_201505 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1490px -414px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_mystery_201505 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1490px -483px;
+ width: 68px;
+ height: 68px;
+}
+.weapon_mystery_201505 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1308px -182px;
+ width: 90px;
+ height: 90px;
+}
+.broad_armor_mystery_201506 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -926px -364px;
+ width: 90px;
+ height: 105px;
+}
+.eyewear_mystery_201506 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -926px -470px;
+ width: 90px;
+ height: 105px;
+}
+.shop_armor_mystery_201506 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1490px -552px;
+ width: 68px;
+ height: 68px;
+}
+.shop_eyewear_mystery_201506 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1490px -621px;
+ width: 68px;
+ height: 68px;
+}
+.shop_set_mystery_201506 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1490px -690px;
+ width: 68px;
+ height: 68px;
+}
+.slim_armor_mystery_201506 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -926px -576px;
+ width: 90px;
+ height: 105px;
+}
+.back_mystery_201507 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -926px -682px;
+ width: 90px;
+ height: 105px;
+}
+.eyewear_mystery_201507 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: 0px -876px;
+ width: 90px;
+ height: 105px;
+}
+.shop_back_mystery_201507 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1490px -759px;
+ width: 68px;
+ height: 68px;
+}
+.shop_eyewear_mystery_201507 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1490px -828px;
+ width: 68px;
+ height: 68px;
+}
+.shop_set_mystery_201507 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1490px -897px;
+ width: 68px;
+ height: 68px;
+}
+.broad_armor_mystery_201508 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -891px -876px;
+ width: 93px;
+ height: 90px;
+}
+.head_mystery_201508 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -91px -982px;
+ width: 93px;
+ height: 90px;
+}
+.shop_armor_mystery_201508 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1490px -966px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_mystery_201508 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1490px -1035px;
+ width: 68px;
+ height: 68px;
+}
+.shop_set_mystery_201508 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1490px -1104px;
+ width: 68px;
+ height: 68px;
+}
+.slim_armor_mystery_201508 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -185px -982px;
+ width: 93px;
+ height: 90px;
+}
+.broad_armor_mystery_201509 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1308px -273px;
+ width: 90px;
+ height: 90px;
+}
+.head_mystery_201509 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1308px -364px;
+ width: 90px;
+ height: 90px;
+}
+.shop_armor_mystery_201509 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1490px -1173px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_mystery_201509 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1490px -1242px;
+ width: 68px;
+ height: 68px;
+}
+.shop_set_mystery_201509 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1490px -1311px;
+ width: 68px;
+ height: 68px;
+}
+.slim_armor_mystery_201509 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1308px -455px;
+ width: 90px;
+ height: 90px;
+}
+.back_mystery_201510 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -91px -876px;
+ width: 105px;
+ height: 90px;
+}
+.headAccessory_mystery_201510 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
background-position: -279px -982px;
width: 93px;
height: 90px;
}
+.shop_back_mystery_201510 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1490px -1380px;
+ width: 68px;
+ height: 68px;
+}
+.shop_headAccessory_mystery_201510 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: 0px -1490px;
+ width: 68px;
+ height: 68px;
+}
+.shop_set_mystery_201510 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -69px -1490px;
+ width: 68px;
+ height: 68px;
+}
+.broad_armor_mystery_201511 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1308px -546px;
+ width: 90px;
+ height: 90px;
+}
+.head_mystery_201511 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1308px -637px;
+ width: 90px;
+ height: 90px;
+}
+.shop_armor_mystery_201511 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -138px -1490px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_mystery_201511 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -207px -1490px;
+ width: 68px;
+ height: 68px;
+}
+.shop_set_mystery_201511 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -276px -1490px;
+ width: 68px;
+ height: 68px;
+}
+.slim_armor_mystery_201511 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1308px -728px;
+ width: 90px;
+ height: 90px;
+}
+.broad_armor_mystery_201512 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1308px -819px;
+ width: 90px;
+ height: 90px;
+}
+.head_mystery_201512 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1308px -910px;
+ width: 90px;
+ height: 90px;
+}
+.shop_armor_mystery_201512 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -345px -1490px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_mystery_201512 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -414px -1490px;
+ width: 68px;
+ height: 68px;
+}
+.shop_set_mystery_201512 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -483px -1490px;
+ width: 68px;
+ height: 68px;
+}
+.slim_armor_mystery_201512 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1308px -1001px;
+ width: 90px;
+ height: 90px;
+}
+.head_mystery_201601 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -345px 0px;
+ width: 120px;
+ height: 90px;
+}
+.shield_mystery_201601 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -345px -91px;
+ width: 120px;
+ height: 90px;
+}
+.shop_head_mystery_201601 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -552px -1490px;
+ width: 68px;
+ height: 68px;
+}
+.shop_set_mystery_201601 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -621px -1490px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_mystery_201601 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -690px -1490px;
+ width: 68px;
+ height: 68px;
+}
+.back_mystery_201602 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1308px -1092px;
+ width: 90px;
+ height: 90px;
+}
+.head_mystery_201602 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: 0px -1261px;
+ width: 90px;
+ height: 90px;
+}
+.shop_back_mystery_201602 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -759px -1490px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_mystery_201602 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -828px -1490px;
+ width: 68px;
+ height: 68px;
+}
+.shop_set_mystery_201602 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -897px -1490px;
+ width: 68px;
+ height: 68px;
+}
+.broad_armor_mystery_201603 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -91px -1261px;
+ width: 90px;
+ height: 90px;
+}
+.head_mystery_201603 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -182px -1261px;
+ width: 90px;
+ height: 90px;
+}
+.shop_armor_mystery_201603 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -966px -1490px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_mystery_201603 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1035px -1490px;
+ width: 68px;
+ height: 68px;
+}
+.shop_set_mystery_201603 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1104px -1490px;
+ width: 68px;
+ height: 68px;
+}
+.slim_armor_mystery_201603 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -273px -1261px;
+ width: 90px;
+ height: 90px;
+}
+.broad_armor_mystery_201604 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -373px -982px;
+ width: 93px;
+ height: 90px;
+}
+.head_mystery_201604 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -467px -982px;
+ width: 93px;
+ height: 90px;
+}
+.shop_armor_mystery_201604 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1173px -1490px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_mystery_201604 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1242px -1490px;
+ width: 68px;
+ height: 68px;
+}
+.shop_set_mystery_201604 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1311px -1490px;
+ width: 68px;
+ height: 68px;
+}
+.slim_armor_mystery_201604 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -561px -982px;
+ width: 93px;
+ height: 90px;
+}
+.broad_armor_mystery_201605 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -364px -1261px;
+ width: 90px;
+ height: 90px;
+}
+.head_mystery_201605 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -455px -1261px;
+ width: 90px;
+ height: 90px;
+}
+.shop_armor_mystery_201605 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1380px -1490px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_mystery_201605 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1449px -1490px;
+ width: 68px;
+ height: 68px;
+}
+.shop_set_mystery_201605 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1559px 0px;
+ width: 68px;
+ height: 68px;
+}
+.slim_armor_mystery_201605 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -546px -1261px;
+ width: 90px;
+ height: 90px;
+}
+.broad_armor_mystery_201606 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1032px 0px;
+ width: 90px;
+ height: 105px;
+}
+.head_mystery_201606 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -637px -1261px;
+ width: 90px;
+ height: 90px;
+}
+.shop_armor_mystery_201606 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1559px -69px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_mystery_201606 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1559px -138px;
+ width: 68px;
+ height: 68px;
+}
+.shop_set_mystery_201606 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1559px -207px;
+ width: 68px;
+ height: 68px;
+}
+.slim_armor_mystery_201606 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1032px -106px;
+ width: 90px;
+ height: 105px;
+}
+.broad_armor_mystery_201607 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -728px -1261px;
+ width: 90px;
+ height: 90px;
+}
+.head_mystery_201607 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -819px -1261px;
+ width: 90px;
+ height: 90px;
+}
+.shop_armor_mystery_201607 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1559px -276px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_mystery_201607 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1559px -345px;
+ width: 68px;
+ height: 68px;
+}
+.shop_set_mystery_201607 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1559px -414px;
+ width: 68px;
+ height: 68px;
+}
+.slim_armor_mystery_201607 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -910px -1261px;
+ width: 90px;
+ height: 90px;
+}
+.back_mystery_201608 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -655px -982px;
+ width: 93px;
+ height: 90px;
+}
+.head_mystery_201608 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -749px -982px;
+ width: 93px;
+ height: 90px;
+}
+.shop_back_mystery_201608 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1559px -483px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_mystery_201608 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1559px -552px;
+ width: 68px;
+ height: 68px;
+}
+.shop_set_mystery_201608 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1559px -621px;
+ width: 68px;
+ height: 68px;
+}
+.broad_armor_mystery_201609 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -843px -982px;
+ width: 93px;
+ height: 90px;
+}
+.head_mystery_201609 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -937px -982px;
+ width: 93px;
+ height: 90px;
+}
+.shop_armor_mystery_201609 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1559px -690px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_mystery_201609 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1559px -759px;
+ width: 68px;
+ height: 68px;
+}
+.shop_set_mystery_201609 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1559px -828px;
+ width: 68px;
+ height: 68px;
+}
+.slim_armor_mystery_201609 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1123px 0px;
+ width: 93px;
+ height: 90px;
+}
.broad_armor_mystery_201610 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
background-position: -1032px -424px;
width: 90px;
height: 99px;
}
.head_mystery_201610 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
background-position: -1032px -524px;
width: 90px;
height: 99px;
}
.shop_armor_mystery_201610 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1173px -1421px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1559px -897px;
width: 68px;
height: 68px;
}
.shop_head_mystery_201610 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1242px -1421px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1559px -966px;
width: 68px;
height: 68px;
}
.shop_set_mystery_201610 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1311px -1421px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1559px -1035px;
width: 68px;
height: 68px;
}
.slim_armor_mystery_201610 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
background-position: -1032px -624px;
width: 90px;
height: 99px;
}
.head_mystery_201611 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1217px -728px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1001px -1261px;
width: 90px;
height: 90px;
}
.shop_head_mystery_201611 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1490px -69px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1559px -1104px;
width: 68px;
height: 68px;
}
.shop_set_mystery_201611 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1490px -138px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1559px -1173px;
width: 68px;
height: 68px;
}
.shop_weapon_mystery_201611 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1490px -207px;
- width: 68px;
- height: 68px;
-}
-.weapon_mystery_201611 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1123px -273px;
- width: 90px;
- height: 90px;
-}
-.broad_armor_mystery_201612 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1217px -910px;
- width: 90px;
- height: 90px;
-}
-.head_mystery_201612 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1217px -1001px;
- width: 90px;
- height: 90px;
-}
-.shop_armor_mystery_201612 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1490px -483px;
- width: 68px;
- height: 68px;
-}
-.shop_head_mystery_201612 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1490px -552px;
- width: 68px;
- height: 68px;
-}
-.shop_set_mystery_201612 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1490px -621px;
- width: 68px;
- height: 68px;
-}
-.slim_armor_mystery_201612 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: 0px -1170px;
- width: 90px;
- height: 90px;
-}
-.eyewear_mystery_201701 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -926px -667px;
- width: 90px;
- height: 105px;
-}
-.shield_mystery_201701 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -926px -561px;
- width: 90px;
- height: 105px;
-}
-.shop_eyewear_mystery_201701 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1490px -897px;
- width: 68px;
- height: 68px;
-}
-.shop_set_mystery_201701 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1490px -966px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_mystery_201701 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1490px -1035px;
- width: 68px;
- height: 68px;
-}
-.back_mystery_201702 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -273px -1170px;
- width: 90px;
- height: 90px;
-}
-.head_mystery_201702 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -364px -1170px;
- width: 90px;
- height: 90px;
-}
-.shop_back_mystery_201702 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1490px -1242px;
- width: 68px;
- height: 68px;
-}
-.shop_head_mystery_201702 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1490px -1311px;
- width: 68px;
- height: 68px;
-}
-.shop_set_mystery_201702 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1490px -1380px;
- width: 68px;
- height: 68px;
-}
-.broad_armor_mystery_201703 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -455px -1170px;
- width: 90px;
- height: 90px;
-}
-.head_mystery_201703 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -546px -1170px;
- width: 90px;
- height: 90px;
-}
-.shop_armor_mystery_201703 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -138px -1490px;
- width: 68px;
- height: 68px;
-}
-.shop_head_mystery_201703 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -207px -1490px;
- width: 68px;
- height: 68px;
-}
-.shop_set_mystery_201703 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -276px -1490px;
- width: 68px;
- height: 68px;
-}
-.slim_armor_mystery_201703 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -637px -1170px;
- width: 90px;
- height: 90px;
-}
-.back_mystery_201704 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -728px -1170px;
- width: 90px;
- height: 90px;
-}
-.broad_armor_mystery_201704 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -819px -1170px;
- width: 90px;
- height: 90px;
-}
-.shop_armor_mystery_201704 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -552px -1490px;
- width: 68px;
- height: 68px;
-}
-.shop_back_mystery_201704 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -621px -1490px;
- width: 68px;
- height: 68px;
-}
-.shop_set_mystery_201704 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -690px -1490px;
- width: 68px;
- height: 68px;
-}
-.slim_armor_mystery_201704 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -910px -1170px;
- width: 90px;
- height: 90px;
-}
-.body_mystery_201705 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1001px -1170px;
- width: 90px;
- height: 90px;
-}
-.head_mystery_201705 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1092px -1170px;
- width: 90px;
- height: 90px;
-}
-.shop_body_mystery_201705 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -966px -1490px;
- width: 68px;
- height: 68px;
-}
-.shop_head_mystery_201705 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1035px -1490px;
- width: 68px;
- height: 68px;
-}
-.shop_set_mystery_201705 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1104px -1490px;
- width: 68px;
- height: 68px;
-}
-.back_mystery_201706 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -811px -455px;
- width: 111px;
- height: 90px;
-}
-.body_mystery_201706 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -811px -364px;
- width: 111px;
- height: 90px;
-}
-.shop_back_mystery_201706 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1311px -1490px;
- width: 68px;
- height: 68px;
-}
-.shop_body_mystery_201706 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1380px -1490px;
- width: 68px;
- height: 68px;
-}
-.shop_set_mystery_201706 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1449px -1490px;
- width: 68px;
- height: 68px;
-}
-.broad_armor_mystery_201707 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -926px -288px;
- width: 105px;
- height: 90px;
-}
-.head_mystery_201707 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -926px -197px;
- width: 105px;
- height: 90px;
-}
-.shop_armor_mystery_201707 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1399px -1299px;
- width: 40px;
- height: 40px;
-}
-.shop_head_mystery_201707 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1490px -1449px;
- width: 40px;
- height: 40px;
-}
-.shop_set_mystery_201707 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1559px -276px;
- width: 68px;
- height: 68px;
-}
-.slim_armor_mystery_201707 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -926px 0px;
- width: 105px;
- height: 90px;
-}
-.shield_mystery_201708 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1308px -455px;
- width: 90px;
- height: 90px;
-}
-.shop_set_mystery_201708 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1559px -483px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_mystery_201708 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1559px -1518px;
- width: 40px;
- height: 40px;
-}
-.shop_weapon_mystery_201708 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1628px -1587px;
- width: 40px;
- height: 40px;
-}
-.weapon_mystery_201708 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1308px -728px;
- width: 90px;
- height: 90px;
-}
-.back_mystery_201709 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -581px -91px;
- width: 114px;
- height: 90px;
-}
-.shield_mystery_201709 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -581px -182px;
- width: 114px;
- height: 90px;
-}
-.shop_back_mystery_201709 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1559px -897px;
- width: 68px;
- height: 68px;
-}
-.shop_set_mystery_201709 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1559px -966px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_mystery_201709 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1559px -1035px;
- width: 68px;
- height: 68px;
-}
-.broad_armor_mystery_201710 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -937px -982px;
- width: 93px;
- height: 90px;
-}
-.head_mystery_201710 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1123px 0px;
- width: 93px;
- height: 90px;
-}
-.shop_armor_mystery_201710 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
background-position: -1559px -1242px;
width: 68px;
height: 68px;
}
-.shop_head_mystery_201710 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
+.weapon_mystery_201611 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1092px -1261px;
+ width: 90px;
+ height: 90px;
+}
+.broad_armor_mystery_201612 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1183px -1261px;
+ width: 90px;
+ height: 90px;
+}
+.head_mystery_201612 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1274px -1261px;
+ width: 90px;
+ height: 90px;
+}
+.shop_armor_mystery_201612 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
background-position: -1559px -1311px;
width: 68px;
height: 68px;
}
-.shop_set_mystery_201710 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
+.shop_head_mystery_201612 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
background-position: -1559px -1380px;
width: 68px;
height: 68px;
}
-.slim_armor_mystery_201710 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1123px -91px;
- width: 93px;
+.shop_set_mystery_201612 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1559px -1449px;
+ width: 68px;
+ height: 68px;
+}
+.slim_armor_mystery_201612 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1399px 0px;
+ width: 90px;
height: 90px;
}
-.body_mystery_201711 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -581px -273px;
- width: 114px;
- height: 90px;
+.eyewear_mystery_201701 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1032px -212px;
+ width: 90px;
+ height: 105px;
}
-.broad_armor_mystery_201711 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -581px -364px;
- width: 114px;
- height: 90px;
+.shield_mystery_201701 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1032px -318px;
+ width: 90px;
+ height: 105px;
}
-.shop_armor_mystery_201711 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
+.shop_eyewear_mystery_201701 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: 0px -1559px;
+ width: 68px;
+ height: 68px;
+}
+.shop_set_mystery_201701 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -69px -1559px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_mystery_201701 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
background-position: -138px -1559px;
width: 68px;
height: 68px;
}
-.shop_body_mystery_201711 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
+.back_mystery_201702 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1399px -91px;
+ width: 90px;
+ height: 90px;
+}
+.head_mystery_201702 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1399px -182px;
+ width: 90px;
+ height: 90px;
+}
+.shop_back_mystery_201702 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
background-position: -207px -1559px;
width: 68px;
height: 68px;
}
-.shop_set_mystery_201711 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
+.shop_head_mystery_201702 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
background-position: -276px -1559px;
width: 68px;
height: 68px;
}
-.slim_armor_mystery_201711 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -811px -182px;
- width: 114px;
+.shop_set_mystery_201702 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -345px -1559px;
+ width: 68px;
+ height: 68px;
+}
+.broad_armor_mystery_201703 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1399px -273px;
+ width: 90px;
height: 90px;
}
-.broad_armor_mystery_201712 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -811px -91px;
- width: 114px;
+.head_mystery_201703 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1399px -364px;
+ width: 90px;
height: 90px;
}
-.head_mystery_201712 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -811px 0px;
- width: 114px;
- height: 90px;
+.shop_armor_mystery_201703 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -414px -1559px;
+ width: 68px;
+ height: 68px;
}
-.shop_armor_mystery_201712 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
+.shop_head_mystery_201703 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -483px -1559px;
+ width: 68px;
+ height: 68px;
+}
+.shop_set_mystery_201703 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
background-position: -552px -1559px;
width: 68px;
height: 68px;
}
-.shop_head_mystery_201712 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
+.slim_armor_mystery_201703 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1399px -455px;
+ width: 90px;
+ height: 90px;
+}
+.back_mystery_201704 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1399px -546px;
+ width: 90px;
+ height: 90px;
+}
+.broad_armor_mystery_201704 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1399px -637px;
+ width: 90px;
+ height: 90px;
+}
+.shop_armor_mystery_201704 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
background-position: -621px -1559px;
width: 68px;
height: 68px;
}
-.shop_set_mystery_201712 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
+.shop_back_mystery_201704 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
background-position: -690px -1559px;
width: 68px;
height: 68px;
}
-.slim_armor_mystery_201712 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -690px -697px;
- width: 114px;
+.shop_set_mystery_201704 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -759px -1559px;
+ width: 68px;
+ height: 68px;
+}
+.slim_armor_mystery_201704 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1399px -728px;
+ width: 90px;
height: 90px;
}
-.back_mystery_201801 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -575px -697px;
- width: 114px;
+.body_mystery_201705 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1399px -819px;
+ width: 90px;
height: 90px;
}
-.headAccessory_mystery_201801 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -460px -697px;
- width: 114px;
+.head_mystery_201705 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1399px -910px;
+ width: 90px;
height: 90px;
}
-.shop_back_mystery_201801 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
+.shop_body_mystery_201705 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -828px -1559px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_mystery_201705 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -897px -1559px;
+ width: 68px;
+ height: 68px;
+}
+.shop_set_mystery_201705 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
background-position: -966px -1559px;
width: 68px;
height: 68px;
}
-.shop_headAccessory_mystery_201801 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
+.back_mystery_201706 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -811px -364px;
+ width: 111px;
+ height: 90px;
+}
+.body_mystery_201706 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -811px -455px;
+ width: 111px;
+ height: 90px;
+}
+.shop_back_mystery_201706 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
background-position: -1035px -1559px;
width: 68px;
height: 68px;
}
-.shop_set_mystery_201801 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
+.shop_body_mystery_201706 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
background-position: -1104px -1559px;
width: 68px;
height: 68px;
}
-.broad_armor_mystery_201802 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -345px -697px;
- width: 114px;
+.shop_set_mystery_201706 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1173px -1559px;
+ width: 68px;
+ height: 68px;
+}
+.broad_armor_mystery_201707 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -197px -876px;
+ width: 105px;
height: 90px;
}
-.head_mystery_201802 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -230px -697px;
- width: 114px;
+.head_mystery_201707 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -303px -876px;
+ width: 105px;
height: 90px;
}
-.shield_mystery_201802 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -115px -697px;
- width: 114px;
+.shop_armor_mystery_201707 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1628px -1587px;
+ width: 40px;
+ height: 40px;
+}
+.shop_head_mystery_201707 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1559px -1518px;
+ width: 40px;
+ height: 40px;
+}
+.shop_set_mystery_201707 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1242px -1559px;
+ width: 68px;
+ height: 68px;
+}
+.slim_armor_mystery_201707 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -409px -876px;
+ width: 105px;
height: 90px;
}
-.shop_armor_mystery_201802 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1380px -1559px;
- width: 68px;
- height: 68px;
-}
-.shop_head_mystery_201802 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1449px -1559px;
- width: 68px;
- height: 68px;
-}
-.shop_set_mystery_201802 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1518px -1559px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_mystery_201802 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1628px 0px;
- width: 68px;
- height: 68px;
-}
-.slim_armor_mystery_201802 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: 0px -697px;
- width: 114px;
+.shield_mystery_201708 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1399px -1001px;
+ width: 90px;
height: 90px;
}
-.back_mystery_201803 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -690px -606px;
- width: 114px;
+.shop_set_mystery_201708 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1311px -1559px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_mystery_201708 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1490px -1449px;
+ width: 40px;
+ height: 40px;
+}
+.shop_weapon_mystery_201708 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1032px -918px;
+ width: 40px;
+ height: 40px;
+}
+.weapon_mystery_201708 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1399px -1092px;
+ width: 90px;
height: 90px;
}
-.head_mystery_201803 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -575px -606px;
- width: 114px;
- height: 90px;
-}
-.shop_back_mystery_201803 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1628px -276px;
- width: 68px;
- height: 68px;
-}
-.shop_head_mystery_201803 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1628px -345px;
- width: 68px;
- height: 68px;
-}
-.shop_set_mystery_201803 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1628px -414px;
- width: 68px;
- height: 68px;
-}
-.back_mystery_201804 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -460px -606px;
- width: 114px;
- height: 90px;
-}
-.headAccessory_mystery_201804 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -345px -606px;
- width: 114px;
- height: 90px;
-}
-.shop_back_mystery_201804 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1628px -621px;
- width: 68px;
- height: 68px;
-}
-.shop_headAccessory_mystery_201804 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1628px -690px;
- width: 68px;
- height: 68px;
-}
-.shop_set_mystery_201804 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1628px -759px;
- width: 68px;
- height: 68px;
-}
-.back_mystery_201805 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -230px -606px;
- width: 114px;
- height: 90px;
-}
-.head_mystery_201805 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: 0px -606px;
- width: 114px;
- height: 90px;
-}
-.shop_back_mystery_201805 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1628px -966px;
- width: 68px;
- height: 68px;
-}
-.shop_head_mystery_201805 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1628px -1035px;
- width: 68px;
- height: 68px;
-}
-.shop_set_mystery_201805 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1628px -1104px;
- width: 68px;
- height: 68px;
-}
-.broad_armor_mystery_201806 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -230px -121px;
- width: 114px;
- height: 120px;
-}
-.head_mystery_201806 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -115px -121px;
- width: 114px;
- height: 120px;
-}
-.shop_armor_mystery_201806 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1628px -1311px;
- width: 68px;
- height: 68px;
-}
-.shop_head_mystery_201806 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1628px -1380px;
- width: 68px;
- height: 68px;
-}
-.shop_set_mystery_201806 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1628px -1449px;
- width: 68px;
- height: 68px;
-}
-.slim_armor_mystery_201806 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: 0px -121px;
- width: 114px;
- height: 120px;
-}
-.broad_armor_mystery_201807 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -230px 0px;
- width: 114px;
- height: 120px;
-}
-.head_mystery_201807 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -115px 0px;
- width: 114px;
- height: 120px;
-}
-.shop_armor_mystery_201807 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -138px -1628px;
- width: 68px;
- height: 68px;
-}
-.shop_head_mystery_201807 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -207px -1628px;
- width: 68px;
- height: 68px;
-}
-.shop_set_mystery_201807 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -276px -1628px;
- width: 68px;
- height: 68px;
-}
-.slim_armor_mystery_201807 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: 0px 0px;
- width: 114px;
- height: 120px;
-}
-.broad_armor_mystery_201808 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
+.back_mystery_201709 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
background-position: -575px -515px;
width: 114px;
height: 90px;
}
+.shield_mystery_201709 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -696px 0px;
+ width: 114px;
+ height: 90px;
+}
+.shop_back_mystery_201709 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1380px -1559px;
+ width: 68px;
+ height: 68px;
+}
+.shop_set_mystery_201709 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1449px -1559px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_mystery_201709 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1518px -1559px;
+ width: 68px;
+ height: 68px;
+}
+.broad_armor_mystery_201710 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1123px -91px;
+ width: 93px;
+ height: 90px;
+}
+.head_mystery_201710 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1123px -182px;
+ width: 93px;
+ height: 90px;
+}
+.shop_armor_mystery_201710 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1628px 0px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_mystery_201710 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1628px -69px;
+ width: 68px;
+ height: 68px;
+}
+.shop_set_mystery_201710 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1628px -138px;
+ width: 68px;
+ height: 68px;
+}
+.slim_armor_mystery_201710 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1123px -273px;
+ width: 93px;
+ height: 90px;
+}
+.body_mystery_201711 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -696px -91px;
+ width: 114px;
+ height: 90px;
+}
+.broad_armor_mystery_201711 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -696px -182px;
+ width: 114px;
+ height: 90px;
+}
+.shop_armor_mystery_201711 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1628px -207px;
+ width: 68px;
+ height: 68px;
+}
+.shop_body_mystery_201711 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1628px -276px;
+ width: 68px;
+ height: 68px;
+}
+.shop_set_mystery_201711 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1628px -345px;
+ width: 68px;
+ height: 68px;
+}
+.slim_armor_mystery_201711 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -696px -273px;
+ width: 114px;
+ height: 90px;
+}
+.broad_armor_mystery_201712 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -696px -364px;
+ width: 114px;
+ height: 90px;
+}
+.head_mystery_201712 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -696px -455px;
+ width: 114px;
+ height: 90px;
+}
+.shop_armor_mystery_201712 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1628px -414px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_mystery_201712 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1628px -483px;
+ width: 68px;
+ height: 68px;
+}
+.shop_set_mystery_201712 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1628px -552px;
+ width: 68px;
+ height: 68px;
+}
+.slim_armor_mystery_201712 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: 0px -606px;
+ width: 114px;
+ height: 90px;
+}
+.back_mystery_201801 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -115px -606px;
+ width: 114px;
+ height: 90px;
+}
+.headAccessory_mystery_201801 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -230px -606px;
+ width: 114px;
+ height: 90px;
+}
+.shop_back_mystery_201801 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1628px -621px;
+ width: 68px;
+ height: 68px;
+}
+.shop_headAccessory_mystery_201801 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1628px -690px;
+ width: 68px;
+ height: 68px;
+}
+.shop_set_mystery_201801 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1628px -759px;
+ width: 68px;
+ height: 68px;
+}
+.broad_armor_mystery_201802 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -345px -606px;
+ width: 114px;
+ height: 90px;
+}
+.head_mystery_201802 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -460px -606px;
+ width: 114px;
+ height: 90px;
+}
+.shield_mystery_201802 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -575px -606px;
+ width: 114px;
+ height: 90px;
+}
+.shop_armor_mystery_201802 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1628px -828px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_mystery_201802 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1628px -897px;
+ width: 68px;
+ height: 68px;
+}
+.shop_set_mystery_201802 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1628px -966px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_mystery_201802 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1628px -1035px;
+ width: 68px;
+ height: 68px;
+}
+.slim_armor_mystery_201802 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -690px -606px;
+ width: 114px;
+ height: 90px;
+}
+.back_mystery_201803 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: 0px -697px;
+ width: 114px;
+ height: 90px;
+}
+.head_mystery_201803 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -115px -697px;
+ width: 114px;
+ height: 90px;
+}
+.shop_back_mystery_201803 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1628px -1104px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_mystery_201803 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1628px -1173px;
+ width: 68px;
+ height: 68px;
+}
+.shop_set_mystery_201803 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1628px -1242px;
+ width: 68px;
+ height: 68px;
+}
+.back_mystery_201804 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -230px -697px;
+ width: 114px;
+ height: 90px;
+}
+.headAccessory_mystery_201804 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -345px -697px;
+ width: 114px;
+ height: 90px;
+}
+.shop_back_mystery_201804 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1628px -1311px;
+ width: 68px;
+ height: 68px;
+}
+.shop_headAccessory_mystery_201804 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1628px -1380px;
+ width: 68px;
+ height: 68px;
+}
+.shop_set_mystery_201804 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1628px -1449px;
+ width: 68px;
+ height: 68px;
+}
+.back_mystery_201805 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -460px -697px;
+ width: 114px;
+ height: 90px;
+}
+.head_mystery_201805 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -575px -697px;
+ width: 114px;
+ height: 90px;
+}
+.shop_back_mystery_201805 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -1628px -1518px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_mystery_201805 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: 0px -1628px;
+ width: 68px;
+ height: 68px;
+}
+.shop_set_mystery_201805 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -69px -1628px;
+ width: 68px;
+ height: 68px;
+}
+.broad_armor_mystery_201806 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: 0px 0px;
+ width: 114px;
+ height: 120px;
+}
+.head_mystery_201806 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -115px 0px;
+ width: 114px;
+ height: 120px;
+}
+.shop_armor_mystery_201806 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -138px -1628px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_mystery_201806 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -207px -1628px;
+ width: 68px;
+ height: 68px;
+}
+.shop_set_mystery_201806 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -276px -1628px;
+ width: 68px;
+ height: 68px;
+}
+.slim_armor_mystery_201806 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -230px 0px;
+ width: 114px;
+ height: 120px;
+}
+.broad_armor_mystery_201807 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: 0px -121px;
+ width: 114px;
+ height: 120px;
+}
+.head_mystery_201807 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -115px -121px;
+ width: 114px;
+ height: 120px;
+}
+.shop_armor_mystery_201807 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -345px -1628px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_mystery_201807 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -414px -1628px;
+ width: 68px;
+ height: 68px;
+}
+.shop_set_mystery_201807 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -483px -1628px;
+ width: 68px;
+ height: 68px;
+}
+.slim_armor_mystery_201807 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -230px -121px;
+ width: 114px;
+ height: 120px;
+}
+.broad_armor_mystery_201808 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -690px -697px;
+ width: 114px;
+ height: 90px;
+}
.head_mystery_201808 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: 0px -424px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -811px 0px;
width: 114px;
height: 90px;
}
.shop_armor_mystery_201808 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
background-position: -552px -1628px;
width: 68px;
height: 68px;
}
.shop_head_mystery_201808 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
background-position: -621px -1628px;
width: 68px;
height: 68px;
}
.shop_set_mystery_201808 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
background-position: -690px -1628px;
width: 68px;
height: 68px;
}
.slim_armor_mystery_201808 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -345px -424px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -811px -91px;
width: 114px;
height: 90px;
}
.broad_armor_mystery_201809 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -230px -424px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -811px -182px;
width: 114px;
height: 90px;
}
.head_mystery_201809 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -115px -424px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -811px -273px;
width: 114px;
height: 90px;
}
.shop_armor_mystery_201809 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
- background-position: -1559px -138px;
- width: 68px;
- height: 68px;
-}
-.shop_head_mystery_201809 {
- background-image: url('~assets/images/sprites/spritesmith-main-8.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
background-position: -759px -1628px;
width: 68px;
height: 68px;
}
+.shop_head_mystery_201809 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-8.png');
+ background-position: -828px -1628px;
+ width: 68px;
+ height: 68px;
+}
diff --git a/website/client/assets/css/sprites/spritesmith-main-9.css b/website/client/src/assets/css/sprites/spritesmith-main-9.css
similarity index 58%
rename from website/client/assets/css/sprites/spritesmith-main-9.css
rename to website/client/src/assets/css/sprites/spritesmith-main-9.css
index fdc5cf660f..bee4b6aadf 100644
--- a/website/client/assets/css/sprites/spritesmith-main-9.css
+++ b/website/client/src/assets/css/sprites/spritesmith-main-9.css
@@ -1,2208 +1,2208 @@
.shop_set_mystery_201809 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1580px -345px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1420px -1274px;
width: 68px;
height: 68px;
}
.slim_armor_mystery_201809 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -575px -712px;
- width: 114px;
- height: 90px;
-}
-.broad_armor_mystery_201810 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -457px -273px;
- width: 114px;
- height: 90px;
-}
-.head_mystery_201810 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
background-position: 0px -348px;
width: 114px;
height: 90px;
}
-.shop_armor_mystery_201810 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: 0px -1640px;
- width: 68px;
- height: 68px;
-}
-.shop_head_mystery_201810 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1649px -1518px;
- width: 68px;
- height: 68px;
-}
-.shop_set_mystery_201810 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1649px -1449px;
- width: 68px;
- height: 68px;
-}
-.slim_armor_mystery_201810 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -802px -182px;
+.broad_armor_mystery_201810 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -115px -348px;
width: 114px;
height: 90px;
}
-.head_mystery_201811 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -802px -273px;
- width: 114px;
- height: 90px;
-}
-.shop_head_mystery_201811 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1649px -1380px;
- width: 68px;
- height: 68px;
-}
-.shop_set_mystery_201811 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1649px -1311px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_mystery_201811 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1649px -1173px;
- width: 68px;
- height: 68px;
-}
-.weapon_mystery_201811 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
+.head_mystery_201810 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
background-position: -230px -348px;
width: 114px;
height: 90px;
}
-.back_mystery_201812 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
+.shop_armor_mystery_201810 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1329px -1183px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_mystery_201810 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1238px -1092px;
+ width: 68px;
+ height: 68px;
+}
+.shop_set_mystery_201810 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1147px -1001px;
+ width: 68px;
+ height: 68px;
+}
+.slim_armor_mystery_201810 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
background-position: -457px 0px;
width: 114px;
height: 90px;
}
-.headAccessory_mystery_201812 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
+.head_mystery_201811 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
background-position: -457px -91px;
width: 114px;
height: 90px;
}
+.shop_head_mystery_201811 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -917px -819px;
+ width: 68px;
+ height: 68px;
+}
+.shop_set_mystery_201811 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -802px -637px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_mystery_201811 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -687px -546px;
+ width: 68px;
+ height: 68px;
+}
+.weapon_mystery_201811 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -457px -182px;
+ width: 114px;
+ height: 90px;
+}
+.back_mystery_201812 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -457px -273px;
+ width: 114px;
+ height: 90px;
+}
+.headAccessory_mystery_201812 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: 0px -439px;
+ width: 114px;
+ height: 90px;
+}
.shop_back_mystery_201812 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1649px -759px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -572px -455px;
width: 68px;
height: 68px;
}
.shop_headAccessory_mystery_201812 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1649px -345px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -457px -364px;
width: 68px;
height: 68px;
}
.shop_set_mystery_201812 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1449px -1571px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: 0px -1364px;
width: 68px;
height: 68px;
}
.body_mystery_201901 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
background-position: -115px -439px;
width: 114px;
height: 90px;
}
.head_mystery_201901 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
background-position: -230px -439px;
width: 114px;
height: 90px;
}
.shop_body_mystery_201901 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1380px -1571px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -69px -1364px;
width: 68px;
height: 68px;
}
.shop_head_mystery_201901 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1311px -1571px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -138px -1364px;
width: 68px;
height: 68px;
}
.shop_set_mystery_201901 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1242px -1571px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -207px -1364px;
width: 68px;
height: 68px;
}
.eyewear_mystery_201902 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -572px -182px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -345px -439px;
width: 114px;
height: 90px;
}
.shield_mystery_201902 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -572px -273px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -572px 0px;
width: 114px;
height: 90px;
}
.shop_eyewear_mystery_201902 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1173px -1571px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -276px -1364px;
width: 68px;
height: 68px;
}
.shop_set_mystery_201902 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1104px -1571px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -345px -1364px;
width: 68px;
height: 68px;
}
.shop_shield_mystery_201902 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1035px -1571px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -414px -1364px;
width: 68px;
height: 68px;
}
.broad_armor_mystery_201903 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -230px -530px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -572px -91px;
width: 114px;
height: 90px;
}
.head_mystery_201903 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -345px -530px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -572px -182px;
width: 114px;
height: 90px;
}
.shop_armor_mystery_201903 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -966px -1571px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -483px -1364px;
width: 68px;
height: 68px;
}
.shop_head_mystery_201903 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1580px -1311px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -552px -1364px;
width: 68px;
height: 68px;
}
.shop_set_mystery_201903 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1580px -1242px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -621px -1364px;
width: 68px;
height: 68px;
}
.slim_armor_mystery_201903 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -687px -182px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -572px -273px;
width: 114px;
height: 90px;
}
.broad_armor_mystery_201904 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -687px -273px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -572px -364px;
width: 114px;
height: 90px;
}
.head_mystery_201904 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -687px -364px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: 0px -530px;
width: 114px;
height: 90px;
}
.shop_armor_mystery_201904 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1580px -1173px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -690px -1364px;
width: 68px;
height: 68px;
}
.shop_head_mystery_201904 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1580px -1104px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -759px -1364px;
width: 68px;
height: 68px;
}
.shop_set_mystery_201904 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1580px -1035px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -828px -1364px;
width: 68px;
height: 68px;
}
.slim_armor_mystery_201904 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -230px -621px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -115px -530px;
width: 114px;
height: 90px;
}
.back_mystery_201905 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -345px -621px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -230px -530px;
width: 114px;
height: 90px;
}
.headAccessory_mystery_201905 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -460px -621px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -345px -530px;
width: 114px;
height: 90px;
}
.shop_back_mystery_201905 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1580px -966px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -897px -1364px;
width: 68px;
height: 68px;
}
.shop_headAccessory_mystery_201905 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1580px -897px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -966px -1364px;
width: 68px;
height: 68px;
}
.shop_set_mystery_201905 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1580px -828px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1035px -1364px;
width: 68px;
height: 68px;
}
.broad_armor_mystery_201906 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
background-position: 0px 0px;
width: 117px;
height: 120px;
}
.headAccessory_mystery_201906 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
background-position: -118px 0px;
width: 117px;
height: 120px;
}
.shop_armor_mystery_201906 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1649px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1104px -1364px;
width: 68px;
height: 68px;
}
.shop_headAccessory_mystery_201906 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1518px -1571px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1173px -1364px;
width: 68px;
height: 68px;
}
.shop_set_mystery_201906 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -897px -1571px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1242px -1364px;
width: 68px;
height: 68px;
}
.slim_armor_mystery_201906 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
background-position: -236px 0px;
width: 117px;
height: 120px;
}
.broad_armor_mystery_201907 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -115px -712px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -460px -530px;
width: 114px;
height: 90px;
}
.eyewear_mystery_201907 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -230px -712px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -687px 0px;
width: 114px;
height: 90px;
}
.head_mystery_201907 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -345px -712px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -687px -91px;
width: 114px;
height: 90px;
}
.shop_armor_mystery_201907 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -828px -1571px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1311px -1364px;
width: 68px;
height: 68px;
}
.shop_eyewear_mystery_201907 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -759px -1571px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1380px -1364px;
width: 68px;
height: 68px;
}
.shop_head_mystery_201907 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -690px -1571px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: 0px -1433px;
width: 68px;
height: 68px;
}
.shop_set_mystery_201907 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -552px -1571px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -69px -1433px;
width: 68px;
height: 68px;
}
.slim_armor_mystery_201907 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -115px -803px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -687px -182px;
width: 114px;
height: 90px;
}
.broad_armor_mystery_201908 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -230px -803px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -687px -273px;
width: 114px;
height: 90px;
}
.headAccessory_mystery_201908 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -345px -803px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -687px -364px;
width: 114px;
height: 90px;
}
.shop_armor_mystery_201908 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -483px -1571px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -138px -1433px;
width: 68px;
height: 68px;
}
.shop_headAccessory_mystery_201908 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -414px -1571px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -207px -1433px;
width: 68px;
height: 68px;
}
.shop_set_mystery_201908 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -345px -1571px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -276px -1433px;
width: 68px;
height: 68px;
}
.slim_armor_mystery_201908 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -917px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -687px -455px;
width: 114px;
height: 90px;
}
.broad_armor_mystery_201909 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -917px -91px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: 0px -621px;
width: 114px;
height: 90px;
}
.head_mystery_201909 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -917px -182px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -115px -621px;
width: 114px;
height: 90px;
}
.shop_armor_mystery_201909 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -276px -1571px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -345px -1433px;
width: 68px;
height: 68px;
}
.shop_head_mystery_201909 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -207px -1571px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -414px -1433px;
width: 68px;
height: 68px;
}
.shop_set_mystery_201909 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -138px -1571px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -483px -1433px;
width: 68px;
height: 68px;
}
.slim_armor_mystery_201909 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -917px -546px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -230px -621px;
width: 114px;
height: 90px;
}
.broad_armor_mystery_301404 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -273px -1091px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -805px -803px;
width: 90px;
height: 90px;
}
.eyewear_mystery_301404 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -182px -1091px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -920px -894px;
width: 90px;
height: 90px;
}
.head_mystery_301404 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -728px -985px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -182px -985px;
width: 90px;
height: 90px;
}
.shop_armor_mystery_301404 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1649px -69px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -552px -1433px;
width: 68px;
height: 68px;
}
.shop_eyewear_mystery_301404 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -621px -1571px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -621px -1433px;
width: 68px;
height: 68px;
}
.shop_head_mystery_301404 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -69px -1571px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -690px -1433px;
width: 68px;
height: 68px;
}
.shop_set_mystery_301404 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: 0px -1571px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -759px -1433px;
width: 68px;
height: 68px;
}
.shop_weapon_mystery_301404 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1580px -1449px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -828px -1433px;
width: 68px;
height: 68px;
}
.slim_armor_mystery_301404 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -637px -985px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -273px -985px;
width: 90px;
height: 90px;
}
.weapon_mystery_301404 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -546px -985px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -364px -985px;
width: 90px;
height: 90px;
}
.eyewear_mystery_301405 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1420px -273px;
- width: 90px;
- height: 90px;
-}
-.headAccessory_mystery_301405 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
background-position: -455px -985px;
width: 90px;
height: 90px;
}
+.headAccessory_mystery_301405 {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -637px -985px;
+ width: 90px;
+ height: 90px;
+}
.head_mystery_301405 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -546px -1273px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -546px -985px;
width: 90px;
height: 90px;
}
.shield_mystery_301405 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -910px -1182px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -728px -985px;
width: 90px;
height: 90px;
}
.shop_eyewear_mystery_301405 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1580px -690px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -897px -1433px;
width: 68px;
height: 68px;
}
.shop_headAccessory_mystery_301405 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1580px -138px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1035px -1433px;
width: 68px;
height: 68px;
}
.shop_head_mystery_301405 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1580px -759px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -966px -1433px;
width: 68px;
height: 68px;
}
.shop_set_mystery_301405 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1580px -207px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1104px -1433px;
width: 68px;
height: 68px;
}
.shop_shield_mystery_301405 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1580px -276px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1173px -1433px;
width: 68px;
height: 68px;
}
.broad_armor_mystery_301703 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1238px -637px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -819px -985px;
width: 90px;
height: 90px;
}
.eyewear_mystery_301703 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1420px -1092px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -910px -985px;
width: 90px;
height: 90px;
}
.head_mystery_301703 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1032px -358px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1032px -182px;
width: 114px;
height: 87px;
}
.shop_armor_mystery_301703 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1580px -1380px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1242px -1433px;
width: 68px;
height: 68px;
}
.shop_eyewear_mystery_301703 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -828px -1364px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1311px -1433px;
width: 68px;
height: 68px;
}
.shop_head_mystery_301703 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1580px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1380px -1433px;
width: 68px;
height: 68px;
}
.shop_set_mystery_301703 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1580px -69px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1511px 0px;
width: 68px;
height: 68px;
}
.slim_armor_mystery_301703 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1147px -637px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1001px -985px;
width: 90px;
height: 90px;
}
.broad_armor_mystery_301704 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1238px -91px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1147px 0px;
width: 90px;
height: 90px;
}
.head_mystery_301704 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -273px -1182px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1147px -91px;
width: 90px;
height: 90px;
}
.shield_mystery_301704 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -546px -1182px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1147px -182px;
width: 90px;
height: 90px;
}
.shop_armor_mystery_301704 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1580px -414px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1511px -69px;
width: 68px;
height: 68px;
}
.shop_head_mystery_301704 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1580px -483px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1511px -138px;
width: 68px;
height: 68px;
}
.shop_set_mystery_301704 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1580px -552px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1511px -207px;
width: 68px;
height: 68px;
}
.shop_shield_mystery_301704 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1580px -621px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1511px -276px;
width: 68px;
height: 68px;
}
.slim_armor_mystery_301704 {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1329px -728px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1147px -273px;
width: 90px;
height: 90px;
}
.head_special_piDay {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1032px -91px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -345px -621px;
width: 114px;
height: 90px;
}
.shield_special_piDay {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1032px 0px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -460px -621px;
width: 114px;
height: 90px;
}
.shop_head_special_piDay {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1649px -138px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1511px -345px;
width: 68px;
height: 68px;
}
.shop_shield_special_piDay {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1649px -207px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1511px -414px;
width: 68px;
height: 68px;
}
.broad_armor_special_spring2015Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1420px -364px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1147px -364px;
width: 90px;
height: 90px;
}
.broad_armor_special_spring2015Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1420px -455px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1147px -455px;
width: 90px;
height: 90px;
}
.broad_armor_special_spring2015Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1420px -728px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1147px -546px;
width: 90px;
height: 90px;
}
.broad_armor_special_spring2015Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1420px -819px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1147px -637px;
width: 90px;
height: 90px;
}
.broad_armor_special_spring2016Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1420px -910px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1147px -728px;
width: 90px;
height: 90px;
}
.broad_armor_special_spring2016Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1420px -1001px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1147px -819px;
width: 90px;
height: 90px;
}
.broad_armor_special_spring2016Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
background-position: -345px -348px;
width: 102px;
height: 90px;
}
.broad_armor_special_spring2016Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -920px -894px;
- width: 90px;
- height: 90px;
-}
-.broad_armor_special_spring2017Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -182px -985px;
- width: 90px;
- height: 90px;
-}
-.broad_armor_special_spring2017Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -273px -985px;
- width: 90px;
- height: 90px;
-}
-.broad_armor_special_spring2017Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -364px -985px;
- width: 90px;
- height: 90px;
-}
-.broad_armor_special_spring2017Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1032px -446px;
- width: 114px;
- height: 87px;
-}
-.broad_armor_special_spring2018Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -805px -894px;
- width: 114px;
- height: 90px;
-}
-.broad_armor_special_spring2018Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -690px -894px;
- width: 114px;
- height: 90px;
-}
-.broad_armor_special_spring2018Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -575px -894px;
- width: 114px;
- height: 90px;
-}
-.broad_armor_special_spring2018Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -460px -894px;
- width: 114px;
- height: 90px;
-}
-.broad_armor_special_spring2019Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -345px -894px;
- width: 114px;
- height: 90px;
-}
-.broad_armor_special_spring2019Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -230px -894px;
- width: 114px;
- height: 90px;
-}
-.broad_armor_special_spring2019Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -115px -894px;
- width: 114px;
- height: 90px;
-}
-.broad_armor_special_spring2019Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: 0px -894px;
- width: 114px;
- height: 90px;
-}
-.broad_armor_special_springHealer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -819px -985px;
- width: 90px;
- height: 90px;
-}
-.broad_armor_special_springMage {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -910px -985px;
- width: 90px;
- height: 90px;
-}
-.broad_armor_special_springRogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1001px -985px;
- width: 90px;
- height: 90px;
-}
-.broad_armor_special_springWarrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1147px 0px;
- width: 90px;
- height: 90px;
-}
-.headAccessory_special_spring2015Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -728px -1091px;
- width: 90px;
- height: 90px;
-}
-.headAccessory_special_spring2015Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -819px -1091px;
- width: 90px;
- height: 90px;
-}
-.headAccessory_special_spring2015Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -910px -1091px;
- width: 90px;
- height: 90px;
-}
-.headAccessory_special_spring2015Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1001px -1091px;
- width: 90px;
- height: 90px;
-}
-.headAccessory_special_spring2016Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1092px -1091px;
- width: 90px;
- height: 90px;
-}
-.headAccessory_special_spring2016Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1238px 0px;
- width: 90px;
- height: 90px;
-}
-.headAccessory_special_spring2016Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -690px -621px;
- width: 102px;
- height: 90px;
-}
-.headAccessory_special_spring2016Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1238px -182px;
- width: 90px;
- height: 90px;
-}
-.headAccessory_special_spring2017Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1238px -273px;
- width: 90px;
- height: 90px;
-}
-.headAccessory_special_spring2017Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1238px -364px;
- width: 90px;
- height: 90px;
-}
-.headAccessory_special_spring2017Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1238px -455px;
- width: 90px;
- height: 90px;
-}
-.headAccessory_special_spring2017Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1238px -546px;
- width: 90px;
- height: 90px;
-}
-.headAccessory_special_springHealer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -805px -803px;
- width: 90px;
- height: 90px;
-}
-.headAccessory_special_springMage {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1238px -728px;
- width: 90px;
- height: 90px;
-}
-.headAccessory_special_springRogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1238px -819px;
- width: 90px;
- height: 90px;
-}
-.headAccessory_special_springWarrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1238px -910px;
- width: 90px;
- height: 90px;
-}
-.head_special_spring2015Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1147px -91px;
- width: 90px;
- height: 90px;
-}
-.head_special_spring2015Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1147px -182px;
- width: 90px;
- height: 90px;
-}
-.head_special_spring2015Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1147px -273px;
- width: 90px;
- height: 90px;
-}
-.head_special_spring2015Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1147px -364px;
- width: 90px;
- height: 90px;
-}
-.head_special_spring2016Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1147px -455px;
- width: 90px;
- height: 90px;
-}
-.head_special_spring2016Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1147px -546px;
- width: 90px;
- height: 90px;
-}
-.head_special_spring2016Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -575px -530px;
- width: 102px;
- height: 90px;
-}
-.head_special_spring2016Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1147px -728px;
- width: 90px;
- height: 90px;
-}
-.head_special_spring2017Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1147px -819px;
- width: 90px;
- height: 90px;
-}
-.head_special_spring2017Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
background-position: -1147px -910px;
width: 90px;
height: 90px;
}
-.head_special_spring2017Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
+.broad_armor_special_spring2017Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
background-position: 0px -1091px;
width: 90px;
height: 90px;
}
-.head_special_spring2017Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
+.broad_armor_special_spring2017Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
background-position: -91px -1091px;
width: 90px;
height: 90px;
}
-.head_special_spring2018Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -917px -728px;
- width: 114px;
- height: 90px;
-}
-.head_special_spring2018Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -917px -637px;
- width: 114px;
- height: 90px;
-}
-.head_special_spring2018Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -917px -455px;
- width: 114px;
- height: 90px;
-}
-.head_special_spring2018Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -917px -364px;
- width: 114px;
- height: 90px;
-}
-.head_special_spring2019Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -917px -273px;
- width: 114px;
- height: 90px;
-}
-.head_special_spring2019Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -690px -803px;
- width: 114px;
- height: 90px;
-}
-.head_special_spring2019Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -575px -803px;
- width: 114px;
- height: 90px;
-}
-.head_special_spring2019Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -460px -803px;
- width: 114px;
- height: 90px;
-}
-.head_special_springHealer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -364px -1091px;
+.broad_armor_special_spring2017Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -182px -1091px;
width: 90px;
height: 90px;
}
-.head_special_springMage {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -455px -1091px;
- width: 90px;
- height: 90px;
-}
-.head_special_springRogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -546px -1091px;
- width: 90px;
- height: 90px;
-}
-.head_special_springWarrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -637px -1091px;
- width: 90px;
- height: 90px;
-}
-.shield_special_spring2015Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1238px -1001px;
- width: 90px;
- height: 90px;
-}
-.shield_special_spring2015Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: 0px -1182px;
- width: 90px;
- height: 90px;
-}
-.shield_special_spring2015Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -91px -1182px;
- width: 90px;
- height: 90px;
-}
-.shield_special_spring2016Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -182px -1182px;
- width: 90px;
- height: 90px;
-}
-.shield_special_spring2016Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -805px -712px;
- width: 102px;
- height: 90px;
-}
-.shield_special_spring2016Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -364px -1182px;
- width: 90px;
- height: 90px;
-}
-.shield_special_spring2017Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -455px -1182px;
- width: 90px;
- height: 90px;
-}
-.shield_special_spring2017Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: 0px -803px;
- width: 114px;
- height: 90px;
-}
-.shield_special_spring2017Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1032px -182px;
- width: 114px;
- height: 87px;
-}
-.shield_special_spring2018Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -690px -712px;
- width: 114px;
- height: 90px;
-}
-.shield_special_spring2018Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -457px -182px;
- width: 114px;
- height: 90px;
-}
-.shield_special_spring2018Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -460px -712px;
- width: 114px;
- height: 90px;
-}
-.shield_special_spring2019Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -802px -546px;
- width: 114px;
- height: 90px;
-}
-.shield_special_spring2019Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -802px -455px;
- width: 114px;
- height: 90px;
-}
-.shield_special_spring2019Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -802px -364px;
- width: 114px;
- height: 90px;
-}
-.shield_special_springHealer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -637px -1182px;
- width: 90px;
- height: 90px;
-}
-.shield_special_springRogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -728px -1182px;
- width: 90px;
- height: 90px;
-}
-.shield_special_springWarrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -819px -1182px;
- width: 90px;
- height: 90px;
-}
-.shop_armor_special_spring2015Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1649px -276px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_spring2015Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1649px -414px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_spring2015Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1649px -483px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_spring2015Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1649px -552px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_spring2016Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1649px -621px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_spring2016Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1649px -690px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_spring2016Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1649px -828px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_spring2016Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1649px -897px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_spring2017Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1649px -966px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_spring2017Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1649px -1035px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_spring2017Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1649px -1104px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_spring2017Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1649px -1242px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_spring2018Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1420px -1274px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_spring2018Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1329px -1183px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_spring2018Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1238px -1092px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_spring2018Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1147px -1001px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_spring2019Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -917px -819px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_spring2019Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -802px -637px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_spring2019Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -687px -546px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_spring2019Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -572px -455px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_springHealer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -457px -364px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_springMage {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: 0px -1364px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_springRogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -69px -1364px;
- width: 68px;
- height: 68px;
-}
-.shop_armor_special_springWarrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -138px -1364px;
- width: 68px;
- height: 68px;
-}
-.shop_headAccessory_special_spring2015Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -414px -1433px;
- width: 68px;
- height: 68px;
-}
-.shop_headAccessory_special_spring2015Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -483px -1433px;
- width: 68px;
- height: 68px;
-}
-.shop_headAccessory_special_spring2015Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -552px -1433px;
- width: 68px;
- height: 68px;
-}
-.shop_headAccessory_special_spring2015Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -621px -1433px;
- width: 68px;
- height: 68px;
-}
-.shop_headAccessory_special_spring2016Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -690px -1433px;
- width: 68px;
- height: 68px;
-}
-.shop_headAccessory_special_spring2016Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -759px -1433px;
- width: 68px;
- height: 68px;
-}
-.shop_headAccessory_special_spring2016Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -828px -1433px;
- width: 68px;
- height: 68px;
-}
-.shop_headAccessory_special_spring2016Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -897px -1433px;
- width: 68px;
- height: 68px;
-}
-.shop_headAccessory_special_spring2017Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -966px -1433px;
- width: 68px;
- height: 68px;
-}
-.shop_headAccessory_special_spring2017Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1035px -1433px;
- width: 68px;
- height: 68px;
-}
-.shop_headAccessory_special_spring2017Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1104px -1433px;
- width: 68px;
- height: 68px;
-}
-.shop_headAccessory_special_spring2017Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1173px -1433px;
- width: 68px;
- height: 68px;
-}
-.shop_headAccessory_special_springHealer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1242px -1433px;
- width: 68px;
- height: 68px;
-}
-.shop_headAccessory_special_springMage {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1311px -1433px;
- width: 68px;
- height: 68px;
-}
-.shop_headAccessory_special_springRogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1380px -1433px;
- width: 68px;
- height: 68px;
-}
-.shop_headAccessory_special_springWarrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1511px 0px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_spring2015Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -207px -1364px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_spring2015Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -276px -1364px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_spring2015Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -345px -1364px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_spring2015Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -414px -1364px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_spring2016Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -483px -1364px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_spring2016Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -552px -1364px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_spring2016Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -621px -1364px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_spring2016Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -690px -1364px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_spring2017Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -759px -1364px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_spring2017Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -69px -1640px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_spring2017Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -897px -1364px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_spring2017Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -966px -1364px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_spring2018Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1035px -1364px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_spring2018Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1104px -1364px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_spring2018Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1173px -1364px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_spring2018Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1242px -1364px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_spring2019Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1311px -1364px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_spring2019Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1380px -1364px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_spring2019Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: 0px -1433px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_spring2019Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -69px -1433px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_springHealer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -138px -1433px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_springMage {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -207px -1433px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_springRogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -276px -1433px;
- width: 68px;
- height: 68px;
-}
-.shop_head_special_springWarrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -345px -1433px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_spring2015Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1511px -69px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_spring2015Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1511px -138px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_spring2015Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1511px -207px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_spring2016Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1511px -276px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_spring2016Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1511px -345px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_spring2016Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1511px -414px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_spring2017Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1511px -483px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_spring2017Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1511px -552px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_spring2017Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1511px -621px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_spring2018Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1511px -690px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_spring2018Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1511px -759px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_spring2018Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1511px -828px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_spring2019Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1511px -897px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_spring2019Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1511px -966px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_spring2019Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1511px -1035px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_springHealer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1511px -1104px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_springRogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1511px -1173px;
- width: 68px;
- height: 68px;
-}
-.shop_shield_special_springWarrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1511px -1242px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_spring2015Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1511px -1311px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_spring2015Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1511px -1380px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_spring2015Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: 0px -1502px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_spring2015Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -69px -1502px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_spring2016Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -138px -1502px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_spring2016Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -207px -1502px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_spring2016Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -276px -1502px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_spring2016Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -345px -1502px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_spring2017Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -414px -1502px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_spring2017Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -483px -1502px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_spring2017Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -552px -1502px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_spring2017Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -621px -1502px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_spring2018Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -690px -1502px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_spring2018Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -759px -1502px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_spring2018Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -828px -1502px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_spring2018Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -897px -1502px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_spring2019Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -966px -1502px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_spring2019Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1035px -1502px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_spring2019Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1104px -1502px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_spring2019Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1173px -1502px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_springHealer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1242px -1502px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_springMage {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1311px -1502px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_springRogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1380px -1502px;
- width: 68px;
- height: 68px;
-}
-.shop_weapon_special_springWarrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1449px -1502px;
- width: 68px;
- height: 68px;
-}
-.slim_armor_special_spring2015Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1001px -1182px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_special_spring2015Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1092px -1182px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_special_spring2015Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1183px -1182px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_special_spring2015Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1329px 0px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_special_spring2016Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1329px -91px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_special_spring2016Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1329px -182px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_special_spring2016Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1329px -273px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_special_spring2016Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1329px -364px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_special_spring2017Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1329px -455px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_special_spring2017Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1329px -546px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_special_spring2017Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1329px -637px;
- width: 90px;
- height: 90px;
-}
-.slim_armor_special_spring2017Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
+.broad_armor_special_spring2017Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
background-position: -1032px -270px;
width: 114px;
height: 87px;
}
-.slim_armor_special_spring2018Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -802px -91px;
- width: 114px;
- height: 90px;
-}
-.slim_armor_special_spring2018Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -802px 0px;
- width: 114px;
- height: 90px;
-}
-.slim_armor_special_spring2018Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
+.broad_armor_special_spring2018Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
background-position: -575px -621px;
width: 114px;
height: 90px;
}
-.slim_armor_special_spring2018Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -115px -621px;
+.broad_armor_special_spring2018Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -802px 0px;
width: 114px;
height: 90px;
}
-.slim_armor_special_spring2019Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: 0px -621px;
+.broad_armor_special_spring2018Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -802px -91px;
width: 114px;
height: 90px;
}
-.slim_armor_special_spring2019Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -687px -455px;
+.broad_armor_special_spring2018Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -802px -182px;
width: 114px;
height: 90px;
}
-.slim_armor_special_spring2019Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -687px -91px;
+.broad_armor_special_spring2019Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -802px -273px;
width: 114px;
height: 90px;
}
-.slim_armor_special_spring2019Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -687px 0px;
+.broad_armor_special_spring2019Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -802px -364px;
width: 114px;
height: 90px;
}
-.slim_armor_special_springHealer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1329px -819px;
+.broad_armor_special_spring2019Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -802px -455px;
+ width: 114px;
+ height: 90px;
+}
+.broad_armor_special_spring2019Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -802px -546px;
+ width: 114px;
+ height: 90px;
+}
+.broad_armor_special_springHealer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -273px -1091px;
width: 90px;
height: 90px;
}
-.slim_armor_special_springMage {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1329px -910px;
+.broad_armor_special_springMage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -364px -1091px;
width: 90px;
height: 90px;
}
-.slim_armor_special_springRogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1329px -1001px;
+.broad_armor_special_springRogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -455px -1091px;
width: 90px;
height: 90px;
}
-.slim_armor_special_springWarrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1329px -1092px;
+.broad_armor_special_springWarrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -546px -1091px;
width: 90px;
height: 90px;
}
-.weapon_special_spring2015Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: 0px -1273px;
+.headAccessory_special_spring2015Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1238px -819px;
width: 90px;
height: 90px;
}
-.weapon_special_spring2015Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -91px -1273px;
+.headAccessory_special_spring2015Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1238px -910px;
width: 90px;
height: 90px;
}
-.weapon_special_spring2015Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -182px -1273px;
+.headAccessory_special_spring2015Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1238px -1001px;
width: 90px;
height: 90px;
}
-.weapon_special_spring2015Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -273px -1273px;
+.headAccessory_special_spring2015Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: 0px -1182px;
width: 90px;
height: 90px;
}
-.weapon_special_spring2016Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -364px -1273px;
+.headAccessory_special_spring2016Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -91px -1182px;
width: 90px;
height: 90px;
}
-.weapon_special_spring2016Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -455px -1273px;
+.headAccessory_special_spring2016Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -182px -1182px;
width: 90px;
height: 90px;
}
-.weapon_special_spring2016Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
+.headAccessory_special_spring2016Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -575px -530px;
+ width: 102px;
+ height: 90px;
+}
+.headAccessory_special_spring2016Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -273px -1182px;
+ width: 90px;
+ height: 90px;
+}
+.headAccessory_special_spring2017Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -364px -1182px;
+ width: 90px;
+ height: 90px;
+}
+.headAccessory_special_spring2017Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -455px -1182px;
+ width: 90px;
+ height: 90px;
+}
+.headAccessory_special_spring2017Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -546px -1182px;
+ width: 90px;
+ height: 90px;
+}
+.headAccessory_special_spring2017Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -637px -1182px;
+ width: 90px;
+ height: 90px;
+}
+.headAccessory_special_springHealer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -728px -1182px;
+ width: 90px;
+ height: 90px;
+}
+.headAccessory_special_springMage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -819px -1182px;
+ width: 90px;
+ height: 90px;
+}
+.headAccessory_special_springRogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -910px -1182px;
+ width: 90px;
+ height: 90px;
+}
+.headAccessory_special_springWarrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1001px -1182px;
+ width: 90px;
+ height: 90px;
+}
+.head_special_spring2015Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -637px -1091px;
+ width: 90px;
+ height: 90px;
+}
+.head_special_spring2015Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -728px -1091px;
+ width: 90px;
+ height: 90px;
+}
+.head_special_spring2015Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -819px -1091px;
+ width: 90px;
+ height: 90px;
+}
+.head_special_spring2015Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -910px -1091px;
+ width: 90px;
+ height: 90px;
+}
+.head_special_spring2016Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1001px -1091px;
+ width: 90px;
+ height: 90px;
+}
+.head_special_spring2016Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1092px -1091px;
+ width: 90px;
+ height: 90px;
+}
+.head_special_spring2016Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
background-position: -460px -439px;
width: 102px;
height: 90px;
}
-.weapon_special_spring2016Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
+.head_special_spring2016Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1238px 0px;
+ width: 90px;
+ height: 90px;
+}
+.head_special_spring2017Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1238px -91px;
+ width: 90px;
+ height: 90px;
+}
+.head_special_spring2017Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1238px -182px;
+ width: 90px;
+ height: 90px;
+}
+.head_special_spring2017Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1238px -273px;
+ width: 90px;
+ height: 90px;
+}
+.head_special_spring2017Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1238px -364px;
+ width: 90px;
+ height: 90px;
+}
+.head_special_spring2018Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: 0px -712px;
+ width: 114px;
+ height: 90px;
+}
+.head_special_spring2018Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -115px -712px;
+ width: 114px;
+ height: 90px;
+}
+.head_special_spring2018Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -230px -712px;
+ width: 114px;
+ height: 90px;
+}
+.head_special_spring2018Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -345px -712px;
+ width: 114px;
+ height: 90px;
+}
+.head_special_spring2019Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -460px -712px;
+ width: 114px;
+ height: 90px;
+}
+.head_special_spring2019Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -575px -712px;
+ width: 114px;
+ height: 90px;
+}
+.head_special_spring2019Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -690px -712px;
+ width: 114px;
+ height: 90px;
+}
+.head_special_spring2019Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: 0px -803px;
+ width: 114px;
+ height: 90px;
+}
+.head_special_springHealer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1238px -455px;
+ width: 90px;
+ height: 90px;
+}
+.head_special_springMage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1238px -546px;
+ width: 90px;
+ height: 90px;
+}
+.head_special_springRogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1238px -637px;
+ width: 90px;
+ height: 90px;
+}
+.head_special_springWarrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1238px -728px;
+ width: 90px;
+ height: 90px;
+}
+.shield_special_spring2015Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1092px -1182px;
+ width: 90px;
+ height: 90px;
+}
+.shield_special_spring2015Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1183px -1182px;
+ width: 90px;
+ height: 90px;
+}
+.shield_special_spring2015Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1329px 0px;
+ width: 90px;
+ height: 90px;
+}
+.shield_special_spring2016Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1329px -91px;
+ width: 90px;
+ height: 90px;
+}
+.shield_special_spring2016Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -690px -621px;
+ width: 102px;
+ height: 90px;
+}
+.shield_special_spring2016Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1329px -182px;
+ width: 90px;
+ height: 90px;
+}
+.shield_special_spring2017Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1329px -273px;
+ width: 90px;
+ height: 90px;
+}
+.shield_special_spring2017Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -115px -803px;
+ width: 114px;
+ height: 90px;
+}
+.shield_special_spring2017Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1032px -358px;
+ width: 114px;
+ height: 87px;
+}
+.shield_special_spring2018Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -230px -803px;
+ width: 114px;
+ height: 90px;
+}
+.shield_special_spring2018Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -345px -803px;
+ width: 114px;
+ height: 90px;
+}
+.shield_special_spring2018Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -460px -803px;
+ width: 114px;
+ height: 90px;
+}
+.shield_special_spring2019Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -575px -803px;
+ width: 114px;
+ height: 90px;
+}
+.shield_special_spring2019Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -690px -803px;
+ width: 114px;
+ height: 90px;
+}
+.shield_special_spring2019Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -917px 0px;
+ width: 114px;
+ height: 90px;
+}
+.shield_special_springHealer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1329px -364px;
+ width: 90px;
+ height: 90px;
+}
+.shield_special_springRogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1329px -455px;
+ width: 90px;
+ height: 90px;
+}
+.shield_special_springWarrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1329px -546px;
+ width: 90px;
+ height: 90px;
+}
+.shop_armor_special_spring2015Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1511px -483px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_spring2015Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1511px -552px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_spring2015Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1511px -621px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_spring2015Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1511px -690px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_spring2016Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1511px -759px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_spring2016Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1511px -828px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_spring2016Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1511px -897px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_spring2016Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1511px -966px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_spring2017Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1511px -1035px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_spring2017Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1511px -1104px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_spring2017Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1511px -1173px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_spring2017Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1511px -1242px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_spring2018Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1511px -1311px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_spring2018Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1511px -1380px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_spring2018Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: 0px -1502px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_spring2018Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -69px -1502px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_spring2019Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -138px -1502px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_spring2019Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -207px -1502px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_spring2019Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -276px -1502px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_spring2019Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -345px -1502px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_springHealer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -414px -1502px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_springMage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -483px -1502px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_springRogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -552px -1502px;
+ width: 68px;
+ height: 68px;
+}
+.shop_armor_special_springWarrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -621px -1502px;
+ width: 68px;
+ height: 68px;
+}
+.shop_headAccessory_special_spring2015Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1580px -828px;
+ width: 68px;
+ height: 68px;
+}
+.shop_headAccessory_special_spring2015Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1580px -897px;
+ width: 68px;
+ height: 68px;
+}
+.shop_headAccessory_special_spring2015Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1580px -966px;
+ width: 68px;
+ height: 68px;
+}
+.shop_headAccessory_special_spring2015Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1580px -1035px;
+ width: 68px;
+ height: 68px;
+}
+.shop_headAccessory_special_spring2016Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1580px -1104px;
+ width: 68px;
+ height: 68px;
+}
+.shop_headAccessory_special_spring2016Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1580px -1173px;
+ width: 68px;
+ height: 68px;
+}
+.shop_headAccessory_special_spring2016Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1580px -1242px;
+ width: 68px;
+ height: 68px;
+}
+.shop_headAccessory_special_spring2016Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1580px -1311px;
+ width: 68px;
+ height: 68px;
+}
+.shop_headAccessory_special_spring2017Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1580px -1380px;
+ width: 68px;
+ height: 68px;
+}
+.shop_headAccessory_special_spring2017Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1580px -1449px;
+ width: 68px;
+ height: 68px;
+}
+.shop_headAccessory_special_spring2017Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: 0px -1571px;
+ width: 68px;
+ height: 68px;
+}
+.shop_headAccessory_special_spring2017Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -69px -1571px;
+ width: 68px;
+ height: 68px;
+}
+.shop_headAccessory_special_springHealer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -138px -1571px;
+ width: 68px;
+ height: 68px;
+}
+.shop_headAccessory_special_springMage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -207px -1571px;
+ width: 68px;
+ height: 68px;
+}
+.shop_headAccessory_special_springRogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -276px -1571px;
+ width: 68px;
+ height: 68px;
+}
+.shop_headAccessory_special_springWarrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -345px -1571px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_spring2015Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -690px -1502px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_spring2015Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -759px -1502px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_spring2015Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -828px -1502px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_spring2015Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -897px -1502px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_spring2016Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -966px -1502px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_spring2016Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1035px -1502px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_spring2016Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1104px -1502px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_spring2016Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1173px -1502px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_spring2017Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1242px -1502px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_spring2017Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1311px -1502px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_spring2017Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1380px -1502px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_spring2017Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1449px -1502px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_spring2018Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1580px 0px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_spring2018Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1580px -69px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_spring2018Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1580px -138px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_spring2018Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1580px -207px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_spring2019Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1580px -276px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_spring2019Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1580px -345px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_spring2019Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1580px -414px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_spring2019Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1580px -483px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_springHealer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1580px -552px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_springMage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1580px -621px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_springRogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1580px -690px;
+ width: 68px;
+ height: 68px;
+}
+.shop_head_special_springWarrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1580px -759px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_spring2015Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -414px -1571px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_spring2015Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -483px -1571px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_spring2015Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -552px -1571px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_spring2016Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -621px -1571px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_spring2016Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -690px -1571px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_spring2016Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -759px -1571px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_spring2017Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -828px -1571px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_spring2017Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -897px -1571px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_spring2017Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -966px -1571px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_spring2018Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1035px -1571px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_spring2018Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1104px -1571px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_spring2018Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1173px -1571px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_spring2019Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1242px -1571px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_spring2019Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1311px -1571px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_spring2019Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1380px -1571px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_springHealer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1449px -1571px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_springRogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1518px -1571px;
+ width: 68px;
+ height: 68px;
+}
+.shop_shield_special_springWarrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1649px 0px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_spring2015Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1649px -69px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_spring2015Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1649px -138px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_spring2015Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1649px -207px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_spring2015Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1649px -276px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_spring2016Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1649px -345px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_spring2016Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1649px -414px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_spring2016Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1649px -483px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_spring2016Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1649px -552px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_spring2017Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1649px -621px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_spring2017Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1649px -690px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_spring2017Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1649px -759px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_spring2017Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1649px -828px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_spring2018Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1649px -897px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_spring2018Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1649px -966px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_spring2018Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1649px -1035px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_spring2018Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1649px -1104px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_spring2019Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1649px -1173px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_spring2019Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1649px -1242px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_spring2019Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1649px -1311px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_spring2019Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1649px -1380px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_springHealer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1649px -1449px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_springMage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1649px -1518px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_springRogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: 0px -1640px;
+ width: 68px;
+ height: 68px;
+}
+.shop_weapon_special_springWarrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -69px -1640px;
+ width: 68px;
+ height: 68px;
+}
+.slim_armor_special_spring2015Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1329px -637px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_special_spring2015Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1329px -728px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_special_spring2015Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1329px -819px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_special_spring2015Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1329px -910px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_special_spring2016Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1329px -1001px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_special_spring2016Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1329px -1092px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_special_spring2016Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: 0px -1273px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_special_spring2016Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -91px -1273px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_special_spring2017Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -182px -1273px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_special_spring2017Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -273px -1273px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_special_spring2017Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -364px -1273px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_special_spring2017Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1032px -446px;
+ width: 114px;
+ height: 87px;
+}
+.slim_armor_special_spring2018Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -917px -91px;
+ width: 114px;
+ height: 90px;
+}
+.slim_armor_special_spring2018Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -917px -182px;
+ width: 114px;
+ height: 90px;
+}
+.slim_armor_special_spring2018Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -917px -273px;
+ width: 114px;
+ height: 90px;
+}
+.slim_armor_special_spring2018Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -917px -364px;
+ width: 114px;
+ height: 90px;
+}
+.slim_armor_special_spring2019Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -917px -455px;
+ width: 114px;
+ height: 90px;
+}
+.slim_armor_special_spring2019Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -917px -546px;
+ width: 114px;
+ height: 90px;
+}
+.slim_armor_special_spring2019Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -917px -637px;
+ width: 114px;
+ height: 90px;
+}
+.slim_armor_special_spring2019Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -917px -728px;
+ width: 114px;
+ height: 90px;
+}
+.slim_armor_special_springHealer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -455px -1273px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_special_springMage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -546px -1273px;
+ width: 90px;
+ height: 90px;
+}
+.slim_armor_special_springRogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
background-position: -637px -1273px;
width: 90px;
height: 90px;
}
-.weapon_special_spring2017Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
+.slim_armor_special_springWarrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
background-position: -728px -1273px;
width: 90px;
height: 90px;
}
-.weapon_special_spring2017Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
+.weapon_special_spring2015Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
background-position: -819px -1273px;
width: 90px;
height: 90px;
}
-.weapon_special_spring2017Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
+.weapon_special_spring2015Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
background-position: -910px -1273px;
width: 90px;
height: 90px;
}
-.weapon_special_spring2017Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
+.weapon_special_spring2015Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
background-position: -1001px -1273px;
width: 90px;
height: 90px;
}
-.weapon_special_spring2018Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -460px -530px;
- width: 114px;
- height: 90px;
-}
-.weapon_special_spring2018Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -115px -530px;
- width: 114px;
- height: 90px;
-}
-.weapon_special_spring2018Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: 0px -530px;
- width: 114px;
- height: 90px;
-}
-.weapon_special_spring2018Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -572px -364px;
- width: 114px;
- height: 90px;
-}
-.weapon_special_spring2019Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -572px -91px;
- width: 114px;
- height: 90px;
-}
-.weapon_special_spring2019Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -572px 0px;
- width: 114px;
- height: 90px;
-}
-.weapon_special_spring2019Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -345px -439px;
- width: 114px;
- height: 90px;
-}
-.weapon_special_spring2019Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: 0px -439px;
- width: 114px;
- height: 90px;
-}
-.weapon_special_springHealer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
+.weapon_special_spring2015Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
background-position: -1092px -1273px;
width: 90px;
height: 90px;
}
-.weapon_special_springMage {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
+.weapon_special_spring2016Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
background-position: -1183px -1273px;
width: 90px;
height: 90px;
}
-.weapon_special_springRogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
+.weapon_special_spring2016Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
background-position: -1274px -1273px;
width: 90px;
height: 90px;
}
-.weapon_special_springWarrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
+.weapon_special_spring2016Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -805px -712px;
+ width: 102px;
+ height: 90px;
+}
+.weapon_special_spring2016Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
background-position: -1420px 0px;
width: 90px;
height: 90px;
}
-.body_special_summer2015Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
+.weapon_special_spring2017Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
background-position: -1420px -91px;
width: 90px;
height: 90px;
}
-.body_special_summer2015Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
+.weapon_special_spring2017Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
background-position: -1420px -182px;
width: 90px;
height: 90px;
}
-.body_special_summer2015Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -354px 0px;
- width: 102px;
- height: 105px;
-}
-.body_special_summer2015Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1032px -640px;
+.weapon_special_spring2017Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1420px -273px;
width: 90px;
- height: 105px;
+ height: 90px;
}
-.body_special_summerHealer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1032px -534px;
+.weapon_special_spring2017Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1420px -364px;
width: 90px;
- height: 105px;
+ height: 90px;
}
-.body_special_summerMage {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -1032px -852px;
+.weapon_special_spring2018Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: 0px -894px;
+ width: 114px;
+ height: 90px;
+}
+.weapon_special_spring2018Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -115px -894px;
+ width: 114px;
+ height: 90px;
+}
+.weapon_special_spring2018Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -230px -894px;
+ width: 114px;
+ height: 90px;
+}
+.weapon_special_spring2018Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -345px -894px;
+ width: 114px;
+ height: 90px;
+}
+.weapon_special_spring2019Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -460px -894px;
+ width: 114px;
+ height: 90px;
+}
+.weapon_special_spring2019Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -575px -894px;
+ width: 114px;
+ height: 90px;
+}
+.weapon_special_spring2019Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -690px -894px;
+ width: 114px;
+ height: 90px;
+}
+.weapon_special_spring2019Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -805px -894px;
+ width: 114px;
+ height: 90px;
+}
+.weapon_special_springHealer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1420px -455px;
width: 90px;
- height: 105px;
+ height: 90px;
}
-.broad_armor_special_summer2015Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
+.weapon_special_springMage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
background-position: -1420px -546px;
width: 90px;
height: 90px;
}
-.broad_armor_special_summer2015Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
+.weapon_special_springRogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
background-position: -1420px -637px;
width: 90px;
height: 90px;
}
-.broad_armor_special_summer2015Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
+.weapon_special_springWarrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1420px -728px;
+ width: 90px;
+ height: 90px;
+}
+.body_special_summer2015Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1420px -819px;
+ width: 90px;
+ height: 90px;
+}
+.body_special_summer2015Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1420px -910px;
+ width: 90px;
+ height: 90px;
+}
+.body_special_summer2015Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
background-position: -221px -242px;
width: 102px;
height: 105px;
}
-.broad_armor_special_summer2015Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -354px -106px;
+.body_special_summer2015Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1032px -534px;
width: 90px;
height: 105px;
}
-.broad_armor_special_summer2016Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -354px -212px;
+.body_special_summerHealer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1032px -640px;
width: 90px;
height: 105px;
}
-.broad_armor_special_summer2016Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: 0px -985px;
- width: 90px;
- height: 105px;
-}
-.broad_armor_special_summer2016Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -91px -985px;
- width: 90px;
- height: 105px;
-}
-.broad_armor_special_summer2016Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
+.body_special_summerMage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
background-position: -1032px -746px;
width: 90px;
height: 105px;
}
+.broad_armor_special_summer2015Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1420px -1001px;
+ width: 90px;
+ height: 90px;
+}
+.broad_armor_special_summer2015Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1420px -1092px;
+ width: 90px;
+ height: 90px;
+}
+.broad_armor_special_summer2015Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -354px 0px;
+ width: 102px;
+ height: 105px;
+}
+.broad_armor_special_summer2015Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1032px -852px;
+ width: 90px;
+ height: 105px;
+}
+.broad_armor_special_summer2016Healer {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -354px -106px;
+ width: 90px;
+ height: 105px;
+}
+.broad_armor_special_summer2016Mage {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -354px -212px;
+ width: 90px;
+ height: 105px;
+}
+.broad_armor_special_summer2016Rogue {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: 0px -985px;
+ width: 90px;
+ height: 105px;
+}
+.broad_armor_special_summer2016Warrior {
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -91px -985px;
+ width: 90px;
+ height: 105px;
+}
.broad_armor_special_summer2017Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
background-position: 0px -242px;
width: 114px;
height: 105px;
}
.broad_armor_special_summer2017Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
background-position: -1420px -1183px;
width: 90px;
height: 90px;
}
.broad_armor_special_summer2017Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
background-position: -115px -242px;
width: 105px;
height: 105px;
}
.broad_armor_special_summer2017Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: 0px -712px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1032px 0px;
width: 114px;
height: 90px;
}
.broad_armor_special_summer2018Healer {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -230px -121px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: 0px -121px;
width: 114px;
height: 120px;
}
.broad_armor_special_summer2018Mage {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
background-position: -115px -121px;
width: 114px;
height: 120px;
}
.broad_armor_special_summer2018Rogue {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: -115px -348px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -1032px -91px;
width: 114px;
height: 90px;
}
.broad_armor_special_summer2018Warrior {
- background-image: url('~assets/images/sprites/spritesmith-main-9.png');
- background-position: 0px -121px;
+ background-image: url('~@/assets/images/sprites/spritesmith-main-9.png');
+ background-position: -230px -121px;
width: 114px;
height: 120px;
}
diff --git a/website/client/assets/images/404.png b/website/client/src/assets/images/404.png
similarity index 100%
rename from website/client/assets/images/404.png
rename to website/client/src/assets/images/404.png
diff --git a/website/client/assets/images/BackerOnly-Equip-MythicGryphonArmor.gif b/website/client/src/assets/images/BackerOnly-Equip-MythicGryphonArmor.gif
similarity index 100%
rename from website/client/assets/images/BackerOnly-Equip-MythicGryphonArmor.gif
rename to website/client/src/assets/images/BackerOnly-Equip-MythicGryphonArmor.gif
diff --git a/website/client/assets/images/BackerOnly-Equip-MythicGryphonGlaive.gif b/website/client/src/assets/images/BackerOnly-Equip-MythicGryphonGlaive.gif
similarity index 100%
rename from website/client/assets/images/BackerOnly-Equip-MythicGryphonGlaive.gif
rename to website/client/src/assets/images/BackerOnly-Equip-MythicGryphonGlaive.gif
diff --git a/website/client/assets/images/BackerOnly-Equip-MythicGryphonHelm.gif b/website/client/src/assets/images/BackerOnly-Equip-MythicGryphonHelm.gif
similarity index 100%
rename from website/client/assets/images/BackerOnly-Equip-MythicGryphonHelm.gif
rename to website/client/src/assets/images/BackerOnly-Equip-MythicGryphonHelm.gif
diff --git a/website/client/assets/images/BackerOnly-Equip-MythicGryphonShield.gif b/website/client/src/assets/images/BackerOnly-Equip-MythicGryphonShield.gif
similarity index 100%
rename from website/client/assets/images/BackerOnly-Equip-MythicGryphonShield.gif
rename to website/client/src/assets/images/BackerOnly-Equip-MythicGryphonShield.gif
diff --git a/website/client/assets/images/BackerOnly-Equip-MythicGryphonVisor.gif b/website/client/src/assets/images/BackerOnly-Equip-MythicGryphonVisor.gif
similarity index 100%
rename from website/client/assets/images/BackerOnly-Equip-MythicGryphonVisor.gif
rename to website/client/src/assets/images/BackerOnly-Equip-MythicGryphonVisor.gif
diff --git a/website/client/assets/images/BackerOnly-Equip-ShadeArmor.gif b/website/client/src/assets/images/BackerOnly-Equip-ShadeArmor.gif
similarity index 100%
rename from website/client/assets/images/BackerOnly-Equip-ShadeArmor.gif
rename to website/client/src/assets/images/BackerOnly-Equip-ShadeArmor.gif
diff --git a/website/client/assets/images/BackerOnly-Equip-ShadeHelmet.gif b/website/client/src/assets/images/BackerOnly-Equip-ShadeHelmet.gif
similarity index 100%
rename from website/client/assets/images/BackerOnly-Equip-ShadeHelmet.gif
rename to website/client/src/assets/images/BackerOnly-Equip-ShadeHelmet.gif
diff --git a/website/client/assets/images/BackerOnly-Mount-Body-Gryphatrice.gif b/website/client/src/assets/images/BackerOnly-Mount-Body-Gryphatrice.gif
similarity index 100%
rename from website/client/assets/images/BackerOnly-Mount-Body-Gryphatrice.gif
rename to website/client/src/assets/images/BackerOnly-Mount-Body-Gryphatrice.gif
diff --git a/website/client/assets/images/BackerOnly-Mount-Head-Gryphatrice.gif b/website/client/src/assets/images/BackerOnly-Mount-Head-Gryphatrice.gif
similarity index 100%
rename from website/client/assets/images/BackerOnly-Mount-Head-Gryphatrice.gif
rename to website/client/src/assets/images/BackerOnly-Mount-Head-Gryphatrice.gif
diff --git a/website/client/assets/images/BackerOnly-Pet-CerberusPup.gif b/website/client/src/assets/images/BackerOnly-Pet-CerberusPup.gif
similarity index 100%
rename from website/client/assets/images/BackerOnly-Pet-CerberusPup.gif
rename to website/client/src/assets/images/BackerOnly-Pet-CerberusPup.gif
diff --git a/website/client/assets/images/BackerOnly-Pet-Gryphatrice.gif b/website/client/src/assets/images/BackerOnly-Pet-Gryphatrice.gif
similarity index 100%
rename from website/client/assets/images/BackerOnly-Pet-Gryphatrice.gif
rename to website/client/src/assets/images/BackerOnly-Pet-Gryphatrice.gif
diff --git a/website/client/assets/images/BackerOnly-Shield-TormentedSkull.gif b/website/client/src/assets/images/BackerOnly-Shield-TormentedSkull.gif
similarity index 100%
rename from website/client/assets/images/BackerOnly-Shield-TormentedSkull.gif
rename to website/client/src/assets/images/BackerOnly-Shield-TormentedSkull.gif
diff --git a/website/client/assets/images/BackerOnly-Weapon-DarkSoulsBlade.gif b/website/client/src/assets/images/BackerOnly-Weapon-DarkSoulsBlade.gif
similarity index 100%
rename from website/client/assets/images/BackerOnly-Weapon-DarkSoulsBlade.gif
rename to website/client/src/assets/images/BackerOnly-Weapon-DarkSoulsBlade.gif
diff --git a/website/client/assets/images/ContributorOnly-Equip-CrystalArmor.gif b/website/client/src/assets/images/ContributorOnly-Equip-CrystalArmor.gif
similarity index 100%
rename from website/client/assets/images/ContributorOnly-Equip-CrystalArmor.gif
rename to website/client/src/assets/images/ContributorOnly-Equip-CrystalArmor.gif
diff --git a/website/client/assets/images/ContributorOnly-Equip-CrystalHelmet.gif b/website/client/src/assets/images/ContributorOnly-Equip-CrystalHelmet.gif
similarity index 100%
rename from website/client/assets/images/ContributorOnly-Equip-CrystalHelmet.gif
rename to website/client/src/assets/images/ContributorOnly-Equip-CrystalHelmet.gif
diff --git a/website/client/assets/images/Pet_HatchingPotion_Veggie.gif b/website/client/src/assets/images/Pet_HatchingPotion_Veggie.gif
similarity index 100%
rename from website/client/assets/images/Pet_HatchingPotion_Veggie.gif
rename to website/client/src/assets/images/Pet_HatchingPotion_Veggie.gif
diff --git a/website/client/assets/images/amazon-payments.png b/website/client/src/assets/images/amazon-payments.png
similarity index 100%
rename from website/client/assets/images/amazon-payments.png
rename to website/client/src/assets/images/amazon-payments.png
diff --git a/website/client/assets/images/auth/midground_foreground_extended.png b/website/client/src/assets/images/auth/midground_foreground_extended.png
similarity index 100%
rename from website/client/assets/images/auth/midground_foreground_extended.png
rename to website/client/src/assets/images/auth/midground_foreground_extended.png
diff --git a/website/client/assets/images/auth/midground_foreground_extended2.png b/website/client/src/assets/images/auth/midground_foreground_extended2.png
similarity index 100%
rename from website/client/assets/images/auth/midground_foreground_extended2.png
rename to website/client/src/assets/images/auth/midground_foreground_extended2.png
diff --git a/website/client/assets/images/auth/repeatinghill_leftslope.png b/website/client/src/assets/images/auth/repeatinghill_leftslope.png
similarity index 100%
rename from website/client/assets/images/auth/repeatinghill_leftslope.png
rename to website/client/src/assets/images/auth/repeatinghill_leftslope.png
diff --git a/website/client/assets/images/auth/repeatinghill_rightslope.png b/website/client/src/assets/images/auth/repeatinghill_rightslope.png
similarity index 100%
rename from website/client/assets/images/auth/repeatinghill_rightslope.png
rename to website/client/src/assets/images/auth/repeatinghill_rightslope.png
diff --git a/website/client/assets/images/auth/seamless_mountains_demo.png b/website/client/src/assets/images/auth/seamless_mountains_demo.png
similarity index 100%
rename from website/client/assets/images/auth/seamless_mountains_demo.png
rename to website/client/src/assets/images/auth/seamless_mountains_demo.png
diff --git a/website/client/assets/images/auth/seamless_stars_varied_opacity.png b/website/client/src/assets/images/auth/seamless_stars_varied_opacity.png
similarity index 100%
rename from website/client/assets/images/auth/seamless_stars_varied_opacity.png
rename to website/client/src/assets/images/auth/seamless_stars_varied_opacity.png
diff --git a/website/client/assets/images/community-guidelines/backCorner.png b/website/client/src/assets/images/community-guidelines/backCorner.png
similarity index 100%
rename from website/client/assets/images/community-guidelines/backCorner.png
rename to website/client/src/assets/images/community-guidelines/backCorner.png
diff --git a/website/client/assets/images/community-guidelines/beingHabitican.png b/website/client/src/assets/images/community-guidelines/beingHabitican.png
similarity index 100%
rename from website/client/assets/images/community-guidelines/beingHabitican.png
rename to website/client/src/assets/images/community-guidelines/beingHabitican.png
diff --git a/website/client/assets/images/community-guidelines/consequences.png b/website/client/src/assets/images/community-guidelines/consequences.png
similarity index 100%
rename from website/client/assets/images/community-guidelines/consequences.png
rename to website/client/src/assets/images/community-guidelines/consequences.png
diff --git a/website/client/assets/images/community-guidelines/contributing.png b/website/client/src/assets/images/community-guidelines/contributing.png
similarity index 100%
rename from website/client/assets/images/community-guidelines/contributing.png
rename to website/client/src/assets/images/community-guidelines/contributing.png
diff --git a/website/client/assets/images/community-guidelines/github.gif b/website/client/src/assets/images/community-guidelines/github.gif
similarity index 100%
rename from website/client/assets/images/community-guidelines/github.gif
rename to website/client/src/assets/images/community-guidelines/github.gif
diff --git a/website/client/assets/images/community-guidelines/infractions.png b/website/client/src/assets/images/community-guidelines/infractions.png
similarity index 100%
rename from website/client/assets/images/community-guidelines/infractions.png
rename to website/client/src/assets/images/community-guidelines/infractions.png
diff --git a/website/client/assets/images/community-guidelines/intro.png b/website/client/src/assets/images/community-guidelines/intro.png
similarity index 100%
rename from website/client/assets/images/community-guidelines/intro.png
rename to website/client/src/assets/images/community-guidelines/intro.png
diff --git a/website/client/assets/images/community-guidelines/moderators.png b/website/client/src/assets/images/community-guidelines/moderators.png
similarity index 100%
rename from website/client/assets/images/community-guidelines/moderators.png
rename to website/client/src/assets/images/community-guidelines/moderators.png
diff --git a/website/client/assets/images/community-guidelines/publicGuilds.png b/website/client/src/assets/images/community-guidelines/publicGuilds.png
similarity index 100%
rename from website/client/assets/images/community-guidelines/publicGuilds.png
rename to website/client/src/assets/images/community-guidelines/publicGuilds.png
diff --git a/website/client/assets/images/community-guidelines/publicSpaces.png b/website/client/src/assets/images/community-guidelines/publicSpaces.png
similarity index 100%
rename from website/client/assets/images/community-guidelines/publicSpaces.png
rename to website/client/src/assets/images/community-guidelines/publicSpaces.png
diff --git a/website/client/assets/images/community-guidelines/restoration.png b/website/client/src/assets/images/community-guidelines/restoration.png
similarity index 100%
rename from website/client/assets/images/community-guidelines/restoration.png
rename to website/client/src/assets/images/community-guidelines/restoration.png
diff --git a/website/client/assets/images/community-guidelines/staff.png b/website/client/src/assets/images/community-guidelines/staff.png
similarity index 100%
rename from website/client/assets/images/community-guidelines/staff.png
rename to website/client/src/assets/images/community-guidelines/staff.png
diff --git a/website/client/assets/images/community-guidelines/tavern.png b/website/client/src/assets/images/community-guidelines/tavern.png
similarity index 100%
rename from website/client/assets/images/community-guidelines/tavern.png
rename to website/client/src/assets/images/community-guidelines/tavern.png
diff --git a/website/client/assets/images/community-guidelines/trello.png b/website/client/src/assets/images/community-guidelines/trello.png
similarity index 100%
rename from website/client/assets/images/community-guidelines/trello.png
rename to website/client/src/assets/images/community-guidelines/trello.png
diff --git a/website/client/assets/images/community-guidelines/wiki.png b/website/client/src/assets/images/community-guidelines/wiki.png
similarity index 100%
rename from website/client/assets/images/community-guidelines/wiki.png
rename to website/client/src/assets/images/community-guidelines/wiki.png
diff --git a/website/client/assets/images/gem-rain.png b/website/client/src/assets/images/gem-rain.png
similarity index 100%
rename from website/client/assets/images/gem-rain.png
rename to website/client/src/assets/images/gem-rain.png
diff --git a/website/client/assets/images/gemfall.png b/website/client/src/assets/images/gemfall.png
similarity index 100%
rename from website/client/assets/images/gemfall.png
rename to website/client/src/assets/images/gemfall.png
diff --git a/website/client/assets/images/gold-rain.png b/website/client/src/assets/images/gold-rain.png
similarity index 100%
rename from website/client/assets/images/gold-rain.png
rename to website/client/src/assets/images/gold-rain.png
diff --git a/website/client/assets/images/group-plans-static/big-gem@3x.png b/website/client/src/assets/images/group-plans-static/big-gem@3x.png
similarity index 100%
rename from website/client/assets/images/group-plans-static/big-gem@3x.png
rename to website/client/src/assets/images/group-plans-static/big-gem@3x.png
diff --git a/website/client/assets/images/group-plans-static/bot-left@3x.png b/website/client/src/assets/images/group-plans-static/bot-left@3x.png
similarity index 100%
rename from website/client/assets/images/group-plans-static/bot-left@3x.png
rename to website/client/src/assets/images/group-plans-static/bot-left@3x.png
diff --git a/website/client/assets/images/group-plans-static/bot-right@3x.png b/website/client/src/assets/images/group-plans-static/bot-right@3x.png
similarity index 100%
rename from website/client/assets/images/group-plans-static/bot-right@3x.png
rename to website/client/src/assets/images/group-plans-static/bot-right@3x.png
diff --git a/website/client/assets/images/group-plans-static/group-management@3x.png b/website/client/src/assets/images/group-plans-static/group-management@3x.png
similarity index 100%
rename from website/client/assets/images/group-plans-static/group-management@3x.png
rename to website/client/src/assets/images/group-plans-static/group-management@3x.png
diff --git a/website/client/assets/images/group-plans-static/party.svg b/website/client/src/assets/images/group-plans-static/party.svg
similarity index 100%
rename from website/client/assets/images/group-plans-static/party.svg
rename to website/client/src/assets/images/group-plans-static/party.svg
diff --git a/website/client/assets/images/group-plans-static/party@3x.png b/website/client/src/assets/images/group-plans-static/party@3x.png
similarity index 100%
rename from website/client/assets/images/group-plans-static/party@3x.png
rename to website/client/src/assets/images/group-plans-static/party@3x.png
diff --git a/website/client/assets/images/group-plans-static/team-based@3x.png b/website/client/src/assets/images/group-plans-static/team-based@3x.png
similarity index 100%
rename from website/client/assets/images/group-plans-static/team-based@3x.png
rename to website/client/src/assets/images/group-plans-static/team-based@3x.png
diff --git a/website/client/assets/images/group-plans-static/top-left@3x.png b/website/client/src/assets/images/group-plans-static/top-left@3x.png
similarity index 100%
rename from website/client/assets/images/group-plans-static/top-left@3x.png
rename to website/client/src/assets/images/group-plans-static/top-left@3x.png
diff --git a/website/client/assets/images/group-plans-static/top-right@3x.png b/website/client/src/assets/images/group-plans-static/top-right@3x.png
similarity index 100%
rename from website/client/assets/images/group-plans-static/top-right@3x.png
rename to website/client/src/assets/images/group-plans-static/top-right@3x.png
diff --git a/website/client/assets/images/group-plans-static/top.svg b/website/client/src/assets/images/group-plans-static/top.svg
similarity index 100%
rename from website/client/assets/images/group-plans-static/top.svg
rename to website/client/src/assets/images/group-plans-static/top.svg
diff --git a/website/client/assets/images/group-plans/approval-requested@3x.png b/website/client/src/assets/images/group-plans/approval-requested@3x.png
similarity index 100%
rename from website/client/assets/images/group-plans/approval-requested@3x.png
rename to website/client/src/assets/images/group-plans/approval-requested@3x.png
diff --git a/website/client/assets/images/group-plans/assign-task@3x.png b/website/client/src/assets/images/group-plans/assign-task@3x.png
similarity index 100%
rename from website/client/assets/images/group-plans/assign-task@3x.png
rename to website/client/src/assets/images/group-plans/assign-task@3x.png
diff --git a/website/client/assets/images/group-plans/group-12.png b/website/client/src/assets/images/group-plans/group-12.png
similarity index 100%
rename from website/client/assets/images/group-plans/group-12.png
rename to website/client/src/assets/images/group-plans/group-12.png
diff --git a/website/client/assets/images/group-plans/group-12@2x.png b/website/client/src/assets/images/group-plans/group-12@2x.png
similarity index 100%
rename from website/client/assets/images/group-plans/group-12@2x.png
rename to website/client/src/assets/images/group-plans/group-12@2x.png
diff --git a/website/client/assets/images/group-plans/group-12@3x.png b/website/client/src/assets/images/group-plans/group-12@3x.png
similarity index 100%
rename from website/client/assets/images/group-plans/group-12@3x.png
rename to website/client/src/assets/images/group-plans/group-12@3x.png
diff --git a/website/client/assets/images/group-plans/group-13.png b/website/client/src/assets/images/group-plans/group-13.png
similarity index 100%
rename from website/client/assets/images/group-plans/group-13.png
rename to website/client/src/assets/images/group-plans/group-13.png
diff --git a/website/client/assets/images/group-plans/group-13@2x.png b/website/client/src/assets/images/group-plans/group-13@2x.png
similarity index 100%
rename from website/client/assets/images/group-plans/group-13@2x.png
rename to website/client/src/assets/images/group-plans/group-13@2x.png
diff --git a/website/client/assets/images/group-plans/group-13@3x.png b/website/client/src/assets/images/group-plans/group-13@3x.png
similarity index 100%
rename from website/client/assets/images/group-plans/group-13@3x.png
rename to website/client/src/assets/images/group-plans/group-13@3x.png
diff --git a/website/client/assets/images/group-plans/group-14.png b/website/client/src/assets/images/group-plans/group-14.png
similarity index 100%
rename from website/client/assets/images/group-plans/group-14.png
rename to website/client/src/assets/images/group-plans/group-14.png
diff --git a/website/client/assets/images/group-plans/group-14@2x.png b/website/client/src/assets/images/group-plans/group-14@2x.png
similarity index 100%
rename from website/client/assets/images/group-plans/group-14@2x.png
rename to website/client/src/assets/images/group-plans/group-14@2x.png
diff --git a/website/client/assets/images/group-plans/group-14@3x.png b/website/client/src/assets/images/group-plans/group-14@3x.png
similarity index 100%
rename from website/client/assets/images/group-plans/group-14@3x.png
rename to website/client/src/assets/images/group-plans/group-14@3x.png
diff --git a/website/client/assets/images/group-plans/promote-leader@3x.png b/website/client/src/assets/images/group-plans/promote-leader@3x.png
similarity index 100%
rename from website/client/assets/images/group-plans/promote-leader@3x.png
rename to website/client/src/assets/images/group-plans/promote-leader@3x.png
diff --git a/website/client/assets/images/group-plans/requires-approval@3x.png b/website/client/src/assets/images/group-plans/requires-approval@3x.png
similarity index 100%
rename from website/client/assets/images/group-plans/requires-approval@3x.png
rename to website/client/src/assets/images/group-plans/requires-approval@3x.png
diff --git a/website/client/assets/images/group@3x.png b/website/client/src/assets/images/group@3x.png
similarity index 100%
rename from website/client/assets/images/group@3x.png
rename to website/client/src/assets/images/group@3x.png
diff --git a/website/client/assets/images/groups/grassy-meadow-backdrop.png b/website/client/src/assets/images/groups/grassy-meadow-backdrop.png
similarity index 100%
rename from website/client/assets/images/groups/grassy-meadow-backdrop.png
rename to website/client/src/assets/images/groups/grassy-meadow-backdrop.png
diff --git a/website/client/assets/images/gryphon.png b/website/client/src/assets/images/gryphon.png
similarity index 100%
rename from website/client/assets/images/gryphon.png
rename to website/client/src/assets/images/gryphon.png
diff --git a/website/client/assets/images/gryphon@2x.png b/website/client/src/assets/images/gryphon@2x.png
similarity index 100%
rename from website/client/assets/images/gryphon@2x.png
rename to website/client/src/assets/images/gryphon@2x.png
diff --git a/website/client/assets/images/gryphon@3x.png b/website/client/src/assets/images/gryphon@3x.png
similarity index 100%
rename from website/client/assets/images/gryphon@3x.png
rename to website/client/src/assets/images/gryphon@3x.png
diff --git a/website/client/assets/images/home/battle-monsters.png b/website/client/src/assets/images/home/battle-monsters.png
similarity index 100%
rename from website/client/assets/images/home/battle-monsters.png
rename to website/client/src/assets/images/home/battle-monsters.png
diff --git a/website/client/assets/images/home/battle-monsters@2x.png b/website/client/src/assets/images/home/battle-monsters@2x.png
similarity index 100%
rename from website/client/assets/images/home/battle-monsters@2x.png
rename to website/client/src/assets/images/home/battle-monsters@2x.png
diff --git a/website/client/assets/images/home/battle-monsters@3x.png b/website/client/src/assets/images/home/battle-monsters@3x.png
similarity index 100%
rename from website/client/assets/images/home/battle-monsters@3x.png
rename to website/client/src/assets/images/home/battle-monsters@3x.png
diff --git a/website/client/assets/images/home/discover.svg b/website/client/src/assets/images/home/discover.svg
similarity index 100%
rename from website/client/assets/images/home/discover.svg
rename to website/client/src/assets/images/home/discover.svg
diff --git a/website/client/assets/images/home/earn-rewards.png b/website/client/src/assets/images/home/earn-rewards.png
similarity index 100%
rename from website/client/assets/images/home/earn-rewards.png
rename to website/client/src/assets/images/home/earn-rewards.png
diff --git a/website/client/assets/images/home/earn-rewards@2x.png b/website/client/src/assets/images/home/earn-rewards@2x.png
similarity index 100%
rename from website/client/assets/images/home/earn-rewards@2x.png
rename to website/client/src/assets/images/home/earn-rewards@2x.png
diff --git a/website/client/assets/images/home/earn-rewards@3x.png b/website/client/src/assets/images/home/earn-rewards@3x.png
similarity index 100%
rename from website/client/assets/images/home/earn-rewards@3x.png
rename to website/client/src/assets/images/home/earn-rewards@3x.png
diff --git a/website/client/assets/images/home/forbes.svg b/website/client/src/assets/images/home/forbes.svg
similarity index 100%
rename from website/client/assets/images/home/forbes.svg
rename to website/client/src/assets/images/home/forbes.svg
diff --git a/website/client/assets/images/home/google-play-badge.svg b/website/client/src/assets/images/home/google-play-badge.svg
similarity index 100%
rename from website/client/assets/images/home/google-play-badge.svg
rename to website/client/src/assets/images/home/google-play-badge.svg
diff --git a/website/client/assets/images/home/health-fitness.png b/website/client/src/assets/images/home/health-fitness.png
similarity index 100%
rename from website/client/assets/images/home/health-fitness.png
rename to website/client/src/assets/images/home/health-fitness.png
diff --git a/website/client/assets/images/home/health-fitness@2x.png b/website/client/src/assets/images/home/health-fitness@2x.png
similarity index 100%
rename from website/client/assets/images/home/health-fitness@2x.png
rename to website/client/src/assets/images/home/health-fitness@2x.png
diff --git a/website/client/assets/images/home/health-fitness@3x.png b/website/client/src/assets/images/home/health-fitness@3x.png
similarity index 100%
rename from website/client/assets/images/home/health-fitness@3x.png
rename to website/client/src/assets/images/home/health-fitness@3x.png
diff --git a/website/client/assets/images/home/home-main.png b/website/client/src/assets/images/home/home-main.png
similarity index 100%
rename from website/client/assets/images/home/home-main.png
rename to website/client/src/assets/images/home/home-main.png
diff --git a/website/client/assets/images/home/home-main@2x.png b/website/client/src/assets/images/home/home-main@2x.png
similarity index 100%
rename from website/client/assets/images/home/home-main@2x.png
rename to website/client/src/assets/images/home/home-main@2x.png
diff --git a/website/client/assets/images/home/home-main@3x.png b/website/client/src/assets/images/home/home-main@3x.png
similarity index 100%
rename from website/client/assets/images/home/home-main@3x.png
rename to website/client/src/assets/images/home/home-main@3x.png
diff --git a/website/client/assets/images/home/ios-app-store.svg b/website/client/src/assets/images/home/ios-app-store.svg
similarity index 100%
rename from website/client/assets/images/home/ios-app-store.svg
rename to website/client/src/assets/images/home/ios-app-store.svg
diff --git a/website/client/assets/images/home/iphones.svg b/website/client/src/assets/images/home/iphones.svg
similarity index 100%
rename from website/client/assets/images/home/iphones.svg
rename to website/client/src/assets/images/home/iphones.svg
diff --git a/website/client/assets/images/home/kickstarter.svg b/website/client/src/assets/images/home/kickstarter.svg
similarity index 100%
rename from website/client/assets/images/home/kickstarter.svg
rename to website/client/src/assets/images/home/kickstarter.svg
diff --git a/website/client/assets/images/home/lifehacker.svg b/website/client/src/assets/images/home/lifehacker.svg
similarity index 100%
rename from website/client/assets/images/home/lifehacker.svg
rename to website/client/src/assets/images/home/lifehacker.svg
diff --git a/website/client/assets/images/home/make-use-of.svg b/website/client/src/assets/images/home/make-use-of.svg
similarity index 100%
rename from website/client/assets/images/home/make-use-of.svg
rename to website/client/src/assets/images/home/make-use-of.svg
diff --git a/website/client/assets/images/home/mobile-preview.png b/website/client/src/assets/images/home/mobile-preview.png
similarity index 100%
rename from website/client/assets/images/home/mobile-preview.png
rename to website/client/src/assets/images/home/mobile-preview.png
diff --git a/website/client/assets/images/home/mobile-preview@2x.png b/website/client/src/assets/images/home/mobile-preview@2x.png
similarity index 100%
rename from website/client/assets/images/home/mobile-preview@2x.png
rename to website/client/src/assets/images/home/mobile-preview@2x.png
diff --git a/website/client/assets/images/home/mobile-preview@3x.png b/website/client/src/assets/images/home/mobile-preview@3x.png
similarity index 100%
rename from website/client/assets/images/home/mobile-preview@3x.png
rename to website/client/src/assets/images/home/mobile-preview@3x.png
diff --git a/website/client/assets/images/home/much-more.png b/website/client/src/assets/images/home/much-more.png
similarity index 100%
rename from website/client/assets/images/home/much-more.png
rename to website/client/src/assets/images/home/much-more.png
diff --git a/website/client/assets/images/home/much-more@2x.png b/website/client/src/assets/images/home/much-more@2x.png
similarity index 100%
rename from website/client/assets/images/home/much-more@2x.png
rename to website/client/src/assets/images/home/much-more@2x.png
diff --git a/website/client/assets/images/home/much-more@3x.png b/website/client/src/assets/images/home/much-more@3x.png
similarity index 100%
rename from website/client/assets/images/home/much-more@3x.png
rename to website/client/src/assets/images/home/much-more@3x.png
diff --git a/website/client/assets/images/home/pixel-horizontal-2.svg b/website/client/src/assets/images/home/pixel-horizontal-2.svg
similarity index 100%
rename from website/client/assets/images/home/pixel-horizontal-2.svg
rename to website/client/src/assets/images/home/pixel-horizontal-2.svg
diff --git a/website/client/assets/images/home/pixel-horizontal-3.svg b/website/client/src/assets/images/home/pixel-horizontal-3.svg
similarity index 100%
rename from website/client/assets/images/home/pixel-horizontal-3.svg
rename to website/client/src/assets/images/home/pixel-horizontal-3.svg
diff --git a/website/client/assets/images/home/pixel-horizontal.svg b/website/client/src/assets/images/home/pixel-horizontal.svg
similarity index 100%
rename from website/client/assets/images/home/pixel-horizontal.svg
rename to website/client/src/assets/images/home/pixel-horizontal.svg
diff --git a/website/client/assets/images/home/school-work.png b/website/client/src/assets/images/home/school-work.png
similarity index 100%
rename from website/client/assets/images/home/school-work.png
rename to website/client/src/assets/images/home/school-work.png
diff --git a/website/client/assets/images/home/school-work@2x.png b/website/client/src/assets/images/home/school-work@2x.png
similarity index 100%
rename from website/client/assets/images/home/school-work@2x.png
rename to website/client/src/assets/images/home/school-work@2x.png
diff --git a/website/client/assets/images/home/school-work@3x.png b/website/client/src/assets/images/home/school-work@3x.png
similarity index 100%
rename from website/client/assets/images/home/school-work@3x.png
rename to website/client/src/assets/images/home/school-work@3x.png
diff --git a/website/client/assets/images/home/spacer.svg b/website/client/src/assets/images/home/spacer.svg
similarity index 100%
rename from website/client/assets/images/home/spacer.svg
rename to website/client/src/assets/images/home/spacer.svg
diff --git a/website/client/assets/images/home/the-new-york-times.svg b/website/client/src/assets/images/home/the-new-york-times.svg
similarity index 100%
rename from website/client/assets/images/home/the-new-york-times.svg
rename to website/client/src/assets/images/home/the-new-york-times.svg
diff --git a/website/client/assets/images/home/track-habits.png b/website/client/src/assets/images/home/track-habits.png
similarity index 100%
rename from website/client/assets/images/home/track-habits.png
rename to website/client/src/assets/images/home/track-habits.png
diff --git a/website/client/assets/images/home/track-habits@2x.png b/website/client/src/assets/images/home/track-habits@2x.png
similarity index 100%
rename from website/client/assets/images/home/track-habits@2x.png
rename to website/client/src/assets/images/home/track-habits@2x.png
diff --git a/website/client/assets/images/home/track-habits@3x.png b/website/client/src/assets/images/home/track-habits@3x.png
similarity index 100%
rename from website/client/assets/images/home/track-habits@3x.png
rename to website/client/src/assets/images/home/track-habits@3x.png
diff --git a/website/client/assets/images/justin_textbox.png b/website/client/src/assets/images/justin_textbox.png
similarity index 100%
rename from website/client/assets/images/justin_textbox.png
rename to website/client/src/assets/images/justin_textbox.png
diff --git a/website/client/assets/images/keys/key-to-the-mount-kennels.png b/website/client/src/assets/images/keys/key-to-the-mount-kennels.png
similarity index 100%
rename from website/client/assets/images/keys/key-to-the-mount-kennels.png
rename to website/client/src/assets/images/keys/key-to-the-mount-kennels.png
diff --git a/website/client/assets/images/keys/key-to-the-pet-kennels.png b/website/client/src/assets/images/keys/key-to-the-pet-kennels.png
similarity index 100%
rename from website/client/assets/images/keys/key-to-the-pet-kennels.png
rename to website/client/src/assets/images/keys/key-to-the-pet-kennels.png
diff --git a/website/client/assets/images/keys/keys-to-the-kennels.png b/website/client/src/assets/images/keys/keys-to-the-kennels.png
similarity index 100%
rename from website/client/assets/images/keys/keys-to-the-kennels.png
rename to website/client/src/assets/images/keys/keys-to-the-kennels.png
diff --git a/website/client/assets/images/marketing/android_iphone.png b/website/client/src/assets/images/marketing/android_iphone.png
similarity index 100%
rename from website/client/assets/images/marketing/android_iphone.png
rename to website/client/src/assets/images/marketing/android_iphone.png
diff --git a/website/client/assets/images/marketing/animals.png b/website/client/src/assets/images/marketing/animals.png
similarity index 100%
rename from website/client/assets/images/marketing/animals.png
rename to website/client/src/assets/images/marketing/animals.png
diff --git a/website/client/assets/images/marketing/challenge.png b/website/client/src/assets/images/marketing/challenge.png
similarity index 100%
rename from website/client/assets/images/marketing/challenge.png
rename to website/client/src/assets/images/marketing/challenge.png
diff --git a/website/client/assets/images/marketing/devices.png b/website/client/src/assets/images/marketing/devices.png
similarity index 100%
rename from website/client/assets/images/marketing/devices.png
rename to website/client/src/assets/images/marketing/devices.png
diff --git a/website/client/assets/images/marketing/drops.png b/website/client/src/assets/images/marketing/drops.png
similarity index 100%
rename from website/client/assets/images/marketing/drops.png
rename to website/client/src/assets/images/marketing/drops.png
diff --git a/website/client/assets/images/marketing/education.png b/website/client/src/assets/images/marketing/education.png
similarity index 100%
rename from website/client/assets/images/marketing/education.png
rename to website/client/src/assets/images/marketing/education.png
diff --git a/website/client/assets/images/marketing/gear.png b/website/client/src/assets/images/marketing/gear.png
similarity index 100%
rename from website/client/assets/images/marketing/gear.png
rename to website/client/src/assets/images/marketing/gear.png
diff --git a/website/client/assets/images/marketing/guild.png b/website/client/src/assets/images/marketing/guild.png
similarity index 100%
rename from website/client/assets/images/marketing/guild.png
rename to website/client/src/assets/images/marketing/guild.png
diff --git a/website/client/assets/images/marketing/guild_small.png b/website/client/src/assets/images/marketing/guild_small.png
similarity index 100%
rename from website/client/assets/images/marketing/guild_small.png
rename to website/client/src/assets/images/marketing/guild_small.png
diff --git a/website/client/assets/images/marketing/integration.png b/website/client/src/assets/images/marketing/integration.png
similarity index 100%
rename from website/client/assets/images/marketing/integration.png
rename to website/client/src/assets/images/marketing/integration.png
diff --git a/website/client/assets/images/marketing/lefnire.png b/website/client/src/assets/images/marketing/lefnire.png
similarity index 100%
rename from website/client/assets/images/marketing/lefnire.png
rename to website/client/src/assets/images/marketing/lefnire.png
diff --git a/website/client/assets/images/marketing/screenshot.png b/website/client/src/assets/images/marketing/screenshot.png
similarity index 100%
rename from website/client/assets/images/marketing/screenshot.png
rename to website/client/src/assets/images/marketing/screenshot.png
diff --git a/website/client/assets/images/marketing/social_competitive.png b/website/client/src/assets/images/marketing/social_competitive.png
similarity index 100%
rename from website/client/assets/images/marketing/social_competitive.png
rename to website/client/src/assets/images/marketing/social_competitive.png
diff --git a/website/client/assets/images/marketing/vice3.png b/website/client/src/assets/images/marketing/vice3.png
similarity index 100%
rename from website/client/assets/images/marketing/vice3.png
rename to website/client/src/assets/images/marketing/vice3.png
diff --git a/website/client/assets/images/marketing/wellness.png b/website/client/src/assets/images/marketing/wellness.png
similarity index 100%
rename from website/client/assets/images/marketing/wellness.png
rename to website/client/src/assets/images/marketing/wellness.png
diff --git a/website/client/assets/images/melior.png b/website/client/src/assets/images/melior.png
similarity index 100%
rename from website/client/assets/images/melior.png
rename to website/client/src/assets/images/melior.png
diff --git a/website/client/assets/images/melior@2x.png b/website/client/src/assets/images/melior@2x.png
similarity index 100%
rename from website/client/assets/images/melior@2x.png
rename to website/client/src/assets/images/melior@2x.png
diff --git a/website/client/assets/images/melior@3x.png b/website/client/src/assets/images/melior@3x.png
similarity index 100%
rename from website/client/assets/images/melior@3x.png
rename to website/client/src/assets/images/melior@3x.png
diff --git a/website/client/assets/images/npc/aprilfools/market_background.png b/website/client/src/assets/images/npc/aprilfools/market_background.png
similarity index 100%
rename from website/client/assets/images/npc/aprilfools/market_background.png
rename to website/client/src/assets/images/npc/aprilfools/market_background.png
diff --git a/website/client/assets/images/npc/aprilfools/market_banner_npc.png b/website/client/src/assets/images/npc/aprilfools/market_banner_npc.png
similarity index 100%
rename from website/client/assets/images/npc/aprilfools/market_banner_npc.png
rename to website/client/src/assets/images/npc/aprilfools/market_banner_npc.png
diff --git a/website/client/assets/images/npc/aprilfools/npc_aprilFool.png b/website/client/src/assets/images/npc/aprilfools/npc_aprilFool.png
similarity index 100%
rename from website/client/assets/images/npc/aprilfools/npc_aprilFool.png
rename to website/client/src/assets/images/npc/aprilfools/npc_aprilFool.png
diff --git a/website/client/assets/images/npc/aprilfools/npc_bailey.png b/website/client/src/assets/images/npc/aprilfools/npc_bailey.png
similarity index 100%
rename from website/client/assets/images/npc/aprilfools/npc_bailey.png
rename to website/client/src/assets/images/npc/aprilfools/npc_bailey.png
diff --git a/website/client/assets/images/npc/aprilfools/npc_justin.png b/website/client/src/assets/images/npc/aprilfools/npc_justin.png
similarity index 100%
rename from website/client/assets/images/npc/aprilfools/npc_justin.png
rename to website/client/src/assets/images/npc/aprilfools/npc_justin.png
diff --git a/website/client/assets/images/npc/aprilfools/npc_matt.png b/website/client/src/assets/images/npc/aprilfools/npc_matt.png
similarity index 100%
rename from website/client/assets/images/npc/aprilfools/npc_matt.png
rename to website/client/src/assets/images/npc/aprilfools/npc_matt.png
diff --git a/website/client/assets/images/npc/aprilfools/quest_shop_background.png b/website/client/src/assets/images/npc/aprilfools/quest_shop_background.png
similarity index 100%
rename from website/client/assets/images/npc/aprilfools/quest_shop_background.png
rename to website/client/src/assets/images/npc/aprilfools/quest_shop_background.png
diff --git a/website/client/assets/images/npc/aprilfools/quest_shop_npc.png b/website/client/src/assets/images/npc/aprilfools/quest_shop_npc.png
similarity index 100%
rename from website/client/assets/images/npc/aprilfools/quest_shop_npc.png
rename to website/client/src/assets/images/npc/aprilfools/quest_shop_npc.png
diff --git a/website/client/assets/images/npc/aprilfools/seasonal_shop_closed_background.png b/website/client/src/assets/images/npc/aprilfools/seasonal_shop_closed_background.png
similarity index 100%
rename from website/client/assets/images/npc/aprilfools/seasonal_shop_closed_background.png
rename to website/client/src/assets/images/npc/aprilfools/seasonal_shop_closed_background.png
diff --git a/website/client/assets/images/npc/aprilfools/seasonal_shop_closed_npc.png b/website/client/src/assets/images/npc/aprilfools/seasonal_shop_closed_npc.png
similarity index 100%
rename from website/client/assets/images/npc/aprilfools/seasonal_shop_closed_npc.png
rename to website/client/src/assets/images/npc/aprilfools/seasonal_shop_closed_npc.png
diff --git a/website/client/assets/images/npc/aprilfools/seasonal_shop_opened_background.png b/website/client/src/assets/images/npc/aprilfools/seasonal_shop_opened_background.png
similarity index 100%
rename from website/client/assets/images/npc/aprilfools/seasonal_shop_opened_background.png
rename to website/client/src/assets/images/npc/aprilfools/seasonal_shop_opened_background.png
diff --git a/website/client/assets/images/npc/aprilfools/seasonal_shop_opened_npc.png b/website/client/src/assets/images/npc/aprilfools/seasonal_shop_opened_npc.png
similarity index 100%
rename from website/client/assets/images/npc/aprilfools/seasonal_shop_opened_npc.png
rename to website/client/src/assets/images/npc/aprilfools/seasonal_shop_opened_npc.png
diff --git a/website/client/assets/images/npc/aprilfools/tavern_background.png b/website/client/src/assets/images/npc/aprilfools/tavern_background.png
similarity index 100%
rename from website/client/assets/images/npc/aprilfools/tavern_background.png
rename to website/client/src/assets/images/npc/aprilfools/tavern_background.png
diff --git a/website/client/assets/images/npc/aprilfools/tavern_npc.png b/website/client/src/assets/images/npc/aprilfools/tavern_npc.png
similarity index 100%
rename from website/client/assets/images/npc/aprilfools/tavern_npc.png
rename to website/client/src/assets/images/npc/aprilfools/tavern_npc.png
diff --git a/website/client/assets/images/npc/aprilfools/time_travelers_background.png b/website/client/src/assets/images/npc/aprilfools/time_travelers_background.png
similarity index 100%
rename from website/client/assets/images/npc/aprilfools/time_travelers_background.png
rename to website/client/src/assets/images/npc/aprilfools/time_travelers_background.png
diff --git a/website/client/assets/images/npc/aprilfools/time_travelers_closed_banner.png b/website/client/src/assets/images/npc/aprilfools/time_travelers_closed_banner.png
similarity index 100%
rename from website/client/assets/images/npc/aprilfools/time_travelers_closed_banner.png
rename to website/client/src/assets/images/npc/aprilfools/time_travelers_closed_banner.png
diff --git a/website/client/assets/images/npc/aprilfools/time_travelers_open_banner.png b/website/client/src/assets/images/npc/aprilfools/time_travelers_open_banner.png
similarity index 100%
rename from website/client/assets/images/npc/aprilfools/time_travelers_open_banner.png
rename to website/client/src/assets/images/npc/aprilfools/time_travelers_open_banner.png
diff --git a/website/client/assets/images/npc/birthday/market_background.png b/website/client/src/assets/images/npc/birthday/market_background.png
similarity index 100%
rename from website/client/assets/images/npc/birthday/market_background.png
rename to website/client/src/assets/images/npc/birthday/market_background.png
diff --git a/website/client/assets/images/npc/birthday/market_banner_npc.png b/website/client/src/assets/images/npc/birthday/market_banner_npc.png
similarity index 100%
rename from website/client/assets/images/npc/birthday/market_banner_npc.png
rename to website/client/src/assets/images/npc/birthday/market_banner_npc.png
diff --git a/website/client/assets/images/npc/birthday/npc_bailey.png b/website/client/src/assets/images/npc/birthday/npc_bailey.png
similarity index 100%
rename from website/client/assets/images/npc/birthday/npc_bailey.png
rename to website/client/src/assets/images/npc/birthday/npc_bailey.png
diff --git a/website/client/assets/images/npc/birthday/npc_justin.png b/website/client/src/assets/images/npc/birthday/npc_justin.png
similarity index 100%
rename from website/client/assets/images/npc/birthday/npc_justin.png
rename to website/client/src/assets/images/npc/birthday/npc_justin.png
diff --git a/website/client/assets/images/npc/birthday/npc_matt.png b/website/client/src/assets/images/npc/birthday/npc_matt.png
similarity index 100%
rename from website/client/assets/images/npc/birthday/npc_matt.png
rename to website/client/src/assets/images/npc/birthday/npc_matt.png
diff --git a/website/client/assets/images/npc/birthday/quest_shop_background.png b/website/client/src/assets/images/npc/birthday/quest_shop_background.png
similarity index 100%
rename from website/client/assets/images/npc/birthday/quest_shop_background.png
rename to website/client/src/assets/images/npc/birthday/quest_shop_background.png
diff --git a/website/client/assets/images/npc/birthday/quest_shop_npc.png b/website/client/src/assets/images/npc/birthday/quest_shop_npc.png
similarity index 100%
rename from website/client/assets/images/npc/birthday/quest_shop_npc.png
rename to website/client/src/assets/images/npc/birthday/quest_shop_npc.png
diff --git a/website/client/assets/images/npc/birthday/seasonal_shop_closed_background.png b/website/client/src/assets/images/npc/birthday/seasonal_shop_closed_background.png
similarity index 100%
rename from website/client/assets/images/npc/birthday/seasonal_shop_closed_background.png
rename to website/client/src/assets/images/npc/birthday/seasonal_shop_closed_background.png
diff --git a/website/client/assets/images/npc/birthday/seasonal_shop_closed_npc.png b/website/client/src/assets/images/npc/birthday/seasonal_shop_closed_npc.png
similarity index 100%
rename from website/client/assets/images/npc/birthday/seasonal_shop_closed_npc.png
rename to website/client/src/assets/images/npc/birthday/seasonal_shop_closed_npc.png
diff --git a/website/client/assets/images/npc/birthday/seasonal_shop_opened_background.png b/website/client/src/assets/images/npc/birthday/seasonal_shop_opened_background.png
similarity index 100%
rename from website/client/assets/images/npc/birthday/seasonal_shop_opened_background.png
rename to website/client/src/assets/images/npc/birthday/seasonal_shop_opened_background.png
diff --git a/website/client/assets/images/npc/birthday/seasonal_shop_opened_npc.png b/website/client/src/assets/images/npc/birthday/seasonal_shop_opened_npc.png
similarity index 100%
rename from website/client/assets/images/npc/birthday/seasonal_shop_opened_npc.png
rename to website/client/src/assets/images/npc/birthday/seasonal_shop_opened_npc.png
diff --git a/website/client/assets/images/npc/birthday/tavern_background.png b/website/client/src/assets/images/npc/birthday/tavern_background.png
similarity index 100%
rename from website/client/assets/images/npc/birthday/tavern_background.png
rename to website/client/src/assets/images/npc/birthday/tavern_background.png
diff --git a/website/client/assets/images/npc/birthday/tavern_npc.png b/website/client/src/assets/images/npc/birthday/tavern_npc.png
similarity index 100%
rename from website/client/assets/images/npc/birthday/tavern_npc.png
rename to website/client/src/assets/images/npc/birthday/tavern_npc.png
diff --git a/website/client/assets/images/npc/birthday/time_travelers_background.png b/website/client/src/assets/images/npc/birthday/time_travelers_background.png
similarity index 100%
rename from website/client/assets/images/npc/birthday/time_travelers_background.png
rename to website/client/src/assets/images/npc/birthday/time_travelers_background.png
diff --git a/website/client/assets/images/npc/birthday/time_travelers_closed_banner.png b/website/client/src/assets/images/npc/birthday/time_travelers_closed_banner.png
similarity index 100%
rename from website/client/assets/images/npc/birthday/time_travelers_closed_banner.png
rename to website/client/src/assets/images/npc/birthday/time_travelers_closed_banner.png
diff --git a/website/client/assets/images/npc/birthday/time_travelers_open_banner.png b/website/client/src/assets/images/npc/birthday/time_travelers_open_banner.png
similarity index 100%
rename from website/client/assets/images/npc/birthday/time_travelers_open_banner.png
rename to website/client/src/assets/images/npc/birthday/time_travelers_open_banner.png
diff --git a/website/client/assets/images/npc/broken/market_broken_background.png b/website/client/src/assets/images/npc/broken/market_broken_background.png
similarity index 100%
rename from website/client/assets/images/npc/broken/market_broken_background.png
rename to website/client/src/assets/images/npc/broken/market_broken_background.png
diff --git a/website/client/assets/images/npc/broken/market_broken_layer.png b/website/client/src/assets/images/npc/broken/market_broken_layer.png
similarity index 100%
rename from website/client/assets/images/npc/broken/market_broken_layer.png
rename to website/client/src/assets/images/npc/broken/market_broken_layer.png
diff --git a/website/client/assets/images/npc/broken/market_broken_npc.png b/website/client/src/assets/images/npc/broken/market_broken_npc.png
similarity index 100%
rename from website/client/assets/images/npc/broken/market_broken_npc.png
rename to website/client/src/assets/images/npc/broken/market_broken_npc.png
diff --git a/website/client/assets/images/npc/broken/quest_shop_broken_background.png b/website/client/src/assets/images/npc/broken/quest_shop_broken_background.png
similarity index 100%
rename from website/client/assets/images/npc/broken/quest_shop_broken_background.png
rename to website/client/src/assets/images/npc/broken/quest_shop_broken_background.png
diff --git a/website/client/assets/images/npc/broken/quest_shop_broken_layer.png b/website/client/src/assets/images/npc/broken/quest_shop_broken_layer.png
similarity index 100%
rename from website/client/assets/images/npc/broken/quest_shop_broken_layer.png
rename to website/client/src/assets/images/npc/broken/quest_shop_broken_layer.png
diff --git a/website/client/assets/images/npc/broken/quest_shop_broken_npc.png b/website/client/src/assets/images/npc/broken/quest_shop_broken_npc.png
similarity index 100%
rename from website/client/assets/images/npc/broken/quest_shop_broken_npc.png
rename to website/client/src/assets/images/npc/broken/quest_shop_broken_npc.png
diff --git a/website/client/assets/images/npc/broken/rage-strike-market-scaled@2x.png b/website/client/src/assets/images/npc/broken/rage-strike-market-scaled@2x.png
similarity index 100%
rename from website/client/assets/images/npc/broken/rage-strike-market-scaled@2x.png
rename to website/client/src/assets/images/npc/broken/rage-strike-market-scaled@2x.png
diff --git a/website/client/assets/images/npc/broken/rage-strike-quests-scaled@2x.png b/website/client/src/assets/images/npc/broken/rage-strike-quests-scaled@2x.png
similarity index 100%
rename from website/client/assets/images/npc/broken/rage-strike-quests-scaled@2x.png
rename to website/client/src/assets/images/npc/broken/rage-strike-quests-scaled@2x.png
diff --git a/website/client/assets/images/npc/broken/rage-strike-seasonalShop-scaled@2x.png b/website/client/src/assets/images/npc/broken/rage-strike-seasonalShop-scaled@2x.png
similarity index 100%
rename from website/client/assets/images/npc/broken/rage-strike-seasonalShop-scaled@2x.png
rename to website/client/src/assets/images/npc/broken/rage-strike-seasonalShop-scaled@2x.png
diff --git a/website/client/assets/images/npc/broken/seasonal_shop_broken_background.png b/website/client/src/assets/images/npc/broken/seasonal_shop_broken_background.png
similarity index 100%
rename from website/client/assets/images/npc/broken/seasonal_shop_broken_background.png
rename to website/client/src/assets/images/npc/broken/seasonal_shop_broken_background.png
diff --git a/website/client/assets/images/npc/broken/seasonal_shop_broken_layer.png b/website/client/src/assets/images/npc/broken/seasonal_shop_broken_layer.png
similarity index 100%
rename from website/client/assets/images/npc/broken/seasonal_shop_broken_layer.png
rename to website/client/src/assets/images/npc/broken/seasonal_shop_broken_layer.png
diff --git a/website/client/assets/images/npc/broken/seasonal_shop_broken_npc.png b/website/client/src/assets/images/npc/broken/seasonal_shop_broken_npc.png
similarity index 100%
rename from website/client/assets/images/npc/broken/seasonal_shop_broken_npc.png
rename to website/client/src/assets/images/npc/broken/seasonal_shop_broken_npc.png
diff --git a/website/client/assets/images/npc/fall/market_background.png b/website/client/src/assets/images/npc/fall/market_background.png
similarity index 100%
rename from website/client/assets/images/npc/fall/market_background.png
rename to website/client/src/assets/images/npc/fall/market_background.png
diff --git a/website/client/assets/images/npc/fall/market_banner_npc.png b/website/client/src/assets/images/npc/fall/market_banner_npc.png
similarity index 100%
rename from website/client/assets/images/npc/fall/market_banner_npc.png
rename to website/client/src/assets/images/npc/fall/market_banner_npc.png
diff --git a/website/client/assets/images/npc/fall/npc_bailey.png b/website/client/src/assets/images/npc/fall/npc_bailey.png
similarity index 100%
rename from website/client/assets/images/npc/fall/npc_bailey.png
rename to website/client/src/assets/images/npc/fall/npc_bailey.png
diff --git a/website/client/assets/images/npc/fall/npc_justin.png b/website/client/src/assets/images/npc/fall/npc_justin.png
similarity index 100%
rename from website/client/assets/images/npc/fall/npc_justin.png
rename to website/client/src/assets/images/npc/fall/npc_justin.png
diff --git a/website/client/assets/images/npc/fall/npc_matt.png b/website/client/src/assets/images/npc/fall/npc_matt.png
similarity index 100%
rename from website/client/assets/images/npc/fall/npc_matt.png
rename to website/client/src/assets/images/npc/fall/npc_matt.png
diff --git a/website/client/assets/images/npc/fall/quest_shop_background.png b/website/client/src/assets/images/npc/fall/quest_shop_background.png
similarity index 100%
rename from website/client/assets/images/npc/fall/quest_shop_background.png
rename to website/client/src/assets/images/npc/fall/quest_shop_background.png
diff --git a/website/client/assets/images/npc/fall/quest_shop_npc.png b/website/client/src/assets/images/npc/fall/quest_shop_npc.png
similarity index 100%
rename from website/client/assets/images/npc/fall/quest_shop_npc.png
rename to website/client/src/assets/images/npc/fall/quest_shop_npc.png
diff --git a/website/client/assets/images/npc/fall/seasonal_shop_closed_background.png b/website/client/src/assets/images/npc/fall/seasonal_shop_closed_background.png
similarity index 100%
rename from website/client/assets/images/npc/fall/seasonal_shop_closed_background.png
rename to website/client/src/assets/images/npc/fall/seasonal_shop_closed_background.png
diff --git a/website/client/assets/images/npc/fall/seasonal_shop_closed_npc.png b/website/client/src/assets/images/npc/fall/seasonal_shop_closed_npc.png
similarity index 100%
rename from website/client/assets/images/npc/fall/seasonal_shop_closed_npc.png
rename to website/client/src/assets/images/npc/fall/seasonal_shop_closed_npc.png
diff --git a/website/client/assets/images/npc/fall/seasonal_shop_opened_background.png b/website/client/src/assets/images/npc/fall/seasonal_shop_opened_background.png
similarity index 100%
rename from website/client/assets/images/npc/fall/seasonal_shop_opened_background.png
rename to website/client/src/assets/images/npc/fall/seasonal_shop_opened_background.png
diff --git a/website/client/assets/images/npc/fall/seasonal_shop_opened_npc.png b/website/client/src/assets/images/npc/fall/seasonal_shop_opened_npc.png
similarity index 100%
rename from website/client/assets/images/npc/fall/seasonal_shop_opened_npc.png
rename to website/client/src/assets/images/npc/fall/seasonal_shop_opened_npc.png
diff --git a/website/client/assets/images/npc/fall/tavern_background.png b/website/client/src/assets/images/npc/fall/tavern_background.png
similarity index 100%
rename from website/client/assets/images/npc/fall/tavern_background.png
rename to website/client/src/assets/images/npc/fall/tavern_background.png
diff --git a/website/client/assets/images/npc/fall/tavern_npc.png b/website/client/src/assets/images/npc/fall/tavern_npc.png
similarity index 100%
rename from website/client/assets/images/npc/fall/tavern_npc.png
rename to website/client/src/assets/images/npc/fall/tavern_npc.png
diff --git a/website/client/assets/images/npc/fall/time_travelers_background.png b/website/client/src/assets/images/npc/fall/time_travelers_background.png
similarity index 100%
rename from website/client/assets/images/npc/fall/time_travelers_background.png
rename to website/client/src/assets/images/npc/fall/time_travelers_background.png
diff --git a/website/client/assets/images/npc/fall/time_travelers_closed_banner.png b/website/client/src/assets/images/npc/fall/time_travelers_closed_banner.png
similarity index 100%
rename from website/client/assets/images/npc/fall/time_travelers_closed_banner.png
rename to website/client/src/assets/images/npc/fall/time_travelers_closed_banner.png
diff --git a/website/client/assets/images/npc/fall/time_travelers_open_banner.png b/website/client/src/assets/images/npc/fall/time_travelers_open_banner.png
similarity index 100%
rename from website/client/assets/images/npc/fall/time_travelers_open_banner.png
rename to website/client/src/assets/images/npc/fall/time_travelers_open_banner.png
diff --git a/website/client/assets/images/npc/habitoween/market_background.png b/website/client/src/assets/images/npc/habitoween/market_background.png
similarity index 100%
rename from website/client/assets/images/npc/habitoween/market_background.png
rename to website/client/src/assets/images/npc/habitoween/market_background.png
diff --git a/website/client/assets/images/npc/habitoween/market_banner_npc.png b/website/client/src/assets/images/npc/habitoween/market_banner_npc.png
similarity index 100%
rename from website/client/assets/images/npc/habitoween/market_banner_npc.png
rename to website/client/src/assets/images/npc/habitoween/market_banner_npc.png
diff --git a/website/client/assets/images/npc/habitoween/npc_bailey.png b/website/client/src/assets/images/npc/habitoween/npc_bailey.png
similarity index 100%
rename from website/client/assets/images/npc/habitoween/npc_bailey.png
rename to website/client/src/assets/images/npc/habitoween/npc_bailey.png
diff --git a/website/client/assets/images/npc/habitoween/npc_justin.png b/website/client/src/assets/images/npc/habitoween/npc_justin.png
similarity index 100%
rename from website/client/assets/images/npc/habitoween/npc_justin.png
rename to website/client/src/assets/images/npc/habitoween/npc_justin.png
diff --git a/website/client/assets/images/npc/habitoween/npc_matt.png b/website/client/src/assets/images/npc/habitoween/npc_matt.png
similarity index 100%
rename from website/client/assets/images/npc/habitoween/npc_matt.png
rename to website/client/src/assets/images/npc/habitoween/npc_matt.png
diff --git a/website/client/assets/images/npc/habitoween/quest_shop_background.png b/website/client/src/assets/images/npc/habitoween/quest_shop_background.png
similarity index 100%
rename from website/client/assets/images/npc/habitoween/quest_shop_background.png
rename to website/client/src/assets/images/npc/habitoween/quest_shop_background.png
diff --git a/website/client/assets/images/npc/habitoween/quest_shop_npc.png b/website/client/src/assets/images/npc/habitoween/quest_shop_npc.png
similarity index 100%
rename from website/client/assets/images/npc/habitoween/quest_shop_npc.png
rename to website/client/src/assets/images/npc/habitoween/quest_shop_npc.png
diff --git a/website/client/assets/images/npc/habitoween/seasonal_shop_opened_background.png b/website/client/src/assets/images/npc/habitoween/seasonal_shop_opened_background.png
similarity index 100%
rename from website/client/assets/images/npc/habitoween/seasonal_shop_opened_background.png
rename to website/client/src/assets/images/npc/habitoween/seasonal_shop_opened_background.png
diff --git a/website/client/assets/images/npc/habitoween/seasonal_shop_opened_npc.png b/website/client/src/assets/images/npc/habitoween/seasonal_shop_opened_npc.png
similarity index 100%
rename from website/client/assets/images/npc/habitoween/seasonal_shop_opened_npc.png
rename to website/client/src/assets/images/npc/habitoween/seasonal_shop_opened_npc.png
diff --git a/website/client/assets/images/npc/habitoween/seasonalshop_open.png b/website/client/src/assets/images/npc/habitoween/seasonalshop_open.png
similarity index 100%
rename from website/client/assets/images/npc/habitoween/seasonalshop_open.png
rename to website/client/src/assets/images/npc/habitoween/seasonalshop_open.png
diff --git a/website/client/assets/images/npc/habitoween/tavern_background.png b/website/client/src/assets/images/npc/habitoween/tavern_background.png
similarity index 100%
rename from website/client/assets/images/npc/habitoween/tavern_background.png
rename to website/client/src/assets/images/npc/habitoween/tavern_background.png
diff --git a/website/client/assets/images/npc/habitoween/tavern_npc.png b/website/client/src/assets/images/npc/habitoween/tavern_npc.png
similarity index 100%
rename from website/client/assets/images/npc/habitoween/tavern_npc.png
rename to website/client/src/assets/images/npc/habitoween/tavern_npc.png
diff --git a/website/client/assets/images/npc/normal/market_background.png b/website/client/src/assets/images/npc/normal/market_background.png
similarity index 100%
rename from website/client/assets/images/npc/normal/market_background.png
rename to website/client/src/assets/images/npc/normal/market_background.png
diff --git a/website/client/assets/images/npc/normal/market_banner_npc.png b/website/client/src/assets/images/npc/normal/market_banner_npc.png
similarity index 100%
rename from website/client/assets/images/npc/normal/market_banner_npc.png
rename to website/client/src/assets/images/npc/normal/market_banner_npc.png
diff --git a/website/client/assets/images/npc/normal/npc_bailey.png b/website/client/src/assets/images/npc/normal/npc_bailey.png
similarity index 100%
rename from website/client/assets/images/npc/normal/npc_bailey.png
rename to website/client/src/assets/images/npc/normal/npc_bailey.png
diff --git a/website/client/assets/images/npc/normal/npc_justin.png b/website/client/src/assets/images/npc/normal/npc_justin.png
similarity index 100%
rename from website/client/assets/images/npc/normal/npc_justin.png
rename to website/client/src/assets/images/npc/normal/npc_justin.png
diff --git a/website/client/assets/images/npc/normal/npc_matt.png b/website/client/src/assets/images/npc/normal/npc_matt.png
similarity index 100%
rename from website/client/assets/images/npc/normal/npc_matt.png
rename to website/client/src/assets/images/npc/normal/npc_matt.png
diff --git a/website/client/assets/images/npc/normal/quest_shop_background.png b/website/client/src/assets/images/npc/normal/quest_shop_background.png
similarity index 100%
rename from website/client/assets/images/npc/normal/quest_shop_background.png
rename to website/client/src/assets/images/npc/normal/quest_shop_background.png
diff --git a/website/client/assets/images/npc/normal/quest_shop_npc.png b/website/client/src/assets/images/npc/normal/quest_shop_npc.png
similarity index 100%
rename from website/client/assets/images/npc/normal/quest_shop_npc.png
rename to website/client/src/assets/images/npc/normal/quest_shop_npc.png
diff --git a/website/client/assets/images/npc/normal/seasonal_shop_closed_background.png b/website/client/src/assets/images/npc/normal/seasonal_shop_closed_background.png
similarity index 100%
rename from website/client/assets/images/npc/normal/seasonal_shop_closed_background.png
rename to website/client/src/assets/images/npc/normal/seasonal_shop_closed_background.png
diff --git a/website/client/assets/images/npc/normal/seasonal_shop_closed_npc.png b/website/client/src/assets/images/npc/normal/seasonal_shop_closed_npc.png
similarity index 100%
rename from website/client/assets/images/npc/normal/seasonal_shop_closed_npc.png
rename to website/client/src/assets/images/npc/normal/seasonal_shop_closed_npc.png
diff --git a/website/client/assets/images/npc/normal/seasonal_shop_opened_background.png b/website/client/src/assets/images/npc/normal/seasonal_shop_opened_background.png
similarity index 100%
rename from website/client/assets/images/npc/normal/seasonal_shop_opened_background.png
rename to website/client/src/assets/images/npc/normal/seasonal_shop_opened_background.png
diff --git a/website/client/assets/images/npc/normal/seasonal_shop_opened_npc.png b/website/client/src/assets/images/npc/normal/seasonal_shop_opened_npc.png
similarity index 100%
rename from website/client/assets/images/npc/normal/seasonal_shop_opened_npc.png
rename to website/client/src/assets/images/npc/normal/seasonal_shop_opened_npc.png
diff --git a/website/client/assets/images/npc/normal/tavern_background.png b/website/client/src/assets/images/npc/normal/tavern_background.png
similarity index 100%
rename from website/client/assets/images/npc/normal/tavern_background.png
rename to website/client/src/assets/images/npc/normal/tavern_background.png
diff --git a/website/client/assets/images/npc/normal/tavern_npc.png b/website/client/src/assets/images/npc/normal/tavern_npc.png
similarity index 100%
rename from website/client/assets/images/npc/normal/tavern_npc.png
rename to website/client/src/assets/images/npc/normal/tavern_npc.png
diff --git a/website/client/assets/images/npc/normal/time_travelers_background.png b/website/client/src/assets/images/npc/normal/time_travelers_background.png
similarity index 100%
rename from website/client/assets/images/npc/normal/time_travelers_background.png
rename to website/client/src/assets/images/npc/normal/time_travelers_background.png
diff --git a/website/client/assets/images/npc/normal/time_travelers_closed_banner.png b/website/client/src/assets/images/npc/normal/time_travelers_closed_banner.png
similarity index 100%
rename from website/client/assets/images/npc/normal/time_travelers_closed_banner.png
rename to website/client/src/assets/images/npc/normal/time_travelers_closed_banner.png
diff --git a/website/client/assets/images/npc/normal/time_travelers_open_banner.png b/website/client/src/assets/images/npc/normal/time_travelers_open_banner.png
similarity index 100%
rename from website/client/assets/images/npc/normal/time_travelers_open_banner.png
rename to website/client/src/assets/images/npc/normal/time_travelers_open_banner.png
diff --git a/website/client/assets/images/npc/nye/market_background.png b/website/client/src/assets/images/npc/nye/market_background.png
similarity index 100%
rename from website/client/assets/images/npc/nye/market_background.png
rename to website/client/src/assets/images/npc/nye/market_background.png
diff --git a/website/client/assets/images/npc/nye/market_banner_npc.png b/website/client/src/assets/images/npc/nye/market_banner_npc.png
similarity index 100%
rename from website/client/assets/images/npc/nye/market_banner_npc.png
rename to website/client/src/assets/images/npc/nye/market_banner_npc.png
diff --git a/website/client/assets/images/npc/nye/npc_bailey.png b/website/client/src/assets/images/npc/nye/npc_bailey.png
similarity index 100%
rename from website/client/assets/images/npc/nye/npc_bailey.png
rename to website/client/src/assets/images/npc/nye/npc_bailey.png
diff --git a/website/client/assets/images/npc/nye/npc_justin.png b/website/client/src/assets/images/npc/nye/npc_justin.png
similarity index 100%
rename from website/client/assets/images/npc/nye/npc_justin.png
rename to website/client/src/assets/images/npc/nye/npc_justin.png
diff --git a/website/client/assets/images/npc/nye/npc_matt.png b/website/client/src/assets/images/npc/nye/npc_matt.png
similarity index 100%
rename from website/client/assets/images/npc/nye/npc_matt.png
rename to website/client/src/assets/images/npc/nye/npc_matt.png
diff --git a/website/client/assets/images/npc/nye/quest_shop_background.png b/website/client/src/assets/images/npc/nye/quest_shop_background.png
similarity index 100%
rename from website/client/assets/images/npc/nye/quest_shop_background.png
rename to website/client/src/assets/images/npc/nye/quest_shop_background.png
diff --git a/website/client/assets/images/npc/nye/quest_shop_npc.png b/website/client/src/assets/images/npc/nye/quest_shop_npc.png
similarity index 100%
rename from website/client/assets/images/npc/nye/quest_shop_npc.png
rename to website/client/src/assets/images/npc/nye/quest_shop_npc.png
diff --git a/website/client/assets/images/npc/nye/seasonal_shop_closed_background.png b/website/client/src/assets/images/npc/nye/seasonal_shop_closed_background.png
similarity index 100%
rename from website/client/assets/images/npc/nye/seasonal_shop_closed_background.png
rename to website/client/src/assets/images/npc/nye/seasonal_shop_closed_background.png
diff --git a/website/client/assets/images/npc/nye/seasonal_shop_closed_npc.png b/website/client/src/assets/images/npc/nye/seasonal_shop_closed_npc.png
similarity index 100%
rename from website/client/assets/images/npc/nye/seasonal_shop_closed_npc.png
rename to website/client/src/assets/images/npc/nye/seasonal_shop_closed_npc.png
diff --git a/website/client/assets/images/npc/nye/seasonal_shop_opened_background.png b/website/client/src/assets/images/npc/nye/seasonal_shop_opened_background.png
similarity index 100%
rename from website/client/assets/images/npc/nye/seasonal_shop_opened_background.png
rename to website/client/src/assets/images/npc/nye/seasonal_shop_opened_background.png
diff --git a/website/client/assets/images/npc/nye/seasonal_shop_opened_npc.png b/website/client/src/assets/images/npc/nye/seasonal_shop_opened_npc.png
similarity index 100%
rename from website/client/assets/images/npc/nye/seasonal_shop_opened_npc.png
rename to website/client/src/assets/images/npc/nye/seasonal_shop_opened_npc.png
diff --git a/website/client/assets/images/npc/nye/tavern_background.png b/website/client/src/assets/images/npc/nye/tavern_background.png
similarity index 100%
rename from website/client/assets/images/npc/nye/tavern_background.png
rename to website/client/src/assets/images/npc/nye/tavern_background.png
diff --git a/website/client/assets/images/npc/nye/tavern_npc.png b/website/client/src/assets/images/npc/nye/tavern_npc.png
similarity index 100%
rename from website/client/assets/images/npc/nye/tavern_npc.png
rename to website/client/src/assets/images/npc/nye/tavern_npc.png
diff --git a/website/client/assets/images/npc/spring/market_background.png b/website/client/src/assets/images/npc/spring/market_background.png
similarity index 100%
rename from website/client/assets/images/npc/spring/market_background.png
rename to website/client/src/assets/images/npc/spring/market_background.png
diff --git a/website/client/assets/images/npc/spring/market_banner_npc.png b/website/client/src/assets/images/npc/spring/market_banner_npc.png
similarity index 100%
rename from website/client/assets/images/npc/spring/market_banner_npc.png
rename to website/client/src/assets/images/npc/spring/market_banner_npc.png
diff --git a/website/client/assets/images/npc/spring/npc_bailey.png b/website/client/src/assets/images/npc/spring/npc_bailey.png
similarity index 100%
rename from website/client/assets/images/npc/spring/npc_bailey.png
rename to website/client/src/assets/images/npc/spring/npc_bailey.png
diff --git a/website/client/assets/images/npc/spring/npc_justin.png b/website/client/src/assets/images/npc/spring/npc_justin.png
similarity index 100%
rename from website/client/assets/images/npc/spring/npc_justin.png
rename to website/client/src/assets/images/npc/spring/npc_justin.png
diff --git a/website/client/assets/images/npc/spring/npc_matt.png b/website/client/src/assets/images/npc/spring/npc_matt.png
similarity index 100%
rename from website/client/assets/images/npc/spring/npc_matt.png
rename to website/client/src/assets/images/npc/spring/npc_matt.png
diff --git a/website/client/assets/images/npc/spring/quest_shop_background.png b/website/client/src/assets/images/npc/spring/quest_shop_background.png
similarity index 100%
rename from website/client/assets/images/npc/spring/quest_shop_background.png
rename to website/client/src/assets/images/npc/spring/quest_shop_background.png
diff --git a/website/client/assets/images/npc/spring/quest_shop_npc.png b/website/client/src/assets/images/npc/spring/quest_shop_npc.png
similarity index 100%
rename from website/client/assets/images/npc/spring/quest_shop_npc.png
rename to website/client/src/assets/images/npc/spring/quest_shop_npc.png
diff --git a/website/client/assets/images/npc/spring/seasonal_shop_closed_background.png b/website/client/src/assets/images/npc/spring/seasonal_shop_closed_background.png
similarity index 100%
rename from website/client/assets/images/npc/spring/seasonal_shop_closed_background.png
rename to website/client/src/assets/images/npc/spring/seasonal_shop_closed_background.png
diff --git a/website/client/assets/images/npc/spring/seasonal_shop_closed_npc.png b/website/client/src/assets/images/npc/spring/seasonal_shop_closed_npc.png
similarity index 100%
rename from website/client/assets/images/npc/spring/seasonal_shop_closed_npc.png
rename to website/client/src/assets/images/npc/spring/seasonal_shop_closed_npc.png
diff --git a/website/client/assets/images/npc/spring/seasonal_shop_opened_background.png b/website/client/src/assets/images/npc/spring/seasonal_shop_opened_background.png
similarity index 100%
rename from website/client/assets/images/npc/spring/seasonal_shop_opened_background.png
rename to website/client/src/assets/images/npc/spring/seasonal_shop_opened_background.png
diff --git a/website/client/assets/images/npc/spring/seasonal_shop_opened_npc.png b/website/client/src/assets/images/npc/spring/seasonal_shop_opened_npc.png
similarity index 100%
rename from website/client/assets/images/npc/spring/seasonal_shop_opened_npc.png
rename to website/client/src/assets/images/npc/spring/seasonal_shop_opened_npc.png
diff --git a/website/client/assets/images/npc/spring/tavern_background.png b/website/client/src/assets/images/npc/spring/tavern_background.png
similarity index 100%
rename from website/client/assets/images/npc/spring/tavern_background.png
rename to website/client/src/assets/images/npc/spring/tavern_background.png
diff --git a/website/client/assets/images/npc/spring/tavern_npc.png b/website/client/src/assets/images/npc/spring/tavern_npc.png
similarity index 100%
rename from website/client/assets/images/npc/spring/tavern_npc.png
rename to website/client/src/assets/images/npc/spring/tavern_npc.png
diff --git a/website/client/assets/images/npc/spring/time_travelers_background.png b/website/client/src/assets/images/npc/spring/time_travelers_background.png
similarity index 100%
rename from website/client/assets/images/npc/spring/time_travelers_background.png
rename to website/client/src/assets/images/npc/spring/time_travelers_background.png
diff --git a/website/client/assets/images/npc/spring/time_travelers_closed_banner.png b/website/client/src/assets/images/npc/spring/time_travelers_closed_banner.png
similarity index 100%
rename from website/client/assets/images/npc/spring/time_travelers_closed_banner.png
rename to website/client/src/assets/images/npc/spring/time_travelers_closed_banner.png
diff --git a/website/client/assets/images/npc/spring/time_travelers_open_banner.png b/website/client/src/assets/images/npc/spring/time_travelers_open_banner.png
similarity index 100%
rename from website/client/assets/images/npc/spring/time_travelers_open_banner.png
rename to website/client/src/assets/images/npc/spring/time_travelers_open_banner.png
diff --git a/website/client/assets/images/npc/summer/market_background.png b/website/client/src/assets/images/npc/summer/market_background.png
similarity index 100%
rename from website/client/assets/images/npc/summer/market_background.png
rename to website/client/src/assets/images/npc/summer/market_background.png
diff --git a/website/client/assets/images/npc/summer/market_banner_npc.png b/website/client/src/assets/images/npc/summer/market_banner_npc.png
similarity index 100%
rename from website/client/assets/images/npc/summer/market_banner_npc.png
rename to website/client/src/assets/images/npc/summer/market_banner_npc.png
diff --git a/website/client/assets/images/npc/summer/npc_bailey.png b/website/client/src/assets/images/npc/summer/npc_bailey.png
similarity index 100%
rename from website/client/assets/images/npc/summer/npc_bailey.png
rename to website/client/src/assets/images/npc/summer/npc_bailey.png
diff --git a/website/client/assets/images/npc/summer/npc_justin.png b/website/client/src/assets/images/npc/summer/npc_justin.png
similarity index 100%
rename from website/client/assets/images/npc/summer/npc_justin.png
rename to website/client/src/assets/images/npc/summer/npc_justin.png
diff --git a/website/client/assets/images/npc/summer/npc_matt.png b/website/client/src/assets/images/npc/summer/npc_matt.png
similarity index 100%
rename from website/client/assets/images/npc/summer/npc_matt.png
rename to website/client/src/assets/images/npc/summer/npc_matt.png
diff --git a/website/client/assets/images/npc/summer/quest_shop_background.png b/website/client/src/assets/images/npc/summer/quest_shop_background.png
similarity index 100%
rename from website/client/assets/images/npc/summer/quest_shop_background.png
rename to website/client/src/assets/images/npc/summer/quest_shop_background.png
diff --git a/website/client/assets/images/npc/summer/quest_shop_npc.png b/website/client/src/assets/images/npc/summer/quest_shop_npc.png
similarity index 100%
rename from website/client/assets/images/npc/summer/quest_shop_npc.png
rename to website/client/src/assets/images/npc/summer/quest_shop_npc.png
diff --git a/website/client/assets/images/npc/summer/seasonal_shop_closed_background.png b/website/client/src/assets/images/npc/summer/seasonal_shop_closed_background.png
similarity index 100%
rename from website/client/assets/images/npc/summer/seasonal_shop_closed_background.png
rename to website/client/src/assets/images/npc/summer/seasonal_shop_closed_background.png
diff --git a/website/client/assets/images/npc/summer/seasonal_shop_closed_npc.png b/website/client/src/assets/images/npc/summer/seasonal_shop_closed_npc.png
similarity index 100%
rename from website/client/assets/images/npc/summer/seasonal_shop_closed_npc.png
rename to website/client/src/assets/images/npc/summer/seasonal_shop_closed_npc.png
diff --git a/website/client/assets/images/npc/summer/seasonal_shop_opened_background.png b/website/client/src/assets/images/npc/summer/seasonal_shop_opened_background.png
similarity index 100%
rename from website/client/assets/images/npc/summer/seasonal_shop_opened_background.png
rename to website/client/src/assets/images/npc/summer/seasonal_shop_opened_background.png
diff --git a/website/client/assets/images/npc/summer/seasonal_shop_opened_npc.png b/website/client/src/assets/images/npc/summer/seasonal_shop_opened_npc.png
similarity index 100%
rename from website/client/assets/images/npc/summer/seasonal_shop_opened_npc.png
rename to website/client/src/assets/images/npc/summer/seasonal_shop_opened_npc.png
diff --git a/website/client/assets/images/npc/summer/tavern_background.png b/website/client/src/assets/images/npc/summer/tavern_background.png
similarity index 100%
rename from website/client/assets/images/npc/summer/tavern_background.png
rename to website/client/src/assets/images/npc/summer/tavern_background.png
diff --git a/website/client/assets/images/npc/summer/tavern_npc.png b/website/client/src/assets/images/npc/summer/tavern_npc.png
similarity index 100%
rename from website/client/assets/images/npc/summer/tavern_npc.png
rename to website/client/src/assets/images/npc/summer/tavern_npc.png
diff --git a/website/client/assets/images/npc/summer/time_travelers_background.png b/website/client/src/assets/images/npc/summer/time_travelers_background.png
similarity index 100%
rename from website/client/assets/images/npc/summer/time_travelers_background.png
rename to website/client/src/assets/images/npc/summer/time_travelers_background.png
diff --git a/website/client/assets/images/npc/summer/time_travelers_closed_banner.png b/website/client/src/assets/images/npc/summer/time_travelers_closed_banner.png
similarity index 100%
rename from website/client/assets/images/npc/summer/time_travelers_closed_banner.png
rename to website/client/src/assets/images/npc/summer/time_travelers_closed_banner.png
diff --git a/website/client/assets/images/npc/summer/time_travelers_open_banner.png b/website/client/src/assets/images/npc/summer/time_travelers_open_banner.png
similarity index 100%
rename from website/client/assets/images/npc/summer/time_travelers_open_banner.png
rename to website/client/src/assets/images/npc/summer/time_travelers_open_banner.png
diff --git a/website/client/assets/images/npc/thanksgiving/market_background.png b/website/client/src/assets/images/npc/thanksgiving/market_background.png
similarity index 100%
rename from website/client/assets/images/npc/thanksgiving/market_background.png
rename to website/client/src/assets/images/npc/thanksgiving/market_background.png
diff --git a/website/client/assets/images/npc/thanksgiving/market_banner_npc.png b/website/client/src/assets/images/npc/thanksgiving/market_banner_npc.png
similarity index 100%
rename from website/client/assets/images/npc/thanksgiving/market_banner_npc.png
rename to website/client/src/assets/images/npc/thanksgiving/market_banner_npc.png
diff --git a/website/client/assets/images/npc/thanksgiving/npc_bailey.png b/website/client/src/assets/images/npc/thanksgiving/npc_bailey.png
similarity index 100%
rename from website/client/assets/images/npc/thanksgiving/npc_bailey.png
rename to website/client/src/assets/images/npc/thanksgiving/npc_bailey.png
diff --git a/website/client/assets/images/npc/thanksgiving/npc_matt.png b/website/client/src/assets/images/npc/thanksgiving/npc_matt.png
similarity index 100%
rename from website/client/assets/images/npc/thanksgiving/npc_matt.png
rename to website/client/src/assets/images/npc/thanksgiving/npc_matt.png
diff --git a/website/client/assets/images/npc/thanksgiving/quest_shop_background.png b/website/client/src/assets/images/npc/thanksgiving/quest_shop_background.png
similarity index 100%
rename from website/client/assets/images/npc/thanksgiving/quest_shop_background.png
rename to website/client/src/assets/images/npc/thanksgiving/quest_shop_background.png
diff --git a/website/client/assets/images/npc/thanksgiving/quest_shop_npc.png b/website/client/src/assets/images/npc/thanksgiving/quest_shop_npc.png
similarity index 100%
rename from website/client/assets/images/npc/thanksgiving/quest_shop_npc.png
rename to website/client/src/assets/images/npc/thanksgiving/quest_shop_npc.png
diff --git a/website/client/assets/images/npc/thanksgiving/seasonal_shop_closed_background.png b/website/client/src/assets/images/npc/thanksgiving/seasonal_shop_closed_background.png
similarity index 100%
rename from website/client/assets/images/npc/thanksgiving/seasonal_shop_closed_background.png
rename to website/client/src/assets/images/npc/thanksgiving/seasonal_shop_closed_background.png
diff --git a/website/client/assets/images/npc/thanksgiving/seasonal_shop_closed_npc.png b/website/client/src/assets/images/npc/thanksgiving/seasonal_shop_closed_npc.png
similarity index 100%
rename from website/client/assets/images/npc/thanksgiving/seasonal_shop_closed_npc.png
rename to website/client/src/assets/images/npc/thanksgiving/seasonal_shop_closed_npc.png
diff --git a/website/client/assets/images/npc/thanksgiving/seasonal_shop_opened_background.png b/website/client/src/assets/images/npc/thanksgiving/seasonal_shop_opened_background.png
similarity index 100%
rename from website/client/assets/images/npc/thanksgiving/seasonal_shop_opened_background.png
rename to website/client/src/assets/images/npc/thanksgiving/seasonal_shop_opened_background.png
diff --git a/website/client/assets/images/npc/thanksgiving/seasonal_shop_opened_npc.png b/website/client/src/assets/images/npc/thanksgiving/seasonal_shop_opened_npc.png
similarity index 100%
rename from website/client/assets/images/npc/thanksgiving/seasonal_shop_opened_npc.png
rename to website/client/src/assets/images/npc/thanksgiving/seasonal_shop_opened_npc.png
diff --git a/website/client/assets/images/npc/thanksgiving/tavern_background.png b/website/client/src/assets/images/npc/thanksgiving/tavern_background.png
similarity index 100%
rename from website/client/assets/images/npc/thanksgiving/tavern_background.png
rename to website/client/src/assets/images/npc/thanksgiving/tavern_background.png
diff --git a/website/client/assets/images/npc/thanksgiving/tavern_npc.png b/website/client/src/assets/images/npc/thanksgiving/tavern_npc.png
similarity index 100%
rename from website/client/assets/images/npc/thanksgiving/tavern_npc.png
rename to website/client/src/assets/images/npc/thanksgiving/tavern_npc.png
diff --git a/website/client/assets/images/npc/valentines/market_background.png b/website/client/src/assets/images/npc/valentines/market_background.png
similarity index 100%
rename from website/client/assets/images/npc/valentines/market_background.png
rename to website/client/src/assets/images/npc/valentines/market_background.png
diff --git a/website/client/assets/images/npc/valentines/market_banner_npc.png b/website/client/src/assets/images/npc/valentines/market_banner_npc.png
similarity index 100%
rename from website/client/assets/images/npc/valentines/market_banner_npc.png
rename to website/client/src/assets/images/npc/valentines/market_banner_npc.png
diff --git a/website/client/assets/images/npc/valentines/npc_bailey.png b/website/client/src/assets/images/npc/valentines/npc_bailey.png
similarity index 100%
rename from website/client/assets/images/npc/valentines/npc_bailey.png
rename to website/client/src/assets/images/npc/valentines/npc_bailey.png
diff --git a/website/client/assets/images/npc/valentines/tavern_background.png b/website/client/src/assets/images/npc/valentines/tavern_background.png
similarity index 100%
rename from website/client/assets/images/npc/valentines/tavern_background.png
rename to website/client/src/assets/images/npc/valentines/tavern_background.png
diff --git a/website/client/assets/images/npc/valentines/tavern_npc.png b/website/client/src/assets/images/npc/valentines/tavern_npc.png
similarity index 100%
rename from website/client/assets/images/npc/valentines/tavern_npc.png
rename to website/client/src/assets/images/npc/valentines/tavern_npc.png
diff --git a/website/client/assets/images/npc/winter/market_background.png b/website/client/src/assets/images/npc/winter/market_background.png
similarity index 100%
rename from website/client/assets/images/npc/winter/market_background.png
rename to website/client/src/assets/images/npc/winter/market_background.png
diff --git a/website/client/assets/images/npc/winter/market_banner_npc.png b/website/client/src/assets/images/npc/winter/market_banner_npc.png
similarity index 100%
rename from website/client/assets/images/npc/winter/market_banner_npc.png
rename to website/client/src/assets/images/npc/winter/market_banner_npc.png
diff --git a/website/client/assets/images/npc/winter/npc_bailey.png b/website/client/src/assets/images/npc/winter/npc_bailey.png
similarity index 100%
rename from website/client/assets/images/npc/winter/npc_bailey.png
rename to website/client/src/assets/images/npc/winter/npc_bailey.png
diff --git a/website/client/assets/images/npc/winter/npc_justin.png b/website/client/src/assets/images/npc/winter/npc_justin.png
similarity index 100%
rename from website/client/assets/images/npc/winter/npc_justin.png
rename to website/client/src/assets/images/npc/winter/npc_justin.png
diff --git a/website/client/assets/images/npc/winter/npc_matt.png b/website/client/src/assets/images/npc/winter/npc_matt.png
similarity index 100%
rename from website/client/assets/images/npc/winter/npc_matt.png
rename to website/client/src/assets/images/npc/winter/npc_matt.png
diff --git a/website/client/assets/images/npc/winter/quest_shop_background.png b/website/client/src/assets/images/npc/winter/quest_shop_background.png
similarity index 100%
rename from website/client/assets/images/npc/winter/quest_shop_background.png
rename to website/client/src/assets/images/npc/winter/quest_shop_background.png
diff --git a/website/client/assets/images/npc/winter/quest_shop_npc.png b/website/client/src/assets/images/npc/winter/quest_shop_npc.png
similarity index 100%
rename from website/client/assets/images/npc/winter/quest_shop_npc.png
rename to website/client/src/assets/images/npc/winter/quest_shop_npc.png
diff --git a/website/client/assets/images/npc/winter/seasonal_shop_closed_background.png b/website/client/src/assets/images/npc/winter/seasonal_shop_closed_background.png
similarity index 100%
rename from website/client/assets/images/npc/winter/seasonal_shop_closed_background.png
rename to website/client/src/assets/images/npc/winter/seasonal_shop_closed_background.png
diff --git a/website/client/assets/images/npc/winter/seasonal_shop_closed_npc.png b/website/client/src/assets/images/npc/winter/seasonal_shop_closed_npc.png
similarity index 100%
rename from website/client/assets/images/npc/winter/seasonal_shop_closed_npc.png
rename to website/client/src/assets/images/npc/winter/seasonal_shop_closed_npc.png
diff --git a/website/client/assets/images/npc/winter/seasonal_shop_opened_background.png b/website/client/src/assets/images/npc/winter/seasonal_shop_opened_background.png
similarity index 100%
rename from website/client/assets/images/npc/winter/seasonal_shop_opened_background.png
rename to website/client/src/assets/images/npc/winter/seasonal_shop_opened_background.png
diff --git a/website/client/assets/images/npc/winter/seasonal_shop_opened_npc.png b/website/client/src/assets/images/npc/winter/seasonal_shop_opened_npc.png
similarity index 100%
rename from website/client/assets/images/npc/winter/seasonal_shop_opened_npc.png
rename to website/client/src/assets/images/npc/winter/seasonal_shop_opened_npc.png
diff --git a/website/client/assets/images/npc/winter/tavern_background.png b/website/client/src/assets/images/npc/winter/tavern_background.png
similarity index 100%
rename from website/client/assets/images/npc/winter/tavern_background.png
rename to website/client/src/assets/images/npc/winter/tavern_background.png
diff --git a/website/client/assets/images/npc/winter/tavern_npc.png b/website/client/src/assets/images/npc/winter/tavern_npc.png
similarity index 100%
rename from website/client/assets/images/npc/winter/tavern_npc.png
rename to website/client/src/assets/images/npc/winter/tavern_npc.png
diff --git a/website/client/assets/images/npc/winter/time_travelers_background.png b/website/client/src/assets/images/npc/winter/time_travelers_background.png
similarity index 100%
rename from website/client/assets/images/npc/winter/time_travelers_background.png
rename to website/client/src/assets/images/npc/winter/time_travelers_background.png
diff --git a/website/client/assets/images/npc/winter/time_travelers_closed_banner.png b/website/client/src/assets/images/npc/winter/time_travelers_closed_banner.png
similarity index 100%
rename from website/client/assets/images/npc/winter/time_travelers_closed_banner.png
rename to website/client/src/assets/images/npc/winter/time_travelers_closed_banner.png
diff --git a/website/client/assets/images/npc/winter/time_travelers_open_banner.png b/website/client/src/assets/images/npc/winter/time_travelers_open_banner.png
similarity index 100%
rename from website/client/assets/images/npc/winter/time_travelers_open_banner.png
rename to website/client/src/assets/images/npc/winter/time_travelers_open_banner.png
diff --git a/website/client/assets/images/npc_ian.gif b/website/client/src/assets/images/npc_ian.gif
similarity index 100%
rename from website/client/assets/images/npc_ian.gif
rename to website/client/src/assets/images/npc_ian.gif
diff --git a/website/client/assets/images/party.png b/website/client/src/assets/images/party.png
similarity index 100%
rename from website/client/assets/images/party.png
rename to website/client/src/assets/images/party.png
diff --git a/website/client/assets/images/paypal-checkout.png b/website/client/src/assets/images/paypal-checkout.png
similarity index 100%
rename from website/client/assets/images/paypal-checkout.png
rename to website/client/src/assets/images/paypal-checkout.png
diff --git a/website/client/assets/images/paypal.png b/website/client/src/assets/images/paypal.png
similarity index 100%
rename from website/client/assets/images/paypal.png
rename to website/client/src/assets/images/paypal.png
diff --git a/website/client/assets/images/promo_kickstarter.png b/website/client/src/assets/images/promo_kickstarter.png
similarity index 100%
rename from website/client/assets/images/promo_kickstarter.png
rename to website/client/src/assets/images/promo_kickstarter.png
diff --git a/website/client/assets/images/quest_bewilder.gif b/website/client/src/assets/images/quest_bewilder.gif
similarity index 100%
rename from website/client/assets/images/quest_bewilder.gif
rename to website/client/src/assets/images/quest_bewilder.gif
diff --git a/website/client/assets/images/quest_burnout.gif b/website/client/src/assets/images/quest_burnout.gif
similarity index 100%
rename from website/client/assets/images/quest_burnout.gif
rename to website/client/src/assets/images/quest_burnout.gif
diff --git a/website/client/assets/images/quest_dysheartener.gif b/website/client/src/assets/images/quest_dysheartener.gif
similarity index 100%
rename from website/client/assets/images/quest_dysheartener.gif
rename to website/client/src/assets/images/quest_dysheartener.gif
diff --git a/website/client/assets/images/quest_lostMasterclasser4.gif b/website/client/src/assets/images/quest_lostMasterclasser4.gif
similarity index 100%
rename from website/client/assets/images/quest_lostMasterclasser4.gif
rename to website/client/src/assets/images/quest_lostMasterclasser4.gif
diff --git a/website/client/assets/images/quest_screen.png b/website/client/src/assets/images/quest_screen.png
similarity index 100%
rename from website/client/assets/images/quest_screen.png
rename to website/client/src/assets/images/quest_screen.png
diff --git a/website/client/src/assets/images/sprites/spritesmith-largeSprites-0.png b/website/client/src/assets/images/sprites/spritesmith-largeSprites-0.png
new file mode 100644
index 0000000000..459eafcafd
Binary files /dev/null and b/website/client/src/assets/images/sprites/spritesmith-largeSprites-0.png differ
diff --git a/website/client/src/assets/images/sprites/spritesmith-main-0.png b/website/client/src/assets/images/sprites/spritesmith-main-0.png
new file mode 100644
index 0000000000..c8ca180ddd
Binary files /dev/null and b/website/client/src/assets/images/sprites/spritesmith-main-0.png differ
diff --git a/website/client/src/assets/images/sprites/spritesmith-main-1.png b/website/client/src/assets/images/sprites/spritesmith-main-1.png
new file mode 100644
index 0000000000..b975c1de8f
Binary files /dev/null and b/website/client/src/assets/images/sprites/spritesmith-main-1.png differ
diff --git a/website/client/src/assets/images/sprites/spritesmith-main-10.png b/website/client/src/assets/images/sprites/spritesmith-main-10.png
new file mode 100644
index 0000000000..e14ff6c3c9
Binary files /dev/null and b/website/client/src/assets/images/sprites/spritesmith-main-10.png differ
diff --git a/website/client/src/assets/images/sprites/spritesmith-main-11.png b/website/client/src/assets/images/sprites/spritesmith-main-11.png
new file mode 100644
index 0000000000..01f496cbe0
Binary files /dev/null and b/website/client/src/assets/images/sprites/spritesmith-main-11.png differ
diff --git a/website/client/src/assets/images/sprites/spritesmith-main-12.png b/website/client/src/assets/images/sprites/spritesmith-main-12.png
new file mode 100644
index 0000000000..8602cc6198
Binary files /dev/null and b/website/client/src/assets/images/sprites/spritesmith-main-12.png differ
diff --git a/website/client/src/assets/images/sprites/spritesmith-main-13.png b/website/client/src/assets/images/sprites/spritesmith-main-13.png
new file mode 100644
index 0000000000..7631be134a
Binary files /dev/null and b/website/client/src/assets/images/sprites/spritesmith-main-13.png differ
diff --git a/website/client/src/assets/images/sprites/spritesmith-main-14.png b/website/client/src/assets/images/sprites/spritesmith-main-14.png
new file mode 100644
index 0000000000..60c8a23e61
Binary files /dev/null and b/website/client/src/assets/images/sprites/spritesmith-main-14.png differ
diff --git a/website/client/src/assets/images/sprites/spritesmith-main-15.png b/website/client/src/assets/images/sprites/spritesmith-main-15.png
new file mode 100644
index 0000000000..734f6ecc15
Binary files /dev/null and b/website/client/src/assets/images/sprites/spritesmith-main-15.png differ
diff --git a/website/client/src/assets/images/sprites/spritesmith-main-16.png b/website/client/src/assets/images/sprites/spritesmith-main-16.png
new file mode 100644
index 0000000000..5275e336a2
Binary files /dev/null and b/website/client/src/assets/images/sprites/spritesmith-main-16.png differ
diff --git a/website/client/src/assets/images/sprites/spritesmith-main-17.png b/website/client/src/assets/images/sprites/spritesmith-main-17.png
new file mode 100644
index 0000000000..ce501c9177
Binary files /dev/null and b/website/client/src/assets/images/sprites/spritesmith-main-17.png differ
diff --git a/website/client/src/assets/images/sprites/spritesmith-main-18.png b/website/client/src/assets/images/sprites/spritesmith-main-18.png
new file mode 100644
index 0000000000..fd8fb86eca
Binary files /dev/null and b/website/client/src/assets/images/sprites/spritesmith-main-18.png differ
diff --git a/website/client/src/assets/images/sprites/spritesmith-main-19.png b/website/client/src/assets/images/sprites/spritesmith-main-19.png
new file mode 100644
index 0000000000..302687e693
Binary files /dev/null and b/website/client/src/assets/images/sprites/spritesmith-main-19.png differ
diff --git a/website/client/src/assets/images/sprites/spritesmith-main-2.png b/website/client/src/assets/images/sprites/spritesmith-main-2.png
new file mode 100644
index 0000000000..a8baee051c
Binary files /dev/null and b/website/client/src/assets/images/sprites/spritesmith-main-2.png differ
diff --git a/website/client/src/assets/images/sprites/spritesmith-main-20.png b/website/client/src/assets/images/sprites/spritesmith-main-20.png
new file mode 100644
index 0000000000..8929e415b4
Binary files /dev/null and b/website/client/src/assets/images/sprites/spritesmith-main-20.png differ
diff --git a/website/client/src/assets/images/sprites/spritesmith-main-21.png b/website/client/src/assets/images/sprites/spritesmith-main-21.png
new file mode 100644
index 0000000000..532761b2c0
Binary files /dev/null and b/website/client/src/assets/images/sprites/spritesmith-main-21.png differ
diff --git a/website/client/src/assets/images/sprites/spritesmith-main-22.png b/website/client/src/assets/images/sprites/spritesmith-main-22.png
new file mode 100644
index 0000000000..a663ab0b0d
Binary files /dev/null and b/website/client/src/assets/images/sprites/spritesmith-main-22.png differ
diff --git a/website/client/src/assets/images/sprites/spritesmith-main-23.png b/website/client/src/assets/images/sprites/spritesmith-main-23.png
new file mode 100644
index 0000000000..60a4ad3675
Binary files /dev/null and b/website/client/src/assets/images/sprites/spritesmith-main-23.png differ
diff --git a/website/client/src/assets/images/sprites/spritesmith-main-24.png b/website/client/src/assets/images/sprites/spritesmith-main-24.png
new file mode 100644
index 0000000000..37bddcf504
Binary files /dev/null and b/website/client/src/assets/images/sprites/spritesmith-main-24.png differ
diff --git a/website/client/src/assets/images/sprites/spritesmith-main-25.png b/website/client/src/assets/images/sprites/spritesmith-main-25.png
new file mode 100644
index 0000000000..2aaab0235e
Binary files /dev/null and b/website/client/src/assets/images/sprites/spritesmith-main-25.png differ
diff --git a/website/client/src/assets/images/sprites/spritesmith-main-26.png b/website/client/src/assets/images/sprites/spritesmith-main-26.png
new file mode 100644
index 0000000000..b92c6618be
Binary files /dev/null and b/website/client/src/assets/images/sprites/spritesmith-main-26.png differ
diff --git a/website/client/src/assets/images/sprites/spritesmith-main-3.png b/website/client/src/assets/images/sprites/spritesmith-main-3.png
new file mode 100644
index 0000000000..89e7c193c6
Binary files /dev/null and b/website/client/src/assets/images/sprites/spritesmith-main-3.png differ
diff --git a/website/client/src/assets/images/sprites/spritesmith-main-4.png b/website/client/src/assets/images/sprites/spritesmith-main-4.png
new file mode 100644
index 0000000000..a63dd737ce
Binary files /dev/null and b/website/client/src/assets/images/sprites/spritesmith-main-4.png differ
diff --git a/website/client/src/assets/images/sprites/spritesmith-main-5.png b/website/client/src/assets/images/sprites/spritesmith-main-5.png
new file mode 100644
index 0000000000..7e3930e2fe
Binary files /dev/null and b/website/client/src/assets/images/sprites/spritesmith-main-5.png differ
diff --git a/website/client/src/assets/images/sprites/spritesmith-main-6.png b/website/client/src/assets/images/sprites/spritesmith-main-6.png
new file mode 100644
index 0000000000..cc0f19649c
Binary files /dev/null and b/website/client/src/assets/images/sprites/spritesmith-main-6.png differ
diff --git a/website/client/src/assets/images/sprites/spritesmith-main-7.png b/website/client/src/assets/images/sprites/spritesmith-main-7.png
new file mode 100644
index 0000000000..53aa8ec093
Binary files /dev/null and b/website/client/src/assets/images/sprites/spritesmith-main-7.png differ
diff --git a/website/client/src/assets/images/sprites/spritesmith-main-8.png b/website/client/src/assets/images/sprites/spritesmith-main-8.png
new file mode 100644
index 0000000000..9037a1acd6
Binary files /dev/null and b/website/client/src/assets/images/sprites/spritesmith-main-8.png differ
diff --git a/website/client/src/assets/images/sprites/spritesmith-main-9.png b/website/client/src/assets/images/sprites/spritesmith-main-9.png
new file mode 100644
index 0000000000..3251ee5c01
Binary files /dev/null and b/website/client/src/assets/images/sprites/spritesmith-main-9.png differ
diff --git a/website/client/assets/images/weapon_special_critical.gif b/website/client/src/assets/images/weapon_special_critical.gif
similarity index 100%
rename from website/client/assets/images/weapon_special_critical.gif
rename to website/client/src/assets/images/weapon_special_critical.gif
diff --git a/website/client/assets/images/world-boss/heart-translucent-shadow-notification@3x.png b/website/client/src/assets/images/world-boss/heart-translucent-shadow-notification@3x.png
similarity index 100%
rename from website/client/assets/images/world-boss/heart-translucent-shadow-notification@3x.png
rename to website/client/src/assets/images/world-boss/heart-translucent-shadow-notification@3x.png
diff --git a/website/client/assets/images/world-boss/heart-translucent-shadow@3x.png b/website/client/src/assets/images/world-boss/heart-translucent-shadow@3x.png
similarity index 100%
rename from website/client/assets/images/world-boss/heart-translucent-shadow@3x.png
rename to website/client/src/assets/images/world-boss/heart-translucent-shadow@3x.png
diff --git a/website/client/assets/images/world-boss/left-hearts@3x.png b/website/client/src/assets/images/world-boss/left-hearts@3x.png
similarity index 100%
rename from website/client/assets/images/world-boss/left-hearts@3x.png
rename to website/client/src/assets/images/world-boss/left-hearts@3x.png
diff --git a/website/client/assets/images/world-boss/mantis-static-notification@3x.png b/website/client/src/assets/images/world-boss/mantis-static-notification@3x.png
similarity index 100%
rename from website/client/assets/images/world-boss/mantis-static-notification@3x.png
rename to website/client/src/assets/images/world-boss/mantis-static-notification@3x.png
diff --git a/website/client/assets/images/world-boss/mantis-static@3x.png b/website/client/src/assets/images/world-boss/mantis-static@3x.png
similarity index 100%
rename from website/client/assets/images/world-boss/mantis-static@3x.png
rename to website/client/src/assets/images/world-boss/mantis-static@3x.png
diff --git a/website/client/assets/images/world-boss/rage_strike-market@2x.png b/website/client/src/assets/images/world-boss/rage_strike-market@2x.png
similarity index 100%
rename from website/client/assets/images/world-boss/rage_strike-market@2x.png
rename to website/client/src/assets/images/world-boss/rage_strike-market@2x.png
diff --git a/website/client/assets/images/world-boss/rage_strike-quests@2x.png b/website/client/src/assets/images/world-boss/rage_strike-quests@2x.png
similarity index 100%
rename from website/client/assets/images/world-boss/rage_strike-quests@2x.png
rename to website/client/src/assets/images/world-boss/rage_strike-quests@2x.png
diff --git a/website/client/assets/images/world-boss/rage_strike-seasonalShop@2x.png b/website/client/src/assets/images/world-boss/rage_strike-seasonalShop@2x.png
similarity index 100%
rename from website/client/assets/images/world-boss/rage_strike-seasonalShop@2x.png
rename to website/client/src/assets/images/world-boss/rage_strike-seasonalShop@2x.png
diff --git a/website/client/assets/images/world-boss/rage_strike@2x.png b/website/client/src/assets/images/world-boss/rage_strike@2x.png
similarity index 100%
rename from website/client/assets/images/world-boss/rage_strike@2x.png
rename to website/client/src/assets/images/world-boss/rage_strike@2x.png
diff --git a/website/client/assets/images/world-boss/right-hearts@3x.png b/website/client/src/assets/images/world-boss/right-hearts@3x.png
similarity index 100%
rename from website/client/assets/images/world-boss/right-hearts@3x.png
rename to website/client/src/assets/images/world-boss/right-hearts@3x.png
diff --git a/website/client/assets/members/message.svg b/website/client/src/assets/members/message.svg
similarity index 100%
rename from website/client/assets/members/message.svg
rename to website/client/src/assets/members/message.svg
diff --git a/website/client/assets/members/remove.svg b/website/client/src/assets/members/remove.svg
similarity index 100%
rename from website/client/assets/members/remove.svg
rename to website/client/src/assets/members/remove.svg
diff --git a/website/client/assets/members/star.svg b/website/client/src/assets/members/star.svg
similarity index 100%
rename from website/client/assets/members/star.svg
rename to website/client/src/assets/members/star.svg
diff --git a/website/client/assets/scss/animals.scss b/website/client/src/assets/scss/animals.scss
similarity index 100%
rename from website/client/assets/scss/animals.scss
rename to website/client/src/assets/scss/animals.scss
diff --git a/website/client/assets/scss/badge.scss b/website/client/src/assets/scss/badge.scss
similarity index 100%
rename from website/client/assets/scss/badge.scss
rename to website/client/src/assets/scss/badge.scss
diff --git a/website/client/assets/scss/banner.scss b/website/client/src/assets/scss/banner.scss
similarity index 94%
rename from website/client/assets/scss/banner.scss
rename to website/client/src/assets/scss/banner.scss
index 38c14db971..6461aff450 100644
--- a/website/client/assets/scss/banner.scss
+++ b/website/client/src/assets/scss/banner.scss
@@ -1,5 +1,5 @@
-@import '~client/assets/scss/colors.scss';
+@import '~@/assets/scss/colors.scss';
.featured-label {
width: auto;
diff --git a/website/client/assets/scss/bootstrap.scss b/website/client/src/assets/scss/bootstrap.scss
similarity index 100%
rename from website/client/assets/scss/bootstrap.scss
rename to website/client/src/assets/scss/bootstrap.scss
diff --git a/website/client/assets/scss/button.scss b/website/client/src/assets/scss/button.scss
similarity index 100%
rename from website/client/assets/scss/button.scss
rename to website/client/src/assets/scss/button.scss
diff --git a/website/client/assets/scss/categories.scss b/website/client/src/assets/scss/categories.scss
similarity index 100%
rename from website/client/assets/scss/categories.scss
rename to website/client/src/assets/scss/categories.scss
diff --git a/website/client/assets/scss/colors.scss b/website/client/src/assets/scss/colors.scss
similarity index 100%
rename from website/client/assets/scss/colors.scss
rename to website/client/src/assets/scss/colors.scss
diff --git a/website/client/assets/scss/create-task.scss b/website/client/src/assets/scss/create-task.scss
similarity index 100%
rename from website/client/assets/scss/create-task.scss
rename to website/client/src/assets/scss/create-task.scss
diff --git a/website/client/assets/scss/datepicker.scss b/website/client/src/assets/scss/datepicker.scss
similarity index 100%
rename from website/client/assets/scss/datepicker.scss
rename to website/client/src/assets/scss/datepicker.scss
diff --git a/website/client/assets/scss/dragdrop.scss b/website/client/src/assets/scss/dragdrop.scss
similarity index 100%
rename from website/client/assets/scss/dragdrop.scss
rename to website/client/src/assets/scss/dragdrop.scss
diff --git a/website/client/assets/scss/drawer.scss b/website/client/src/assets/scss/drawer.scss
similarity index 100%
rename from website/client/assets/scss/drawer.scss
rename to website/client/src/assets/scss/drawer.scss
diff --git a/website/client/assets/scss/dropdown.scss b/website/client/src/assets/scss/dropdown.scss
similarity index 100%
rename from website/client/assets/scss/dropdown.scss
rename to website/client/src/assets/scss/dropdown.scss
diff --git a/website/client/assets/scss/form.scss b/website/client/src/assets/scss/form.scss
similarity index 95%
rename from website/client/assets/scss/form.scss
rename to website/client/src/assets/scss/form.scss
index 70e9286741..78b7e5397a 100644
--- a/website/client/assets/scss/form.scss
+++ b/website/client/src/assets/scss/form.scss
@@ -46,7 +46,7 @@ input, textarea, input.form-control, textarea.form-control {
background-repeat: no-repeat;
background-position: center left 16px;
background-size: 16px 16px;
- background-image: url(~client/assets/svg/for-css/search.svg);
+ background-image: url(~@/assets/svg/for-css/search.svg);
padding-left: 40px;
}
@@ -57,13 +57,13 @@ input, textarea, input.form-control, textarea.form-control {
&.input-valid {
padding-right: 37px;
- background-image: url(~client/assets/svg/for-css/check.svg);
+ background-image: url(~@/assets/svg/for-css/check.svg);
background-size: 13px 10px;
}
&.input-invalid {
padding-right: 40px;
- background-image: url(~client/assets/svg/for-css/alert.svg);
+ background-image: url(~@/assets/svg/for-css/alert.svg);
background-size: 16px 16px;
}
}
@@ -158,7 +158,7 @@ $bg-disabled-control: #34303a;
&:checked~.custom-control-label::after {
width: 18px;
height: 18px;
- background-image: url(~client/assets/svg/for-css/checkbox-white.svg);
+ background-image: url(~@/assets/svg/for-css/checkbox-white.svg);
background-size: 13px 10px;
}
diff --git a/website/client/assets/scss/icon.scss b/website/client/src/assets/scss/icon.scss
similarity index 100%
rename from website/client/assets/scss/icon.scss
rename to website/client/src/assets/scss/icon.scss
diff --git a/website/client/assets/scss/iconalert.scss b/website/client/src/assets/scss/iconalert.scss
similarity index 87%
rename from website/client/assets/scss/iconalert.scss
rename to website/client/src/assets/scss/iconalert.scss
index cfcdbf56b9..ddb2e03f46 100644
--- a/website/client/assets/scss/iconalert.scss
+++ b/website/client/src/assets/scss/iconalert.scss
@@ -29,13 +29,13 @@
}
.iconalert-success::before {
- background-image: url(~client/assets/svg/for-css/checkbox-white.svg);
+ background-image: url(~@/assets/svg/for-css/checkbox-white.svg);
background-size: 13px 10px;
background-color: #1ca372;
}
.iconalert-warning::before, .iconalert-error::before {
- background-image: url(~client/assets/svg/for-css/alert-white.svg);
+ background-image: url(~@/assets/svg/for-css/alert-white.svg);
background-size: 16px 16px;
}
diff --git a/website/client/assets/scss/index.scss b/website/client/src/assets/scss/index.scss
similarity index 100%
rename from website/client/assets/scss/index.scss
rename to website/client/src/assets/scss/index.scss
diff --git a/website/client/assets/scss/item.scss b/website/client/src/assets/scss/item.scss
similarity index 100%
rename from website/client/assets/scss/item.scss
rename to website/client/src/assets/scss/item.scss
diff --git a/website/client/assets/scss/loading-screen.scss b/website/client/src/assets/scss/loading-screen.scss
similarity index 100%
rename from website/client/assets/scss/loading-screen.scss
rename to website/client/src/assets/scss/loading-screen.scss
diff --git a/website/client/assets/scss/markdown.scss b/website/client/src/assets/scss/markdown.scss
similarity index 100%
rename from website/client/assets/scss/markdown.scss
rename to website/client/src/assets/scss/markdown.scss
diff --git a/website/client/assets/scss/misc.scss b/website/client/src/assets/scss/misc.scss
similarity index 100%
rename from website/client/assets/scss/misc.scss
rename to website/client/src/assets/scss/misc.scss
diff --git a/website/client/assets/scss/modal.scss b/website/client/src/assets/scss/modal.scss
similarity index 98%
rename from website/client/assets/scss/modal.scss
rename to website/client/src/assets/scss/modal.scss
index 6aa6a283ac..efaf47bb0c 100644
--- a/website/client/assets/scss/modal.scss
+++ b/website/client/src/assets/scss/modal.scss
@@ -1,5 +1,5 @@
-@import '~client/assets/scss/colors.scss';
+@import '~@/assets/scss/colors.scss';
@mixin centeredModal() {
display: flex;
diff --git a/website/client/assets/scss/page.scss b/website/client/src/assets/scss/page.scss
similarity index 100%
rename from website/client/assets/scss/page.scss
rename to website/client/src/assets/scss/page.scss
diff --git a/website/client/assets/scss/payments.scss b/website/client/src/assets/scss/payments.scss
similarity index 100%
rename from website/client/assets/scss/payments.scss
rename to website/client/src/assets/scss/payments.scss
diff --git a/website/client/assets/scss/pin.scss b/website/client/src/assets/scss/pin.scss
similarity index 100%
rename from website/client/assets/scss/pin.scss
rename to website/client/src/assets/scss/pin.scss
diff --git a/website/client/assets/scss/popover.scss b/website/client/src/assets/scss/popover.scss
similarity index 100%
rename from website/client/assets/scss/popover.scss
rename to website/client/src/assets/scss/popover.scss
diff --git a/website/client/assets/scss/progress-bar.scss b/website/client/src/assets/scss/progress-bar.scss
similarity index 100%
rename from website/client/assets/scss/progress-bar.scss
rename to website/client/src/assets/scss/progress-bar.scss
diff --git a/website/client/assets/scss/static.scss b/website/client/src/assets/scss/static.scss
similarity index 88%
rename from website/client/assets/scss/static.scss
rename to website/client/src/assets/scss/static.scss
index 258392852a..9a9b9ee51e 100644
--- a/website/client/assets/scss/static.scss
+++ b/website/client/src/assets/scss/static.scss
@@ -1,4 +1,4 @@
-@import '~client/assets/scss/colors.scss';
+@import '~@/assets/scss/colors.scss';
.container-fluid.static-view {
margin: 5em 2em 0 2em;
diff --git a/website/client/assets/scss/stats.scss b/website/client/src/assets/scss/stats.scss
similarity index 100%
rename from website/client/assets/scss/stats.scss
rename to website/client/src/assets/scss/stats.scss
diff --git a/website/client/assets/scss/task.scss b/website/client/src/assets/scss/task.scss
similarity index 100%
rename from website/client/assets/scss/task.scss
rename to website/client/src/assets/scss/task.scss
diff --git a/website/client/assets/scss/tiers.scss b/website/client/src/assets/scss/tiers.scss
similarity index 100%
rename from website/client/assets/scss/tiers.scss
rename to website/client/src/assets/scss/tiers.scss
diff --git a/website/client/assets/scss/tooltip.scss b/website/client/src/assets/scss/tooltip.scss
similarity index 100%
rename from website/client/assets/scss/tooltip.scss
rename to website/client/src/assets/scss/tooltip.scss
diff --git a/website/client/assets/scss/typography.scss b/website/client/src/assets/scss/typography.scss
similarity index 100%
rename from website/client/assets/scss/typography.scss
rename to website/client/src/assets/scss/typography.scss
diff --git a/website/client/assets/scss/utils.scss b/website/client/src/assets/scss/utils.scss
similarity index 100%
rename from website/client/assets/scss/utils.scss
rename to website/client/src/assets/scss/utils.scss
diff --git a/website/client/assets/scss/variables.scss b/website/client/src/assets/scss/variables.scss
similarity index 100%
rename from website/client/assets/scss/variables.scss
rename to website/client/src/assets/scss/variables.scss
diff --git a/website/client/assets/svg/21-gems.svg b/website/client/src/assets/svg/21-gems.svg
similarity index 100%
rename from website/client/assets/svg/21-gems.svg
rename to website/client/src/assets/svg/21-gems.svg
diff --git a/website/client/assets/svg/4-gems.svg b/website/client/src/assets/svg/4-gems.svg
similarity index 100%
rename from website/client/assets/svg/4-gems.svg
rename to website/client/src/assets/svg/4-gems.svg
diff --git a/website/client/assets/svg/42-gems.svg b/website/client/src/assets/svg/42-gems.svg
similarity index 100%
rename from website/client/assets/svg/42-gems.svg
rename to website/client/src/assets/svg/42-gems.svg
diff --git a/website/client/assets/svg/84-gems.svg b/website/client/src/assets/svg/84-gems.svg
similarity index 100%
rename from website/client/assets/svg/84-gems.svg
rename to website/client/src/assets/svg/84-gems.svg
diff --git a/website/client/assets/svg/README.md b/website/client/src/assets/svg/README.md
similarity index 100%
rename from website/client/assets/svg/README.md
rename to website/client/src/assets/svg/README.md
diff --git a/website/client/assets/svg/accessories.svg b/website/client/src/assets/svg/accessories.svg
similarity index 100%
rename from website/client/assets/svg/accessories.svg
rename to website/client/src/assets/svg/accessories.svg
diff --git a/website/client/assets/svg/amazonpay.svg b/website/client/src/assets/svg/amazonpay.svg
similarity index 100%
rename from website/client/assets/svg/amazonpay.svg
rename to website/client/src/assets/svg/amazonpay.svg
diff --git a/website/client/assets/svg/arrow_left.svg b/website/client/src/assets/svg/arrow_left.svg
similarity index 100%
rename from website/client/assets/svg/arrow_left.svg
rename to website/client/src/assets/svg/arrow_left.svg
diff --git a/website/client/assets/svg/arrow_right.svg b/website/client/src/assets/svg/arrow_right.svg
similarity index 100%
rename from website/client/assets/svg/arrow_right.svg
rename to website/client/src/assets/svg/arrow_right.svg
diff --git a/website/client/assets/svg/backgrounds.svg b/website/client/src/assets/svg/backgrounds.svg
similarity index 100%
rename from website/client/assets/svg/backgrounds.svg
rename to website/client/src/assets/svg/backgrounds.svg
diff --git a/website/client/assets/svg/body.svg b/website/client/src/assets/svg/body.svg
similarity index 100%
rename from website/client/assets/svg/body.svg
rename to website/client/src/assets/svg/body.svg
diff --git a/website/client/assets/svg/bottom.svg b/website/client/src/assets/svg/bottom.svg
similarity index 100%
rename from website/client/assets/svg/bottom.svg
rename to website/client/src/assets/svg/bottom.svg
diff --git a/website/client/assets/svg/broken-megaphone.svg b/website/client/src/assets/svg/broken-megaphone.svg
similarity index 100%
rename from website/client/assets/svg/broken-megaphone.svg
rename to website/client/src/assets/svg/broken-megaphone.svg
diff --git a/website/client/assets/svg/bronze-guild-badge-large.svg b/website/client/src/assets/svg/bronze-guild-badge-large.svg
similarity index 100%
rename from website/client/assets/svg/bronze-guild-badge-large.svg
rename to website/client/src/assets/svg/bronze-guild-badge-large.svg
diff --git a/website/client/assets/svg/bronze-guild-badge-small.svg b/website/client/src/assets/svg/bronze-guild-badge-small.svg
similarity index 100%
rename from website/client/assets/svg/bronze-guild-badge-small.svg
rename to website/client/src/assets/svg/bronze-guild-badge-small.svg
diff --git a/website/client/assets/svg/buff.svg b/website/client/src/assets/svg/buff.svg
similarity index 100%
rename from website/client/assets/svg/buff.svg
rename to website/client/src/assets/svg/buff.svg
diff --git a/website/client/assets/svg/calendar.svg b/website/client/src/assets/svg/calendar.svg
similarity index 100%
rename from website/client/assets/svg/calendar.svg
rename to website/client/src/assets/svg/calendar.svg
diff --git a/website/client/assets/svg/challenge.svg b/website/client/src/assets/svg/challenge.svg
similarity index 100%
rename from website/client/assets/svg/challenge.svg
rename to website/client/src/assets/svg/challenge.svg
diff --git a/website/client/assets/svg/check-red.svg b/website/client/src/assets/svg/check-red.svg
similarity index 100%
rename from website/client/assets/svg/check-red.svg
rename to website/client/src/assets/svg/check-red.svg
diff --git a/website/client/assets/svg/check.svg b/website/client/src/assets/svg/check.svg
similarity index 100%
rename from website/client/assets/svg/check.svg
rename to website/client/src/assets/svg/check.svg
diff --git a/website/client/assets/svg/checklist.svg b/website/client/src/assets/svg/checklist.svg
similarity index 100%
rename from website/client/assets/svg/checklist.svg
rename to website/client/src/assets/svg/checklist.svg
diff --git a/website/client/assets/svg/chevron-down.svg b/website/client/src/assets/svg/chevron-down.svg
similarity index 100%
rename from website/client/assets/svg/chevron-down.svg
rename to website/client/src/assets/svg/chevron-down.svg
diff --git a/website/client/assets/svg/chevron-red.svg b/website/client/src/assets/svg/chevron-red.svg
similarity index 100%
rename from website/client/assets/svg/chevron-red.svg
rename to website/client/src/assets/svg/chevron-red.svg
diff --git a/website/client/assets/svg/clock-white.svg b/website/client/src/assets/svg/clock-white.svg
similarity index 100%
rename from website/client/assets/svg/clock-white.svg
rename to website/client/src/assets/svg/clock-white.svg
diff --git a/website/client/assets/svg/clock.svg b/website/client/src/assets/svg/clock.svg
similarity index 100%
rename from website/client/assets/svg/clock.svg
rename to website/client/src/assets/svg/clock.svg
diff --git a/website/client/assets/svg/close.svg b/website/client/src/assets/svg/close.svg
similarity index 100%
rename from website/client/assets/svg/close.svg
rename to website/client/src/assets/svg/close.svg
diff --git a/website/client/assets/svg/cnet.svg b/website/client/src/assets/svg/cnet.svg
similarity index 100%
rename from website/client/assets/svg/cnet.svg
rename to website/client/src/assets/svg/cnet.svg
diff --git a/website/client/assets/svg/copy.svg b/website/client/src/assets/svg/copy.svg
similarity index 100%
rename from website/client/assets/svg/copy.svg
rename to website/client/src/assets/svg/copy.svg
diff --git a/website/client/assets/svg/credit-card-icon.svg b/website/client/src/assets/svg/credit-card-icon.svg
similarity index 100%
rename from website/client/assets/svg/credit-card-icon.svg
rename to website/client/src/assets/svg/credit-card-icon.svg
diff --git a/website/client/assets/svg/credit-card.svg b/website/client/src/assets/svg/credit-card.svg
similarity index 100%
rename from website/client/assets/svg/credit-card.svg
rename to website/client/src/assets/svg/credit-card.svg
diff --git a/website/client/assets/svg/daily.svg b/website/client/src/assets/svg/daily.svg
similarity index 100%
rename from website/client/assets/svg/daily.svg
rename to website/client/src/assets/svg/daily.svg
diff --git a/website/client/assets/svg/delete.svg b/website/client/src/assets/svg/delete.svg
similarity index 100%
rename from website/client/assets/svg/delete.svg
rename to website/client/src/assets/svg/delete.svg
diff --git a/website/client/assets/svg/difficulty-hard.svg b/website/client/src/assets/svg/difficulty-hard.svg
similarity index 100%
rename from website/client/assets/svg/difficulty-hard.svg
rename to website/client/src/assets/svg/difficulty-hard.svg
diff --git a/website/client/assets/svg/difficulty-medium.svg b/website/client/src/assets/svg/difficulty-medium.svg
similarity index 100%
rename from website/client/assets/svg/difficulty-medium.svg
rename to website/client/src/assets/svg/difficulty-medium.svg
diff --git a/website/client/assets/svg/difficulty-normal.svg b/website/client/src/assets/svg/difficulty-normal.svg
similarity index 100%
rename from website/client/assets/svg/difficulty-normal.svg
rename to website/client/src/assets/svg/difficulty-normal.svg
diff --git a/website/client/assets/svg/difficulty-star-empty.svg b/website/client/src/assets/svg/difficulty-star-empty.svg
similarity index 100%
rename from website/client/assets/svg/difficulty-star-empty.svg
rename to website/client/src/assets/svg/difficulty-star-empty.svg
diff --git a/website/client/assets/svg/difficulty-star-half.svg b/website/client/src/assets/svg/difficulty-star-half.svg
similarity index 100%
rename from website/client/assets/svg/difficulty-star-half.svg
rename to website/client/src/assets/svg/difficulty-star-half.svg
diff --git a/website/client/assets/svg/difficulty-star.svg b/website/client/src/assets/svg/difficulty-star.svg
similarity index 100%
rename from website/client/assets/svg/difficulty-star.svg
rename to website/client/src/assets/svg/difficulty-star.svg
diff --git a/website/client/assets/svg/difficulty-trivial.svg b/website/client/src/assets/svg/difficulty-trivial.svg
similarity index 100%
rename from website/client/assets/svg/difficulty-trivial.svg
rename to website/client/src/assets/svg/difficulty-trivial.svg
diff --git a/website/client/assets/svg/dots.svg b/website/client/src/assets/svg/dots.svg
similarity index 100%
rename from website/client/assets/svg/dots.svg
rename to website/client/src/assets/svg/dots.svg
diff --git a/website/client/assets/svg/down.svg b/website/client/src/assets/svg/down.svg
similarity index 100%
rename from website/client/assets/svg/down.svg
rename to website/client/src/assets/svg/down.svg
diff --git a/website/client/assets/svg/drag_indicator.svg b/website/client/src/assets/svg/drag_indicator.svg
similarity index 100%
rename from website/client/assets/svg/drag_indicator.svg
rename to website/client/src/assets/svg/drag_indicator.svg
diff --git a/website/client/assets/svg/edit.svg b/website/client/src/assets/svg/edit.svg
similarity index 100%
rename from website/client/assets/svg/edit.svg
rename to website/client/src/assets/svg/edit.svg
diff --git a/website/client/assets/svg/exclamation.svg b/website/client/src/assets/svg/exclamation.svg
similarity index 100%
rename from website/client/assets/svg/exclamation.svg
rename to website/client/src/assets/svg/exclamation.svg
diff --git a/website/client/assets/svg/expand.svg b/website/client/src/assets/svg/expand.svg
similarity index 100%
rename from website/client/assets/svg/expand.svg
rename to website/client/src/assets/svg/expand.svg
diff --git a/website/client/assets/svg/experience.svg b/website/client/src/assets/svg/experience.svg
similarity index 100%
rename from website/client/assets/svg/experience.svg
rename to website/client/src/assets/svg/experience.svg
diff --git a/website/client/assets/svg/facebook-square.svg b/website/client/src/assets/svg/facebook-square.svg
similarity index 100%
rename from website/client/assets/svg/facebook-square.svg
rename to website/client/src/assets/svg/facebook-square.svg
diff --git a/website/client/assets/svg/facebook.svg b/website/client/src/assets/svg/facebook.svg
similarity index 100%
rename from website/client/assets/svg/facebook.svg
rename to website/client/src/assets/svg/facebook.svg
diff --git a/website/client/assets/svg/fast-company.svg b/website/client/src/assets/svg/fast-company.svg
similarity index 100%
rename from website/client/assets/svg/fast-company.svg
rename to website/client/src/assets/svg/fast-company.svg
diff --git a/website/client/assets/svg/filter.svg b/website/client/src/assets/svg/filter.svg
similarity index 100%
rename from website/client/assets/svg/filter.svg
rename to website/client/src/assets/svg/filter.svg
diff --git a/website/client/assets/svg/for-css/alert-white.svg b/website/client/src/assets/svg/for-css/alert-white.svg
similarity index 100%
rename from website/client/assets/svg/for-css/alert-white.svg
rename to website/client/src/assets/svg/for-css/alert-white.svg
diff --git a/website/client/assets/svg/for-css/alert.svg b/website/client/src/assets/svg/for-css/alert.svg
similarity index 100%
rename from website/client/assets/svg/for-css/alert.svg
rename to website/client/src/assets/svg/for-css/alert.svg
diff --git a/website/client/assets/svg/for-css/bits.svg b/website/client/src/assets/svg/for-css/bits.svg
similarity index 100%
rename from website/client/assets/svg/for-css/bits.svg
rename to website/client/src/assets/svg/for-css/bits.svg
diff --git a/website/client/assets/svg/for-css/check.svg b/website/client/src/assets/svg/for-css/check.svg
similarity index 100%
rename from website/client/assets/svg/for-css/check.svg
rename to website/client/src/assets/svg/for-css/check.svg
diff --git a/website/client/assets/svg/for-css/checkbox-white.svg b/website/client/src/assets/svg/for-css/checkbox-white.svg
similarity index 100%
rename from website/client/assets/svg/for-css/checkbox-white.svg
rename to website/client/src/assets/svg/for-css/checkbox-white.svg
diff --git a/website/client/assets/svg/for-css/confetti.svg b/website/client/src/assets/svg/for-css/confetti.svg
similarity index 100%
rename from website/client/assets/svg/for-css/confetti.svg
rename to website/client/src/assets/svg/for-css/confetti.svg
diff --git a/website/client/assets/svg/for-css/positive.svg b/website/client/src/assets/svg/for-css/positive.svg
similarity index 100%
rename from website/client/assets/svg/for-css/positive.svg
rename to website/client/src/assets/svg/for-css/positive.svg
diff --git a/website/client/assets/svg/for-css/quest-border.svg b/website/client/src/assets/svg/for-css/quest-border.svg
similarity index 100%
rename from website/client/assets/svg/for-css/quest-border.svg
rename to website/client/src/assets/svg/for-css/quest-border.svg
diff --git a/website/client/assets/svg/for-css/search.svg b/website/client/src/assets/svg/for-css/search.svg
similarity index 100%
rename from website/client/assets/svg/for-css/search.svg
rename to website/client/src/assets/svg/for-css/search.svg
diff --git a/website/client/assets/svg/for-css/support-habitica-gems.svg b/website/client/src/assets/svg/for-css/support-habitica-gems.svg
similarity index 100%
rename from website/client/assets/svg/for-css/support-habitica-gems.svg
rename to website/client/src/assets/svg/for-css/support-habitica-gems.svg
diff --git a/website/client/assets/svg/for-css/tutorial-border.svg b/website/client/src/assets/svg/for-css/tutorial-border.svg
similarity index 100%
rename from website/client/assets/svg/for-css/tutorial-border.svg
rename to website/client/src/assets/svg/for-css/tutorial-border.svg
diff --git a/website/client/assets/svg/gem.svg b/website/client/src/assets/svg/gem.svg
similarity index 100%
rename from website/client/assets/svg/gem.svg
rename to website/client/src/assets/svg/gem.svg
diff --git a/website/client/assets/svg/gift.svg b/website/client/src/assets/svg/gift.svg
similarity index 100%
rename from website/client/assets/svg/gift.svg
rename to website/client/src/assets/svg/gift.svg
diff --git a/website/client/assets/svg/gifts.svg b/website/client/src/assets/svg/gifts.svg
similarity index 100%
rename from website/client/assets/svg/gifts.svg
rename to website/client/src/assets/svg/gifts.svg
diff --git a/website/client/assets/svg/gold-guild-badge-large.svg b/website/client/src/assets/svg/gold-guild-badge-large.svg
similarity index 100%
rename from website/client/assets/svg/gold-guild-badge-large.svg
rename to website/client/src/assets/svg/gold-guild-badge-large.svg
diff --git a/website/client/assets/svg/gold-guild-badge-small.svg b/website/client/src/assets/svg/gold-guild-badge-small.svg
similarity index 100%
rename from website/client/assets/svg/gold-guild-badge-small.svg
rename to website/client/src/assets/svg/gold-guild-badge-small.svg
diff --git a/website/client/assets/svg/gold.svg b/website/client/src/assets/svg/gold.svg
similarity index 100%
rename from website/client/assets/svg/gold.svg
rename to website/client/src/assets/svg/gold.svg
diff --git a/website/client/assets/svg/google.svg b/website/client/src/assets/svg/google.svg
similarity index 100%
rename from website/client/assets/svg/google.svg
rename to website/client/src/assets/svg/google.svg
diff --git a/website/client/assets/svg/grey-badge.svg b/website/client/src/assets/svg/grey-badge.svg
similarity index 100%
rename from website/client/assets/svg/grey-badge.svg
rename to website/client/src/assets/svg/grey-badge.svg
diff --git a/website/client/assets/svg/group.svg b/website/client/src/assets/svg/group.svg
similarity index 100%
rename from website/client/assets/svg/group.svg
rename to website/client/src/assets/svg/group.svg
diff --git a/website/client/assets/svg/gryphon.svg b/website/client/src/assets/svg/gryphon.svg
similarity index 100%
rename from website/client/assets/svg/gryphon.svg
rename to website/client/src/assets/svg/gryphon.svg
diff --git a/website/client/assets/svg/habit.svg b/website/client/src/assets/svg/habit.svg
similarity index 100%
rename from website/client/assets/svg/habit.svg
rename to website/client/src/assets/svg/habit.svg
diff --git a/website/client/assets/svg/habitica-logo.svg b/website/client/src/assets/svg/habitica-logo.svg
similarity index 100%
rename from website/client/assets/svg/habitica-logo.svg
rename to website/client/src/assets/svg/habitica-logo.svg
diff --git a/website/client/assets/svg/hair.svg b/website/client/src/assets/svg/hair.svg
similarity index 100%
rename from website/client/assets/svg/hair.svg
rename to website/client/src/assets/svg/hair.svg
diff --git a/website/client/assets/svg/healer.svg b/website/client/src/assets/svg/healer.svg
similarity index 100%
rename from website/client/assets/svg/healer.svg
rename to website/client/src/assets/svg/healer.svg
diff --git a/website/client/assets/svg/health.svg b/website/client/src/assets/svg/health.svg
similarity index 100%
rename from website/client/assets/svg/health.svg
rename to website/client/src/assets/svg/health.svg
diff --git a/website/client/assets/svg/heart.svg b/website/client/src/assets/svg/heart.svg
similarity index 100%
rename from website/client/assets/svg/heart.svg
rename to website/client/src/assets/svg/heart.svg
diff --git a/website/client/assets/svg/hello-habitican.svg b/website/client/src/assets/svg/hello-habitican.svg
similarity index 100%
rename from website/client/assets/svg/hello-habitican.svg
rename to website/client/src/assets/svg/hello-habitican.svg
diff --git a/website/client/assets/svg/hourglass.svg b/website/client/src/assets/svg/hourglass.svg
similarity index 100%
rename from website/client/assets/svg/hourglass.svg
rename to website/client/src/assets/svg/hourglass.svg
diff --git a/website/client/assets/svg/information-red.svg b/website/client/src/assets/svg/information-red.svg
similarity index 100%
rename from website/client/assets/svg/information-red.svg
rename to website/client/src/assets/svg/information-red.svg
diff --git a/website/client/assets/svg/information.svg b/website/client/src/assets/svg/information.svg
similarity index 100%
rename from website/client/assets/svg/information.svg
rename to website/client/src/assets/svg/information.svg
diff --git a/website/client/assets/svg/instagram.svg b/website/client/src/assets/svg/instagram.svg
similarity index 100%
rename from website/client/assets/svg/instagram.svg
rename to website/client/src/assets/svg/instagram.svg
diff --git a/website/client/assets/svg/like.svg b/website/client/src/assets/svg/like.svg
similarity index 100%
rename from website/client/assets/svg/like.svg
rename to website/client/src/assets/svg/like.svg
diff --git a/website/client/assets/svg/liked.svg b/website/client/src/assets/svg/liked.svg
similarity index 100%
rename from website/client/assets/svg/liked.svg
rename to website/client/src/assets/svg/liked.svg
diff --git a/website/client/assets/svg/lock.svg b/website/client/src/assets/svg/lock.svg
similarity index 100%
rename from website/client/assets/svg/lock.svg
rename to website/client/src/assets/svg/lock.svg
diff --git a/website/client/assets/svg/logo-purple.svg b/website/client/src/assets/svg/logo-purple.svg
similarity index 100%
rename from website/client/assets/svg/logo-purple.svg
rename to website/client/src/assets/svg/logo-purple.svg
diff --git a/website/client/assets/svg/logo.svg b/website/client/src/assets/svg/logo.svg
similarity index 100%
rename from website/client/assets/svg/logo.svg
rename to website/client/src/assets/svg/logo.svg
diff --git a/website/client/assets/svg/mana.svg b/website/client/src/assets/svg/mana.svg
similarity index 100%
rename from website/client/assets/svg/mana.svg
rename to website/client/src/assets/svg/mana.svg
diff --git a/website/client/assets/svg/member-icon.svg b/website/client/src/assets/svg/member-icon.svg
similarity index 100%
rename from website/client/assets/svg/member-icon.svg
rename to website/client/src/assets/svg/member-icon.svg
diff --git a/website/client/assets/svg/menu.svg b/website/client/src/assets/svg/menu.svg
similarity index 100%
rename from website/client/assets/svg/menu.svg
rename to website/client/src/assets/svg/menu.svg
diff --git a/website/client/assets/svg/message.svg b/website/client/src/assets/svg/message.svg
similarity index 100%
rename from website/client/assets/svg/message.svg
rename to website/client/src/assets/svg/message.svg
diff --git a/website/client/assets/svg/minimize.svg b/website/client/src/assets/svg/minimize.svg
similarity index 100%
rename from website/client/assets/svg/minimize.svg
rename to website/client/src/assets/svg/minimize.svg
diff --git a/website/client/assets/svg/negative.svg b/website/client/src/assets/svg/negative.svg
similarity index 100%
rename from website/client/assets/svg/negative.svg
rename to website/client/src/assets/svg/negative.svg
diff --git a/website/client/assets/svg/next.svg b/website/client/src/assets/svg/next.svg
similarity index 100%
rename from website/client/assets/svg/next.svg
rename to website/client/src/assets/svg/next.svg
diff --git a/website/client/assets/svg/notifications.svg b/website/client/src/assets/svg/notifications.svg
similarity index 100%
rename from website/client/assets/svg/notifications.svg
rename to website/client/src/assets/svg/notifications.svg
diff --git a/website/client/assets/svg/official.svg b/website/client/src/assets/svg/official.svg
similarity index 100%
rename from website/client/assets/svg/official.svg
rename to website/client/src/assets/svg/official.svg
diff --git a/website/client/assets/svg/pin.svg b/website/client/src/assets/svg/pin.svg
similarity index 100%
rename from website/client/assets/svg/pin.svg
rename to website/client/src/assets/svg/pin.svg
diff --git a/website/client/assets/svg/positive.svg b/website/client/src/assets/svg/positive.svg
similarity index 100%
rename from website/client/assets/svg/positive.svg
rename to website/client/src/assets/svg/positive.svg
diff --git a/website/client/assets/svg/previous.svg b/website/client/src/assets/svg/previous.svg
similarity index 100%
rename from website/client/assets/svg/previous.svg
rename to website/client/src/assets/svg/previous.svg
diff --git a/website/client/assets/svg/purple-logo.svg b/website/client/src/assets/svg/purple-logo.svg
similarity index 100%
rename from website/client/assets/svg/purple-logo.svg
rename to website/client/src/assets/svg/purple-logo.svg
diff --git a/website/client/assets/svg/qrCode.svg b/website/client/src/assets/svg/qrCode.svg
similarity index 100%
rename from website/client/assets/svg/qrCode.svg
rename to website/client/src/assets/svg/qrCode.svg
diff --git a/website/client/assets/svg/quest-background-border.svg b/website/client/src/assets/svg/quest-background-border.svg
similarity index 100%
rename from website/client/assets/svg/quest-background-border.svg
rename to website/client/src/assets/svg/quest-background-border.svg
diff --git a/website/client/assets/svg/quest.svg b/website/client/src/assets/svg/quest.svg
similarity index 100%
rename from website/client/assets/svg/quest.svg
rename to website/client/src/assets/svg/quest.svg
diff --git a/website/client/assets/svg/rage.svg b/website/client/src/assets/svg/rage.svg
similarity index 100%
rename from website/client/assets/svg/rage.svg
rename to website/client/src/assets/svg/rage.svg
diff --git a/website/client/assets/svg/remove.svg b/website/client/src/assets/svg/remove.svg
similarity index 100%
rename from website/client/assets/svg/remove.svg
rename to website/client/src/assets/svg/remove.svg
diff --git a/website/client/assets/svg/report.svg b/website/client/src/assets/svg/report.svg
similarity index 100%
rename from website/client/assets/svg/report.svg
rename to website/client/src/assets/svg/report.svg
diff --git a/website/client/assets/svg/reward.svg b/website/client/src/assets/svg/reward.svg
similarity index 100%
rename from website/client/assets/svg/reward.svg
rename to website/client/src/assets/svg/reward.svg
diff --git a/website/client/assets/svg/rogue.svg b/website/client/src/assets/svg/rogue.svg
similarity index 100%
rename from website/client/assets/svg/rogue.svg
rename to website/client/src/assets/svg/rogue.svg
diff --git a/website/client/assets/svg/silver-guild-badge-large.svg b/website/client/src/assets/svg/silver-guild-badge-large.svg
similarity index 100%
rename from website/client/assets/svg/silver-guild-badge-large.svg
rename to website/client/src/assets/svg/silver-guild-badge-large.svg
diff --git a/website/client/assets/svg/silver-guild-badge-small.svg b/website/client/src/assets/svg/silver-guild-badge-small.svg
similarity index 100%
rename from website/client/assets/svg/silver-guild-badge-small.svg
rename to website/client/src/assets/svg/silver-guild-badge-small.svg
diff --git a/website/client/assets/svg/skin.svg b/website/client/src/assets/svg/skin.svg
similarity index 100%
rename from website/client/assets/svg/skin.svg
rename to website/client/src/assets/svg/skin.svg
diff --git a/website/client/assets/svg/sparkles.svg b/website/client/src/assets/svg/sparkles.svg
similarity index 100%
rename from website/client/assets/svg/sparkles.svg
rename to website/client/src/assets/svg/sparkles.svg
diff --git a/website/client/assets/svg/star.svg b/website/client/src/assets/svg/star.svg
similarity index 100%
rename from website/client/assets/svg/star.svg
rename to website/client/src/assets/svg/star.svg
diff --git a/website/client/assets/svg/streak.svg b/website/client/src/assets/svg/streak.svg
similarity index 100%
rename from website/client/assets/svg/streak.svg
rename to website/client/src/assets/svg/streak.svg
diff --git a/website/client/assets/svg/success.svg b/website/client/src/assets/svg/success.svg
similarity index 100%
rename from website/client/assets/svg/success.svg
rename to website/client/src/assets/svg/success.svg
diff --git a/website/client/assets/svg/sword.svg b/website/client/src/assets/svg/sword.svg
similarity index 100%
rename from website/client/assets/svg/sword.svg
rename to website/client/src/assets/svg/sword.svg
diff --git a/website/client/assets/svg/sync.svg b/website/client/src/assets/svg/sync.svg
similarity index 100%
rename from website/client/assets/svg/sync.svg
rename to website/client/src/assets/svg/sync.svg
diff --git a/website/client/assets/svg/tags.svg b/website/client/src/assets/svg/tags.svg
similarity index 100%
rename from website/client/assets/svg/tags.svg
rename to website/client/src/assets/svg/tags.svg
diff --git a/website/client/assets/svg/tier-1.svg b/website/client/src/assets/svg/tier-1.svg
similarity index 100%
rename from website/client/assets/svg/tier-1.svg
rename to website/client/src/assets/svg/tier-1.svg
diff --git a/website/client/assets/svg/tier-2.svg b/website/client/src/assets/svg/tier-2.svg
similarity index 100%
rename from website/client/assets/svg/tier-2.svg
rename to website/client/src/assets/svg/tier-2.svg
diff --git a/website/client/assets/svg/tier-3.svg b/website/client/src/assets/svg/tier-3.svg
similarity index 100%
rename from website/client/assets/svg/tier-3.svg
rename to website/client/src/assets/svg/tier-3.svg
diff --git a/website/client/assets/svg/tier-4.svg b/website/client/src/assets/svg/tier-4.svg
similarity index 100%
rename from website/client/assets/svg/tier-4.svg
rename to website/client/src/assets/svg/tier-4.svg
diff --git a/website/client/assets/svg/tier-5.svg b/website/client/src/assets/svg/tier-5.svg
similarity index 100%
rename from website/client/assets/svg/tier-5.svg
rename to website/client/src/assets/svg/tier-5.svg
diff --git a/website/client/assets/svg/tier-6.svg b/website/client/src/assets/svg/tier-6.svg
similarity index 100%
rename from website/client/assets/svg/tier-6.svg
rename to website/client/src/assets/svg/tier-6.svg
diff --git a/website/client/assets/svg/tier-7.svg b/website/client/src/assets/svg/tier-7.svg
similarity index 100%
rename from website/client/assets/svg/tier-7.svg
rename to website/client/src/assets/svg/tier-7.svg
diff --git a/website/client/assets/svg/tier-mod.svg b/website/client/src/assets/svg/tier-mod.svg
similarity index 100%
rename from website/client/assets/svg/tier-mod.svg
rename to website/client/src/assets/svg/tier-mod.svg
diff --git a/website/client/assets/svg/tier-npc.svg b/website/client/src/assets/svg/tier-npc.svg
similarity index 100%
rename from website/client/assets/svg/tier-npc.svg
rename to website/client/src/assets/svg/tier-npc.svg
diff --git a/website/client/assets/svg/tier-staff.svg b/website/client/src/assets/svg/tier-staff.svg
similarity index 100%
rename from website/client/assets/svg/tier-staff.svg
rename to website/client/src/assets/svg/tier-staff.svg
diff --git a/website/client/assets/svg/todo.svg b/website/client/src/assets/svg/todo.svg
similarity index 100%
rename from website/client/assets/svg/todo.svg
rename to website/client/src/assets/svg/todo.svg
diff --git a/website/client/assets/svg/top.svg b/website/client/src/assets/svg/top.svg
similarity index 100%
rename from website/client/assets/svg/top.svg
rename to website/client/src/assets/svg/top.svg
diff --git a/website/client/assets/svg/twitter.svg b/website/client/src/assets/svg/twitter.svg
similarity index 100%
rename from website/client/assets/svg/twitter.svg
rename to website/client/src/assets/svg/twitter.svg
diff --git a/website/client/assets/svg/up.svg b/website/client/src/assets/svg/up.svg
similarity index 100%
rename from website/client/assets/svg/up.svg
rename to website/client/src/assets/svg/up.svg
diff --git a/website/client/assets/svg/user.svg b/website/client/src/assets/svg/user.svg
similarity index 100%
rename from website/client/assets/svg/user.svg
rename to website/client/src/assets/svg/user.svg
diff --git a/website/client/assets/svg/warrior.svg b/website/client/src/assets/svg/warrior.svg
similarity index 100%
rename from website/client/assets/svg/warrior.svg
rename to website/client/src/assets/svg/warrior.svg
diff --git a/website/client/assets/svg/wizard.svg b/website/client/src/assets/svg/wizard.svg
similarity index 100%
rename from website/client/assets/svg/wizard.svg
rename to website/client/src/assets/svg/wizard.svg
diff --git a/website/client/src/components/404.vue b/website/client/src/components/404.vue
new file mode 100644
index 0000000000..bc7929b33b
--- /dev/null
+++ b/website/client/src/components/404.vue
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+ Sometimes even the bravest adventurer gets lost.
+
+
+ Looks like this link is broken or the page may have moved, sorry!
+
+
+ Head back to the
+
+ Homepage
+ or
+
+ Contact Us
+ about the issue.
+
+
+
+
+
+
+
+
diff --git a/website/client/components/achievements/achievementAvatar.vue b/website/client/src/components/achievements/achievementAvatar.vue
similarity index 56%
rename from website/client/components/achievements/achievementAvatar.vue
rename to website/client/src/components/achievements/achievementAvatar.vue
index ccbfdc17e5..5c32fdb2e3 100644
--- a/website/client/components/achievements/achievementAvatar.vue
+++ b/website/client/src/components/achievements/achievementAvatar.vue
@@ -1,11 +1,15 @@
-
- div(:class='achievementClass')
- //- +generatedAvatar({sleep: false})
- avatar(:member='user', :avatarOnly='true', :withBackground='true')
+
+
diff --git a/website/client/src/components/achievements/armoireEmpty.vue b/website/client/src/components/achievements/armoireEmpty.vue
new file mode 100644
index 0000000000..f4aa5a008d
--- /dev/null
+++ b/website/client/src/components/achievements/armoireEmpty.vue
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+
{{ $t('armoireLastItem') }}
+
{{ $t('armoireNotesEmpty') }}
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/achievements/chooseClass.vue b/website/client/src/components/achievements/chooseClass.vue
new file mode 100644
index 0000000000..51edd54f34
--- /dev/null
+++ b/website/client/src/components/achievements/chooseClass.vue
@@ -0,0 +1,265 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t(heroClass) }}
+
+
+
+
+
+ {{ $t(`${heroClass}Text`) }}
+
+
+
+
+
+ {{ $t('select') }}
+
+
+ {{ $t('selectClass', {heroClass: $t(selectedClass)}) }}
+
+
+ {{ $t('optOutOfClasses') }}
+
+
{{ $t('optOutOfClassesText') }}
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/achievements/contributor.vue b/website/client/src/components/achievements/contributor.vue
new file mode 100644
index 0000000000..12be04c49d
--- /dev/null
+++ b/website/client/src/components/achievements/contributor.vue
@@ -0,0 +1,63 @@
+
+
+
+
+
+ {{ $t('contribModal', {name: user.profile.name, level: user.contributor.level}) }}
+
+
{{ $t('contribLink') }}
+
+
+ {{ $t('huzzah') }}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/achievements/death.vue b/website/client/src/components/achievements/death.vue
new file mode 100644
index 0000000000..c94b99c848
--- /dev/null
+++ b/website/client/src/components/achievements/death.vue
@@ -0,0 +1,110 @@
+
+
+
+
+
+
+ {{ $t('dontDespair') }}
+
+
+ {{ $t('deathPenaltyDetails') }}
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/achievements/dropsEnabled.vue b/website/client/src/components/achievements/dropsEnabled.vue
new file mode 100644
index 0000000000..e7fccbfa30
--- /dev/null
+++ b/website/client/src/components/achievements/dropsEnabled.vue
@@ -0,0 +1,62 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/achievements/genericAchievement.vue b/website/client/src/components/achievements/genericAchievement.vue
new file mode 100644
index 0000000000..6291b7fae3
--- /dev/null
+++ b/website/client/src/components/achievements/genericAchievement.vue
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+
+ {{ $t('huzzah') }}
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/achievements/invitedFriend.vue b/website/client/src/components/achievements/invitedFriend.vue
new file mode 100644
index 0000000000..135a705562
--- /dev/null
+++ b/website/client/src/components/achievements/invitedFriend.vue
@@ -0,0 +1,52 @@
+
+
+
+
+
+
{{ $t('invitedFriendText') }}
+
+
+ {{ $t('huzzah') }}
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/achievements/joinedChallenge.vue b/website/client/src/components/achievements/joinedChallenge.vue
new file mode 100644
index 0000000000..1db6dfab62
--- /dev/null
+++ b/website/client/src/components/achievements/joinedChallenge.vue
@@ -0,0 +1,52 @@
+
+
+
+
+
+
{{ $t('joinedChallengeText') }}
+
+
+ {{ $t('huzzah') }}
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/achievements/joinedGuild.vue b/website/client/src/components/achievements/joinedGuild.vue
new file mode 100644
index 0000000000..db7e7c92fe
--- /dev/null
+++ b/website/client/src/components/achievements/joinedGuild.vue
@@ -0,0 +1,52 @@
+
+
+
+
+
+
{{ $t('joinedGuildText') }}
+
+
+ {{ $t('huzzah') }}
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/achievements/justAddWater.vue b/website/client/src/components/achievements/justAddWater.vue
new file mode 100644
index 0000000000..012902aae0
--- /dev/null
+++ b/website/client/src/components/achievements/justAddWater.vue
@@ -0,0 +1,60 @@
+
+
+
+
+
+
{{ $t('achievementJustAddWaterModalText') }}
+
+ {{ $t('huzzah') }}
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/components/achievements/levelUp.vue b/website/client/src/components/achievements/levelUp.vue
similarity index 53%
rename from website/client/components/achievements/levelUp.vue
rename to website/client/src/components/achievements/levelUp.vue
index 0f815deecf..aacaac9205 100644
--- a/website/client/components/achievements/levelUp.vue
+++ b/website/client/src/components/achievements/levelUp.vue
@@ -1,29 +1,63 @@
-
- b-modal#level-up(:title="$t('levelUpShare')", size='sm', :hide-footer="true", :hide-header="true")
- .modal-body.text-center
- h2 {{ $t('reachedLevel', {level: user.stats.lvl}) }}
-
- avatar.avatar(:member='user')
-
- p.text {{ $t('levelup') }}
-
- button.btn.btn-primary(@click='close()') {{ $t('onwards') }}
- br
- // @TODO: Keep this? .checkbox
- input(type='checkbox', v-model='user.preferences.suppressModals.levelUp', @change='changeLevelupSuppress()')
- label(style='display:inline-block') {{ $t('dontShowAgain') }}
-
- .container-fluid.share-buttons
- .row
- .col-12.text-center
- a.twitter-share-button.share-button(:href='twitterLink', target='_blank')
- .social-icon.twitter.svg-icon(v-html='icons.twitter')
- | {{ $t('tweet') }}
- a.fb-share-button.share-button(:href='facebookLink', target='_blank')
- .social-icon.facebook.svg-icon(v-html='icons.facebook')
- | {{ $t('share') }}
- // @TODO: Still want this? .col-4
- a.tumblr-share-button(:data-href='socialLevelLink', data-notes='none')
+
+
+
+
{{ $t('reachedLevel', {level: user.stats.lvl}) }}
+
+
+ {{ $t('levelup') }}
+
+
+ {{ $t('onwards') }}
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/achievements/lostMasterclasser.vue b/website/client/src/components/achievements/lostMasterclasser.vue
new file mode 100644
index 0000000000..2b35e66826
--- /dev/null
+++ b/website/client/src/components/achievements/lostMasterclasser.vue
@@ -0,0 +1,60 @@
+
+
+
+
+
+
{{ $t('achievementLostMasterclasserModalText') }}
+
+ {{ $t('huzzah') }}
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/achievements/lowHealth.vue b/website/client/src/components/achievements/lowHealth.vue
new file mode 100644
index 0000000000..cfc86ec0fb
--- /dev/null
+++ b/website/client/src/components/achievements/lowHealth.vue
@@ -0,0 +1,137 @@
+
+
+
+
+
+
+
{{ $t('losingHealthWarning2') }}
+
{{ $t('toRegainHealth') }}
+
+
+ {{ $t('lowHealthTips1') }}
+
+
+ {{ $t('lowHealthTips2') }}
+
+
+
{{ $t('losingHealthQuickly') }}
+
+
+ {{ $t('lowHealthTips3') }}
+
+
+ {{ $t('lowHealthTips4') }}
+
+
+
{{ $t('goodLuck') }}
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/achievements/mindOverMatter.vue b/website/client/src/components/achievements/mindOverMatter.vue
new file mode 100644
index 0000000000..35931a0a08
--- /dev/null
+++ b/website/client/src/components/achievements/mindOverMatter.vue
@@ -0,0 +1,60 @@
+
+
+
+
+
+
{{ $t('achievementMindOverMatterModalText') }}
+
+ {{ $t('huzzah') }}
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/achievements/newStuff.vue b/website/client/src/components/achievements/newStuff.vue
new file mode 100644
index 0000000000..50772d37b4
--- /dev/null
+++ b/website/client/src/components/achievements/newStuff.vue
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/achievements/questCompleted.vue b/website/client/src/components/achievements/questCompleted.vue
new file mode 100644
index 0000000000..2a709a58c7
--- /dev/null
+++ b/website/client/src/components/achievements/questCompleted.vue
@@ -0,0 +1,93 @@
+
+
+
+
+
+
+
+ {{ $t('paymentYouReceived') }}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/achievements/questInvitation.vue b/website/client/src/components/achievements/questInvitation.vue
new file mode 100644
index 0000000000..b48f62a071
--- /dev/null
+++ b/website/client/src/components/achievements/questInvitation.vue
@@ -0,0 +1,118 @@
+
+
+
+
+
+
+
+
{{ quests[user.party.quest.key].boss.name() }}
+
+ {{ $t('bossHP') }} + ': '
+ {{ quests[user.party.quest.key].boss.hp }}
+
+
+ {{ $t('bossStrength') }} + ': '
+ {{ quests[user.party.quest.key].boss.str }}
+
+
+
+
+ {{ $t('collect') }} + ': '
+ {{ quests[user.party.quest.key].collect[k].count }} {{ quests[user.party.quest.key].collect[k].text() }}
+
+
+
+
+
+
+
{{ headerParticipant }}
+
+
+ {{ drop.text() }}
+
+
+ {{ quest.drop.exp }} {{ $t('experience') }}
+
+
+ {{ quest.drop.gp }} {{ $t('gold') }}
+
+
+ {{ quest.drop.unlock() }}
+
+
+
+
{{ headerQuestOwner }}
+
+
+ {{ drop.text() }}
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/achievements/rebirth.vue b/website/client/src/components/achievements/rebirth.vue
new file mode 100644
index 0000000000..174b5cd4c3
--- /dev/null
+++ b/website/client/src/components/achievements/rebirth.vue
@@ -0,0 +1,58 @@
+
+
+
+
+
+ {{ $t('rebirthAchievement', {
+ number: user.achievements.rebirths,
+ level: user.achievements.rebirthLevel}) }}
+
+ {{ $t('rebirthAchievement100', {number: user.achievements.rebirths}) }}
+
+ {{ $t('huzzah') }}
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/achievements/rebirthEnabled.vue b/website/client/src/components/achievements/rebirthEnabled.vue
new file mode 100644
index 0000000000..f0fc338fc8
--- /dev/null
+++ b/website/client/src/components/achievements/rebirthEnabled.vue
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+ {{ $t('rebirthUnlock') }}
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/achievements/streak.vue b/website/client/src/components/achievements/streak.vue
new file mode 100644
index 0000000000..9c239133ec
--- /dev/null
+++ b/website/client/src/components/achievements/streak.vue
@@ -0,0 +1,78 @@
+
+
+
+
+
+
+ {{ $t('firstStreakAchievement') }}
+
+
+ {{ $t('streakAchievementCount', {streaks: user.achievements.streak}) }}
+
+
{{ $t('twentyOneDays') }}
+
{{ $t('dontBreakStreak') }}
+
+
+ {{ $t('dontStop') }}
+
+
+
+ {{ $t('dontShowAgain') }}
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/achievements/testing.vue b/website/client/src/components/achievements/testing.vue
new file mode 100644
index 0000000000..6e04e7bd0e
--- /dev/null
+++ b/website/client/src/components/achievements/testing.vue
@@ -0,0 +1,60 @@
+
+
+
+
+
+
+
{{ $t('guildReminderText1') }}
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/achievements/testingletiant.vue b/website/client/src/components/achievements/testingletiant.vue
new file mode 100644
index 0000000000..29fe48f898
--- /dev/null
+++ b/website/client/src/components/achievements/testingletiant.vue
@@ -0,0 +1,58 @@
+
+
+
+
+
+
+
+
{{ $t('guildReminderText2') }}
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/achievements/ultimateGear.vue b/website/client/src/components/achievements/ultimateGear.vue
new file mode 100644
index 0000000000..9572db7560
--- /dev/null
+++ b/website/client/src/components/achievements/ultimateGear.vue
@@ -0,0 +1,105 @@
+
+
+
+
+
+
{{ $t('gearAchievement') }}
+
+
+
+
+
+ {{ $t('healer') }}
+
+
+
+ {{ $t('mage') }}
+
+
+
+ {{ $t('rogue') }}
+
+
+
+ {{ $t('warrior') }}
+
+
+
+
+
+
+
+
+
+ {{ $t('huzzah') }}
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/achievements/welcome.vue b/website/client/src/components/achievements/welcome.vue
new file mode 100644
index 0000000000..df5e71e39d
--- /dev/null
+++ b/website/client/src/components/achievements/welcome.vue
@@ -0,0 +1,73 @@
+
+
+
+
+
+
+ ①
+ {{ $t('welcome1') }}
+
+
+
{{ $t('welcome1notes') }}
+
+
+
+ ②
+ {{ $t('welcome2') }}
+
+
+
{{ $t('welcome2notes') }}
+
+
+
+ ③
+ {{ $t('welcome3') }}
+
+
+
{{ $t('welcome3notes') }}
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/achievements/wonChallenge.vue b/website/client/src/components/achievements/wonChallenge.vue
new file mode 100644
index 0000000000..06c382e688
--- /dev/null
+++ b/website/client/src/components/achievements/wonChallenge.vue
@@ -0,0 +1,107 @@
+
+
+
+
+
+
{{ $t('congratulations') }}
+
+
+ {{ $t('hurray') }}
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/appFooter.vue b/website/client/src/components/appFooter.vue
new file mode 100644
index 0000000000..d6b8ac6435
--- /dev/null
+++ b/website/client/src/components/appFooter.vue
@@ -0,0 +1,613 @@
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/auth/authForm.vue b/website/client/src/components/auth/authForm.vue
new file mode 100644
index 0000000000..7d3fa83e7d
--- /dev/null
+++ b/website/client/src/components/auth/authForm.vue
@@ -0,0 +1,332 @@
+
+
+
+
+
+
+
diff --git a/website/client/src/components/auth/logout.vue b/website/client/src/components/auth/logout.vue
new file mode 100644
index 0000000000..5c0661cc7e
--- /dev/null
+++ b/website/client/src/components/auth/logout.vue
@@ -0,0 +1,13 @@
+
diff --git a/website/client/components/auth/registerLoginReset.vue b/website/client/src/components/auth/registerLoginReset.vue
similarity index 50%
rename from website/client/components/auth/registerLoginReset.vue
rename to website/client/src/components/auth/registerLoginReset.vue
index 7aa7f795c8..e76d1a902d 100644
--- a/website/client/components/auth/registerLoginReset.vue
+++ b/website/client/src/components/auth/registerLoginReset.vue
@@ -1,93 +1,318 @@
-
-.form-wrapper
- #top-background
- .seamless_stars_varied_opacity_repeat
-
- form#login-form(
- @submit.prevent='handleSubmit',
- @keyup.enter="handleSubmit",
- v-if="!forgotPassword && !resetPasswordSetNewOne",
- )
- .text-center
- div
- .svg-icon.gryphon
- div
- .svg-icon.habitica-logo(v-html="icons.habiticaIcon")
- .form-group.row.text-center
- .col-12.col-md-6
- .btn.btn-secondary.social-button(@click='socialAuth("facebook")')
- .svg-icon.social-icon(v-html="icons.facebookIcon")
- .text {{registering ? $t('signUpWithSocial', {social: 'Facebook'}) : $t('loginWithSocial', {social: 'Facebook'})}}
- .col-12.col-md-6
- .btn.btn-secondary.social-button(@click='socialAuth("google")')
- .svg-icon.social-icon(v-html="icons.googleIcon")
- .text {{registering ? $t('signUpWithSocial', {social: 'Google'}) : $t('loginWithSocial', {social: 'Google'})}}
- .form-group(v-if='registering')
- label(for='usernameInput', v-once) {{$t('username')}}
- input#usernameInput.form-control(type='text', :placeholder='$t("usernamePlaceholder")', v-model='username', :class='{"input-valid": usernameValid, "input-invalid": usernameInvalid}')
- .input-error(v-for="issue in usernameIssues") {{ issue }}
- .form-group(v-if='!registering')
- label(for='usernameInput', v-once) {{$t('emailOrUsername')}}
- input#usernameInput.form-control(type='text', :placeholder='$t("emailOrUsername")', v-model='username')
- .form-group(v-if='registering')
- label(for='emailInput', v-once) {{$t('email')}}
- input#emailInput.form-control(type='email', :placeholder='$t("emailPlaceholder")', v-model='email', :class='{"input-invalid": emailInvalid, "input-valid": emailValid}')
- .form-group
- label(for='passwordInput', v-once) {{$t('password')}}
- a.float-right.forgot-password(v-once, v-if='!registering', @click='forgotPassword = true') {{$t('forgotPassword')}}
- input#passwordInput.form-control(type='password', :placeholder='$t(registering ? "passwordPlaceholder" : "password")', v-model='password')
- .form-group(v-if='registering')
- label(for='confirmPasswordInput', v-once) {{$t('confirmPassword')}}
- input#confirmPasswordInput.form-control(type='password', :placeholder='$t("confirmPasswordPlaceholder")', v-model='passwordConfirm', :class='{"input-invalid": passwordConfirmInvalid, "input-valid": passwordConfirmValid}')
- small.form-text(v-once, v-html="$t('termsAndAgreement')")
- .text-center
- .btn.btn-info(@click='register()', v-if='registering', v-once) {{$t('joinHabitica')}}
- .btn.btn-info(@click='login()', v-if='!registering', v-once) {{$t('login')}}
- .toggle-links
- router-link(:to="{name: 'login'}", v-if='registering', exact)
- a.toggle-link(v-once, v-html="$t('alreadyHaveAccountLogin')")
- router-link(:to="{name: 'register'}", v-if='!registering', exact)
- a.toggle-link(v-once, v-html="$t('dontHaveAccountSignup')")
-
- form#forgot-form(v-on:submit.prevent='handleSubmit', @keyup.enter="handleSubmit", v-if='forgotPassword')
- .text-center
- div
- .svg-icon.gryphon
- div
- .svg-icon.habitica-logo(v-html="icons.habiticaIcon")
- .header
- h2(v-once) {{ $t('emailNewPass') }}
- p(v-once) {{ $t('forgotPasswordSteps') }}
- .form-group.row.text-center
- label(for='usernameInput', v-once) {{$t('email')}}
- input#usernameInput.form-control(type='text', :placeholder='$t("emailPlaceholder")', v-model='username')
- .text-center
- .btn.btn-info(@click='forgotPasswordLink()', v-once) {{$t('sendLink')}}
-
- form#reset-password-set-new-one-form(v-on:submit.prevent='handleSubmit', @keyup.enter="handleSubmit", v-if='resetPasswordSetNewOne')
- .text-center
- div
- .svg-icon.gryphon
- div
- .svg-icon.habitica-logo(v-html="icons.habiticaIcon")
- .header
- h2 {{ $t('passwordResetPage') }}
- .form-group
- label(for='passwordInput', v-once) {{$t('newPass')}}
- input#passwordInput.form-control(type='password', :placeholder="$t('password')", v-model='password')
- .form-group
- label(for='confirmPasswordInput', v-once) {{$t('confirmPass')}}
- input#confirmPasswordInput.form-control(type='password', :placeholder='$t("confirmPasswordPlaceholder")', v-model='passwordConfirm')
- .text-center
- .btn.btn-info(
- @click='resetPasswordSetNewOneLink()',
- :enabled="!resetPasswordSetNewOneData.hasError"
- ) {{$t('setNewPass')}}
-
- #bottom-wrap(:class="`bottom-wrap-${!registering ? 'login' : 'register'}`")
- #bottom-background
- .seamless_mountains_demo_repeat
- .midground_foreground_extended2
+
+
+
+
diff --git a/website/client/src/components/avatarModal/body-settings.vue b/website/client/src/components/avatarModal/body-settings.vue
new file mode 100644
index 0000000000..acb012feed
--- /dev/null
+++ b/website/client/src/components/avatarModal/body-settings.vue
@@ -0,0 +1,103 @@
+
+
+
+
+
+
+
diff --git a/website/client/components/avatarModal/customize-options.vue b/website/client/src/components/avatarModal/customize-options.vue
similarity index 69%
rename from website/client/components/avatarModal/customize-options.vue
rename to website/client/src/components/avatarModal/customize-options.vue
index 27eb6e2e0b..6cb26f574d 100644
--- a/website/client/components/avatarModal/customize-options.vue
+++ b/website/client/src/components/avatarModal/customize-options.vue
@@ -1,55 +1,97 @@
-
- .customize-options(:class="{'background-set': fullSet}")
- .outer-option-background(
- v-for='option in items',
- :key='option.key',
- @click='option.click(option)',
- :class='{locked: option.gemLocked || option.goldLocked, premium: Boolean(option.gem), active: option.active || currentValue === option.key, none: option.none, hide: option.hide }'
- )
- .option
- .sprite.customize-option(:class='option.class')
- .redline-outer(v-if="option.none")
- .redline
- .gem-lock(v-if='option.gemLocked')
- .svg-icon.gem(v-html='icons.gem')
- span {{ option.gem }}
- .gold-lock(v-if='option.goldLocked')
- .svg-icon.gold(v-html='icons.gold')
- span {{ option.gold }}
- .purchase-set(v-if='fullSet', @click='unlock()')
- span.label {{ $t('purchaseAll') }}
- .svg-icon.gem(v-html='icons.gem')
- span.price 5
+
+
+
+
+
{{ $t('purchaseAll') }}
+
+
5
+
+
diff --git a/website/client/src/components/avatarModal/hair-settings.vue b/website/client/src/components/avatarModal/hair-settings.vue
new file mode 100644
index 0000000000..2342aa1afc
--- /dev/null
+++ b/website/client/src/components/avatarModal/hair-settings.vue
@@ -0,0 +1,372 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/avatarModal/skin-settings.vue b/website/client/src/components/avatarModal/skin-settings.vue
new file mode 100644
index 0000000000..f946359a2a
--- /dev/null
+++ b/website/client/src/components/avatarModal/skin-settings.vue
@@ -0,0 +1,121 @@
+
+
+
+
+
diff --git a/website/client/components/avatarModal/sub-menu.vue b/website/client/src/components/avatarModal/sub-menu.vue
similarity index 63%
rename from website/client/components/avatarModal/sub-menu.vue
rename to website/client/src/components/avatarModal/sub-menu.vue
index 3d24bc0994..a8a5f1adf1 100644
--- a/website/client/components/avatarModal/sub-menu.vue
+++ b/website/client/src/components/avatarModal/sub-menu.vue
@@ -1,22 +1,25 @@
-
- .sub-menu.text-center
- .sub-menu-item(
- v-for="item of items",
- :key="item.id",
- @click='$emit("changeSubPage", item.id)',
- :class='{active: activeSubPage === item.id}'
- )
- strong(v-once) {{ item.label }}
+
+
+
+
diff --git a/website/client/src/components/categories/categoryTags.vue b/website/client/src/components/categories/categoryTags.vue
new file mode 100644
index 0000000000..f49bc7985e
--- /dev/null
+++ b/website/client/src/components/categories/categoryTags.vue
@@ -0,0 +1,40 @@
+
+
+ {{ $t('owned') }}
+ {{ $t('joined') }}
+ {{ $t(category.name) }}
+
+
+
+
+
diff --git a/website/client/src/components/challenges/challengeDetail.vue b/website/client/src/components/challenges/challengeDetail.vue
new file mode 100644
index 0000000000..4467e1b322
--- /dev/null
+++ b/website/client/src/components/challenges/challengeDetail.vue
@@ -0,0 +1,532 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('createdBy') }}:
+
+
+
+ {{ $t(challenge.group.type) }}:
+
+
+
+
+
+
+
+ {{ tag }}
+
+
+
+
+
+ {{ challenge.memberCount }}
+
+ {{ $t('participantsTitle') }}
+
+
+
+
+ {{ challenge.prize }}
+
+ {{ $t('prize') }}
+
+
+
+
+
+
+ {{ $t('viewProgressOf') }}
+
+
+
+
+
+ {{ $t(type) }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('joinChallenge') }}
+
+
+
+
+ {{ $t('editChallenge') }}
+
+
+
+
+ {{ $t('clone') }}
+
+
+
+
+ {{ $t('exportChallengeCsv') }}
+
+
+
+
+ {{ $t('endChallenge') }}
+
+
+
+
+
+ {{ $t('leaveChallenge') }}
+
+
+
+
+
+
+
+
+
diff --git a/website/client/components/challenges/challengeItem.vue b/website/client/src/components/challenges/challengeItem.vue
similarity index 52%
rename from website/client/components/challenges/challengeItem.vue
rename to website/client/src/components/challenges/challengeItem.vue
index 98f1e49d19..d289fd6aff 100644
--- a/website/client/components/challenges/challengeItem.vue
+++ b/website/client/src/components/challenges/challengeItem.vue
@@ -1,46 +1,105 @@
-
-.challenge
- .challenge-prize
- .number
- span.svg-icon(v-html="icons.gemIcon")
- span.value {{challenge.prize}}
- .label {{ $t('prize') }}
- .challenge-header
- router-link(
- :to="{ name: 'challenge', params: { challengeId: challenge._id } }"
- )
- h3.challenge-title(v-markdown='challenge.name')
- .meta-info
- .member-count
- .svg-icon.user-icon(v-html="icons.memberIcon")
- span.count-label {{challenge.memberCount}}
- .divider
- .official(v-if="isOfficial")
- .svg-icon.user-icon(v-html="icons.officialIcon")
- .owner(v-if="fullLayout")
- .owner-item
- strong {{ $t('createdBy') }}:
- user-link.mx-1(:user="challenge.leader")
- .owner-item(v-if="challenge.group && !isTavern(challenge.group)")
- strong {{ $t(challenge.group.type) }}:
- group-link.mx-1(:group="challenge.group")
- category-tags.challenge-categories(
- :categories="challenge.categories",
- :owner="isOwner",
- :member="isMember",
- )
- .challenge-description(v-markdown='challenge.summary')
- .well-wrapper(v-if="fullLayout")
- .well
- div(v-for="task in tasksData", :class="{'muted': task.value === 0}")
- .number
- .svg-icon(v-html="task.icon", :class="task.label + '-icon'")
- span.value {{ task.value }}
- .label {{$t(task.label)}}
+
+
+
+
+
+ {{ challenge.prize }}
+
+
+ {{ $t('prize') }}
+
+
+
+
+
+
+
+
+
+
+ {{ $t(task.label) }}
+
+
+
+
+
diff --git a/website/client/components/challenges/challengeMemberProgressModal.vue b/website/client/src/components/challenges/challengeMemberProgressModal.vue
similarity index 61%
rename from website/client/components/challenges/challengeMemberProgressModal.vue
rename to website/client/src/components/challenges/challengeMemberProgressModal.vue
index afc90b4682..2cbe9e6e52 100644
--- a/website/client/components/challenges/challengeMemberProgressModal.vue
+++ b/website/client/src/components/challenges/challengeMemberProgressModal.vue
@@ -1,14 +1,33 @@
-
- b-modal#challenge-member-modal(title="User Progress", size='lg')
- .row.award-row(v-if='isLeader || isAdmin')
- .col-12.text-center
- button.btn.btn-primary(v-once, @click='closeChallenge()') {{ $t('awardWinners') }}
- .row
- task-column.col-6(
- v-for="column in columns",
- :type="column",
- :key="column",
- :taskListOverride='tasksByType[column]')
+
+
+
+
+
+ {{ $t('awardWinners') }}
+
+
+
+
+
+
+
+
+
diff --git a/website/client/components/challenges/findChallenges.vue b/website/client/src/components/challenges/findChallenges.vue
similarity index 60%
rename from website/client/components/challenges/findChallenges.vue
rename to website/client/src/components/challenges/findChallenges.vue
index 875488e62b..b75bd6f427 100644
--- a/website/client/components/challenges/findChallenges.vue
+++ b/website/client/src/components/challenges/findChallenges.vue
@@ -1,37 +1,72 @@
-
-.row
- challenge-modal(v-on:createChallenge='challengeCreated')
- sidebar(v-on:search="updateSearch", v-on:filter="updateFilters")
- .col-12.col-md-10.standard-page
- .row.header-row
- .col-md-8.text-left
- h1(v-once) {{$t('findChallenges')}}
- .col-md-4
- // @TODO: implement sorting span.dropdown-label {{ $t('sortBy') }}
- b-dropdown(:text="$t('sort')", right=true)
- b-dropdown-item(v-for='sortOption in sortOptions', :key="sortOption.value", @click='sort(sortOption.value)') {{sortOption.text}}
- button.btn.btn-secondary.create-challenge-button.float-right(@click='createChallenge()')
- .svg-icon.positive-icon(v-html="icons.positiveIcon")
- span(v-once) {{$t('createChallenge')}}
-
- .row
- .no-challenges.text-center.col-md-6.offset-3(v-if='!loading && filteredChallenges.length === 0')
- h2(v-once) {{$t('noChallengeMatchFilters')}}
-
- .row
- .col-12.col-md-6(v-for='challenge in filteredChallenges')
- challenge-item(:challenge='challenge')
- mugen-scroll(
- :handler="infiniteScrollTrigger",
- :should-handle="!loading && canLoadMore",
- :threshold="1",
- v-show="loading",
- )
- h2.col-12.loading(v-once) {{ $t('loading') }}
+
+
+
+
+
+
+
+
+
+ {{ $t('noChallengeMatchFilters') }}
+
+
+
+
+
+
+
+
+
+ {{ $t('loading') }}
+
+
+
+
+
diff --git a/website/client/src/components/challenges/index.vue b/website/client/src/components/challenges/index.vue
new file mode 100644
index 0000000000..cd4d1411d2
--- /dev/null
+++ b/website/client/src/components/challenges/index.vue
@@ -0,0 +1,33 @@
+
+
+
+
+ {{ $t('myChallenges') }}
+
+
+ {{ $t('findChallenges') }}
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/challenges/leaveChallengeModal.vue b/website/client/src/components/challenges/leaveChallengeModal.vue
new file mode 100644
index 0000000000..12b046d0bf
--- /dev/null
+++ b/website/client/src/components/challenges/leaveChallengeModal.vue
@@ -0,0 +1,61 @@
+
+
+
+
{{ $t('confirmKeepChallengeTasks') }}
+
+
+ {{ $t('keepThem') }}
+
+
+ {{ $t('removeThem') }}
+
+
+
+
+
+
+
+
+
diff --git a/website/client/components/challenges/myChallenges.vue b/website/client/src/components/challenges/myChallenges.vue
similarity index 57%
rename from website/client/components/challenges/myChallenges.vue
rename to website/client/src/components/challenges/myChallenges.vue
index 39b7fde72d..be85ea90e5 100644
--- a/website/client/components/challenges/myChallenges.vue
+++ b/website/client/src/components/challenges/myChallenges.vue
@@ -1,45 +1,92 @@
-
-.row
- challenge-modal(v-on:createChallenge='challengeCreated')
- sidebar(v-on:search="updateSearch", v-on:filter="updateFilters")
-
- .col-10.standard-page
- .row.header-row
- .col-md-8.text-left
- h1(v-once) {{$t('myChallenges')}}
- .col-md-4
- // @TODO: implement sorting span.dropdown-label {{ $t('sortBy') }}
- b-dropdown(:text="$t('sort')", right=true)
- b-dropdown-item(v-for='sortOption in sortOptions', :key="sortOption.value", @click='sort(sortOption.value)') {{sortOption.text}}
- button.btn.btn-secondary.create-challenge-button.float-right(@click='createChallenge()')
- .svg-icon.positive-icon(v-html="icons.positiveIcon")
- span(v-once) {{$t('createChallenge')}}
-
- .row
- .no-challenges.text-center.col-md-6.offset-3(v-if='!loading && challenges.length === 0')
- .svg-icon(v-html="icons.challengeIcon")
- h2(v-once) {{$t('noChallengeTitle')}}
- p(v-once) {{$t('challengeDescription1')}}
- p(v-once) {{$t('challengeDescription2')}}
-
- .row
- .no-challenges.text-center.col-md-6.offset-3(v-if='!loading && challenges.length > 0 && filteredChallenges.length === 0')
- h2(v-once) {{$t('noChallengeMatchFilters')}}
-
- .row
- .col-12.col-md-6(v-for='challenge in filteredChallenges')
- challenge-item(:challenge='challenge')
- mugen-scroll(
- :handler="infiniteScrollTrigger",
- :should-handle="!loading && canLoadMore",
- :threshold="1",
- v-show="loading",
- )
- h2.col-12.loading(v-once) {{ $t('loading') }}
+
+
+
+
+
+
+
+
+
+
+ {{ $t('noChallengeTitle') }}
+
+
+ {{ $t('challengeDescription1') }}
+
+
+ {{ $t('challengeDescription2') }}
+
+
+
+
+
+
+ {{ $t('noChallengeMatchFilters') }}
+
+
+
+
+
+
+
+
+
+ {{ $t('loading') }}
+
+
+
+
+
diff --git a/website/client/components/chat/chatCard.vue b/website/client/src/components/chat/chatCard.vue
similarity index 52%
rename from website/client/components/chat/chatCard.vue
rename to website/client/src/components/chat/chatCard.vue
index b4daaf2ef7..9341d9002d 100644
--- a/website/client/components/chat/chatCard.vue
+++ b/website/client/src/components/chat/chatCard.vue
@@ -1,37 +1,130 @@
-
-div
- .mentioned-icon(v-if='isUserMentioned')
- .message-hidden(v-if='!inbox && user.contributor.admin && msg.flagCount') {{flagCountDescription}}
- .card-body
- user-link(:userId="msg.uuid", :name="msg.user", :backer="msg.backer", :contributor="msg.contributor")
- p.time
- span.mr-1(v-if="msg.username") @{{ msg.username }}
- span.mr-1(v-if="msg.username") •
- span(v-b-tooltip="", :title="msg.timestamp | date") {{ msg.timestamp | timeAgo }}
- span(v-if="msg.client && user.contributor.level >= 4") ({{ msg.client }})
- .text(v-html='atHighlight(parseMarkdown(msg.text))')
- .reported(v-if="isMessageReported && (inbox === true)")
- span(v-once) {{ $t('reportedMessage')}}
- br
- span(v-once) {{ $t('canDeleteNow') }}
- hr
- .d-flex(v-if='msg.id')
- .action.d-flex.align-items-center(v-if='!inbox', @click='copyAsTodo(msg)')
- .svg-icon(v-html="icons.copy")
- div {{$t('copyAsTodo')}}
- .action.d-flex.align-items-center(v-if='(inbox || (user.flags.communityGuidelinesAccepted && msg.uuid !== "system")) && (!isMessageReported || user.contributor.admin)', @click='report(msg)')
- .svg-icon(v-html="icons.report", v-once)
- div(v-once) {{$t('report')}}
- .action.d-flex.align-items-center(v-if='msg.uuid === user._id || inbox || user.contributor.admin', @click='remove()')
- .svg-icon(v-html="icons.delete", v-once)
- div(v-once) {{$t('delete')}}
- .ml-auto.d-flex(v-b-tooltip="{title: likeTooltip(msg.likes[user._id])}", v-if='!inbox')
- .action.d-flex.align-items-center.mr-0(@click='like()', v-if='likeCount > 0', :class='{activeLike: msg.likes[user._id]}')
- .svg-icon(v-html="icons.liked", :title='$t("liked")')
- | +{{ likeCount }}
- .action.d-flex.align-items-center.mr-0(@click='like()', v-if='likeCount === 0', :class='{activeLike: msg.likes[user._id]}')
- .svg-icon(v-html="icons.like", :title='$t("like")')
- span(v-if='!msg.likes[user._id] && !inbox') {{ $t('like') }}
+
+
+
+
+ {{ flagCountDescription }}
+
+
+
+
+ @{{ msg.username }}
+ •
+ {{ msg.timestamp | timeAgo }}
+ ({{ msg.client }})
+
+
+
+ {{ $t('reportedMessage') }}
+
+ {{ $t('canDeleteNow') }}
+
+
+
+
+
+
{{ $t('copyAsTodo') }}
+
+
+
+
+ {{ $t('report') }}
+
+
+
+
+
+ {{ $t('delete') }}
+
+
+
+
{{ $t('like') }}
+
+
+
diff --git a/website/client/src/components/emptyView.vue b/website/client/src/components/emptyView.vue
new file mode 100644
index 0000000000..3c3b7b70fc
--- /dev/null
+++ b/website/client/src/components/emptyView.vue
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/website/client/src/components/group-plans/billing.vue b/website/client/src/components/group-plans/billing.vue
new file mode 100644
index 0000000000..99f50c7a6a
--- /dev/null
+++ b/website/client/src/components/group-plans/billing.vue
@@ -0,0 +1,134 @@
+
+
+
+
+
+
+ {{ $t('canceledGroupPlan') }}
+ {{ $t('groupPlanCanceled') }}
+ {{ dateTerminated }}
+
+
+
+
+ {{ $t('paymentDetails') }}
+
+ {{ $t('groupSubscriptionPrice') }}
+
+
+
+
+
+
+ {{ $t('purchasedGroupPlanPlanExtraMonths', purchasedGroupPlanPlanExtraMonths) }}
+
+
+
+
+
+ {{ $t('consecutiveSubscription') }}
+
+ {{ $t('consecutiveMonths') }} {{ group.purchased.plan.consecutive.count + group.purchased.plan.consecutive.offset }}
+ {{ $t('gemCapExtra') }} {{ group.purchased.plan.consecutive.gemCapExtra }}
+ {{ $t('mysticHourglasses') }} {{ group.purchased.plan.consecutive.trinkets }}
+
+
+
+
+
+
+
+ {{ $t('upgrade') }}
+
+
+ {{ $t('subUpdateCard') }}
+
+
+ {{ $t('cancelGroupSub') }}
+
+
+
+
+
+
diff --git a/website/client/src/components/group-plans/createGroupModalPages.vue b/website/client/src/components/group-plans/createGroupModalPages.vue
new file mode 100644
index 0000000000..22b1621157
--- /dev/null
+++ b/website/client/src/components/group-plans/createGroupModalPages.vue
@@ -0,0 +1,232 @@
+
+
+
+
{{ $t('nameYourGroup') }}
+
+ {{ $t('name') }}
+
+
+
+ {{ $t('description') }}
+
+
+
+
+
+ {{ $t('thisGroupInviteOnly') }}
+
+
+
+
+
+ {{ $t('leaderOnlyChallenges') }}
+
+
+
+
+
+
+
+ {{ $t('createGroupPlan') }}
+
+
+
+
+
{{ $t('choosePaymentMethod') }}
+
+
+
+ {{ $t('card') }}
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/group-plans/groupPlanOverviewModal.vue b/website/client/src/components/group-plans/groupPlanOverviewModal.vue
new file mode 100644
index 0000000000..d5b03a4c19
--- /dev/null
+++ b/website/client/src/components/group-plans/groupPlanOverviewModal.vue
@@ -0,0 +1,387 @@
+
+
+
+
+
+
+
+
+ Q.
+
+
+ {{ $t('whatsIncludedGroup') }}
+
+
+
+
+
{{ $t('whatsIncludedGroupDesc') }}
+
+
+
+
+
+
+
+ Q.
+
+
+ {{ $t('howDoesBillingWork') }}
+
+
+
+
+
{{ $t('howDoesBillingWorkDesc') }}
+
+
+
+
+
+
+
+ Q.
+
+
+ {{ $t('howToAssignTask') }}
+
+
+
+
+
{{ $t('howToAssignTaskDesc') }}
+
+
+
+
+
+
+
+
+ Q.
+
+
+ {{ $t('howToRequireApproval') }}
+
+
+
+
+
{{ $t('howToRequireApprovalDesc') }}
+
+
{{ $t('howToRequireApprovalDesc2') }}
+
+
+
+
+
+
+
+
+ Q.
+
+
+ {{ $t('whatIsGroupManager') }}
+
+
+
+
+
{{ $t('whatIsGroupManagerDesc') }}
+
+
+
+
+
+
+ {{ $t('goToTaskBoard') }}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/group-plans/index.vue b/website/client/src/components/group-plans/index.vue
new file mode 100644
index 0000000000..25b597c2e7
--- /dev/null
+++ b/website/client/src/components/group-plans/index.vue
@@ -0,0 +1,64 @@
+
+
+
+
+
+ {{ $t('groupTaskBoard') }}
+
+
+ {{ $t('groupInformation') }}
+
+
+ {{ $t('groupBilling') }}
+
+
+
+
+
+
+
+
+
diff --git a/website/client/components/group-plans/taskInformation.vue b/website/client/src/components/group-plans/taskInformation.vue
similarity index 57%
rename from website/client/components/group-plans/taskInformation.vue
rename to website/client/src/components/group-plans/taskInformation.vue
index a30df3683b..d98baeedd6 100644
--- a/website/client/components/group-plans/taskInformation.vue
+++ b/website/client/src/components/group-plans/taskInformation.vue
@@ -1,57 +1,94 @@
-
-.standard-page
- group-plan-overview-modal
- task-modal(
- :task="workingTask",
- :purpose="taskFormPurpose",
- @cancel="cancelTaskModal()",
- ref="taskModal",
- :groupId="groupId",
- v-on:taskCreated='taskCreated',
- v-on:taskEdited='taskEdited',
- v-on:taskDestroyed='taskDestroyed'
- )
- .row.tasks-navigation
- .col-12.col-md-4
- h1 {{ $t('groupTasksTitle') }}
- // @TODO: Abstract to component!
- .col-12.col-md-4
- input.form-control.input-search(type="text", :placeholder="$t('search')", v-model="searchText")
- .create-task-area.d-flex(v-if='canCreateTasks')
- transition(name="slide-tasks-btns")
- .d-flex(v-if="openCreateBtn")
- .create-task-btn.diamond-btn(
- v-for="type in columns",
- :key="type",
- @click="createTask(type)",
- v-b-tooltip.hover.bottom="$t(type)",
- )
- .svg-icon(v-html="icons[type]", :class='`icon-${type}`')
-
- #create-task-btn.create-btn.diamond-btn.btn.btn-success(
- @click="openCreateBtn = !openCreateBtn",
- :class="{open: openCreateBtn}",
- )
- .svg-icon(v-html="icons.positive")
- b-tooltip(target="create-task-btn", placement="bottom", v-if="!openCreateBtn") {{ $t('addTaskToGroupPlan') }}
-
- .row
- task-column.col-12.col-md-3(
- v-for="column in columns",
- :type="column",
- :key="column",
- :taskListOverride='tasksByType[column]',
- :showOptions="showOptions"
- v-on:editTask="editTask",
- v-on:loadGroupCompletedTodos="loadGroupCompletedTodos",
- v-on:taskDestroyed="taskDestroyed",
- :group='group',
- :searchText="searchText")
+
+
+
+
+
+
+
{{ $t('groupTasksTitle') }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('addTaskToGroupPlan') }}
+
+
+
+
+
+
+
diff --git a/website/client/src/components/groups/chat.vue b/website/client/src/components/groups/chat.vue
new file mode 100644
index 0000000000..80d1a6a8f2
--- /dev/null
+++ b/website/client/src/components/groups/chat.vue
@@ -0,0 +1,349 @@
+
+
+
+
+ {{ label }}
+
+
+
+
+
{{ currentLength }} / 3000
+
+
+
+
+
+
+ {{ $t('fetchRecentMessages') }}
+
+
+ {{ $t('reverseChat') }}
+
+
+
+
+ {{ $t('send') }}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/components/groups/communityGuidelines.vue b/website/client/src/components/groups/communityGuidelines.vue
similarity index 53%
rename from website/client/components/groups/communityGuidelines.vue
rename to website/client/src/components/groups/communityGuidelines.vue
index 65ed324149..9249c562a1 100644
--- a/website/client/components/groups/communityGuidelines.vue
+++ b/website/client/src/components/groups/communityGuidelines.vue
@@ -1,13 +1,27 @@
-
-.row.community-guidelines(v-if='!communityGuidelinesAccepted')
- div.col.col-sm-12.col-xl-8(v-once, v-html="$t('communityGuidelinesIntro')")
-
- div.col-md-auto.col-md-12.col-xl-4
- button.btn.btn-info.btn-follow-guidelines(@click='acceptCommunityGuidelines()', v-once) {{ $t('acceptCommunityGuidelines') }}
+
+
diff --git a/website/client/components/groups/discovery.vue b/website/client/src/components/groups/discovery.vue
similarity index 59%
rename from website/client/components/groups/discovery.vue
rename to website/client/src/components/groups/discovery.vue
index ca255628d0..0fad05347d 100644
--- a/website/client/components/groups/discovery.vue
+++ b/website/client/src/components/groups/discovery.vue
@@ -1,38 +1,71 @@
-
-.row
- sidebar(@search="updateSearch", @filter="updateFilters")
-
- .standard-page
- .header.row
- .col-8
- h1.page-header.float-left(v-once) {{ $t('publicGuilds') }}
- .col-4
- // @TODO: Add when we implement recent activity .float-right
- span.dropdown-label {{ $t('sortBy') }}
- b-dropdown(:text="$t('sort')", right=true)
- b-dropdown-item(v-for='sortOption in sortOptions', :key="sortOption.value", @click='sort(sortOption.value)') {{sortOption.text}}
- button.btn.btn-secondary.create-group-button.float-right(@click='createGroup()')
- .svg-icon.positive-icon(v-html="icons.positiveIcon")
- span(v-once) {{$t('createGuild2')}}
-
- .row
- .no-guilds.text-center.col-md-6.offset-md-3(v-if='!loading && filteredGuilds.length === 0')
- h2(v-once) {{$t('noGuildsMatchFilters')}}
-
- .row
- .col-md-12
- public-guild-item(v-for="guild in filteredGuilds", :key='guild._id', :guild="guild", :display-leave='true')
- mugen-scroll(
- :handler="fetchGuilds",
- :should-handle="!loading && !this.hasLoadedAllGuilds",
- :handle-on-mount="true",
- v-show="loading",
- )
- span(v-once) {{ $t('loading') }}
+
+
+
+
+
+
+
+
+ {{ $t('noGuildsMatchFilters') }}
+
+
+
+
+
+
+
+ {{ $t('loading') }}
+
+
+
+
+
+
+
diff --git a/website/client/src/components/groups/groupGemsModal.vue b/website/client/src/components/groups/groupGemsModal.vue
new file mode 100644
index 0000000000..b060ebf8ed
--- /dev/null
+++ b/website/client/src/components/groups/groupGemsModal.vue
@@ -0,0 +1,43 @@
+
+
+
+
+
+
{{ $t('groupGemsDesc') }}
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/groups/groupPlan.vue b/website/client/src/components/groups/groupPlan.vue
new file mode 100644
index 0000000000..5729913e55
--- /dev/null
+++ b/website/client/src/components/groups/groupPlan.vue
@@ -0,0 +1,558 @@
+
+
+
+
+
+
+
+
+
+
+
+
{{ $t('teamBasedTasks') }}
+
Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!
+
+
+
+
+
+
+
Group Management Controls
+
Use task approvals to verify that a task that was really completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.
+
+
+
+
+
+
+
In-Game Benefits
+
Group members get an exclusive Jackalope Mount, as well as full subscription benefits, including special monthly equipment sets and the ability to buy gems with gold.
+
+
+
+
+
+
+
+
+
+
+
+ $
+
+
+ 9
+
+
+ Group Owner Subscription
+
+
+
+
+
+ $
+
+
+ 3
+
+
+ Each Individual Group Member
+
+
+
+
+
Choose your payment method
+
+
+
+ {{ $t('card') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Create Your New Group
+
+
+
+
+
+
+ $
+
+
+ 9
+
+
+
Group Owner
+
Subscription
+
+
+
+
+
+ $
+
+
+ 3
+
+
+
Each Additional
+
Member
+
+
+
+
+
+
+
+
+ Name
+
+
+
+ {{ $t('description') }}
+
+
+
+
+
+
+
+
+
+ {{ $t('createGroupPlan') }}
+
+
+
+
+
+
Choose your payment method
+
+
+
+ {{ $t('card') }}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/groups/index.vue b/website/client/src/components/groups/index.vue
new file mode 100644
index 0000000000..9744b5d960
--- /dev/null
+++ b/website/client/src/components/groups/index.vue
@@ -0,0 +1,44 @@
+
+
+
+
+ {{ $t('tavern') }}
+
+
+ {{ $t('myGuilds') }}
+
+
+ {{ $t('guildsDiscovery') }}
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/groups/inviteModal.vue b/website/client/src/components/groups/inviteModal.vue
new file mode 100644
index 0000000000..a072d139f9
--- /dev/null
+++ b/website/client/src/components/groups/inviteModal.vue
@@ -0,0 +1,243 @@
+
+
+
+
{{ $t('inviteEmailUsername') }}
+
+ {{ $t('inviteEmailUsernameInfo') }}
+
+
+
+
+
+ {{ invite.error }}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/components/groups/membersModal.vue b/website/client/src/components/groups/membersModal.vue
similarity index 53%
rename from website/client/components/groups/membersModal.vue
rename to website/client/src/components/groups/membersModal.vue
index e04933d62c..e88644dc33 100644
--- a/website/client/components/groups/membersModal.vue
+++ b/website/client/src/components/groups/membersModal.vue
@@ -1,78 +1,249 @@
-
-// @TODO: Move this to a member directory
-div
- remove-member-modal(:member-to-remove='memberToRemove', :group-id='this.groupId' @member-removed='memberRemoved')
- b-modal#members-modal(:title="$t('createGuild')", size='md', :hide-footer='true')
- .header-wrap(slot="modal-header")
- .row
- .col-6
- h1(v-once) {{$t('members')}}
- .col-6
- button(type="button" aria-label="Close" class="close", @click='close()')
- span(aria-hidden="true") ×
- .row.d-flex.align-items-center
- .col-4
- input.form-control.input-search(type="text", :placeholder="$t('search')", v-model='searchTerm')
- .col
- select.form-control(@change='changeSortOption($event)')
- option(v-for='sortOption in sortOptions', :value='sortOption.value') {{sortOption.text}}
- .col-3
- select.form-control(@change='changeSortDirection($event)')
- option(v-for='sortDirection in sortDirections', :value='sortDirection.value') {{sortDirection.text}}
-
- .row.apply-options.d-flex.justify-content-center(v-if='sortDirty && group.type === "party"')
- a(@click='applySortOptions()') {{ $t('applySortToHeader') }}
- .row(v-if='invites.length > 0')
- .col-6.offset-3.nav
- .nav-item(@click='viewMembers()', :class="{active: selectedPage === 'members'}") {{ $t('members') }}
- .nav-item(@click='viewInvites()', :class="{active: selectedPage === 'invites'}") {{ $t('invites') }}
- div(v-if='selectedPage === "members"')
- .row(v-for='(member, index) in sortedMembers')
- .col-11.no-padding-left
- member-details(:member='member')
- .col-1.actions
- b-dropdown(right=true)
- .svg-icon.inline.dots(slot='button-content', v-html="icons.dots")
- b-dropdown-item(@click='sendMessage(member)')
- span.dropdown-icon-item
- .svg-icon.inline(v-html="icons.messageIcon")
- span.text {{$t('sendMessage')}}
- b-dropdown-item(@click='promoteToLeader(member)', v-if='shouldShowLeaderFunctions(member._id)')
- span.dropdown-icon-item
- .svg-icon.inline(v-html="icons.starIcon")
- span.text {{$t('promoteToLeader')}}
- b-dropdown-item(@click='addManager(member._id)', v-if='shouldShowAddManager(member._id)')
- span.dropdown-icon-item
- .svg-icon.inline(v-html="icons.starIcon")
- span.text {{$t('addManager')}}
- b-dropdown-item(@click='removeManager(member._id)', v-if='shouldShowRemoveManager(member._id)')
- span.dropdown-icon-item
- .svg-icon.inline(v-html="icons.removeIcon")
- span.text {{$t('removeManager2')}}
- b-dropdown-item(@click='viewProgress(member)', v-if='challengeId')
- span.dropdown-icon-item
- span.text {{ $t('viewProgress') }}
- b-dropdown-item(@click='removeMember(member, index)', v-if='shouldShowLeaderFunctions(member._id)')
- span.dropdown-icon-item
- .svg-icon.inline(v-html="icons.removeIcon")
- span.text {{$t('removeMember')}}
- .row(v-if='isLoadMoreAvailable')
- .col-12.text-center
- button.btn.btn-secondary(@click='loadMoreMembers()') {{ $t('loadMore') }}
- .row.gradient(v-if='members.length > 3')
- div(v-if='selectedPage === "invites"')
- .row(v-for='(member, index) in invites')
- .col-11.no-padding-left
- member-details(:member='member')
- .col-1.actions
- b-dropdown(right=true)
- .svg-icon.inline.dots(slot='button-content', v-html="icons.dots")
- b-dropdown-item(@click='removeInvite(member, index)', v-if='isLeader')
- span.dropdown-icon-item
- .svg-icon.inline(v-html="icons.removeIcon", v-if='isLeader')
- span.text {{$t('removeInvite')}}
- .modal-footer
- button.btn.btn-primary(@click='close()') {{ $t('close') }}
+
+
+
+
+
+
+
+
+
+
+ {{ $t('members') }}
+
+
+ {{ $t('invites') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('sendMessage') }}
+
+
+
+
+
+ {{ $t('promoteToLeader') }}
+
+
+
+
+
+ {{ $t('addManager') }}
+
+
+
+
+
+ {{ $t('removeManager2') }}
+
+
+
+
+ {{ $t('viewProgress') }}
+
+
+
+
+
+ {{ $t('removeMember') }}
+
+
+
+
+
+
+
+
+ {{ $t('loadMore') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('removeInvite') }}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/components/groups/participantListModal.vue b/website/client/src/components/groups/participantListModal.vue
similarity index 53%
rename from website/client/components/groups/participantListModal.vue
rename to website/client/src/components/groups/participantListModal.vue
index 1495730bb1..e284700519 100644
--- a/website/client/components/groups/participantListModal.vue
+++ b/website/client/src/components/groups/participantListModal.vue
@@ -1,17 +1,49 @@
-
- b-modal#participant-list(size='md', :hide-footer='true')
- .header-wrap(slot="modal-header")
- .row
- .col-6
- h1(v-once) {{ $t('participantsTitle') }}
- .col-6
- button(type="button" aria-label="Close" class="close", @click='close()')
- span(aria-hidden="true") ×
- .row(v-for='member in participants')
- .col-12.no-padding-left
- member-details(:member='member')
- .modal-footer
- button.btn.btn-primary(@click='close()') {{ $t('close') }}
+
+
+
+
+
+
\ No newline at end of file
+
diff --git a/website/client/src/components/groups/publicGuildItem.vue b/website/client/src/components/groups/publicGuildItem.vue
new file mode 100644
index 0000000000..1226b78bf0
--- /dev/null
+++ b/website/client/src/components/groups/publicGuildItem.vue
@@ -0,0 +1,275 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{ guild.memberCount | abbrNum }}
+
+
+
+
+
+
+
+ {{ guild.name }}
+
+
+ {{ guild.summary.substr(0, MAX_SUMMARY_SIZE_FOR_GUILDS) }}
+
+
+ {{ guild.name }}
+
+
+
+
+ {{ $t('leave') }}
+
+
+ {{ $t('join') }}
+
+
+
+
{{ guild.balance * 4 }}
+
+
+ {{ $t('guildBank') }}
+
+
+
+
+
+ {{ $t('suggestedGroup') }}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/groups/questDetailsModal.vue b/website/client/src/components/groups/questDetailsModal.vue
new file mode 100644
index 0000000000..c095ea5e55
--- /dev/null
+++ b/website/client/src/components/groups/questDetailsModal.vue
@@ -0,0 +1,287 @@
+
+
+
+
+ {{ $t('participantsTitle') }}
+
+
+
+ {{ $t('participantDesc') }}
+
+
+
+
+
{{ member.name }}
+
+ {{ $t('accepted') }}
+
+
+ {{ $t('declined') }}
+
+
+ {{ $t('pending') }}
+
+
+
+
+
+
+
+
+
+
+ {{ $t('begin') }}
+
+
+
+
+
+ {{ $t('cancel') }}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/groups/questSidebarSection.vue b/website/client/src/components/groups/questSidebarSection.vue
new file mode 100644
index 0000000000..24da128790
--- /dev/null
+++ b/website/client/src/components/groups/questSidebarSection.vue
@@ -0,0 +1,435 @@
+
+
+
+
+
+
+ {{ $t('youAreNotOnQuest') }}
+
+
+ {{ $t('questDescription') }}
+
+
+ {{ $t('startAQuest') }}
+
+
+
+
+
+
+
{{ questData.text() }}
+
{{ acceptedCount }} / {{ group.memberCount }}
+
+
+
+ {{ $t('details') }}
+
+
+
+
+ {{ $t('wouldYouParticipate') }}
+
+ {{ $t('accept') }}
+
+
+ {{ $t('reject') }}
+
+
+
+
+
+
+ {{ questData.text() }}
+
+
+
+
+
+
+
+
{{ value.text() }}
+
+
{{ group.quest.progress.collect[key] }} / {{ value.count }}
+
+
+
+ {{ parseFloat(user.party.quest.progress.collectedItems) || 0 }} items found
+
+
+
+
+
+
+ {{ questData.boss.name() }}
+
+
+
+
+
+
+
+
+ {{ Math.ceil(parseFloat(group.quest.progress.hp) * 100) / 100 }} / {{ parseFloat(questData.boss.hp).toFixed(2) }}
+
+
+
+
+
+ {{ user.party.quest.progress.up | floor(10) }} {{ $t('pendingDamageLabel') }}
+
+
+
+
+
+
+ {{ $t('rage') }} {{ parseFloat(group.quest.progress.rage).toFixed(2) }} / {{ questData.boss.rage.value }}
+
+
+
+
+
+ {{ $t('abort') }}
+
+
+
+
+
+
+
+
+
diff --git a/website/client/components/groups/sidebar.vue b/website/client/src/components/groups/sidebar.vue
similarity index 52%
rename from website/client/components/groups/sidebar.vue
rename to website/client/src/components/groups/sidebar.vue
index d1708b3003..fe9cad01d9 100644
--- a/website/client/components/groups/sidebar.vue
+++ b/website/client/src/components/groups/sidebar.vue
@@ -1,37 +1,88 @@
-
-.standard-sidebar.d-none.d-sm-block
- .form-group
- input.form-control.search(type="text", :placeholder="$t('search')", v-model='searchTerm')
-
- form
- h2(v-once) {{ $t('filter') }}
- .form-group
- h3 {{ $t('category') }}
- .form-check(
- v-for="group in categoryOptions",
- :key="group.key",
- )
- .custom-control.custom-checkbox
- input.custom-control-input(type="checkbox", :value='group.key' v-model="categoryFilters", :id="group.key")
- label.custom-control-label(v-once, :for="group.key") {{ $t(group.label) }}
- .form-group
- h3 {{ $t('role') }}
- .form-check(
- v-for="group in roleOptions",
- :key="group.key",
- )
- .custom-control.custom-checkbox
- input.custom-control-input(type="checkbox", :value='group.key' v-model="roleFilters", :id="group.key")
- label.custom-control-label(v-once, :for="group.key") {{ $t(group.label) }}
- .form-group
- h3 {{ $t('guildSize') }}
- .form-check(
- v-for="group in guildSizeOptions",
- :key="group.key",
- )
- .custom-control.custom-checkbox
- input.custom-control-input(type="checkbox", :value='group.key' v-model="guildSizeFilters", :id="group.key")
- label.custom-control-label(v-once, :for="group.key") {{ $t(group.label) }}
+
+
diff --git a/website/client/src/components/hall/heroes.vue b/website/client/src/components/hall/heroes.vue
new file mode 100644
index 0000000000..0fe8dad9b7
--- /dev/null
+++ b/website/client/src/components/hall/heroes.vue
@@ -0,0 +1,395 @@
+
+
+
+
+
+
+
+
+
+ {{ $t('name') }}
+
+ {{ $t('UUID') }}
+
+ {{ $t('contribLevel') }}
+ {{ $t('title') }}
+ {{ $t('contributions') }}
+
+
+
+
+
+
+
+
+
+ {{ hero._id }}
+
+ {{ hero.contributor.level }}
+ {{ hero.contributor.text }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/hall/index.vue b/website/client/src/components/hall/index.vue
new file mode 100644
index 0000000000..ebc191e2bc
--- /dev/null
+++ b/website/client/src/components/hall/index.vue
@@ -0,0 +1,34 @@
+
+
+
+
+ {{ $t('hallContributors') }}
+
+
+ {{ $t('hallPatrons') }}
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/hall/patrons.vue b/website/client/src/components/hall/patrons.vue
new file mode 100644
index 0000000000..534bd1ba13
--- /dev/null
+++ b/website/client/src/components/hall/patrons.vue
@@ -0,0 +1,63 @@
+
+
+
{{ $t('blurbHallPatrons') }}
+
+
+
+
+ {{ $t('name') }}
+
+ {{ $t('UUID') }}
+
+ {{ $t('backerTier') }}
+
+
+
+
+
+
+ {{ patron.profile.name }}
+
+
+ {{ patron._id }}
+
+ {{ patron.backer.tier }}
+
+
+
+
+
+
+
+
diff --git a/website/client/components/header/index.vue b/website/client/src/components/header/index.vue
similarity index 59%
rename from website/client/components/header/index.vue
rename to website/client/src/components/header/index.vue
index 116625fce7..bc5a3e50bb 100644
--- a/website/client/components/header/index.vue
+++ b/website/client/src/components/header/index.vue
@@ -1,44 +1,77 @@
-
-div
- invite-modal(:group='inviteModalGroup', :groupType='inviteModalGroupType')
- create-party-modal
- #app-header.row(:class="{'hide-header': $route.name === 'groupPlan'}")
- members-modal(:hide-badge="true")
- member-details(
- :member="user",
- :class-badge-position="'next-to-name'",
- :is-header="true",
- )
- .view-party.d-flex.align-items-center(
- v-if="hasParty",
- )
- button.btn.btn-primary.view-party-button(@click='showPartyMembers()') {{ $t('viewParty') }}
- .party-members.d-flex(
- v-if="hasParty",
- v-resize="1500",
- @resized="setPartyMembersWidth($event)"
- )
- member-details(
- v-for="(member, $index) in sortedPartyMembers",
- :key="member._id",
- v-if="member._id !== user._id && $index < membersToShow",
- :member="member",
- condensed=true,
- @onHover="expandMember(member._id)",
- :expanded="member._id === expandedMember",
- :is-header="true",
- :class-badge-position="'hidden'",
- )
- .no-party.d-flex.justify-content-center.text-center(v-else)
- .align-self-center
- h3 {{ $t('battleWithFriends') }}
- span.small-text(v-html="$t('inviteFriendsParty')")
- br
- button.btn.btn-primary(@click='createOrInviteParty()') {{ user.party._id ? $t('inviteFriends') : $t('startAParty') }}
+
+
+
+
+
+
+
+
diff --git a/website/client/components/header/messageCount.vue b/website/client/src/components/header/messageCount.vue
similarity index 66%
rename from website/client/components/header/messageCount.vue
rename to website/client/src/components/header/messageCount.vue
index 8ad65de4d1..4b93ffe454 100644
--- a/website/client/components/header/messageCount.vue
+++ b/website/client/src/components/header/messageCount.vue
@@ -1,11 +1,12 @@
-
-span.message-count(
- :class="{'top-count': props.top === true, 'top-count-gray': props.gray === true}"
-) {{props.count}}
+
+ {{ props.count }}
\ No newline at end of file
+
diff --git a/website/client/components/header/notifications/base.vue b/website/client/src/components/header/notifications/base.vue
similarity index 67%
rename from website/client/components/header/notifications/base.vue
rename to website/client/src/components/header/notifications/base.vue
index fc6bcbaa68..ab6ed946fc 100644
--- a/website/client/components/header/notifications/base.vue
+++ b/website/client/src/components/header/notifications/base.vue
@@ -1,23 +1,33 @@
-
-.notification.dropdown-item.dropdown-separated.d-flex.justify-content-between(
- @click="clicked"
-)
- .notification-icon.d-flex.justify-content-center.align-items-center(
- v-if="hasIcon",
- :class="{'is-not-bailey': isNotBailey}",
- )
- slot(name="icon")
- .notification-content
- slot(name="content")
- .notification-remove(@click.stop="canRemove ? remove() : null",)
- .svg-icon(
- v-if="canRemove",
- v-html="icons.close",
- )
+
+
\ No newline at end of file
+
diff --git a/website/client/components/header/notifications/cardReceived.vue b/website/client/src/components/header/notifications/cardReceived.vue
similarity index 50%
rename from website/client/components/header/notifications/cardReceived.vue
rename to website/client/src/components/header/notifications/cardReceived.vue
index 0762f6e09a..6a07a9a026 100644
--- a/website/client/components/header/notifications/cardReceived.vue
+++ b/website/client/src/components/header/notifications/cardReceived.vue
@@ -1,23 +1,30 @@
-
-base-notification(
- :can-remove="canRemove",
- :has-icon="true",
- :notification="notification",
- :read-after-click="true",
- @click="action"
-)
- div(slot="content", v-html="$t('cardReceived', {card: cardString})")
- div(slot="icon", :class="cardClass")
+
+
+
+
+
\ No newline at end of file
+
diff --git a/website/client/src/components/header/notifications/challengeInvitation.vue b/website/client/src/components/header/notifications/challengeInvitation.vue
new file mode 100644
index 0000000000..5d8e414f1b
--- /dev/null
+++ b/website/client/src/components/header/notifications/challengeInvitation.vue
@@ -0,0 +1,3 @@
+
+ {{ props.notification }}
+
diff --git a/website/client/components/header/notifications/groupTaskApproval.vue b/website/client/src/components/header/notifications/groupTaskApproval.vue
similarity index 53%
rename from website/client/components/header/notifications/groupTaskApproval.vue
rename to website/client/src/components/header/notifications/groupTaskApproval.vue
index 8d8021330d..7cd0bb92b8 100644
--- a/website/client/components/header/notifications/groupTaskApproval.vue
+++ b/website/client/src/components/header/notifications/groupTaskApproval.vue
@@ -1,30 +1,43 @@
-
-base-notification(
- :can-remove="canRemove",
- :has-icon="false",
- :notification="notification",
- @click="action",
-)
- div(slot="content")
- div(v-html="notification.data.message")
- .notifications-buttons
- .btn.btn-small.btn-success(@click.stop="approve()") {{ $t('approve') }}
- .btn.btn-small.btn-warning(@click.stop="needsWork()") {{ $t('needsWork') }}
+
+
+
+
diff --git a/website/client/src/components/header/notifications/groupTaskAssigned.vue b/website/client/src/components/header/notifications/groupTaskAssigned.vue
new file mode 100644
index 0000000000..d4de7364f9
--- /dev/null
+++ b/website/client/src/components/header/notifications/groupTaskAssigned.vue
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
diff --git a/website/client/src/components/header/notifications/groupTaskClaimed.vue b/website/client/src/components/header/notifications/groupTaskClaimed.vue
new file mode 100644
index 0000000000..e23e3be164
--- /dev/null
+++ b/website/client/src/components/header/notifications/groupTaskClaimed.vue
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
diff --git a/website/client/src/components/header/notifications/groupTaskNeedsWork.vue b/website/client/src/components/header/notifications/groupTaskNeedsWork.vue
new file mode 100644
index 0000000000..7dcd4650c3
--- /dev/null
+++ b/website/client/src/components/header/notifications/groupTaskNeedsWork.vue
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
diff --git a/website/client/src/components/header/notifications/guildInvitation.vue b/website/client/src/components/header/notifications/guildInvitation.vue
new file mode 100644
index 0000000000..1a767b9db2
--- /dev/null
+++ b/website/client/src/components/header/notifications/guildInvitation.vue
@@ -0,0 +1,76 @@
+
+
+
+
+
+
+
diff --git a/website/client/src/components/header/notifications/justAddWater.vue b/website/client/src/components/header/notifications/justAddWater.vue
new file mode 100644
index 0000000000..30ae799aa1
--- /dev/null
+++ b/website/client/src/components/header/notifications/justAddWater.vue
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
diff --git a/website/client/src/components/header/notifications/lostMasterclasser.vue b/website/client/src/components/header/notifications/lostMasterclasser.vue
new file mode 100644
index 0000000000..3570055765
--- /dev/null
+++ b/website/client/src/components/header/notifications/lostMasterclasser.vue
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
diff --git a/website/client/src/components/header/notifications/mindOverMatter.vue b/website/client/src/components/header/notifications/mindOverMatter.vue
new file mode 100644
index 0000000000..700185a198
--- /dev/null
+++ b/website/client/src/components/header/notifications/mindOverMatter.vue
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
diff --git a/website/client/components/header/notifications/newChatMessage.vue b/website/client/src/components/header/notifications/newChatMessage.vue
similarity index 55%
rename from website/client/components/header/notifications/newChatMessage.vue
rename to website/client/src/components/header/notifications/newChatMessage.vue
index 42c86248a4..b50b4d3b33 100644
--- a/website/client/components/header/notifications/newChatMessage.vue
+++ b/website/client/src/components/header/notifications/newChatMessage.vue
@@ -1,26 +1,30 @@
-
-// Read automatically from the group page mounted hook
-base-notification(
- :can-remove="canRemove",
- :has-icon="false",
- :notification="notification",
- :read-after-click="false",
- @click="action"
-)
- div(slot="content", v-html="string")
+
+
+
+
+
\ No newline at end of file
+
diff --git a/website/client/src/components/header/notifications/newInboxMessage.vue b/website/client/src/components/header/notifications/newInboxMessage.vue
new file mode 100644
index 0000000000..52fab1245a
--- /dev/null
+++ b/website/client/src/components/header/notifications/newInboxMessage.vue
@@ -0,0 +1,32 @@
+
+
+
+
+
+ {{ notification.data.excerpt }}
+
+
+
+
+
+
diff --git a/website/client/src/components/header/notifications/newMysteryItems.vue b/website/client/src/components/header/notifications/newMysteryItems.vue
new file mode 100644
index 0000000000..a5f301cdf9
--- /dev/null
+++ b/website/client/src/components/header/notifications/newMysteryItems.vue
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/header/notifications/newStuff.vue b/website/client/src/components/header/notifications/newStuff.vue
new file mode 100644
index 0000000000..b1ec2586db
--- /dev/null
+++ b/website/client/src/components/header/notifications/newStuff.vue
@@ -0,0 +1,36 @@
+
+
+
+
+ {{ $t('newBaileyUpdate') }}
+
+
{{ notification.data.title }}
+
+
+
+
+
+
diff --git a/website/client/src/components/header/notifications/partyInvitation.vue b/website/client/src/components/header/notifications/partyInvitation.vue
new file mode 100644
index 0000000000..b13b261651
--- /dev/null
+++ b/website/client/src/components/header/notifications/partyInvitation.vue
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
diff --git a/website/client/src/components/header/notifications/questInvitation.vue b/website/client/src/components/header/notifications/questInvitation.vue
new file mode 100644
index 0000000000..67935c8da4
--- /dev/null
+++ b/website/client/src/components/header/notifications/questInvitation.vue
@@ -0,0 +1,80 @@
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/header/notifications/unallocatedStatsPoints.vue b/website/client/src/components/header/notifications/unallocatedStatsPoints.vue
new file mode 100644
index 0000000000..f444b8ccf7
--- /dev/null
+++ b/website/client/src/components/header/notifications/unallocatedStatsPoints.vue
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/header/notifications/verifyUsername.vue b/website/client/src/components/header/notifications/verifyUsername.vue
new file mode 100644
index 0000000000..5cf9e7307a
--- /dev/null
+++ b/website/client/src/components/header/notifications/verifyUsername.vue
@@ -0,0 +1,88 @@
+
+
+
+
+ {{ $t('setUsernameNotificationTitle') }}
+
+
{{ $t('setUsernameNotificationBody') }}
+
+ {{ $t('currentUsername') + " " }}
+ @
+ {{ user.auth.local.username }}
+
+
+
+
+
+
+
diff --git a/website/client/components/header/notifications/worldBoss.vue b/website/client/src/components/header/notifications/worldBoss.vue
similarity index 53%
rename from website/client/components/header/notifications/worldBoss.vue
rename to website/client/src/components/header/notifications/worldBoss.vue
index be3474a9ff..48e3876173 100644
--- a/website/client/components/header/notifications/worldBoss.vue
+++ b/website/client/src/components/header/notifications/worldBoss.vue
@@ -1,30 +1,56 @@
-
-base-notification(
- :can-remove="false",
- :notification="{}",
- :read-after-click="false",
- @click="action",
- v-if="worldBoss.active"
-)
- .background(slot="content")
- .text
- .title {{ $t('worldBoss') }}
- .sub-title {{ $t('questDysheartenerText') }}
- .d-flex.align-items-center.justify-content-left
- div
- .left-hearts
- .float-right
- .quest_dysheartener_notification
- .phobia_dysheartener_notification
- .health-bar.d-flex.align-items-center.justify-content-center
- .svg-icon(v-html="icons.health")
- .boss-health-wrap
- .boss-health-bar(:style="{width: (parseInt(bossHp) / questData.boss.hp) * 100 + '%'}")
- .pending-damage
- .svg-icon(v-html="icons.sword")
- span +{{parseInt(user.party.quest.progress.up) || 0}}
+
+
+
+
+
+ {{ $t('worldBoss') }}
+
+
+ {{ $t('questDysheartenerText') }}
+
+
+
+
+
+
+
+
+
+{{ parseInt(user.party.quest.progress.up) || 0 }}
+
+
+
+
+
+
diff --git a/website/client/components/inventory/equipment/attributesGrid.vue b/website/client/src/components/inventory/equipment/attributesGrid.vue
similarity index 53%
rename from website/client/components/inventory/equipment/attributesGrid.vue
rename to website/client/src/components/inventory/equipment/attributesGrid.vue
index 9b1b17af0d..00bee8de14 100644
--- a/website/client/components/inventory/equipment/attributesGrid.vue
+++ b/website/client/src/components/inventory/equipment/attributesGrid.vue
@@ -1,18 +1,43 @@
-
- div.attributes-group
- .popover-content-attr(v-for="attr in ATTRIBUTES", :key="attr")
- .group-content
- span.popover-content-attr-cell.key(:class="{'hasValue': hasSumValue(attr) }") {{ `${$t(attr)}: ` }}
- span.popover-content-attr-cell.label.value(:class="{'green': hasSumValue(attr) }") {{ `${stats.sum[attr]}` }}
- span.popover-content-attr-cell.label.bold(:class="{'hasValue': hasGearValue(attr) }") {{ $t('gear') }}:
- span.popover-content-attr-cell.label(:class="{'hasValue': hasGearValue(attr) }") {{ stats.gear[attr] }}
- span.popover-content-attr-cell.label.bold(:class="{'hasValue': hasClassBonus(attr) }") {{ $t('classEquipBonus') }}:
- span.popover-content-attr-cell.label(:class="{'hasValue': hasClassBonus(attr) }") {{ `${stats.classBonus[attr]}` }}
+
+
+
+
+ {{ `${$t(attr)}: ` }}
+ {{ `${stats.sum[attr]}` }}
+ {{ $t('gear') }}:
+ {{ stats.gear[attr] }}
+ {{ $t('classEquipBonus') }}:
+ {{ `${stats.classBonus[attr]}` }}
+
+
+
diff --git a/website/client/src/components/inventory/equipment/attributesPopover.vue b/website/client/src/components/inventory/equipment/attributesPopover.vue
new file mode 100644
index 0000000000..4672bddd6f
--- /dev/null
+++ b/website/client/src/components/inventory/equipment/attributesPopover.vue
@@ -0,0 +1,76 @@
+
+
+
+
+ {{ `${$t('lockedItem')}` }}
+
+
+ {{ `${$t('classLockedItem')}` }}
+
+
+ {{ `${$t('tierLockedItem')}` }}
+
+
+
+
+
+ {{ itemText }}
+
+
+ {{ itemNotes }}
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/inventory/equipment/equipGearModal.vue b/website/client/src/components/inventory/equipment/equipGearModal.vue
new file mode 100644
index 0000000000..e0c7a2c916
--- /dev/null
+++ b/website/client/src/components/inventory/equipment/equipGearModal.vue
@@ -0,0 +1,246 @@
+
+
+
+
+
+
+
+
+
+ {{ itemText }}
+
+
+
+
+ {{ getClassName(itemClass) }}
+
+
+
+ {{ $t(isEquipped ? 'unequip' : 'equip') }}
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/inventory/equipment/index.vue b/website/client/src/components/inventory/equipment/index.vue
new file mode 100644
index 0000000000..0d9d819c65
--- /dev/null
+++ b/website/client/src/components/inventory/equipment/index.vue
@@ -0,0 +1,506 @@
+
+
+
+
+
+
+
+ {{ $t('sortBy') }}
+
+
+ {{ $t(sort) }}
+
+
+ {{ $t('groupBy2') }}
+
+
+ {{ $t('equipmentType') }}
+
+
+ {{ $t('class') }}
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ group.label }}
+ {{ items[group.key].length }}
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/inventory/index.vue b/website/client/src/components/inventory/index.vue
new file mode 100644
index 0000000000..8ce2da2b12
--- /dev/null
+++ b/website/client/src/components/inventory/index.vue
@@ -0,0 +1,35 @@
+
+
+
+
+ {{ $t('items') }}
+
+ {{ $t('equipment') }}
+
+ {{ $t('stable') }}
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/inventory/item.vue b/website/client/src/components/inventory/item.vue
new file mode 100644
index 0000000000..ffbc4a33bf
--- /dev/null
+++ b/website/client/src/components/inventory/item.vue
@@ -0,0 +1,91 @@
+
+
+
+
+
diff --git a/website/client/src/components/inventory/items/cards-modal.vue b/website/client/src/components/inventory/items/cards-modal.vue
new file mode 100644
index 0000000000..83789bf919
--- /dev/null
+++ b/website/client/src/components/inventory/items/cards-modal.vue
@@ -0,0 +1,88 @@
+
+
+
+
+
+
{{ $t('toAndFromCard', { toName: user.profile.name, fromName}) }}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/inventory/items/index.vue b/website/client/src/components/inventory/items/index.vue
new file mode 100644
index 0000000000..8029e8bdc8
--- /dev/null
+++ b/website/client/src/components/inventory/items/index.vue
@@ -0,0 +1,652 @@
+
+
+
+
+
+
+
+ {{ $t('sortBy') }}
+
+
+ {{ $t('quantity') }}
+
+
+ {{ $t('AZ') }}
+
+
+
+
+
+
+
+
+
+ {{ $t(group.key) }}
+ {{ group.quantity }}
+
+
+
+ -
+
+
+ {{ context.item.text }}
+
+
+ {{ context.item.notes }}
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+ {{ context.item.text }}
+
+
+ {{ context.item.notes }}
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+ {{ context.item.text }}
+
+
+
+
+
+ {{ context.item.text }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('dragThisEgg', {eggName: currentDraggingEgg.text }) }}
+
+
+
+
+
+
+
+
+
+ {{ $t('clickOnPotionToHatch', {eggName: currentDraggingEgg.text }) }}
+
+
+
+
+
+
+
+
+
+ {{ $t('dragThisPotion', {potionName: currentDraggingPotion.text }) }}
+
+
+
+
+
+
+
+
+
+ {{ $t('clickOnEggToHatch', {potionName: currentDraggingPotion.text }) }}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/inventory/stable/foodItem.vue b/website/client/src/components/inventory/stable/foodItem.vue
new file mode 100644
index 0000000000..93d1d9c38b
--- /dev/null
+++ b/website/client/src/components/inventory/stable/foodItem.vue
@@ -0,0 +1,89 @@
+
+
+
+
+
+ {{ itemName || item.text() }}
+
+
+
+
+
+
+
diff --git a/website/client/src/components/inventory/stable/hatchedPetDialog.vue b/website/client/src/components/inventory/stable/hatchedPetDialog.vue
new file mode 100644
index 0000000000..46158fb994
--- /dev/null
+++ b/website/client/src/components/inventory/stable/hatchedPetDialog.vue
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+ {{ pet.name }}
+
+
+
+ {{ $t('onward') }}
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/inventory/stable/hatchingModal.vue b/website/client/src/components/inventory/stable/hatchingModal.vue
new file mode 100644
index 0000000000..e222daa479
--- /dev/null
+++ b/website/client/src/components/inventory/stable/hatchingModal.vue
@@ -0,0 +1,108 @@
+
+
+
+
+
+ {{ hatchablePet.name }}
+
+
+
+
+
+
+ {{ $t('hatch') }}
+
+
+ {{ $t('cancel') }}
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/inventory/stable/index.vue b/website/client/src/components/inventory/stable/index.vue
new file mode 100644
index 0000000000..573abe4053
--- /dev/null
+++ b/website/client/src/components/inventory/stable/index.vue
@@ -0,0 +1,939 @@
+
+
+
+
+
+
+
+ {{ $t('sortBy') }}
+
+
+ {{ $t(sort) }}
+
+
+
+
+
+ {{ $t('pets') }}
+ {{ countOwnedAnimals(petGroups[0], 'pet') }}
+
+
+
+
+
+ {{ petGroup.label }}
+
+
+
+
+ {{ $_openedItemRows_isToggled(petGroup.key) ? $t('showLess') : $t('showMore') }}
+
+
+
+ {{ $t('mounts') }}
+ {{ countOwnedAnimals(mountGroups[0], 'mount') }}
+
+
+
+
+
+ {{ mountGroup.label }}
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+ {{ $_openedItemRows_isToggled(mountGroup.key) ? $t('showLess') : $t('showMore') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('dragThisFood', {foodName: currentDraggingFood.text() }) }}
+
+
+
+
+
+
+
+
+
+ {{ $t('clickOnPetToFeed', {foodName: currentDraggingFood.text() }) }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/inventory/stable/mountItem.vue b/website/client/src/components/inventory/stable/mountItem.vue
new file mode 100644
index 0000000000..3507b86a6a
--- /dev/null
+++ b/website/client/src/components/inventory/stable/mountItem.vue
@@ -0,0 +1,77 @@
+
+
+
+
+
diff --git a/website/client/src/components/inventory/stable/mountRaisedModal.vue b/website/client/src/components/inventory/stable/mountRaisedModal.vue
new file mode 100644
index 0000000000..719830ba12
--- /dev/null
+++ b/website/client/src/components/inventory/stable/mountRaisedModal.vue
@@ -0,0 +1,119 @@
+
+
+
+
+
+
+
+ {{ mount.text() }}
+
+
+ {{ $t('onward') }}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/inventory/stable/petItem.vue b/website/client/src/components/inventory/stable/petItem.vue
new file mode 100644
index 0000000000..8d6b158471
--- /dev/null
+++ b/website/client/src/components/inventory/stable/petItem.vue
@@ -0,0 +1,198 @@
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
diff --git a/website/client/components/inventory/stable/welcomeModal.vue b/website/client/src/components/inventory/stable/welcomeModal.vue
similarity index 59%
rename from website/client/components/inventory/stable/welcomeModal.vue
rename to website/client/src/components/inventory/stable/welcomeModal.vue
index 178da7c3c6..2fb1f49f9f 100644
--- a/website/client/components/inventory/stable/welcomeModal.vue
+++ b/website/client/src/components/inventory/stable/welcomeModal.vue
@@ -1,17 +1,30 @@
-
-b-modal#welcome-modal(:ok-only="true",
- :ok-title="$t('gotIt')",
- :visible="!hideDialog",
- :hide-header="true",
- @hide="hideFlag()")
- div.content
- div.npc_matt
- h1.page-header(v-once) {{ $t('welcomeStable') }}
- div.content-text(v-once) {{ $t('welcomeStableText') }}
+
+
+
+
+ {{ $t('welcomeStableText') }}
+
+
+
diff --git a/website/client/components/members/classBadge.vue b/website/client/src/components/members/classBadge.vue
similarity index 64%
rename from website/client/components/members/classBadge.vue
rename to website/client/src/components/members/classBadge.vue
index a5033b7dfc..934b9608c9 100644
--- a/website/client/components/members/classBadge.vue
+++ b/website/client/src/components/members/classBadge.vue
@@ -1,10 +1,14 @@
-
-.class-badge.d-flex.justify-content-center
- .align-self-center.svg-icon(v-html="icons[memberClass]")
+
+
diff --git a/website/client/src/components/modifyInventory.vue b/website/client/src/components/modifyInventory.vue
new file mode 100644
index 0000000000..af7ebd9e9d
--- /dev/null
+++ b/website/client/src/components/modifyInventory.vue
@@ -0,0 +1,787 @@
+
+
+
+
+
+
+
+
+
+
+ Show Gear
+
+
+ Hide Gear
+
+
Gear
+
+
+ Own All
+
+
+ Previously Own All
+
+
+ Never Own All
+
+
+
+
+
+
+
+
+
+
+ Show Special Items
+
+
+ Hide Special Items
+
+
Special Items
+
+
+ Set All to 999
+
+
+ Set All to 0
+
+
+ Set All to undefined
+
+
+
+
+
+
+
+
+
+
+ Show Pets
+
+
+ Hide Pets
+
+
Pets
+
+
+ Set All to 45
+
+
+ Set All to 0
+
+
+ Set All to -1
+
+
+ Set All to undefined
+
+
+
Drop Pets
+
+
Quest Pets
+
+
Special Pets
+
+
Premium Pets
+
+
+
+
+
+
+
+
+ Show Mounts
+
+
+ Hide Mounts
+
+
Mounts
+
+
+ Set all to Owned
+
+
+ Set all to Not Owned
+
+
+
Drop Mounts
+
+
Quest Mounts
+
+
Special Mounts
+
+
Premium Mounts
+
+
+
+
+
+
+
+
+ Show Hatching Potions
+
+
+ Hide Hatching Potions
+
+
Hatching Potions
+
+
+ Set All to 999
+
+
+ Set All to 0
+
+
+ Set All to undefined
+
+
+
+
+
+
+
+
+
+
+ Show Eggs
+
+
+ Hide Eggs
+
+
Eggs
+
+
+ Set All to 999
+
+
+ Set All to 0
+
+
+ Set All to undefined
+
+
+
+
+
+
+
+
+
+
+ Show Food
+
+
+ Hide Food
+
+
Food
+
+
+ Set All to 999
+
+
+ Set All to 0
+
+
+ Set All to undefined
+
+
+
+
+
+
+
+
+
+
+ Show Quests
+
+
+ Hide Quests
+
+
Quests
+
+
+ Set All to 999
+
+
+ Set All to 0
+
+
+ Set All to undefined
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/components/notifications.vue b/website/client/src/components/notifications.vue
similarity index 78%
rename from website/client/components/notifications.vue
rename to website/client/src/components/notifications.vue
index b5e688c1ad..672fdcd859 100644
--- a/website/client/components/notifications.vue
+++ b/website/client/src/components/notifications.vue
@@ -1,35 +1,36 @@
-
-div
- yesterdaily-modal(
- :yesterDailies='yesterDailies',
- @run-cron="runYesterDailiesAction()",
- )
- armoire-empty
- new-stuff
- death
- low-health
- level-up
- choose-class
- testing
- testingletiant
- rebirth-enabled
- drops-enabled
- contributor
- won-challenge
- ultimate-gear
- streak
- rebirth
- joined-guild
- joined-challenge
- invited-friend
- login-incentives(:data='notificationData')
- quest-completed
- quest-invitation
- verify-username
- generic-achievement(:data='notificationData')
- just-add-water
- lost-masterclasser
- mind-over-matter
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/payments/cancelModalConfirm.vue b/website/client/src/components/payments/cancelModalConfirm.vue
new file mode 100644
index 0000000000..545820f1a9
--- /dev/null
+++ b/website/client/src/components/payments/cancelModalConfirm.vue
@@ -0,0 +1,91 @@
+
+
+
+
+
+
{{ config && config.group ? $t('cancelGroupSub') : $t('cancelSub') }}
+
{{ config && config.group ? $t('confirmCancelGroupPlan') : $t('confirmCancelSub') }}
+
+ {{ $t('cancelSub') }}
+
+
{{ $t('neverMind') }}
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/payments/canceledModal.vue b/website/client/src/components/payments/canceledModal.vue
new file mode 100644
index 0000000000..cb4be6a156
--- /dev/null
+++ b/website/client/src/components/payments/canceledModal.vue
@@ -0,0 +1,120 @@
+
+
+
+
+
+
{{ $t(isGroup ? 'canceledGroupPlan' : 'subCanceledTitle') }}
+
+
+ {{ $t('subWillBecomeInactive') }}
+
+ {{ isGroup ? groupDateTerminated : dateTerminated }}
+
+
+
{{ $t('paymentCanceledDisputes') }}
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/payments/sendGemsModal.vue b/website/client/src/components/payments/sendGemsModal.vue
new file mode 100644
index 0000000000..cf16303504
--- /dev/null
+++ b/website/client/src/components/payments/sendGemsModal.vue
@@ -0,0 +1,301 @@
+
+
+
+
+
+
+ {{ $t('sendGiftGemsBalance', {number: userLoggedIn.balance * 4}) }}
+ {{ $t('sendGiftCost', {cost: gift.gems.amount / 4}) }}
+
+ {{ $t('gemsPopoverTitle') }}
+
+
+
+
+
+
+
+ {{ $t('sendGiftFromBalance') }}
+
+
+ {{ $t('sendGiftPurchase') }}
+
+
+
+
+
+
+
+
+
+ {{ $t('subscription') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/payments/successModal.vue b/website/client/src/components/payments/successModal.vue
new file mode 100644
index 0000000000..c2c04c410f
--- /dev/null
+++ b/website/client/src/components/payments/successModal.vue
@@ -0,0 +1,248 @@
+
+
+
+
+
{{ $t(isFromBalance ? 'success' : 'paymentSuccessful') }}
+
+
+
+ {{ $t('giftSubscriptionText4') }}
+
+
+
+
+
+ {{ $t('paymentYouReceived') }}
+
+
+
+
+
+
+
{{ paymentData.gift.gems.amount }}
+
+
+
+
+
+
+ {{ $t('nowSubscribed') }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('paymentAutoRenew') }}
+
+
+ {{ $t('onwards') }}
+
+
+
+
+
+
+
+
+
diff --git a/website/client/components/secondaryMenu.vue b/website/client/src/components/secondaryMenu.vue
similarity index 74%
rename from website/client/components/secondaryMenu.vue
rename to website/client/src/components/secondaryMenu.vue
index 3fe01aafdc..6e438f8dff 100644
--- a/website/client/components/secondaryMenu.vue
+++ b/website/client/src/components/secondaryMenu.vue
@@ -1,10 +1,11 @@
-
-nav.nav.d-flex.justify-content-center.secondary-menu
- slot
+
+
+
+
diff --git a/website/client/src/components/settings/api.vue b/website/client/src/components/settings/api.vue
new file mode 100644
index 0000000000..2316af5fdc
--- /dev/null
+++ b/website/client/src/components/settings/api.vue
@@ -0,0 +1,202 @@
+
+
+
+
{{ $t('API') }}
+
{{ $t('APIText') }}
+
+
{{ $t('userId') }}
+
{{ user.id }}
+
{{ $t('APIToken') }}
+
+
+ {{ $t(`${showApiToken ? 'hide' : 'show'}APIToken`) }}
+
+
{{ apiToken }}
+
+
+
+
+
{{ $t('thirdPartyApps') }}
+
+
+
+
+
+
{{ $t('webhooks') }}
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/settings/dataExport.vue b/website/client/src/components/settings/dataExport.vue
new file mode 100644
index 0000000000..e80987b893
--- /dev/null
+++ b/website/client/src/components/settings/dataExport.vue
@@ -0,0 +1,15 @@
+
+
+
diff --git a/website/client/src/components/settings/deleteModal.vue b/website/client/src/components/settings/deleteModal.vue
new file mode 100644
index 0000000000..1d21281fdd
--- /dev/null
+++ b/website/client/src/components/settings/deleteModal.vue
@@ -0,0 +1,86 @@
+
+
+
+
+
{{ $t('deleteLocalAccountText') }}
+
{{ $t('deleteSocialAccountText', {magicWord: 'DELETE'}) }}
+
+
+
+ {{ $t('feedback') }}
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/settings/index.vue b/website/client/src/components/settings/index.vue
new file mode 100644
index 0000000000..61e6f4bee7
--- /dev/null
+++ b/website/client/src/components/settings/index.vue
@@ -0,0 +1,62 @@
+
+
+
+
+ {{ $t('site') }}
+
+
+ {{ $t('API') }}
+
+
+ {{ $t('dataExport') }}
+
+
+ {{ $t('promoCode') }}
+
+
+ {{ $t('subscription') }}
+
+
+ {{ $t('notifications') }}
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/settings/notifications.vue b/website/client/src/components/settings/notifications.vue
new file mode 100644
index 0000000000..29017b4899
--- /dev/null
+++ b/website/client/src/components/settings/notifications.vue
@@ -0,0 +1,135 @@
+
+
+
+
{{ $t('notifications') }}
+
+
+
+
+
+ {{ $t('unsubscribeAllPush') }}
+
+
+
+
+
+
+ {{ $t('unsubscribeAllEmails') }}
+
+
+
{{ $t('unsubscribeAllEmailsText') }}
+
+
+
+
+
+
diff --git a/website/client/src/components/settings/promoCode.vue b/website/client/src/components/settings/promoCode.vue
new file mode 100644
index 0000000000..71bbea8c75
--- /dev/null
+++ b/website/client/src/components/settings/promoCode.vue
@@ -0,0 +1,111 @@
+
+
+
+
{{ $t('promoCode') }}
+
+
+
+ {{ $t('submit') }}
+
+
+
+ {{ $t('couponText') }}
+
+
+
+
{{ $t('generateCodes') }}
+
+
+
+
+
+
+
diff --git a/website/client/src/components/settings/resetModal.vue b/website/client/src/components/settings/resetModal.vue
new file mode 100644
index 0000000000..d48b14109c
--- /dev/null
+++ b/website/client/src/components/settings/resetModal.vue
@@ -0,0 +1,48 @@
+
+
+ {{ $t('resetText1') }}
+ {{ $t('resetText2') }}
+
+
+
+
+
diff --git a/website/client/src/components/settings/restoreModal.vue b/website/client/src/components/settings/restoreModal.vue
new file mode 100644
index 0000000000..2d5dc83be9
--- /dev/null
+++ b/website/client/src/components/settings/restoreModal.vue
@@ -0,0 +1,175 @@
+
+
+ {{ $t('fixValuesText1') }}
+ {{ $t('fixValuesText2') }}
+
+
+
+
+
+
diff --git a/website/client/src/components/settings/site.vue b/website/client/src/components/settings/site.vue
new file mode 100644
index 0000000000..b63f964f31
--- /dev/null
+++ b/website/client/src/components/settings/site.vue
@@ -0,0 +1,874 @@
+
+
+
+
+
+
+ {{ $t('settings') }}
+
+
+
+
{{ $t('language') }}
+
+
+ {{ lang.name }}
+
+
+
+ {{ $t('americanEnglishGovern') }}
+
+
+
+
+
+
+
{{ $t('dateFormat') }}
+
+
+ {{ dateFormat }}
+
+
+
+
+
+
+
+
{{ $t('characterBuild') }}
+
+ {{ $t('class') + ': ' }}
+
+
+
+ {{ $t('changeClass') }}
+
+
+ 3 {{ $t('gems') }}
+
+
+
+
+
+
+
+
+
+ {{ $t('startAdvCollapsed') }}
+
+
+
+
+
+ {{ $t('dailyDueDefaultView') }}
+
+
+
+
+
+ {{ $t('displayInviteToPartyWhenPartyIs1') }}
+
+
+
+
+ {{ $t('suppressLevelUpModal') }}
+
+
+
+ {{ $t('suppressHatchPetModal') }}
+
+
+
+ {{ $t('suppressRaisePetModal') }}
+
+
+
+ {{ $t('suppressStreakModal') }}
+
+
+
+ {{ $t('showBailey') }}
+
+
+ {{ $t('fixVal') }}
+
+
+ {{ $t('enableClass') }}
+
+
+
+
{{ $t('customDayStart') }}
+
+ {{ $t('customDayStartInfo1') }}
+
+
+
+
+
{{ $t('timezone') }}
+
+
+
+
+
{{ $t('registration') }}
+
+
+
+
+
+ {{ $t('registerWithSocial', {network: network.name}) }}
+
+
+ {{ $t('registeredWithSocial', {network: network.name}) }}
+
+
+ {{ $t('detachSocial', {network: network.name}) }}
+
+
+
+
+
+
{{ $t('addLocalAuth') }}
+
+
+
+
+
{{ $t('changeDisplayName') }}
+
+
{{ $t('changeUsername') }}
+
+
+ {{ $t('changeEmail') }}
+
+
+
+ {{ $t('changePass') }}
+
+
+
+
+
+
{{ $t('dangerZone') }}
+
+
+ {{ $t('resetAccount') }}
+
+
+ {{ $t('deleteAccount') }}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/settings/subscription.vue b/website/client/src/components/settings/subscription.vue
new file mode 100644
index 0000000000..0938bff3b8
--- /dev/null
+++ b/website/client/src/components/settings/subscription.vue
@@ -0,0 +1,409 @@
+
+
+
{{ $t('subscription') }}
+
+
+
{{ $t('benefits') }}
+
+
+ {{ $t('buyGemsGold') }}
+ {{ $t('buyGemsGoldCap', buyGemsGoldCap) }}
+
+
+ {{ $t('retainHistory') }}
+
+
+ {{ $t('doubleDrops') }}
+
+
+ {{ $t('mysteryItem') }}
+
+
+ {{ $t('mysticHourglass', mysticHourglass) }}
+
+
+ {{ $t('mysticHourglassText') }}
+
+
+
+
+ {{ $t('exclusiveJackalopePet') }}
+
+
+ {{ $t('supportDevs') }}
+
+
+
+
+
Plan
+
+
+
+ {{ $t('canceledSubscription') }}
+
+ {{ $t('subCanceled') }}
+ {{ dateTerminated }}
+
+
+
+
+ {{ $t('subscribed') }}
+
+ {{ $t('purchasedPlanId', purchasedPlanIdInfo) }}
+
+
+ {{ $t('youHaveGroupPlan') }}
+
+
+
+
+
+
+ {{ $t('purchasedPlanExtraMonths', purchasedPlanExtraMonthsDetails) }}
+
+
+
+
+
+ {{ $t('consecutiveSubscription') }}
+
+ {{ $t('consecutiveMonths') }} {{ user.purchased.plan.consecutive.count + user.purchased.plan.consecutive.offset }}
+ {{ $t('gemCapExtra') }} {{ user.purchased.plan.consecutive.gemCapExtra }}
+ {{ $t('mysticHourglasses') }} {{ user.purchased.plan.consecutive.trinkets }}
+
+
+
+
+
+
+ {{ $t("resubscribe") }}
+
+
+
+
+
+
+ {{ $t('subUpdateCard') }}
+
+
+ {{ $t('cancelSub') }}
+
+
+
+
+
{{ $t('subscribeUsing') }}
+
+
+
+ {{ $t('card') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('giftSubscription') }}
+
+
+
+ {{ $t('giftSubscriptionText1') }}
+
+
+ {{ $t('giftSubscriptionText2') }}
+
+
+ {{ $t('giftSubscriptionText3') }}
+
+
+
+ {{ $t('giftSubscriptionText4') }}
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/settings/usernameForm.vue b/website/client/src/components/settings/usernameForm.vue
new file mode 100644
index 0000000000..39694749e9
--- /dev/null
+++ b/website/client/src/components/settings/usernameForm.vue
@@ -0,0 +1,280 @@
+
+
+
+
+
+
+
+ {{ $t('usernameLimitations') }}
+
+
+
+ {{ $t(avatarIntro ? 'getStarted' : 'saveAndConfirm') }}
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/settings/verifyUsername.vue b/website/client/src/components/settings/verifyUsername.vue
new file mode 100644
index 0000000000..976f44c2ca
--- /dev/null
+++ b/website/client/src/components/settings/verifyUsername.vue
@@ -0,0 +1,100 @@
+
+
+
+
+ {{ $t('usernameTime') }}
+
+
+
+
+
+ {{ $t('verifyUsernameVeteranPet') }}
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/shared/inventoryDrawer.vue b/website/client/src/components/shared/inventoryDrawer.vue
new file mode 100644
index 0000000000..1b4b945543
--- /dev/null
+++ b/website/client/src/components/shared/inventoryDrawer.vue
@@ -0,0 +1,182 @@
+
+
+
+
+
+
+ {{ $t('petLikeToEat') + ' ' }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/components/shops/_currencyMixin.js b/website/client/src/components/shops/_currencyMixin.js
similarity index 70%
rename from website/client/components/shops/_currencyMixin.js
rename to website/client/src/components/shops/_currencyMixin.js
index 21f4190825..dce5a5d343 100644
--- a/website/client/components/shops/_currencyMixin.js
+++ b/website/client/src/components/shops/_currencyMixin.js
@@ -1,4 +1,4 @@
-import { mapState, mapGetters } from 'client/libs/store';
+import { mapGetters, mapState } from '@/libs/store';
export default {
computed: {
@@ -11,8 +11,8 @@ export default {
}),
},
methods: {
- enoughCurrency (currency, amount) {
- switch (currency) {
+ enoughCurrency (currency, amount) { // eslint-disable-line consistent-return
+ switch (currency) { // eslint-disable-line default-case
case 'gold':
return this.userGold >= amount;
case 'gems':
diff --git a/website/client/src/components/shops/balanceInfo.vue b/website/client/src/components/shops/balanceInfo.vue
new file mode 100644
index 0000000000..1656e8a967
--- /dev/null
+++ b/website/client/src/components/shops/balanceInfo.vue
@@ -0,0 +1,110 @@
+
+
+
+
+ {{ currency.value | roundBigNumber }}
+
+
+
+
+
+
+
diff --git a/website/client/src/components/shops/buyModal.vue b/website/client/src/components/shops/buyModal.vue
new file mode 100644
index 0000000000..f5ec03c197
--- /dev/null
+++ b/website/client/src/components/shops/buyModal.vue
@@ -0,0 +1,617 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ itemText }}
+
+
+
+
+
+
+
+ {{ $t('howManyToBuy') }}
+
+
+
+
+
+
+
+ {{ item.value }}
+
+
+
+
+ {{ item.value }}
+
+
+
+ {{ gemsLeft }} {{ $t('gemsRemaining') }}
+ {{ $t('maxBuyGems') }}
+
+
+ {{ $t('notEnoughGemsToBuy') }}
+
+
+ {{ $t('purchaseGems') }}
+
+
+ {{ $t('buyNow') }}
+
+
+
+
+
+ {{ limitedString }}
+
+
+
+ {{ $t('yourBalance') }}
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/shops/featuredItemsHeader.vue b/website/client/src/components/shops/featuredItemsHeader.vue
new file mode 100644
index 0000000000..9c9b29667e
--- /dev/null
+++ b/website/client/src/components/shops/featuredItemsHeader.vue
@@ -0,0 +1,147 @@
+
+
+
+
+
+
+
+ {{ npcName }}
+
+
+
+
+
+
+ {{ featuredText }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/shops/index.vue b/website/client/src/components/shops/index.vue
new file mode 100644
index 0000000000..d12a19c46e
--- /dev/null
+++ b/website/client/src/components/shops/index.vue
@@ -0,0 +1,45 @@
+
+
+
+
+ {{ $t('market') }}
+
+
+ {{ $t('quests') }}
+
+
+ {{ $t('titleSeasonalShop') }}
+
+
+ {{ $t('titleTimeTravelers') }}
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/shops/market/categoryItem.vue b/website/client/src/components/shops/market/categoryItem.vue
new file mode 100644
index 0000000000..1d7613b08e
--- /dev/null
+++ b/website/client/src/components/shops/market/categoryItem.vue
@@ -0,0 +1,63 @@
+
+
+
+
+ {{ gemsLeft }}
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/shops/market/categoryRow.vue b/website/client/src/components/shops/market/categoryRow.vue
new file mode 100644
index 0000000000..eb4a79b6c4
--- /dev/null
+++ b/website/client/src/components/shops/market/categoryRow.vue
@@ -0,0 +1,102 @@
+
+
+
+
+ {{ $t('maxBuyGems') }}
+ {{ item.text }}
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/shops/market/equipmentSection.vue b/website/client/src/components/shops/market/equipmentSection.vue
new file mode 100644
index 0000000000..8d15a10fab
--- /dev/null
+++ b/website/client/src/components/shops/market/equipmentSection.vue
@@ -0,0 +1,208 @@
+
+
+
+
+
+
+ {{ getClassName(ctx.item.id) }}
+
+
+
+
+ {{ $t(ctx.item.id) }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/shops/market/filter.vue b/website/client/src/components/shops/market/filter.vue
new file mode 100644
index 0000000000..fe78b4b89e
--- /dev/null
+++ b/website/client/src/components/shops/market/filter.vue
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
diff --git a/website/client/src/components/shops/market/index.vue b/website/client/src/components/shops/market/index.vue
new file mode 100644
index 0000000000..cb660cbf72
--- /dev/null
+++ b/website/client/src/components/shops/market/index.vue
@@ -0,0 +1,370 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t(ctx.item.id) }}
+
+
+
+
+
+
+
+
{{ category.text }}
+
+
+
+
+
+
+ -
+
+
+ {{ ctx.itemName }}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/components/shops/market/keysToKennel.vue b/website/client/src/components/shops/market/keysToKennel.vue
similarity index 61%
rename from website/client/components/shops/market/keysToKennel.vue
rename to website/client/src/components/shops/market/keysToKennel.vue
index b54ff64f84..71862238cd 100644
--- a/website/client/components/shops/market/keysToKennel.vue
+++ b/website/client/src/components/shops/market/keysToKennel.vue
@@ -1,29 +1,30 @@
-
-.keys-wrap
- shopItem(
- :key="keysToPets.key",
- :item="keysToPets",
- :emptyItem="false",
- popoverPosition="'top'",
- @click="releasePets()",
- v-if='userHasAllPets'
- )
- shopItem(
- :key="keysToMounts.key",
- :item="keysToMounts",
- :emptyItem="false",
- popoverPosition="'top'",
- @click="releaseMounts()",
- v-if='userHasAllMounts'
- )
- shopItem(
- :key="keysToBoth.key",
- :item="keysToBoth",
- :emptyItem="false",
- popoverPosition="'top'",
- @click="releaseBoth()",
- v-if='userHasAllPets && userHasAllMounts'
- )
+
+
+
+
+
+
diff --git a/website/client/src/components/shops/quests/buyQuestModal.vue b/website/client/src/components/shops/quests/buyQuestModal.vue
new file mode 100644
index 0000000000..b4e3c7492c
--- /dev/null
+++ b/website/client/src/components/shops/quests/buyQuestModal.vue
@@ -0,0 +1,378 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('howManyToBuy') }}
+
+
+
+
+
+
{{ item.value }}
+
+
+ {{ $t('purchaseGems') }}
+
+
+ {{ $t('buyNow') }}
+
+
+
+
+
+ {{ $t('yourBalance') }}
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/shops/quests/index.vue b/website/client/src/components/shops/quests/index.vue
new file mode 100644
index 0000000000..0612d29869
--- /dev/null
+++ b/website/client/src/components/shops/quests/index.vue
@@ -0,0 +1,645 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{ shop.featured.text }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('sortBy') }}
+
+
+ {{ $t(sort) }}
+
+
+
+
+
+
+
+
+ {{ category.text }}
+
+
+
+
+
+
+
+
+
{{ ctx.item.text }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
{{ $t(key) }}
+
+
+
+
+
+
{{ `${$t('lockedItem')}` }}
+
{{ item.text }}
+
{{ `${$t('questUnlockLostMasterclasser')}` }}
+
{{ `${$t('loginIncentiveQuest', {
+ count: item.unlockCondition.incentiveThreshold})}` }}
+
{{ `${$t('unlockByQuesting', {title: item.previous})}` }}
+
{{ `${$t('mustLvlQuest', {level: item.lvl})}` }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
{{ item.text }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/shops/quests/questDialogContent.vue b/website/client/src/components/shops/quests/questDialogContent.vue
new file mode 100644
index 0000000000..45783522f5
--- /dev/null
+++ b/website/client/src/components/shops/quests/questDialogContent.vue
@@ -0,0 +1,71 @@
+
+
+
+
+ {{ itemText }}
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/shops/quests/questDialogDrops.vue b/website/client/src/components/shops/quests/questDialogDrops.vue
new file mode 100644
index 0000000000..7b198395e3
--- /dev/null
+++ b/website/client/src/components/shops/quests/questDialogDrops.vue
@@ -0,0 +1,159 @@
+
+
+
+ {{ $t('rewards') }}
+
+
+
+ {{ $t('amountExperience', { amount: item.drop.exp }) }}
+
+
+
+ {{ $t('amountGold', { amount: item.drop.gp }) }}
+
+
+
+
+
+
{{ getDropName(drop) }}
+
+
+ {{ item.drop.unlock() }}
+
+
+ {{ $t('questOwnerRewards') }}
+
+
+
+
+
+
{{ getDropName(drop) }}
+
+
+
+
+
+
+
diff --git a/website/client/src/components/shops/quests/questInfo.vue b/website/client/src/components/shops/quests/questInfo.vue
new file mode 100644
index 0000000000..002abd93a3
--- /dev/null
+++ b/website/client/src/components/shops/quests/questInfo.vue
@@ -0,0 +1,177 @@
+
+
+
+
{{ $t('collect') + ':' }}
+
+
+ {{ collect.count }} {{ getCollectText(collect) }}
+
+
+
+
+
{{ $t('bossHP') + ':' }}
+ {{ quest.boss.hp }}
+
+
+
{{ $t('difficulty') + ':' }}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/shops/seasonal/index.vue b/website/client/src/components/shops/seasonal/index.vue
new file mode 100644
index 0000000000..d092a4db85
--- /dev/null
+++ b/website/client/src/components/shops/seasonal/index.vue
@@ -0,0 +1,617 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('seasonalShopBrokenText') }}
+
+
+
+
+
+
+ {{ $t('featuredset', { name: seasonal.featured.text }) }}
+
+
+
+
+ {{ $t('featuredItems') }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('classArmor') }}
+
+
+ {{ $t('sortBy') }}
+
+
+ {{ $t(sort) }}
+
+
+
+
+
+
+
+ {{ getClassName(categoryGroup) }}
+
+
+
+
{{ category.text }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/shops/shopItem.vue b/website/client/src/components/shops/shopItem.vue
new file mode 100644
index 0000000000..7c6d9d68e1
--- /dev/null
+++ b/website/client/src/components/shops/shopItem.vue
@@ -0,0 +1,323 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ getPrice() }}
+
+
+
+
+
+
+
+
+
+ {{ item.text }}
+
+
+
+
+
+ {{ item.text }}
+
+
+ {{ item.notes }}
+
+
+ {{ item.notes }}
+
+
+
+ {{ limitedString }}
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/shops/timeTravelers/index.vue b/website/client/src/components/shops/timeTravelers/index.vue
new file mode 100644
index 0000000000..b399ecbd65
--- /dev/null
+++ b/website/client/src/components/shops/timeTravelers/index.vue
@@ -0,0 +1,486 @@
+
+
+
+
+
+
+
+ {{ $t('timeTravelers') }}
+
+
+
+ {{ $t('timeTravelersPopoverNoSubMobile') }}
+
+
+
+
+
+ {{ $t('sortBy') }}
+
+ {{ $t(sort) }}
+
+
+
+
+
+
+
+
+ {{ category.text }}
+
+
+
+
{{ ctx.item.text }}
+
+
{{ item.text }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/sidebarSection.vue b/website/client/src/components/sidebarSection.vue
new file mode 100644
index 0000000000..2103f35684
--- /dev/null
+++ b/website/client/src/components/sidebarSection.vue
@@ -0,0 +1,116 @@
+
+
+
+
+
+
+
diff --git a/website/client/components/snackbars/notification.vue b/website/client/src/components/snackbars/notification.vue
similarity index 53%
rename from website/client/components/snackbars/notification.vue
rename to website/client/src/components/snackbars/notification.vue
index 918f6b226e..1406e4e2cc 100644
--- a/website/client/components/snackbars/notification.vue
+++ b/website/client/src/components/snackbars/notification.vue
@@ -1,34 +1,88 @@
-
-transition(name="fade")
- .notification.callout.animated(:class="classes", v-if='show', @click='handleOnClick()')
- .row(v-if='notification.type === "error"')
- .text.col-12
- div(v-html='notification.text')
- .row(v-if='notification.type === "streak"')
- .text.col-7.offset-1
- div {{message}}
- .icon.col-4
- div.svg-icon(v-html="icons.gold")
- div(v-html='notification.text')
- .row(v-if='["hp", "gp", "xp", "mp"].indexOf(notification.type) !== -1')
- .text.col-7.offset-1
- div
- | {{message}}
- .icon.col-4.d-flex.align-items-center
- div.svg-icon(v-html="icons.health", v-if='notification.type === "hp"')
- div.svg-icon(v-html="icons.gold", v-if='notification.type === "gp"')
- div.svg-icon(v-html="icons.star", v-if='notification.type === "xp"')
- div.svg-icon(v-html="icons.mana", v-if='notification.type === "mp"')
- div(v-html='notification.text')
- .row(v-if='["info", "success", "crit", "lvl"].indexOf(notification.type) !== -1')
- .text.col-12
- div(v-html='notification.text')
- .row(v-if='notification.type === "drop"')
- .col-3
- .icon-item
- div(:class='notification.icon')
- .text.col-8
- div(v-html='notification.text')
+
+
+
+
diff --git a/website/client/components/snackbars/notifications.vue b/website/client/src/components/snackbars/notifications.vue
similarity index 73%
rename from website/client/components/snackbars/notifications.vue
rename to website/client/src/components/snackbars/notifications.vue
index af44e65a39..3d44089a8a 100644
--- a/website/client/components/snackbars/notifications.vue
+++ b/website/client/src/components/snackbars/notifications.vue
@@ -1,7 +1,15 @@
-
-.notifications(:class="notificationsTopPos")
- div(v-for='notification in notificationStore', :key='notification.uuid')
- notification(:notification='notification')
+
+
diff --git a/website/client/src/components/static/communityGuidelines.vue b/website/client/src/components/static/communityGuidelines.vue
new file mode 100644
index 0000000000..db0d72a1e6
--- /dev/null
+++ b/website/client/src/components/static/communityGuidelines.vue
@@ -0,0 +1,272 @@
+
+
+
{{ $t('communityGuidelines') }}
+
+
{{ $t('lastUpdated') }} March 29, 2018
+
+ {{ $t('commGuideHeadingWelcome') }}
+
+
+
+
+
+ {{ $t('commGuideHeadingInteractions') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('commGuideHeadingTavern') }}
+
+
+
+
+ {{ $t('commGuideHeadingPublicGuilds') }}
+
+
+
+
+
+
+
+
+ {{ $t('commGuideHeadingInfractionsEtc') }}
+
+
+ {{ $t('commGuideHeadingInfractions') }}
+
+
+
{{ $t('commGuideHeadingSevereInfractions') }}
+
+
+
+
{{ $t('commGuideHeadingModerateInfractions') }}
+
+
+
+
{{ $t('commGuideHeadingMinorInfractions') }}
+
+
+
+
+
+ {{ $t('commGuideHeadingConsequences') }}
+
+
+
+
+
+
+
{{ $t('commGuideHeadingSevereConsequences') }}
+
+
{{ $t('commGuideHeadingModerateConsequences') }}
+
+
+ {{ $t('commGuideList10A') }}
+
+ {{ $t('commGuideList10A1') }}
+
+
+
+
+
+
+
+
{{ $t('commGuideHeadingMinorConsequences') }}
+
+
+ {{ $t('commGuideHeadingRestoration') }}
+
+
+
+
+ {{ $t('commGuideHeadingMeet') }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('commGuidePara014') }}
+ lefnire, Slappybag, litenull, Shaner, Bobbyroberts99, wc8
+
+
+ {{ $t('commGuideHeadingFinal') }}
+
+
+
+
+ {{ $t('commGuideHeadingLinks') }}
+
+
+
+
+ Breadstrings
+ Draayder
+ Kiwibot
+ Leephon
+ Lemoness
+ Luciferian
+ Revcleo
+ Shaner
+ Starsystemic
+ UncommonCriminal
+
+
+
+
+
diff --git a/website/client/src/components/static/contact.vue b/website/client/src/components/static/contact.vue
new file mode 100644
index 0000000000..d10973d024
--- /dev/null
+++ b/website/client/src/components/static/contact.vue
@@ -0,0 +1,71 @@
+
+
+
+
+
diff --git a/website/client/src/components/static/faq.vue b/website/client/src/components/static/faq.vue
new file mode 100644
index 0000000000..ad4ac66354
--- /dev/null
+++ b/website/client/src/components/static/faq.vue
@@ -0,0 +1,126 @@
+
+
+
+
+
+ {{ $t('frequentlyAskedQuestions') }}
+
+
+
+ {{ $t(`faqQuestion${index}`) }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/static/features.vue b/website/client/src/components/static/features.vue
new file mode 100644
index 0000000000..706ae64305
--- /dev/null
+++ b/website/client/src/components/static/features.vue
@@ -0,0 +1,146 @@
+
+
+
+
+
{{ $t('marketing1Header') }}
+
+
+
+
+
+
{{ $t('marketing1Lead1Title') }}
+
{{ $t('marketing1Lead1') }}
+
+
+
+
{{ $t('marketing1Lead2Title') }}
+
{{ $t('marketing1Lead2') }}
+
+
{{ $t('marketing1Lead3Title') }}
+
{{ $t('marketing1Lead3') }}
+
+
+
+
+
+
{{ $t('marketing2Header') }}
+
+
+
+
+
+
{{ $t('marketing2Lead1Title') }}
+
{{ $t('marketing2Lead1') }}
+
+
{{ $t('marketing2Lead2Title') }}
+
+
+
+
+
{{ $t('marketing2Lead3Title') }}
+
{{ $t('marketing2Lead3') }}
+
+
+
+
+
+
{{ $t('marketing3Header') }}
+
+
+
+
+
+
{{ $t('footerMobile') }}
+
+
+
+
+
{{ $t('marketing3Lead2Title') }}
+
+
+
+
+
+
+
{{ $t('marketing4Header') }}
+
+
+
+
+
+
{{ $t('marketing4Lead3Title') }}
+
+
+ {{ $t('marketing4Lead3-1') }}
+
+ {{ $t('playButton') }}
+
+
+
+ {{ $t('marketing4Lead3-2') }}
+ {{ $t('contactUs') }}
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/static/groupPlans.vue b/website/client/src/components/static/groupPlans.vue
new file mode 100644
index 0000000000..e2011defe7
--- /dev/null
+++ b/website/client/src/components/static/groupPlans.vue
@@ -0,0 +1,301 @@
+
+
+
+
+
+
+
+
+
{{ $t('groupPlanTitle') }}
+
{{ $t('groupPlanDesc') }}
+
+ Just
+ $9
+ per month +
+ $3
+ per member*
+
+
+
+ {{ $t('getStarted') }}
+
+
+
{{ $t('billedMonthly') }}
+
+
+
+
+
+
{{ $t('teamBasedTasksList') }}
+
{{ $t('teamBasedTasksListDesc') }}
+
+
+
+
+
+
+
{{ $t('groupManagementControls') }}
+
{{ $t('groupManagementControlsDesc') }}
+
+
+
+
+
+
{{ $t('inGameBenefits') }}
+
{{ $t('inGameBenefitsDesc') }}
+
+
+
+
+
+
+ {{ $t('inspireYourParty') }}
+
+
+ Just
+ $9
+ per month +
+ $3
+ per member*
+
+
+
+ {{ $t('getStarted') }}
+
+
+
{{ $t('billedMonthly') }}
+
+
+
+
+
+
+
{{ $t('letsMakeAccount') }}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/static/header.vue b/website/client/src/components/static/header.vue
new file mode 100644
index 0000000000..696a8a2460
--- /dev/null
+++ b/website/client/src/components/static/header.vue
@@ -0,0 +1,305 @@
+
+
+
+
+
+
+
+ {{ $t('playButtonFull') }}
+
+
+
+ {{ $t('login') }}
+
+
+
+
+
+
+
diff --git a/website/client/src/components/static/home.vue b/website/client/src/components/static/home.vue
new file mode 100644
index 0000000000..ed3cb2d511
--- /dev/null
+++ b/website/client/src/components/static/home.vue
@@ -0,0 +1,950 @@
+
+
+
+ {{ $t('jsDisabledHeadingFull') }}
+
+ {{ $t('jsDisabledLink') }}
+
+
+
+
+
+
+
{{ $t('motivateYourself') }}
+
+ {{ $t('timeToGetThingsDone', {userCountInMillions}) }}
+
+
+
+
+ {{ $t('singUpForFree') }}
+
+
+
+
+ {{ $t('signUpWithSocial', {social: 'Facebook'}) }}
+
+
+
+ {{ $t('signUpWithSocial', {social: 'Google'}) }}
+
+
+
+ {{ $t('or') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
{{ $t('gamifyYourLife') }}
+
+ {{ $t('aboutHabitica') }}
+
+
+
+
+
+
+
{{ $t('trackYourGoals') }}
+
{{ $t('trackYourGoalsDesc') }}
+
+
+
+
{{ $t('earnRewards') }}
+
{{ $t('earnRewardsDesc') }}
+
+
+
+
{{ $t('battleMonsters') }}
+
{{ $t('battleMonstersDesc') }}
+
+
+
+
+
+
+
+
+
+
{{ $t('playersUseToImprove') }}
+
+
+
+
+
+
{{ $t('healthAndFitness') }}
+
{{ $t('healthAndFitnessDesc') }}
+
+
+
+
{{ $t('schoolAndWork') }}
+
{{ $t('schoolAndWorkDesc') }}
+
+
+
+
{{ $t('muchmuchMore') }}
+
{{ $t('muchmuchMoreDesc') }}
+
+
+
+
+
+
+
+
+
+
+
+
{{ $t('levelUpAnywhere') }}
+
{{ $t('levelUpAnywhereDesc') }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('joinMany') }}
+
+
+
+
+
+ {{ $t('joinToday') }}
+
+
+
+
+
+ {{ $t('featuredIn') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/static/merch.vue b/website/client/src/components/static/merch.vue
new file mode 100644
index 0000000000..44cef2e0ef
--- /dev/null
+++ b/website/client/src/components/static/merch.vue
@@ -0,0 +1,69 @@
+
+
+
+
+
{{ $t('merch') }}
+
+
+
+
+
+
+
+
diff --git a/website/client/components/static/newStuff.vue b/website/client/src/components/static/newStuff.vue
similarity index 58%
rename from website/client/components/static/newStuff.vue
rename to website/client/src/components/static/newStuff.vue
index 2daef6d745..6a0c6d023d 100644
--- a/website/client/components/static/newStuff.vue
+++ b/website/client/src/components/static/newStuff.vue
@@ -1,9 +1,12 @@
-
- .static-view(v-html="html")
+
+
diff --git a/website/client/src/components/static/pressKit.vue b/website/client/src/components/static/pressKit.vue
new file mode 100644
index 0000000000..d8312a7d14
--- /dev/null
+++ b/website/client/src/components/static/pressKit.vue
@@ -0,0 +1,176 @@
+
+
+
{{ $t('presskit') }}
+
{{ $t('presskitText', { pressEnquiryEmail : PRESS_ENQUIRY_EMAIL }) }}
+
+ presskit.zip
+
+
+
{{ $t('pk' + category) }}
+
+
+
+
+
+
+
+
{{ $t('pk' + secondaryCategory) }}
+
+
+
+
+
+
+
{{ $t('FAQ') }}
+
+
{{ $t('pkMoreQuestions') }}
+
+
+
+
+
+
diff --git a/website/client/src/components/static/privacy.vue b/website/client/src/components/static/privacy.vue
new file mode 100644
index 0000000000..0a0c138f19
--- /dev/null
+++ b/website/client/src/components/static/privacy.vue
@@ -0,0 +1,322 @@
+
+
+
+
Privacy Policy
+
+ Last updated July 27, 2015
+
+ (Corrected grammar errors and updated company name)
+
+
+
+
+ PLEASE READ THIS PRIVACY POLICY CAREFULLY.
+ By accessing or otherwise using habitica.com or any sub domains thereto ('the Sites'),
+ or using a habitica.com or Habitica application on a mobile device ('the Applications'),
+ you agree to be bound contractually by this Privacy Policy. Individually
+ or collectively, the Applications and the Sites may be referred to as
+ the 'Services.'
+
+
+ To review material modifications and their effective dates scroll
+ to the bottom of the page.
+
+
+
+ 1. Privacy Statement; Collection of Personal
+ Information.
+
+ 1.1 HabitRPG, Inc. owns and operates this business. All
+ references to 'we', 'us', shall be construed to mean HabitRPG, Inc..
+
+
+ 1.2 We understand that visitors to this website are concerned
+ about the privacy of information. The following describes our privacy
+ policy regarding information, including personal information, that we
+ collect through this website.
+
+
+ 2. Modification of Privacy Policy.
+ We reserve the right to modify this Privacy Policy at any time,
+ and without prior notice, by posting an amended Privacy Policy that is
+ always accessible by clicking on the 'Privacy Policy' link on this
+ site's home page. Your continued use of this site indicates your
+ acceptance of the amended Privacy Policy. You should check the Privacy
+ Policy through this link periodically for modifications by clicking on
+ the link provided near the top of the Privacy Policy for a listing of
+ material modifications and their effective dates. Regarding personal
+ information, if any modifications are materially less restrictive on our
+ use or disclosure of the personal information previously disclosed by
+ you, we will obtain your consent before implementing such revisions with
+ respect to such information.
+
+
+ 3. Collection of Anonymous, Passive Information.
+ We reserve the right to monitor your use of the services. As you
+ navigate through the services, certain anonymous information may be
+ passively collected (that is, gathered without your actively providing
+ the information) using various technologies, such as cookies, Internet
+ tags or web beacons, and navigational data collection (log files, server
+ logs, clickstream). The following is a listing and a brief explanation
+ of passive information collection methodologies which we may use from
+ time to time to better understand how the Services are being used.
+
+
+ 3.1 A 'cookie' is a text file that this site sends to your
+ browser in the form of a text file The information generated by the
+ cookie about your use of this site (including your IP address) will be
+ transmitted to and stored. Most browsers automatically accept cookies,
+ but they usually can be modified to decline cookies if you prefer;
+ however, certain features of this site might not work without cookies.
+
+
+ 3.2 'Session' cookies are temporary bits of information that are
+ used to improve navigation, block visitors from providing information
+ where inappropriate (the Services 'remembers' previous entries of age or
+ country of origin that were outside the specified parameters and blocks
+ subsequent changes), and collect aggregate statistical information on
+ the Services. They are erased once you exit your Web browser or
+ otherwise turn off your computer.
+
+
+ 3.3 'Persistent' cookies are more permanent bits of information
+ that are placed on the hard drive of your computer and stay there unless
+ you delete the cookie. Persistent cookies store information on your
+ computer for a number of purposes, such as retrieving certain
+ information you have previously provided, helping to determine what
+ areas of the Services you may find most valuable, and customizing the
+ Services based on your preferences on an ongoing basis. Persistent
+ cookies placed by this site in your computer do not hold personal
+ information.
+
+
+ 3.4 You can set your browser to accept all cookies, to reject all
+ cookies, or to notify you whenever a cookie is offered so that you can
+ decide each time whether to accept it. To learn more about cookies and
+ how to specify your preferences, please search for 'cookie' in the
+ 'Help' portion of your browser.
+
+
+ 3.5 An Internet Protocol (IP) address is a number assigned to
+ your computer by your Internet service provider so you can access the
+ Internet and is generally considered to be non-personally identifiable
+ information, because in most cases an IP address is dynamic (changing
+ each time you connect to the Internet), rather than static (unique to a
+ particular user's computer). The IP address can be used to diagnose
+ problems with a server, report aggregate information, determine the
+ fastest route for your computer to use in connecting to a site, and
+ administer and improve the Services.
+
+
+ 3.6 'Internet tags' (also known as Web Beacons, single-pixel
+ GIFs, clear GIFs, invisible GIFs, and 1-by-1 GIFs) are smaller than
+ cookies and tell the Web site server information such as the IP address
+ and browser type related to the visitor's computer. Tags may be placed
+ both on online advertisements that bring people to the Services and on
+ different pages of the Services. Such tags indicate how many times a
+ page is opened and which information is consulted.
+
+
+ 3.7 'Navigational data' (log files, server logs, and clickstream
+ data) are used for system management, to improve the content of the
+ Services, market research purposes, and to communicate information to
+ visitors.
+
+
+ 4. Use and Sharing of Anonymous, Passive Information.
+ The Services may make full use of passively collected anonymous
+ information, including without limitation the right to use such
+ information to provide better service to Service users, customize the
+ Services based on your preferences, compile and analyze statistics and
+ trends, and otherwise administer and improve the Services for your use. We
+ reserve the right to share this anonymous, passive information in
+ aggregated form.
+
+
+ 5. 3rd Party Behavioral Ads; Google's AdSense Network.
+ 5.1 We reserve the right to use anonymous, passive information
+ about your visits to this and other websites (not including your name,
+ address, email address or telephone number) for purposes of serving our
+ ads and third party ads that are targeted to your interests ('3rd Party
+ Behavioral Ads'). We reserve the right to share anonymous, passive
+ information collected on the services with third parties for purposes of
+ serving 3rd Party Behavioral Ads. These 3rd Party Behavioral Ads do not
+ identify you personally. Instead, they associate your behavioral data on
+ visited sites with your browser, so that the ads your computer sees on
+ this site are more likely to be relevant to your interests. 3rd Party
+ Behavioral Ads require that that you be served with a cookie containing
+ a tracking code. You may refuse the use of cookies by selecting the
+ appropriate settings on your browser; however, please note that if you
+ do this you may not be able to use the full functionality of this site.
+
+
+ 5.2 We reserve the right to participate in Google's AdSense
+ network for purposes of serving 3rd Party Behavioral Ads. Google uses
+ DoubleClick's DART cookie for serving 3rd Party Behavioral Ads over the
+ AdSense network. You may opt out of the use of the DART cookie. For
+ information regarding how to opt out, go to
+ http://www.google.com/privacy_ads.html.
+
+
+ 6. Use of 3rd Party Analytics.
+ We reserve the right to use analytics services provided by
+ third parties. These services use 3rd party cookies to collect
+ anonymous, passive information about your use of this site (see
+ explanation of cookies in Collection of Anonymous, Passive Information
+ above). We use this information for the purpose of evaluating your use
+ of the Services, compiling reports on activity, and providing other
+ services. These web analytics services may also transfer this
+ information to third parties where required to do so by law, or where
+ such third parties process the information on the service's behalf.
+
+
+ 7. Collection of Personal Information; Categories.
+ We will ask you for personal information when you sign up for any
+ specific benefit or purpose that requires registration. Personal
+ information that we collect may vary with each registration, and it may
+ include one or more of the following categories: name, physical
+ address, an email address, phone number, and credit card information
+ including credit card number, expiration date, and billing address,
+ emergency contact information, current medications, allergies, medical
+ insurance information.
+
+
+
+ 8. Use And Sharing of Personal Information: General
+ Policy And Exceptions.
+
+ Our general policy is that we will use your personal information,
+ including combining your personal information with passive information
+ collected from this site, only for: the performance of the services or
+ transaction for which it was given, our private, internal reporting for
+ this site, and security assessments for this site, and we will not
+ share, sell, or rent your personal information to others. The only
+ exceptions to this general policy: (i) are described in the subsections
+ below, and (ii) if you explicitly approve through our site.
+
+
+ 8.1 Affiliates And Service Providers. We reserve the right to
+ provide such information to our affiliates or subsidiaries, or trusted
+ service providers for the purpose of hosting our servers or processing
+ or archiving personal information for us. We require that these parties
+ agree to privacy and security safeguards for this information that are
+ consistent with this Privacy Policy.
+
+
+ 8.2 Acquisition; Bankruptcy. In the event that we are acquired by
+ or merged with a third party entity, we reserve the right to transfer
+ such information as part of such merger, acquisition, sale, or other
+ change of control. In the unlikely event of our bankruptcy, insolvency,
+ reorganization, receivership, or assignment for the benefit of
+ creditors, or the application of laws or equitable principles affecting
+ creditors' rights generally, we reserve the right to transfer such
+ information to protect our rights or as required by law.
+
+
+ 8.3 Enforcement; Legal Process. We reserve the right to transfer
+ such information if we have a good faith belief that access, use,
+ preservation or disclosure of such information is reasonably necessary
+ (i) to satisfy any applicable law, regulation, legal process or
+ enforceable governmental request, or (ii) to investigate or enforce
+ violations of our rights or the security of this site.
+
+
+ 8.4 Miscellaneous. We reserve the right to share personal
+ information with the following additional parties: online organizers
+ using our tools and resellers of our products and services from whose
+ site the sale originated (even though the sale originates at site of the
+ reseller, registration and collection of personal information occurs at
+ this site).
+
+
+
+ 9. Onward Transfer of Personal Information Outside Your
+ Country of Residence.
+
+ Any personal information which we may collect on this site will
+ be stored and processed in our servers located only in the United
+ States. By using this site, if you reside outside the United States, you
+ consent to the transfer of personal information outside your country of
+ residence to the United States.
+
+
+ 10. Security of Personal Information.
+ We follow reasonable and appropriate industry standards to
+ protect your personal information and data. Unfortunately, no data
+ transmission over the Internet or method of data storage can be
+ guaranteed 100% secure. Therefore, while we strive to protect your
+ personal information by following generally accepted industry standards,
+ we cannot ensure or warrant the absolute security of any information you
+ transmit to us or archive at this site.
+
+
+ 11. Changing And Updating Personal Information.
+ Upon request, we will permit you to request or make changes or
+ updates to your personal information for legitimate purposes. We request
+ identification prior to approving such requests. We reserve the right to
+ decline any requests that are unreasonably repetitive or systematic,
+ require unreasonable time or effort of our technical or administrative
+ personnel, or undermine the privacy rights of others. We reserve the
+ right to permit you to access your personal information in any account
+ you establish with this site for purposes of making your own changes or
+ updates, and in such case, instructions for making such changes or
+ updates will be provided where necessary.
+
+
+ 12. Email From This Site; Opt-Out Rights.
+ If you supply us with your e-mail address you may receive
+ periodic messages from us with information specific to the Services and
+ required for the normal functioning of the Services as well as for new
+ products or services or upcoming events. If you prefer not to receive
+ periodic email messages, you may opt-out by following the instructions
+ on the email.
+
+
+ 13. Children's Online Policy.
+ We are committed to preserving online privacy for all of our
+ website visitors, including children. This site is a general audience
+ site. Consistent with the Children's Online Privacy Protection Act
+ (COPPA), we will not knowingly collect any information from, or sell to,
+ children under the age of 13. If you are a parent or guardian who has
+ discovered that your child under the age of 13 has submitted his or her
+ personally identifiable information without your permission or consent,
+ we will remove the information from our active list, at your request. To
+ request the removal of your child's information, please email us at
+ admin@habitica.com and be sure to include in
+ your message the same login information that your child submitted.
+
+
+
+ 14. Email And Other Messages Through This Site; ECPA
+ Notice.
+
+ This site treats email messages and other electronic messages
+ that are sent through this site and not viewable by others as
+ confidential and private, except as required by law, including without
+ limitation, the Electronic Communications Privacy Act of 1986, 18 U.S.C.
+ Sections 2701-2711 (the 'ECPA'). The ECPA permits this site's limited
+ ability to intercept and/or disclose electronic messages, for example
+ (i) as necessary to operate our system or to protect our rights or
+ property, (ii) upon legal demand (court orders, warrants, subpoenas), or
+ (iii) where we receive information inadvertently which appears to
+ pertain to the commission of a crime. This site is not considered a
+ 'secure communications medium' under the ECPA.
+
+
+ 15. Contact Us.
+ If you have any questions regarding this Privacy Policy, please
+ contact the owner and operator of this website business:
+
+
+ HabitRPG, Inc.
+ 11870 Santa Monica Blvd., Suite 106-577
+ Los Angeles, CA 90025
+ Email:
+ admin@habitica.com
+
+
+
+
diff --git a/website/client/components/static/staticWrapper.vue b/website/client/src/components/static/staticWrapper.vue
similarity index 72%
rename from website/client/components/static/staticWrapper.vue
rename to website/client/src/components/static/staticWrapper.vue
index 94371181fe..89cb9fb77c 100644
--- a/website/client/components/static/staticWrapper.vue
+++ b/website/client/src/components/static/staticWrapper.vue
@@ -1,21 +1,36 @@
-
-div
- static-header(v-if='showContentWrap', :class='{"home-header": ["home", "front"].indexOf($route.name) !== -1, "white-header": this.$route.name === "plans"}')
-
- .static-wrapper
- router-view
-
- div(:id='footerId', v-if='showContentWrap')
- app-footer
-
- #bottom-wrap.purple-4(v-if='showContentWrap && footerId')
- #bottom-background
- .seamless_mountains_demo_repeat
- .midground_foreground_extended2
+
+
diff --git a/website/client/src/components/tasks/approvalHeader.vue b/website/client/src/components/tasks/approvalHeader.vue
new file mode 100644
index 0000000000..5bad31c698
--- /dev/null
+++ b/website/client/src/components/tasks/approvalHeader.vue
@@ -0,0 +1,66 @@
+
+
+
+
+
+
+
diff --git a/website/client/src/components/tasks/approvalModal.vue b/website/client/src/components/tasks/approvalModal.vue
new file mode 100644
index 0000000000..4bcd60cd05
--- /dev/null
+++ b/website/client/src/components/tasks/approvalModal.vue
@@ -0,0 +1,80 @@
+
+
+
+
+
+
+ {{ approval.userId.profile.name }}
+
+
+
+ {{ $t('approve') }}
+
+
+
+
+ {{ $t('needsWork') }}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/tasks/brokenTaskModal.vue b/website/client/src/components/tasks/brokenTaskModal.vue
new file mode 100644
index 0000000000..c035d27210
--- /dev/null
+++ b/website/client/src/components/tasks/brokenTaskModal.vue
@@ -0,0 +1,143 @@
+
+
+
+
+
{{ $t('brokenTask') }}
+
+
+ {{ $t('keepIt') }}
+
+
+ {{ $t('removeIt') }}
+
+
+
+
+
{{ $t('brokenChallenge') }}
+
+
+ {{ $t('keepThem') }}
+
+
+ {{ $t('removeThem') }}
+
+
+
+
+
+
+
+ {{ $t('keepThem') }}
+
+
+ {{ $t('removeThem') }}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/components/tasks/clearCompletedTodos.vue b/website/client/src/components/tasks/clearCompletedTodos.vue
similarity index 52%
rename from website/client/components/tasks/clearCompletedTodos.vue
rename to website/client/src/components/tasks/clearCompletedTodos.vue
index a2239dd404..bb2621e93a 100644
--- a/website/client/components/tasks/clearCompletedTodos.vue
+++ b/website/client/src/components/tasks/clearCompletedTodos.vue
@@ -1,7 +1,15 @@
-
-.text-center.delete-completed
- .help-text {{ $t('clearCompletedDescription') }}
- .btn.btn-danger(@click='clearTodos()') {{ $t('clearCompleted') }}
+
+
+
+ {{ $t('clearCompletedDescription') }}
+
+
+ {{ $t('clearCompleted') }}
+
+
diff --git a/website/client/src/components/tasks/user.vue b/website/client/src/components/tasks/user.vue
new file mode 100644
index 0000000000..07a6a727d9
--- /dev/null
+++ b/website/client/src/components/tasks/user.vue
@@ -0,0 +1,603 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('tags') }}
+
+
+
+
+
+
+
+
+
+
+ {{ $t('addTaskToUser') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/ui/checkbox.vue b/website/client/src/components/ui/checkbox.vue
new file mode 100644
index 0000000000..fd710ca31c
--- /dev/null
+++ b/website/client/src/components/ui/checkbox.vue
@@ -0,0 +1,37 @@
+
+
+
+
+
diff --git a/website/client/src/components/ui/countBadge.vue b/website/client/src/components/ui/countBadge.vue
new file mode 100644
index 0000000000..749c4f236a
--- /dev/null
+++ b/website/client/src/components/ui/countBadge.vue
@@ -0,0 +1,35 @@
+
+ {{ count }}
+
+
+
+
+
diff --git a/website/client/components/ui/customMenuDropdown.vue b/website/client/src/components/ui/customMenuDropdown.vue
similarity index 73%
rename from website/client/components/ui/customMenuDropdown.vue
rename to website/client/src/components/ui/customMenuDropdown.vue
index 2671c3ecca..240b9ce5ad 100644
--- a/website/client/components/ui/customMenuDropdown.vue
+++ b/website/client/src/components/ui/customMenuDropdown.vue
@@ -2,16 +2,30 @@
A simplified dropdown component that doesn't rely on buttons as toggles like bootstrap-vue
-->
-
-.habitica-menu-dropdown.dropdown(@click="toggleDropdown()", @keypress.enter.space.stop.prevent="toggleDropdown()", role="button", tabindex="0", :class="{open: isOpen}", :aria-pressed="isPressed")
- .habitica-menu-dropdown-toggle
- slot(name="dropdown-toggle")
- .dropdown-menu(:class="{'dropdown-menu-right': right}")
- slot(name="dropdown-content")
+
+
diff --git a/website/client/src/components/ui/drawerHeaderTabs.vue b/website/client/src/components/ui/drawerHeaderTabs.vue
new file mode 100644
index 0000000000..12d7889045
--- /dev/null
+++ b/website/client/src/components/ui/drawerHeaderTabs.vue
@@ -0,0 +1,86 @@
+
+
+
+
+
+
+
diff --git a/website/client/src/components/ui/drawerSlider.vue b/website/client/src/components/ui/drawerSlider.vue
new file mode 100644
index 0000000000..b31ac9f94c
--- /dev/null
+++ b/website/client/src/components/ui/drawerSlider.vue
@@ -0,0 +1,210 @@
+
+
+
+
+
+
+
diff --git a/website/client/src/components/ui/filterDropdown.vue b/website/client/src/components/ui/filterDropdown.vue
new file mode 100644
index 0000000000..3b8163243c
--- /dev/null
+++ b/website/client/src/components/ui/filterDropdown.vue
@@ -0,0 +1,58 @@
+
+
+ {{ label }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/ui/itemRows.vue b/website/client/src/components/ui/itemRows.vue
new file mode 100644
index 0000000000..f0479722d9
--- /dev/null
+++ b/website/client/src/components/ui/itemRows.vue
@@ -0,0 +1,114 @@
+
+
+
+
+
+
+
+
+
+ {{ noItemsLabel }}
+
+
+
+ {{ showAll ? $t('showLess') : $t('showMore') }}
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/ui/layoutSection.vue b/website/client/src/components/ui/layoutSection.vue
new file mode 100644
index 0000000000..cabc28e630
--- /dev/null
+++ b/website/client/src/components/ui/layoutSection.vue
@@ -0,0 +1,34 @@
+
+
+
+
+ {{ title }}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/ui/pageLayout.vue b/website/client/src/components/ui/pageLayout.vue
new file mode 100644
index 0000000000..8ea3ea380f
--- /dev/null
+++ b/website/client/src/components/ui/pageLayout.vue
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
diff --git a/website/client/src/components/ui/starBadge.vue b/website/client/src/components/ui/starBadge.vue
new file mode 100644
index 0000000000..d1edf6364a
--- /dev/null
+++ b/website/client/src/components/ui/starBadge.vue
@@ -0,0 +1,49 @@
+
+ ★
+
+
+
+
+
diff --git a/website/client/src/components/ui/statsbar.vue b/website/client/src/components/ui/statsbar.vue
new file mode 100644
index 0000000000..667e4e3cbb
--- /dev/null
+++ b/website/client/src/components/ui/statsbar.vue
@@ -0,0 +1,146 @@
+
+
+
+
+
{{ value | statFloor }} / {{ maxValue }}
+
+
+
+
+
+
+
diff --git a/website/client/components/ui/toggleSwitch.vue b/website/client/src/components/ui/toggleSwitch.vue
similarity index 70%
rename from website/client/components/ui/toggleSwitch.vue
rename to website/client/src/components/ui/toggleSwitch.vue
index d8eca6b75a..c1c06036dc 100644
--- a/website/client/components/ui/toggleSwitch.vue
+++ b/website/client/src/components/ui/toggleSwitch.vue
@@ -1,29 +1,49 @@
-
-.popover-box
- .clearfix(:id="containerId")
- .float-left.toggle-switch-description(v-if="label", :class="hoverText ? 'hasPopOver' : ''") {{ label }}
- .toggle-switch.float-left
- input.toggle-switch-checkbox(
- type='checkbox', :id="toggleId",
- @change="handleChange",
- :checked="isChecked",
- :value="value",
- )
- label.toggle-switch-label(:for="toggleId")
- span.toggle-switch-inner
- span.toggle-switch-switch
-
- b-popover(
- v-if="hoverText"
- :target="containerId"
- triggers="hover",
- placement="top"
- )
- .popover-content-text {{ hoverText }}
+
+
+
+
+ {{ label }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ hoverText }}
+
+
+
+
+
diff --git a/website/client/src/components/userMenu/achievements.vue b/website/client/src/components/userMenu/achievements.vue
new file mode 100644
index 0000000000..b8954121c5
--- /dev/null
+++ b/website/client/src/components/userMenu/achievements.vue
@@ -0,0 +1,116 @@
+
+
+
+
+ {{ $t(key+'Achievs') }}
+
+
+
+
+
+
+ {{ achievment.optionalCount }}
+
+
+
+
+
+
+
+
+
+
Challeges Won
+
+ {{ chal }}
+
+
+
+
Quests Completed
+
+ {{ content.quests[k].text() }}
+ {{ value }}
+
+
+
+
+
+
+
+
+
diff --git a/website/client/components/userMenu/inbox.vue b/website/client/src/components/userMenu/inbox.vue
similarity index 61%
rename from website/client/components/userMenu/inbox.vue
rename to website/client/src/components/userMenu/inbox.vue
index 72b74fd220..72cceb6e11 100644
--- a/website/client/components/userMenu/inbox.vue
+++ b/website/client/src/components/userMenu/inbox.vue
@@ -1,71 +1,173 @@
-
- b-modal#inbox-modal(title="", :hide-footer="true", size='lg', @shown="onModalShown", @hide="onModalHide")
- .header-wrap.container.align-items-center(slot="modal-header")
- .row.align-items-center
- .col-4
- .row.align-items-center
- .col-2
- .svg-icon.envelope(v-html="icons.messageIcon")
- .col-6
- h2.text-center(v-once) {{ $t('messages') }}
- .col-4.offset-3
- toggle-switch.float-right(
- :label="optTextSet.switchDescription",
- :checked="!this.user.inbox.optOut"
- :hoverText="optTextSet.popoverText",
+
+
+
+
+
+
+
+
+
{{ placeholderTexts.title }}
+
+
+
+
{{ $t('beginningOfConversation', {userName: selectedConversation.name}) }}
+
+
+
+
{{ $t('PMDisabledCaptionTitle') }}
+
{{ $t('PMDisabledCaptionText') }}
+
+
+
+
+ {{ $t('send') }}
+
+
+ {{ currentLength }} / 3000
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/userMenu/profileModal.vue b/website/client/src/components/userMenu/profileModal.vue
new file mode 100644
index 0000000000..c1e1e2ade9
--- /dev/null
+++ b/website/client/src/components/userMenu/profileModal.vue
@@ -0,0 +1,62 @@
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/userMenu/profilePage.vue b/website/client/src/components/userMenu/profilePage.vue
new file mode 100644
index 0000000000..19151d9e29
--- /dev/null
+++ b/website/client/src/components/userMenu/profilePage.vue
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
diff --git a/website/client/src/components/userMenu/profileStats.vue b/website/client/src/components/userMenu/profileStats.vue
new file mode 100644
index 0000000000..df31637ac8
--- /dev/null
+++ b/website/client/src/components/userMenu/profileStats.vue
@@ -0,0 +1,687 @@
+
+
+
+
+
+ {{ $t('equipment') }}
+
+
+
+
+
+
+ {{ getGearTitle(equippedItems[key]) }}
+
+
+
+
+ {{ label }}
+
+
+
+
+
+
+ {{ $t('costume') }}
+
+
+
+
+
+
+
+
+
+
+ {{ getGearTitle(costumeItems[key]) }}
+
+
+
+
+ {{ label }}
+
+
+ {{ $t('background') }}
+
+
+
+
+
+
+
+
+ {{ $t('pets') }}
+
+
+
+
+
+
{{ formatAnimal(user.items.currentPet, 'pet') }}
+
+ {{ $t('petsFound') }}:
+ {{ totalCount(user.items.pets) }}
+
+
+ {{ $t('beastMasterProgress') }}:
+ {{ beastMasterProgress(user.items.pets) }}
+
+
+
+
+
+
+
+ {{ $t('mounts') }}
+
+
+
+
+
+
{{ formatAnimal(user.items.currentMount, 'mount') }}
+
+ {{ $t('mountsTamed') }}:
+ {{ totalCount(user.items.mounts) }}
+
+
+ {{ $t('mountMasterProgress') }}:
+ {{ mountMasterProgress(user.items.mounts) }}
+
+
+
+
+
+
+
+
+
+ {{ $t('attributes') }}
+
+
+
+
+
+
+ {{ $t(statInfo.title) }}
+
+
{{ totalStatPoints(stat) | floorWholeNumber }}
+
+
+
+
+ {{ $t('level') }}:
+ {{ statsComputed.levelBonus[stat] }}
+
+
+ {{ $t('equipment') }}:
+ {{ statsComputed.gearBonus[stat] }}
+
+
+ {{ $t('class') }}:
+ {{ statsComputed.classBonus[stat] }}
+
+
+ {{ $t('allocated') }}:
+ {{ totalAllocatedStats(stat) }}
+
+
+ {{ $t('buffs') }}:
+ {{ user.stats.buffs[stat] }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('statPoints') }}
+
+ {{ pointsRemaining }}
+
+
+
+
+
+
+
+
+
+
+ {{ $t(stats[stat].title) }}
+
+
+ {{ totalAllocatedStats(stat) }}
+
+
+ {{ $t('pts') }}
+
+
+
+
+
+
+
+
+
+ {{ loading ? $t('loading') : $t('save') }}
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/userMenu/stats.vue b/website/client/src/components/userMenu/stats.vue
new file mode 100644
index 0000000000..775abe007d
--- /dev/null
+++ b/website/client/src/components/userMenu/stats.vue
@@ -0,0 +1,509 @@
+
+
+
Stats
+
+
+
+
+ Pet
+
+
+
+
+ Mount
+
+
+
+
+
+
+
+
+
Basics
+
+ Health: {{ user.stats.hp }}/{{ user.stats.maxHealth }}
+ Mana: {{ user.stats.mp }}/{{ user.stats.maxMP }}
+ Gold: {{ user.stats.gp }}
+ Level: {{ user.stats.lvl }}
+ Experience: {{ user.stats.exp }}
+
+
+
+
Battle Gear
+
+
+
+
+ {{ flatGear[key].text() }}
+
+ :
+
+ {{ flatGear[key][stat] }} {{ $t(stat) }}
+
+
+
+
+
+
+
+ {{ $t('costume') }}
+
+
+
+ {{ flatGear[key].text() }}
+
+
+
+
+
Background
+
+
+ None
+
+
+ {{ user.preferences.background }}
+
+
+
+
+
+ {{ $t('pets') }}
+
+
+
+ {{ $t('activePet') }}:
+ {{ formatAnimal(user.items.currentPet, 'pet') }}
+
+
+ {{ $t('petsFound') }}:
+ {{ totalCount(user.items.pets) }}
+
+
+ {{ $t('beastMasterProgress') }}:
+ {{ beastMasterProgress(user.items.pets) }}
+
+
+
+ {{ $t('mounts') }}
+
+
+
+ {{ $t('activeMount') }}:
+ {{ formatAnimal(user.items.currentMount, 'mount') }}
+
+
+ {{ $t('mountsTamed') }}:
+ {{ totalCount(user.items.mounts) }}
+
+
+ {{ $t('mountMasterProgress') }}:
+ {{ mountMasterProgress(user.items.mounts) }}
+
+
+
+
+
+
+ {{ $t('attributes') }}
+
+
+
+
+ {{ $t(statInfo.title) }}
+
+ : {{ statsComputed[stat] }}
+
+
+
+
+ {{ $t('levelBonus') }}
+ {{ statsComputed.levelBonus[stat] }}
+
+
+ {{ $t('gearBonus') }}
+ {{ statsComputed.gearBonus[stat] }}
+
+
+ {{ $t('classBonus') }}
+ {{ statsComputed.classBonus[stat] }}
+
+
+ {{ $t('allocatedPoints') }}
+ {{ user.stats[stat] }}
+
+
+ {{ $t('buffs') }}
+ {{ user.stats.buffs[stat] }}
+
+
+
+
+
+ {{ $t('stealth') }}
+ : {{ user.stats.buffs.stealth }}
+
+
+
+
+ {{ $t('streaksFrozen') }}
+
+
+
+
+
+ {{ $t('characterBuild') }}
+
+
+ {{ $t('class') + ': ' }}
+ {{ classText }}
+
+ {{ $t('changeClass') }}
+
+
+ 3
+
+
+
+
+
+
+ {{ $t('noMoreAllocate') }}
+
+
+ {{ user.stats.points }}
+ {{ $t('unallocated') }}
+
+
+
+
+
+
+
+ {{ $t('autoAllocation') }}
+
+
+
+
+
+
+
+ {{ $t('distributePoints') }}
+
+
+
+
+
+
+
+ {{ $t(statInfo.title) + user.stats[stat] }}
+
+
+
+ +
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/world-boss/worldBossInfoModal.vue b/website/client/src/components/world-boss/worldBossInfoModal.vue
new file mode 100644
index 0000000000..f739ffb001
--- /dev/null
+++ b/website/client/src/components/world-boss/worldBossInfoModal.vue
@@ -0,0 +1,169 @@
+
+
+
+
+
+
+
{{ $t('whatIsWorldBoss') }}
+
+ {{ $t('worldBossDesc') }}
+
+
+
+
+
+
+
+
+ {{ $t(bullet) }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/src/components/world-boss/worldBossRageModal.vue b/website/client/src/components/world-boss/worldBossRageModal.vue
new file mode 100644
index 0000000000..56c473d9d8
--- /dev/null
+++ b/website/client/src/components/world-boss/worldBossRageModal.vue
@@ -0,0 +1,127 @@
+
+
+
+
+
+
+
+
+
{{ $t('seasonalShopRageStrikeLead') }}
+
{{ $t('seasonalShopRageStrikeRecap') }}
+
+
+
+
+
+
+
+
+
+
+
{{ $t('marketRageStrikeLead') }}
+
{{ $t('marketRageStrikeRecap') }}
+
+
+
+
+
+
+
+
+
+
+
{{ $t('questsRageStrikeLead') }}
+
{{ $t('questsRageStrikeRecap') }}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/website/client/components/yesterdailyModal.vue b/website/client/src/components/yesterdailyModal.vue
similarity index 51%
rename from website/client/components/yesterdailyModal.vue
rename to website/client/src/components/yesterdailyModal.vue
index 4897133dbc..761791eb4e 100644
--- a/website/client/components/yesterdailyModal.vue
+++ b/website/client/src/components/yesterdailyModal.vue
@@ -1,24 +1,37 @@
-
- b-modal#yesterdaily(
- size="m",
- :hide-header="true",
- :hide-footer="true",
- :no-close-on-backdrop="true",
- :no-close-on-esc="true",
- @hide="$emit('hide')",
- )
- h1.header-welcome.text-center {{ $t('welcomeBack') }}
- p.call-to-action.text-center {{ $t('checkOffYesterDailies') }}
- .tasks-list
- task(
- v-for="task in tasksByType.daily",
- :key="task.id",
- :task="task",
- :isUser="true",
- :dueDate="dueDate",
- )
- .start-day.text-center
- button.btn.btn-primary(@click='close()') {{ $t('yesterDailiesCallToAction') }}
+
+
+
+
+ {{ $t('checkOffYesterDailies') }}
+
+
+
+
+
+
+ {{ $t('yesterDailiesCallToAction') }}
+
+
+