From b0982321ea666e09a041c46d69cbfb9999926d12 Mon Sep 17 00:00:00 2001 From: Taro Matsuzawa Date: Sat, 2 Dec 2023 14:36:43 +0900 Subject: [PATCH 01/13] WIP: develop sdf icons #2, test matcher look json object, bump sharp --- .gitignore | 1 + .vscode/settings.json | 5 +- package.json | 10 +- src/bin/index.ts | 7 +- src/lib/image.ts | 92 +- src/lib/index.ts | 10 +- src/lib/interfaces/SpriteImage.ts | 1 + tests/fixtures/test1.json | 27 +- tests/fixtures/test2.json | 27 +- tests/fixtures/test3.json | 27 +- tests/fixtures/test3@2x.json | 27 +- tests/fixtures/test4.json | 43 +- tests/fixtures/test5.json | 1691 ++++++++++++++++++++- tests/fixtures/test5@2x.json | 1691 ++++++++++++++++++++- tests/fixtures/test6.json | 10 + tests/fixtures/test6.png | Bin 0 -> 694 bytes tests/fixtures/test6@2x.json | 10 + tests/fixtures/test6@2x.png | Bin 0 -> 829 bytes tests/icons-sdf/airport.svg | 4 + tests/lib/image.test.ts | 21 + tests/lib/index.test.ts | 45 +- tests/util/checkJSONFileMatchesFixture.ts | 17 + tests/util/index.ts | 1 + tsconfig.json | 3 +- yarn.lock | 569 ++----- 25 files changed, 3892 insertions(+), 447 deletions(-) create mode 100644 tests/fixtures/test6.json create mode 100644 tests/fixtures/test6.png create mode 100644 tests/fixtures/test6@2x.json create mode 100644 tests/fixtures/test6@2x.png create mode 100644 tests/icons-sdf/airport.svg create mode 100644 tests/util/checkJSONFileMatchesFixture.ts diff --git a/.gitignore b/.gitignore index 1ab415f..f5d9e55 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ node_modules/ dist/ *.tgz +.DS_Store diff --git a/.vscode/settings.json b/.vscode/settings.json index 1b6457c..f468389 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,4 +1,7 @@ { "editor.formatOnSave": true, - "editor.defaultFormatter": "esbenp.prettier-vscode" + "editor.defaultFormatter": "esbenp.prettier-vscode", + "[json]": { + "editor.defaultFormatter": "vscode.json-language-features" + } } diff --git a/package.json b/package.json index d163f92..488eec1 100644 --- a/package.json +++ b/package.json @@ -18,17 +18,21 @@ "dependencies": { "bin-pack": "^1.0.2", "commander": "^9.4.1", - "sharp": "^0.31.3" + "sharp": "^0.33.0" }, "devDependencies": { "@types/bin-pack": "^1.0.1", "@types/jest": "^29.2.5", "@types/node": "^18.11.18", - "@types/sharp": "^0.31.1", + "@types/sharp": "^0.32.0", "jest": "^29.3.1", "prettier": "2.8.1", "ts-jest": "^29.0.3", "ts-node": "^10.9.1", "typescript": "^4.9.4" - } + }, + "supportedArchitectures": [ + "x64", + "arm64" + ] } diff --git a/src/bin/index.ts b/src/bin/index.ts index f9b4991..88bc9fd 100644 --- a/src/bin/index.ts +++ b/src/bin/index.ts @@ -17,6 +17,11 @@ program '-r, --ratio ', 'pixel ratio to generate sprite. default is 1.', ) + .option( + '--sdf', + 'generate sprite with signed distance field. default is false.', + false + ) .action(async (spriteFilename: string) => { const options = program.opts() if (options.ratio) { @@ -24,7 +29,7 @@ program return Number(r) }) } - await generateSprite(spriteFilename, options.icon, options.ratio) + await generateSprite(spriteFilename, options.icon, options.ratio, options.sdf) }) program.parse(process.argv) diff --git a/src/lib/image.ts b/src/lib/image.ts index a646bba..7eae4a9 100644 --- a/src/lib/image.ts +++ b/src/lib/image.ts @@ -10,6 +10,7 @@ export class Image { height = 0 range = 1 rendered_image: Buffer | null = null + sdf = false x = 0 y = 0 @@ -31,11 +32,12 @@ export class Image { } } - async parse() { + async parse(sdf: boolean = false) { const metadata = await sharp(this.source_file).metadata() this.width = metadata.width! this.height = metadata.height! this.range = this.width * this.height + this.sdf = sdf this.rendered_image const intermediate_image = sharp(this.source_file) @@ -50,7 +52,47 @@ export class Image { // because the image is already at the specified size, we can use it directly. this.rendered_image = await intermediate_image.toBuffer() } - + if (sdf) { + const radius = 8 + const img = this.rendered_image + const pixelArray = new Uint8ClampedArray(img!.buffer) + const alphas = [] + for (let i = 0; i < pixelArray.length; i += 4) { + const alpha = pixelArray[i + 3] + alphas.push(alpha) + } + const outer_df = alphas.map((alpha) => { + if (alpha === 0) return Number.MAX_VALUE + return Math.max(0, 0.5 - (alpha / 255))**2 + }) + const inner_df = alphas.map((alpha) => { + if (alpha === 255) return Number.MAX_VALUE + return Math.max(0, 0.5 - ((255 - alpha) / 255))**2 + }) + for (let col = 0; col < this.real_width(); col++) { + dt(outer_df, col, this.real_width(), this.real_height()) + dt(inner_df, col, this.real_width(), this.real_height()) + } + for (let row = 0; row < this.real_height(); row++) { + dt(outer_df, row * this.real_width(), 1, this.real_width()) + dt(inner_df, row * this.real_width(), 1, this.real_width()) + } + const result = outer_df.map((outerDfValue, index) => { + const innerDfValue = inner_df[index] + return Math.min(1.0, Math.max(-1.0, (Math.sqrt(outerDfValue) - Math.sqrt(innerDfValue)) / radius)) + }) + const normalizedData = result.map(value => { + return Math.round(((value + 1) / 2) * 255); + }) + const buffer = Buffer.from(normalizedData) + this.rendered_image = await sharp(buffer, { + raw: { + width: this.real_width(), + height: this.real_height(), + channels: 1 + } + }).png().toBuffer() + } return this } @@ -69,6 +111,52 @@ export class Image { x: this.x, y: this.y, pixelRatio: this.ratio, + sdf: this.sdf, + } + } +} + +// original code from https://github.com/stadiamaps/sdf_font_tools/blob/main/sdf_glyph_renderer/src/core.rs +function dt(grid: number[], offset: number, stepBy: number, size: number) { + // f is a one-dimensional slice of the grid + const f: number[] = [] + for (let i = offset; i < grid.length; i += stepBy) { + f.push(grid[i]) + } + + let k = 0 + const v = new Array(size).fill(0) + const z = new Array(size + 1).fill(Number.MIN_VALUE) + z[1] = Number.MAX_VALUE + let s: number + + for (let q = 1; q < size; q++) { + while (true) { + const q2 = q * q + const vk2 = v[k] * v[k] + const denom = 2 * q - 2 * v[k] + s = ((f[q] + q2) - (f[v[k]] + vk2)) / denom + + if (s <= z[k]) { + k -= 1 + } else { + k += 1 + v[k] = q + z[k] = s + z[k + 1] = Number.MAX_VALUE + + break + } + } + } + + k = 0 + for (let q = 0; q < size; q++) { + const qf64 = q + while (z[k + 1] < qf64) { + k += 1 } + const vkf64 = v[k] + grid[offset + q * stepBy] = (qf64 - vkf64) * (qf64 - vkf64) + f[v[k]] } } diff --git a/src/lib/index.ts b/src/lib/index.ts index 04fa730..073b298 100644 --- a/src/lib/index.ts +++ b/src/lib/index.ts @@ -10,6 +10,7 @@ const generate = async ( input_directories: string[], ratio: number, defaultSpriteName = false, + sdf = false, ) => { let spriteName = '' if (defaultSpriteName === true) { @@ -63,7 +64,7 @@ const generate = async ( } } - return Promise.all(images.map((image) => image.parse())).then( + return Promise.all(images.map((image) => image.parse(sdf))).then( async (images) => { images.sort((a, b) => a.range - b.range) const matrix = new Matrix(images) @@ -97,11 +98,16 @@ export const generateSprite = async ( output_file_name: string, input_directories: string[], ratios: number[] = [1], + sdf: boolean = false, ): Promise => { + if (sdf) { + console.log(`Generating sprite ${output_file_name}`) + console.log(`Input directories: ${input_directories}`) + } const promises: Promise[] = [] ratios.forEach((ratio) => { promises.push( - generate(output_file_name, input_directories, ratio, ratios.length > 1), + generate(output_file_name, input_directories, ratio, ratios.length > 1, sdf), ) }) await Promise.all(promises) diff --git a/src/lib/interfaces/SpriteImage.ts b/src/lib/interfaces/SpriteImage.ts index 9dc0585..2bd94f8 100644 --- a/src/lib/interfaces/SpriteImage.ts +++ b/src/lib/interfaces/SpriteImage.ts @@ -1,6 +1,7 @@ export interface SpriteImage { height: number width: number + sdf?: boolean x: number y: number pixelRatio: number diff --git a/tests/fixtures/test1.json b/tests/fixtures/test1.json index 1e64402..487cf5d 100644 --- a/tests/fixtures/test1.json +++ b/tests/fixtures/test1.json @@ -1 +1,26 @@ -{"airport":{"height":15,"width":15,"x":0,"y":43,"pixelRatio":1},"my_bbq":{"height":32,"width":32,"x":43,"y":0,"pixelRatio":1},"airport_xl":{"height":43,"width":43,"x":0,"y":0,"pixelRatio":1}} \ No newline at end of file +{ + "airport": { + "height": 15, + "width": 15, + "x": 0, + "y": 43, + "pixelRatio": 1, + "sdf": false + }, + "my_bbq": { + "height": 32, + "width": 32, + "x": 43, + "y": 0, + "pixelRatio": 1, + "sdf": false + }, + "airport_xl": { + "height": 43, + "width": 43, + "x": 0, + "y": 0, + "pixelRatio": 1, + "sdf": false + } +} \ No newline at end of file diff --git a/tests/fixtures/test2.json b/tests/fixtures/test2.json index 8e6d850..62b00f4 100644 --- a/tests/fixtures/test2.json +++ b/tests/fixtures/test2.json @@ -1 +1,26 @@ -{"airport":{"height":30,"width":30,"x":0,"y":86,"pixelRatio":2},"airport_xl":{"height":86,"width":86,"x":0,"y":0,"pixelRatio":2},"my_bbq":{"height":64,"width":64,"x":86,"y":0,"pixelRatio":2}} \ No newline at end of file +{ + "airport": { + "height": 30, + "width": 30, + "x": 0, + "y": 86, + "pixelRatio": 2, + "sdf": false + }, + "airport_xl": { + "height": 86, + "width": 86, + "x": 0, + "y": 0, + "pixelRatio": 2, + "sdf": false + }, + "my_bbq": { + "height": 64, + "width": 64, + "x": 86, + "y": 0, + "pixelRatio": 2, + "sdf": false + } +} \ No newline at end of file diff --git a/tests/fixtures/test3.json b/tests/fixtures/test3.json index 1e64402..487cf5d 100644 --- a/tests/fixtures/test3.json +++ b/tests/fixtures/test3.json @@ -1 +1,26 @@ -{"airport":{"height":15,"width":15,"x":0,"y":43,"pixelRatio":1},"my_bbq":{"height":32,"width":32,"x":43,"y":0,"pixelRatio":1},"airport_xl":{"height":43,"width":43,"x":0,"y":0,"pixelRatio":1}} \ No newline at end of file +{ + "airport": { + "height": 15, + "width": 15, + "x": 0, + "y": 43, + "pixelRatio": 1, + "sdf": false + }, + "my_bbq": { + "height": 32, + "width": 32, + "x": 43, + "y": 0, + "pixelRatio": 1, + "sdf": false + }, + "airport_xl": { + "height": 43, + "width": 43, + "x": 0, + "y": 0, + "pixelRatio": 1, + "sdf": false + } +} \ No newline at end of file diff --git a/tests/fixtures/test3@2x.json b/tests/fixtures/test3@2x.json index 8e6d850..62b00f4 100644 --- a/tests/fixtures/test3@2x.json +++ b/tests/fixtures/test3@2x.json @@ -1 +1,26 @@ -{"airport":{"height":30,"width":30,"x":0,"y":86,"pixelRatio":2},"airport_xl":{"height":86,"width":86,"x":0,"y":0,"pixelRatio":2},"my_bbq":{"height":64,"width":64,"x":86,"y":0,"pixelRatio":2}} \ No newline at end of file +{ + "airport": { + "height": 30, + "width": 30, + "x": 0, + "y": 86, + "pixelRatio": 2, + "sdf": false + }, + "airport_xl": { + "height": 86, + "width": 86, + "x": 0, + "y": 0, + "pixelRatio": 2, + "sdf": false + }, + "my_bbq": { + "height": 64, + "width": 64, + "x": 86, + "y": 0, + "pixelRatio": 2, + "sdf": false + } +} \ No newline at end of file diff --git a/tests/fixtures/test4.json b/tests/fixtures/test4.json index c0684b4..bee9883 100644 --- a/tests/fixtures/test4.json +++ b/tests/fixtures/test4.json @@ -1 +1,42 @@ -{"airport":{"height":15,"width":15,"x":0,"y":43,"pixelRatio":1},"arrow":{"height":15,"width":15,"x":15,"y":43,"pixelRatio":1},"circle":{"height":15,"width":15,"x":30,"y":43,"pixelRatio":1},"my_bbq":{"height":32,"width":32,"x":43,"y":0,"pixelRatio":1},"airport_xl":{"height":43,"width":43,"x":0,"y":0,"pixelRatio":1}} \ No newline at end of file +{ + "airport": { + "height": 15, + "width": 15, + "x": 0, + "y": 43, + "pixelRatio": 1, + "sdf": false + }, + "arrow": { + "height": 15, + "width": 15, + "x": 15, + "y": 43, + "pixelRatio": 1, + "sdf": false + }, + "circle": { + "height": 15, + "width": 15, + "x": 30, + "y": 43, + "pixelRatio": 1, + "sdf": false + }, + "my_bbq": { + "height": 32, + "width": 32, + "x": 43, + "y": 0, + "pixelRatio": 1, + "sdf": false + }, + "airport_xl": { + "height": 43, + "width": 43, + "x": 0, + "y": 0, + "pixelRatio": 1, + "sdf": false + } +} \ No newline at end of file diff --git a/tests/fixtures/test5.json b/tests/fixtures/test5.json index afccd3f..c875b39 100644 --- a/tests/fixtures/test5.json +++ b/tests/fixtures/test5.json @@ -1 +1,1690 @@ -{"aerialway":{"height":15,"width":15,"x":0,"y":0,"pixelRatio":1},"airfield":{"height":15,"width":15,"x":15,"y":0,"pixelRatio":1},"airport":{"height":15,"width":15,"x":0,"y":15,"pixelRatio":1},"alcohol-shop":{"height":15,"width":15,"x":15,"y":15,"pixelRatio":1},"american-football":{"height":15,"width":15,"x":30,"y":0,"pixelRatio":1},"amusement-park":{"height":15,"width":15,"x":30,"y":15,"pixelRatio":1},"animal-shelter":{"height":15,"width":15,"x":0,"y":30,"pixelRatio":1},"aquarium":{"height":15,"width":15,"x":15,"y":30,"pixelRatio":1},"arrow":{"height":15,"width":15,"x":30,"y":30,"pixelRatio":1},"art-gallery":{"height":15,"width":15,"x":45,"y":0,"pixelRatio":1},"attraction":{"height":15,"width":15,"x":45,"y":15,"pixelRatio":1},"bakery":{"height":15,"width":15,"x":45,"y":30,"pixelRatio":1},"bank-JP":{"height":15,"width":15,"x":0,"y":45,"pixelRatio":1},"bank":{"height":15,"width":15,"x":15,"y":45,"pixelRatio":1},"bar":{"height":15,"width":15,"x":30,"y":45,"pixelRatio":1},"barrier":{"height":15,"width":15,"x":45,"y":45,"pixelRatio":1},"baseball":{"height":15,"width":15,"x":60,"y":0,"pixelRatio":1},"basketball":{"height":15,"width":15,"x":60,"y":15,"pixelRatio":1},"bbq":{"height":15,"width":15,"x":60,"y":30,"pixelRatio":1},"beach":{"height":15,"width":15,"x":60,"y":45,"pixelRatio":1},"beer":{"height":15,"width":15,"x":0,"y":60,"pixelRatio":1},"bicycle-share":{"height":15,"width":15,"x":15,"y":60,"pixelRatio":1},"bicycle":{"height":15,"width":15,"x":30,"y":60,"pixelRatio":1},"blood-bank":{"height":15,"width":15,"x":45,"y":60,"pixelRatio":1},"bowling-alley":{"height":15,"width":15,"x":60,"y":60,"pixelRatio":1},"bridge":{"height":15,"width":15,"x":75,"y":0,"pixelRatio":1},"building-alt1":{"height":15,"width":15,"x":75,"y":15,"pixelRatio":1},"building":{"height":15,"width":15,"x":75,"y":30,"pixelRatio":1},"bus":{"height":15,"width":15,"x":75,"y":45,"pixelRatio":1},"cafe":{"height":15,"width":15,"x":75,"y":60,"pixelRatio":1},"campsite":{"height":15,"width":15,"x":0,"y":75,"pixelRatio":1},"car-rental":{"height":15,"width":15,"x":15,"y":75,"pixelRatio":1},"car-repair":{"height":15,"width":15,"x":30,"y":75,"pixelRatio":1},"car":{"height":15,"width":15,"x":45,"y":75,"pixelRatio":1},"casino":{"height":15,"width":15,"x":60,"y":75,"pixelRatio":1},"castle-JP":{"height":15,"width":15,"x":75,"y":75,"pixelRatio":1},"castle":{"height":15,"width":15,"x":90,"y":0,"pixelRatio":1},"caution":{"height":15,"width":15,"x":90,"y":15,"pixelRatio":1},"cemetery-JP":{"height":15,"width":15,"x":90,"y":30,"pixelRatio":1},"cemetery":{"height":15,"width":15,"x":90,"y":45,"pixelRatio":1},"charging-station":{"height":15,"width":15,"x":90,"y":60,"pixelRatio":1},"cinema":{"height":15,"width":15,"x":90,"y":75,"pixelRatio":1},"circle-stroked":{"height":15,"width":15,"x":0,"y":90,"pixelRatio":1},"circle":{"height":15,"width":15,"x":15,"y":90,"pixelRatio":1},"city":{"height":15,"width":15,"x":30,"y":90,"pixelRatio":1},"clothing-store":{"height":15,"width":15,"x":45,"y":90,"pixelRatio":1},"college-JP":{"height":15,"width":15,"x":60,"y":90,"pixelRatio":1},"college":{"height":15,"width":15,"x":75,"y":90,"pixelRatio":1},"commercial":{"height":15,"width":15,"x":90,"y":90,"pixelRatio":1},"communications-tower":{"height":15,"width":15,"x":105,"y":0,"pixelRatio":1},"confectionery":{"height":15,"width":15,"x":105,"y":15,"pixelRatio":1},"construction":{"height":15,"width":15,"x":105,"y":30,"pixelRatio":1},"convenience":{"height":15,"width":15,"x":105,"y":45,"pixelRatio":1},"cricket":{"height":15,"width":15,"x":105,"y":60,"pixelRatio":1},"cross":{"height":15,"width":15,"x":105,"y":75,"pixelRatio":1},"dam":{"height":15,"width":15,"x":105,"y":90,"pixelRatio":1},"danger":{"height":15,"width":15,"x":0,"y":105,"pixelRatio":1},"defibrillator":{"height":15,"width":15,"x":15,"y":105,"pixelRatio":1},"dentist":{"height":15,"width":15,"x":30,"y":105,"pixelRatio":1},"diamond":{"height":15,"width":15,"x":45,"y":105,"pixelRatio":1},"doctor":{"height":15,"width":15,"x":60,"y":105,"pixelRatio":1},"dog-park":{"height":15,"width":15,"x":75,"y":105,"pixelRatio":1},"drinking-water":{"height":15,"width":15,"x":90,"y":105,"pixelRatio":1},"elevator":{"height":15,"width":15,"x":105,"y":105,"pixelRatio":1},"embassy":{"height":15,"width":15,"x":120,"y":0,"pixelRatio":1},"emergency-phone":{"height":15,"width":15,"x":120,"y":15,"pixelRatio":1},"entrance-alt1":{"height":15,"width":15,"x":120,"y":30,"pixelRatio":1},"entrance":{"height":15,"width":15,"x":120,"y":45,"pixelRatio":1},"farm":{"height":15,"width":15,"x":120,"y":60,"pixelRatio":1},"fast-food":{"height":15,"width":15,"x":120,"y":75,"pixelRatio":1},"fence":{"height":15,"width":15,"x":120,"y":90,"pixelRatio":1},"ferry-JP":{"height":15,"width":15,"x":120,"y":105,"pixelRatio":1},"ferry":{"height":15,"width":15,"x":0,"y":120,"pixelRatio":1},"fire-station-JP":{"height":15,"width":15,"x":15,"y":120,"pixelRatio":1},"fire-station":{"height":15,"width":15,"x":30,"y":120,"pixelRatio":1},"fitness-centre":{"height":15,"width":15,"x":45,"y":120,"pixelRatio":1},"florist":{"height":15,"width":15,"x":60,"y":120,"pixelRatio":1},"fuel":{"height":15,"width":15,"x":75,"y":120,"pixelRatio":1},"furniture":{"height":15,"width":15,"x":90,"y":120,"pixelRatio":1},"gaming":{"height":15,"width":15,"x":105,"y":120,"pixelRatio":1},"garden-centre":{"height":15,"width":15,"x":120,"y":120,"pixelRatio":1},"garden":{"height":15,"width":15,"x":135,"y":0,"pixelRatio":1},"gate":{"height":15,"width":15,"x":135,"y":15,"pixelRatio":1},"gift":{"height":15,"width":15,"x":135,"y":30,"pixelRatio":1},"globe":{"height":15,"width":15,"x":135,"y":45,"pixelRatio":1},"golf":{"height":15,"width":15,"x":135,"y":60,"pixelRatio":1},"grocery":{"height":15,"width":15,"x":135,"y":75,"pixelRatio":1},"hairdresser":{"height":15,"width":15,"x":135,"y":90,"pixelRatio":1},"harbor":{"height":15,"width":15,"x":135,"y":105,"pixelRatio":1},"hardware":{"height":15,"width":15,"x":135,"y":120,"pixelRatio":1},"heart":{"height":15,"width":15,"x":0,"y":135,"pixelRatio":1},"heliport":{"height":15,"width":15,"x":15,"y":135,"pixelRatio":1},"highway-rest-area":{"height":15,"width":15,"x":30,"y":135,"pixelRatio":1},"historic":{"height":15,"width":15,"x":45,"y":135,"pixelRatio":1},"home":{"height":15,"width":15,"x":60,"y":135,"pixelRatio":1},"horse-riding":{"height":15,"width":15,"x":75,"y":135,"pixelRatio":1},"hospital-JP":{"height":15,"width":15,"x":90,"y":135,"pixelRatio":1},"hospital":{"height":15,"width":15,"x":105,"y":135,"pixelRatio":1},"hot-spring":{"height":15,"width":15,"x":120,"y":135,"pixelRatio":1},"ice-cream":{"height":15,"width":15,"x":135,"y":135,"pixelRatio":1},"industry":{"height":15,"width":15,"x":150,"y":0,"pixelRatio":1},"information":{"height":15,"width":15,"x":150,"y":15,"pixelRatio":1},"jewelry-store":{"height":15,"width":15,"x":150,"y":30,"pixelRatio":1},"karaoke":{"height":15,"width":15,"x":150,"y":45,"pixelRatio":1},"landmark-JP":{"height":15,"width":15,"x":150,"y":60,"pixelRatio":1},"landmark":{"height":15,"width":15,"x":150,"y":75,"pixelRatio":1},"landuse":{"height":15,"width":15,"x":150,"y":90,"pixelRatio":1},"laundry":{"height":15,"width":15,"x":150,"y":105,"pixelRatio":1},"library":{"height":15,"width":15,"x":150,"y":120,"pixelRatio":1},"lift-gate":{"height":15,"width":15,"x":150,"y":135,"pixelRatio":1},"lighthouse-JP":{"height":15,"width":15,"x":0,"y":150,"pixelRatio":1},"lighthouse":{"height":15,"width":15,"x":15,"y":150,"pixelRatio":1},"lodging":{"height":15,"width":15,"x":30,"y":150,"pixelRatio":1},"logging":{"height":15,"width":15,"x":45,"y":150,"pixelRatio":1},"marker-stroked":{"height":15,"width":15,"x":60,"y":150,"pixelRatio":1},"marker":{"height":15,"width":15,"x":75,"y":150,"pixelRatio":1},"mobile-phone":{"height":15,"width":15,"x":90,"y":150,"pixelRatio":1},"monument-JP":{"height":15,"width":15,"x":105,"y":150,"pixelRatio":1},"monument":{"height":15,"width":15,"x":120,"y":150,"pixelRatio":1},"mountain":{"height":15,"width":15,"x":135,"y":150,"pixelRatio":1},"museum":{"height":15,"width":15,"x":150,"y":150,"pixelRatio":1},"music":{"height":15,"width":15,"x":165,"y":0,"pixelRatio":1},"natural":{"height":15,"width":15,"x":165,"y":15,"pixelRatio":1},"observation-tower":{"height":15,"width":15,"x":165,"y":30,"pixelRatio":1},"optician":{"height":15,"width":15,"x":165,"y":45,"pixelRatio":1},"paint":{"height":15,"width":15,"x":165,"y":60,"pixelRatio":1},"park-alt1":{"height":15,"width":15,"x":165,"y":75,"pixelRatio":1},"park":{"height":15,"width":15,"x":165,"y":90,"pixelRatio":1},"parking-garage":{"height":15,"width":15,"x":165,"y":105,"pixelRatio":1},"parking-paid":{"height":15,"width":15,"x":165,"y":120,"pixelRatio":1},"parking":{"height":15,"width":15,"x":165,"y":135,"pixelRatio":1},"pharmacy":{"height":15,"width":15,"x":165,"y":150,"pixelRatio":1},"picnic-site":{"height":15,"width":15,"x":0,"y":165,"pixelRatio":1},"pitch":{"height":15,"width":15,"x":15,"y":165,"pixelRatio":1},"place-of-worship":{"height":15,"width":15,"x":30,"y":165,"pixelRatio":1},"playground":{"height":15,"width":15,"x":45,"y":165,"pixelRatio":1},"police-JP":{"height":15,"width":15,"x":60,"y":165,"pixelRatio":1},"police":{"height":15,"width":15,"x":75,"y":165,"pixelRatio":1},"post-JP":{"height":15,"width":15,"x":90,"y":165,"pixelRatio":1},"post":{"height":15,"width":15,"x":105,"y":165,"pixelRatio":1},"prison":{"height":15,"width":15,"x":120,"y":165,"pixelRatio":1},"racetrack-boat":{"height":15,"width":15,"x":135,"y":165,"pixelRatio":1},"racetrack-cycling":{"height":15,"width":15,"x":150,"y":165,"pixelRatio":1},"racetrack-horse":{"height":15,"width":15,"x":165,"y":165,"pixelRatio":1},"racetrack":{"height":15,"width":15,"x":180,"y":0,"pixelRatio":1},"rail-light":{"height":15,"width":15,"x":180,"y":15,"pixelRatio":1},"rail-metro":{"height":15,"width":15,"x":180,"y":30,"pixelRatio":1},"rail":{"height":15,"width":15,"x":180,"y":45,"pixelRatio":1},"ranger-station":{"height":15,"width":15,"x":180,"y":60,"pixelRatio":1},"recycling":{"height":15,"width":15,"x":180,"y":75,"pixelRatio":1},"religious-buddhist":{"height":15,"width":15,"x":180,"y":90,"pixelRatio":1},"religious-christian":{"height":15,"width":15,"x":180,"y":105,"pixelRatio":1},"religious-jewish":{"height":15,"width":15,"x":180,"y":120,"pixelRatio":1},"religious-muslim":{"height":15,"width":15,"x":180,"y":135,"pixelRatio":1},"religious-shinto":{"height":15,"width":15,"x":180,"y":150,"pixelRatio":1},"residential-community":{"height":15,"width":15,"x":180,"y":165,"pixelRatio":1},"restaurant-bbq":{"height":15,"width":15,"x":0,"y":180,"pixelRatio":1},"restaurant-noodle":{"height":15,"width":15,"x":15,"y":180,"pixelRatio":1},"restaurant-pizza":{"height":15,"width":15,"x":30,"y":180,"pixelRatio":1},"restaurant-seafood":{"height":15,"width":15,"x":45,"y":180,"pixelRatio":1},"restaurant-sushi":{"height":15,"width":15,"x":60,"y":180,"pixelRatio":1},"restaurant":{"height":15,"width":15,"x":75,"y":180,"pixelRatio":1},"road-accident":{"height":15,"width":15,"x":90,"y":180,"pixelRatio":1},"roadblock":{"height":15,"width":15,"x":105,"y":180,"pixelRatio":1},"rocket":{"height":15,"width":15,"x":120,"y":180,"pixelRatio":1},"school-JP":{"height":15,"width":15,"x":135,"y":180,"pixelRatio":1},"school":{"height":15,"width":15,"x":150,"y":180,"pixelRatio":1},"scooter":{"height":15,"width":15,"x":165,"y":180,"pixelRatio":1},"shelter":{"height":15,"width":15,"x":180,"y":180,"pixelRatio":1},"shoe":{"height":15,"width":15,"x":195,"y":0,"pixelRatio":1},"shop":{"height":15,"width":15,"x":195,"y":15,"pixelRatio":1},"skateboard":{"height":15,"width":15,"x":195,"y":30,"pixelRatio":1},"skiing":{"height":15,"width":15,"x":195,"y":45,"pixelRatio":1},"slaughterhouse":{"height":15,"width":15,"x":195,"y":60,"pixelRatio":1},"slipway":{"height":15,"width":15,"x":195,"y":75,"pixelRatio":1},"snowmobile":{"height":15,"width":15,"x":195,"y":90,"pixelRatio":1},"soccer":{"height":15,"width":15,"x":195,"y":105,"pixelRatio":1},"square-stroked":{"height":15,"width":15,"x":195,"y":120,"pixelRatio":1},"square":{"height":15,"width":15,"x":195,"y":135,"pixelRatio":1},"stadium":{"height":15,"width":15,"x":195,"y":150,"pixelRatio":1},"star-stroked":{"height":15,"width":15,"x":195,"y":165,"pixelRatio":1},"star":{"height":15,"width":15,"x":195,"y":180,"pixelRatio":1},"suitcase":{"height":15,"width":15,"x":0,"y":195,"pixelRatio":1},"swimming":{"height":15,"width":15,"x":15,"y":195,"pixelRatio":1},"table-tennis":{"height":15,"width":15,"x":30,"y":195,"pixelRatio":1},"teahouse":{"height":15,"width":15,"x":45,"y":195,"pixelRatio":1},"telephone":{"height":15,"width":15,"x":60,"y":195,"pixelRatio":1},"tennis":{"height":15,"width":15,"x":75,"y":195,"pixelRatio":1},"theatre":{"height":15,"width":15,"x":90,"y":195,"pixelRatio":1},"toilet":{"height":15,"width":15,"x":105,"y":195,"pixelRatio":1},"toll":{"height":15,"width":15,"x":120,"y":195,"pixelRatio":1},"town-hall":{"height":15,"width":15,"x":135,"y":195,"pixelRatio":1},"town":{"height":15,"width":15,"x":150,"y":195,"pixelRatio":1},"triangle-stroked":{"height":15,"width":15,"x":165,"y":195,"pixelRatio":1},"triangle":{"height":15,"width":15,"x":180,"y":195,"pixelRatio":1},"tunnel":{"height":15,"width":15,"x":195,"y":195,"pixelRatio":1},"veterinary":{"height":15,"width":15,"x":210,"y":0,"pixelRatio":1},"viewpoint":{"height":15,"width":15,"x":210,"y":15,"pixelRatio":1},"village":{"height":15,"width":15,"x":210,"y":30,"pixelRatio":1},"volcano":{"height":15,"width":15,"x":210,"y":45,"pixelRatio":1},"volleyball":{"height":15,"width":15,"x":210,"y":60,"pixelRatio":1},"warehouse":{"height":15,"width":15,"x":210,"y":75,"pixelRatio":1},"waste-basket":{"height":15,"width":15,"x":210,"y":90,"pixelRatio":1},"watch":{"height":15,"width":15,"x":210,"y":105,"pixelRatio":1},"water":{"height":15,"width":15,"x":210,"y":120,"pixelRatio":1},"waterfall":{"height":15,"width":15,"x":210,"y":135,"pixelRatio":1},"watermill":{"height":15,"width":15,"x":210,"y":150,"pixelRatio":1},"wetland":{"height":15,"width":15,"x":210,"y":165,"pixelRatio":1},"wheelchair":{"height":15,"width":15,"x":210,"y":180,"pixelRatio":1},"windmill":{"height":15,"width":15,"x":210,"y":195,"pixelRatio":1},"zoo":{"height":15,"width":15,"x":0,"y":210,"pixelRatio":1}} \ No newline at end of file +{ + "aerialway": { + "height": 15, + "width": 15, + "x": 0, + "y": 0, + "pixelRatio": 1, + "sdf": false + }, + "airfield": { + "height": 15, + "width": 15, + "x": 15, + "y": 0, + "pixelRatio": 1, + "sdf": false + }, + "airport": { + "height": 15, + "width": 15, + "x": 0, + "y": 15, + "pixelRatio": 1, + "sdf": false + }, + "alcohol-shop": { + "height": 15, + "width": 15, + "x": 15, + "y": 15, + "pixelRatio": 1, + "sdf": false + }, + "american-football": { + "height": 15, + "width": 15, + "x": 30, + "y": 0, + "pixelRatio": 1, + "sdf": false + }, + "amusement-park": { + "height": 15, + "width": 15, + "x": 30, + "y": 15, + "pixelRatio": 1, + "sdf": false + }, + "animal-shelter": { + "height": 15, + "width": 15, + "x": 0, + "y": 30, + "pixelRatio": 1, + "sdf": false + }, + "aquarium": { + "height": 15, + "width": 15, + "x": 15, + "y": 30, + "pixelRatio": 1, + "sdf": false + }, + "arrow": { + "height": 15, + "width": 15, + "x": 30, + "y": 30, + "pixelRatio": 1, + "sdf": false + }, + "art-gallery": { + "height": 15, + "width": 15, + "x": 45, + "y": 0, + "pixelRatio": 1, + "sdf": false + }, + "attraction": { + "height": 15, + "width": 15, + "x": 45, + "y": 15, + "pixelRatio": 1, + "sdf": false + }, + "bakery": { + "height": 15, + "width": 15, + "x": 45, + "y": 30, + "pixelRatio": 1, + "sdf": false + }, + "bank-JP": { + "height": 15, + "width": 15, + "x": 0, + "y": 45, + "pixelRatio": 1, + "sdf": false + }, + "bank": { + "height": 15, + "width": 15, + "x": 15, + "y": 45, + "pixelRatio": 1, + "sdf": false + }, + "bar": { + "height": 15, + "width": 15, + "x": 30, + "y": 45, + "pixelRatio": 1, + "sdf": false + }, + "barrier": { + "height": 15, + "width": 15, + "x": 45, + "y": 45, + "pixelRatio": 1, + "sdf": false + }, + "baseball": { + "height": 15, + "width": 15, + "x": 60, + "y": 0, + "pixelRatio": 1, + "sdf": false + }, + "basketball": { + "height": 15, + "width": 15, + "x": 60, + "y": 15, + "pixelRatio": 1, + "sdf": false + }, + "bbq": { + "height": 15, + "width": 15, + "x": 60, + "y": 30, + "pixelRatio": 1, + "sdf": false + }, + "beach": { + "height": 15, + "width": 15, + "x": 60, + "y": 45, + "pixelRatio": 1, + "sdf": false + }, + "beer": { + "height": 15, + "width": 15, + "x": 0, + "y": 60, + "pixelRatio": 1, + "sdf": false + }, + "bicycle-share": { + "height": 15, + "width": 15, + "x": 15, + "y": 60, + "pixelRatio": 1, + "sdf": false + }, + "bicycle": { + "height": 15, + "width": 15, + "x": 30, + "y": 60, + "pixelRatio": 1, + "sdf": false + }, + "blood-bank": { + "height": 15, + "width": 15, + "x": 45, + "y": 60, + "pixelRatio": 1, + "sdf": false + }, + "bowling-alley": { + "height": 15, + "width": 15, + "x": 60, + "y": 60, + "pixelRatio": 1, + "sdf": false + }, + "bridge": { + "height": 15, + "width": 15, + "x": 75, + "y": 0, + "pixelRatio": 1, + "sdf": false + }, + "building-alt1": { + "height": 15, + "width": 15, + "x": 75, + "y": 15, + "pixelRatio": 1, + "sdf": false + }, + "building": { + "height": 15, + "width": 15, + "x": 75, + "y": 30, + "pixelRatio": 1, + "sdf": false + }, + "bus": { + "height": 15, + "width": 15, + "x": 75, + "y": 45, + "pixelRatio": 1, + "sdf": false + }, + "cafe": { + "height": 15, + "width": 15, + "x": 75, + "y": 60, + "pixelRatio": 1, + "sdf": false + }, + "campsite": { + "height": 15, + "width": 15, + "x": 0, + "y": 75, + "pixelRatio": 1, + "sdf": false + }, + "car-rental": { + "height": 15, + "width": 15, + "x": 15, + "y": 75, + "pixelRatio": 1, + "sdf": false + }, + "car-repair": { + "height": 15, + "width": 15, + "x": 30, + "y": 75, + "pixelRatio": 1, + "sdf": false + }, + "car": { + "height": 15, + "width": 15, + "x": 45, + "y": 75, + "pixelRatio": 1, + "sdf": false + }, + "casino": { + "height": 15, + "width": 15, + "x": 60, + "y": 75, + "pixelRatio": 1, + "sdf": false + }, + "castle-JP": { + "height": 15, + "width": 15, + "x": 75, + "y": 75, + "pixelRatio": 1, + "sdf": false + }, + "castle": { + "height": 15, + "width": 15, + "x": 90, + "y": 0, + "pixelRatio": 1, + "sdf": false + }, + "caution": { + "height": 15, + "width": 15, + "x": 90, + "y": 15, + "pixelRatio": 1, + "sdf": false + }, + "cemetery-JP": { + "height": 15, + "width": 15, + "x": 90, + "y": 30, + "pixelRatio": 1, + "sdf": false + }, + "cemetery": { + "height": 15, + "width": 15, + "x": 90, + "y": 45, + "pixelRatio": 1, + "sdf": false + }, + "charging-station": { + "height": 15, + "width": 15, + "x": 90, + "y": 60, + "pixelRatio": 1, + "sdf": false + }, + "cinema": { + "height": 15, + "width": 15, + "x": 90, + "y": 75, + "pixelRatio": 1, + "sdf": false + }, + "circle-stroked": { + "height": 15, + "width": 15, + "x": 0, + "y": 90, + "pixelRatio": 1, + "sdf": false + }, + "circle": { + "height": 15, + "width": 15, + "x": 15, + "y": 90, + "pixelRatio": 1, + "sdf": false + }, + "city": { + "height": 15, + "width": 15, + "x": 30, + "y": 90, + "pixelRatio": 1, + "sdf": false + }, + "clothing-store": { + "height": 15, + "width": 15, + "x": 45, + "y": 90, + "pixelRatio": 1, + "sdf": false + }, + "college-JP": { + "height": 15, + "width": 15, + "x": 60, + "y": 90, + "pixelRatio": 1, + "sdf": false + }, + "college": { + "height": 15, + "width": 15, + "x": 75, + "y": 90, + "pixelRatio": 1, + "sdf": false + }, + "commercial": { + "height": 15, + "width": 15, + "x": 90, + "y": 90, + "pixelRatio": 1, + "sdf": false + }, + "communications-tower": { + "height": 15, + "width": 15, + "x": 105, + "y": 0, + "pixelRatio": 1, + "sdf": false + }, + "confectionery": { + "height": 15, + "width": 15, + "x": 105, + "y": 15, + "pixelRatio": 1, + "sdf": false + }, + "construction": { + "height": 15, + "width": 15, + "x": 105, + "y": 30, + "pixelRatio": 1, + "sdf": false + }, + "convenience": { + "height": 15, + "width": 15, + "x": 105, + "y": 45, + "pixelRatio": 1, + "sdf": false + }, + "cricket": { + "height": 15, + "width": 15, + "x": 105, + "y": 60, + "pixelRatio": 1, + "sdf": false + }, + "cross": { + "height": 15, + "width": 15, + "x": 105, + "y": 75, + "pixelRatio": 1, + "sdf": false + }, + "dam": { + "height": 15, + "width": 15, + "x": 105, + "y": 90, + "pixelRatio": 1, + "sdf": false + }, + "danger": { + "height": 15, + "width": 15, + "x": 0, + "y": 105, + "pixelRatio": 1, + "sdf": false + }, + "defibrillator": { + "height": 15, + "width": 15, + "x": 15, + "y": 105, + "pixelRatio": 1, + "sdf": false + }, + "dentist": { + "height": 15, + "width": 15, + "x": 30, + "y": 105, + "pixelRatio": 1, + "sdf": false + }, + "diamond": { + "height": 15, + "width": 15, + "x": 45, + "y": 105, + "pixelRatio": 1, + "sdf": false + }, + "doctor": { + "height": 15, + "width": 15, + "x": 60, + "y": 105, + "pixelRatio": 1, + "sdf": false + }, + "dog-park": { + "height": 15, + "width": 15, + "x": 75, + "y": 105, + "pixelRatio": 1, + "sdf": false + }, + "drinking-water": { + "height": 15, + "width": 15, + "x": 90, + "y": 105, + "pixelRatio": 1, + "sdf": false + }, + "elevator": { + "height": 15, + "width": 15, + "x": 105, + "y": 105, + "pixelRatio": 1, + "sdf": false + }, + "embassy": { + "height": 15, + "width": 15, + "x": 120, + "y": 0, + "pixelRatio": 1, + "sdf": false + }, + "emergency-phone": { + "height": 15, + "width": 15, + "x": 120, + "y": 15, + "pixelRatio": 1, + "sdf": false + }, + "entrance-alt1": { + "height": 15, + "width": 15, + "x": 120, + "y": 30, + "pixelRatio": 1, + "sdf": false + }, + "entrance": { + "height": 15, + "width": 15, + "x": 120, + "y": 45, + "pixelRatio": 1, + "sdf": false + }, + "farm": { + "height": 15, + "width": 15, + "x": 120, + "y": 60, + "pixelRatio": 1, + "sdf": false + }, + "fast-food": { + "height": 15, + "width": 15, + "x": 120, + "y": 75, + "pixelRatio": 1, + "sdf": false + }, + "fence": { + "height": 15, + "width": 15, + "x": 120, + "y": 90, + "pixelRatio": 1, + "sdf": false + }, + "ferry-JP": { + "height": 15, + "width": 15, + "x": 120, + "y": 105, + "pixelRatio": 1, + "sdf": false + }, + "ferry": { + "height": 15, + "width": 15, + "x": 0, + "y": 120, + "pixelRatio": 1, + "sdf": false + }, + "fire-station-JP": { + "height": 15, + "width": 15, + "x": 15, + "y": 120, + "pixelRatio": 1, + "sdf": false + }, + "fire-station": { + "height": 15, + "width": 15, + "x": 30, + "y": 120, + "pixelRatio": 1, + "sdf": false + }, + "fitness-centre": { + "height": 15, + "width": 15, + "x": 45, + "y": 120, + "pixelRatio": 1, + "sdf": false + }, + "florist": { + "height": 15, + "width": 15, + "x": 60, + "y": 120, + "pixelRatio": 1, + "sdf": false + }, + "fuel": { + "height": 15, + "width": 15, + "x": 75, + "y": 120, + "pixelRatio": 1, + "sdf": false + }, + "furniture": { + "height": 15, + "width": 15, + "x": 90, + "y": 120, + "pixelRatio": 1, + "sdf": false + }, + "gaming": { + "height": 15, + "width": 15, + "x": 105, + "y": 120, + "pixelRatio": 1, + "sdf": false + }, + "garden-centre": { + "height": 15, + "width": 15, + "x": 120, + "y": 120, + "pixelRatio": 1, + "sdf": false + }, + "garden": { + "height": 15, + "width": 15, + "x": 135, + "y": 0, + "pixelRatio": 1, + "sdf": false + }, + "gate": { + "height": 15, + "width": 15, + "x": 135, + "y": 15, + "pixelRatio": 1, + "sdf": false + }, + "gift": { + "height": 15, + "width": 15, + "x": 135, + "y": 30, + "pixelRatio": 1, + "sdf": false + }, + "globe": { + "height": 15, + "width": 15, + "x": 135, + "y": 45, + "pixelRatio": 1, + "sdf": false + }, + "golf": { + "height": 15, + "width": 15, + "x": 135, + "y": 60, + "pixelRatio": 1, + "sdf": false + }, + "grocery": { + "height": 15, + "width": 15, + "x": 135, + "y": 75, + "pixelRatio": 1, + "sdf": false + }, + "hairdresser": { + "height": 15, + "width": 15, + "x": 135, + "y": 90, + "pixelRatio": 1, + "sdf": false + }, + "harbor": { + "height": 15, + "width": 15, + "x": 135, + "y": 105, + "pixelRatio": 1, + "sdf": false + }, + "hardware": { + "height": 15, + "width": 15, + "x": 135, + "y": 120, + "pixelRatio": 1, + "sdf": false + }, + "heart": { + "height": 15, + "width": 15, + "x": 0, + "y": 135, + "pixelRatio": 1, + "sdf": false + }, + "heliport": { + "height": 15, + "width": 15, + "x": 15, + "y": 135, + "pixelRatio": 1, + "sdf": false + }, + "highway-rest-area": { + "height": 15, + "width": 15, + "x": 30, + "y": 135, + "pixelRatio": 1, + "sdf": false + }, + "historic": { + "height": 15, + "width": 15, + "x": 45, + "y": 135, + "pixelRatio": 1, + "sdf": false + }, + "home": { + "height": 15, + "width": 15, + "x": 60, + "y": 135, + "pixelRatio": 1, + "sdf": false + }, + "horse-riding": { + "height": 15, + "width": 15, + "x": 75, + "y": 135, + "pixelRatio": 1, + "sdf": false + }, + "hospital-JP": { + "height": 15, + "width": 15, + "x": 90, + "y": 135, + "pixelRatio": 1, + "sdf": false + }, + "hospital": { + "height": 15, + "width": 15, + "x": 105, + "y": 135, + "pixelRatio": 1, + "sdf": false + }, + "hot-spring": { + "height": 15, + "width": 15, + "x": 120, + "y": 135, + "pixelRatio": 1, + "sdf": false + }, + "ice-cream": { + "height": 15, + "width": 15, + "x": 135, + "y": 135, + "pixelRatio": 1, + "sdf": false + }, + "industry": { + "height": 15, + "width": 15, + "x": 150, + "y": 0, + "pixelRatio": 1, + "sdf": false + }, + "information": { + "height": 15, + "width": 15, + "x": 150, + "y": 15, + "pixelRatio": 1, + "sdf": false + }, + "jewelry-store": { + "height": 15, + "width": 15, + "x": 150, + "y": 30, + "pixelRatio": 1, + "sdf": false + }, + "karaoke": { + "height": 15, + "width": 15, + "x": 150, + "y": 45, + "pixelRatio": 1, + "sdf": false + }, + "landmark-JP": { + "height": 15, + "width": 15, + "x": 150, + "y": 60, + "pixelRatio": 1, + "sdf": false + }, + "landmark": { + "height": 15, + "width": 15, + "x": 150, + "y": 75, + "pixelRatio": 1, + "sdf": false + }, + "landuse": { + "height": 15, + "width": 15, + "x": 150, + "y": 90, + "pixelRatio": 1, + "sdf": false + }, + "laundry": { + "height": 15, + "width": 15, + "x": 150, + "y": 105, + "pixelRatio": 1, + "sdf": false + }, + "library": { + "height": 15, + "width": 15, + "x": 150, + "y": 120, + "pixelRatio": 1, + "sdf": false + }, + "lift-gate": { + "height": 15, + "width": 15, + "x": 150, + "y": 135, + "pixelRatio": 1, + "sdf": false + }, + "lighthouse-JP": { + "height": 15, + "width": 15, + "x": 0, + "y": 150, + "pixelRatio": 1, + "sdf": false + }, + "lighthouse": { + "height": 15, + "width": 15, + "x": 15, + "y": 150, + "pixelRatio": 1, + "sdf": false + }, + "lodging": { + "height": 15, + "width": 15, + "x": 30, + "y": 150, + "pixelRatio": 1, + "sdf": false + }, + "logging": { + "height": 15, + "width": 15, + "x": 45, + "y": 150, + "pixelRatio": 1, + "sdf": false + }, + "marker-stroked": { + "height": 15, + "width": 15, + "x": 60, + "y": 150, + "pixelRatio": 1, + "sdf": false + }, + "marker": { + "height": 15, + "width": 15, + "x": 75, + "y": 150, + "pixelRatio": 1, + "sdf": false + }, + "mobile-phone": { + "height": 15, + "width": 15, + "x": 90, + "y": 150, + "pixelRatio": 1, + "sdf": false + }, + "monument-JP": { + "height": 15, + "width": 15, + "x": 105, + "y": 150, + "pixelRatio": 1, + "sdf": false + }, + "monument": { + "height": 15, + "width": 15, + "x": 120, + "y": 150, + "pixelRatio": 1, + "sdf": false + }, + "mountain": { + "height": 15, + "width": 15, + "x": 135, + "y": 150, + "pixelRatio": 1, + "sdf": false + }, + "museum": { + "height": 15, + "width": 15, + "x": 150, + "y": 150, + "pixelRatio": 1, + "sdf": false + }, + "music": { + "height": 15, + "width": 15, + "x": 165, + "y": 0, + "pixelRatio": 1, + "sdf": false + }, + "natural": { + "height": 15, + "width": 15, + "x": 165, + "y": 15, + "pixelRatio": 1, + "sdf": false + }, + "observation-tower": { + "height": 15, + "width": 15, + "x": 165, + "y": 30, + "pixelRatio": 1, + "sdf": false + }, + "optician": { + "height": 15, + "width": 15, + "x": 165, + "y": 45, + "pixelRatio": 1, + "sdf": false + }, + "paint": { + "height": 15, + "width": 15, + "x": 165, + "y": 60, + "pixelRatio": 1, + "sdf": false + }, + "park-alt1": { + "height": 15, + "width": 15, + "x": 165, + "y": 75, + "pixelRatio": 1, + "sdf": false + }, + "park": { + "height": 15, + "width": 15, + "x": 165, + "y": 90, + "pixelRatio": 1, + "sdf": false + }, + "parking-garage": { + "height": 15, + "width": 15, + "x": 165, + "y": 105, + "pixelRatio": 1, + "sdf": false + }, + "parking-paid": { + "height": 15, + "width": 15, + "x": 165, + "y": 120, + "pixelRatio": 1, + "sdf": false + }, + "parking": { + "height": 15, + "width": 15, + "x": 165, + "y": 135, + "pixelRatio": 1, + "sdf": false + }, + "pharmacy": { + "height": 15, + "width": 15, + "x": 165, + "y": 150, + "pixelRatio": 1, + "sdf": false + }, + "picnic-site": { + "height": 15, + "width": 15, + "x": 0, + "y": 165, + "pixelRatio": 1, + "sdf": false + }, + "pitch": { + "height": 15, + "width": 15, + "x": 15, + "y": 165, + "pixelRatio": 1, + "sdf": false + }, + "place-of-worship": { + "height": 15, + "width": 15, + "x": 30, + "y": 165, + "pixelRatio": 1, + "sdf": false + }, + "playground": { + "height": 15, + "width": 15, + "x": 45, + "y": 165, + "pixelRatio": 1, + "sdf": false + }, + "police-JP": { + "height": 15, + "width": 15, + "x": 60, + "y": 165, + "pixelRatio": 1, + "sdf": false + }, + "police": { + "height": 15, + "width": 15, + "x": 75, + "y": 165, + "pixelRatio": 1, + "sdf": false + }, + "post-JP": { + "height": 15, + "width": 15, + "x": 90, + "y": 165, + "pixelRatio": 1, + "sdf": false + }, + "post": { + "height": 15, + "width": 15, + "x": 105, + "y": 165, + "pixelRatio": 1, + "sdf": false + }, + "prison": { + "height": 15, + "width": 15, + "x": 120, + "y": 165, + "pixelRatio": 1, + "sdf": false + }, + "racetrack-boat": { + "height": 15, + "width": 15, + "x": 135, + "y": 165, + "pixelRatio": 1, + "sdf": false + }, + "racetrack-cycling": { + "height": 15, + "width": 15, + "x": 150, + "y": 165, + "pixelRatio": 1, + "sdf": false + }, + "racetrack-horse": { + "height": 15, + "width": 15, + "x": 165, + "y": 165, + "pixelRatio": 1, + "sdf": false + }, + "racetrack": { + "height": 15, + "width": 15, + "x": 180, + "y": 0, + "pixelRatio": 1, + "sdf": false + }, + "rail-light": { + "height": 15, + "width": 15, + "x": 180, + "y": 15, + "pixelRatio": 1, + "sdf": false + }, + "rail-metro": { + "height": 15, + "width": 15, + "x": 180, + "y": 30, + "pixelRatio": 1, + "sdf": false + }, + "rail": { + "height": 15, + "width": 15, + "x": 180, + "y": 45, + "pixelRatio": 1, + "sdf": false + }, + "ranger-station": { + "height": 15, + "width": 15, + "x": 180, + "y": 60, + "pixelRatio": 1, + "sdf": false + }, + "recycling": { + "height": 15, + "width": 15, + "x": 180, + "y": 75, + "pixelRatio": 1, + "sdf": false + }, + "religious-buddhist": { + "height": 15, + "width": 15, + "x": 180, + "y": 90, + "pixelRatio": 1, + "sdf": false + }, + "religious-christian": { + "height": 15, + "width": 15, + "x": 180, + "y": 105, + "pixelRatio": 1, + "sdf": false + }, + "religious-jewish": { + "height": 15, + "width": 15, + "x": 180, + "y": 120, + "pixelRatio": 1, + "sdf": false + }, + "religious-muslim": { + "height": 15, + "width": 15, + "x": 180, + "y": 135, + "pixelRatio": 1, + "sdf": false + }, + "religious-shinto": { + "height": 15, + "width": 15, + "x": 180, + "y": 150, + "pixelRatio": 1, + "sdf": false + }, + "residential-community": { + "height": 15, + "width": 15, + "x": 180, + "y": 165, + "pixelRatio": 1, + "sdf": false + }, + "restaurant-bbq": { + "height": 15, + "width": 15, + "x": 0, + "y": 180, + "pixelRatio": 1, + "sdf": false + }, + "restaurant-noodle": { + "height": 15, + "width": 15, + "x": 15, + "y": 180, + "pixelRatio": 1, + "sdf": false + }, + "restaurant-pizza": { + "height": 15, + "width": 15, + "x": 30, + "y": 180, + "pixelRatio": 1, + "sdf": false + }, + "restaurant-seafood": { + "height": 15, + "width": 15, + "x": 45, + "y": 180, + "pixelRatio": 1, + "sdf": false + }, + "restaurant-sushi": { + "height": 15, + "width": 15, + "x": 60, + "y": 180, + "pixelRatio": 1, + "sdf": false + }, + "restaurant": { + "height": 15, + "width": 15, + "x": 75, + "y": 180, + "pixelRatio": 1, + "sdf": false + }, + "road-accident": { + "height": 15, + "width": 15, + "x": 90, + "y": 180, + "pixelRatio": 1, + "sdf": false + }, + "roadblock": { + "height": 15, + "width": 15, + "x": 105, + "y": 180, + "pixelRatio": 1, + "sdf": false + }, + "rocket": { + "height": 15, + "width": 15, + "x": 120, + "y": 180, + "pixelRatio": 1, + "sdf": false + }, + "school-JP": { + "height": 15, + "width": 15, + "x": 135, + "y": 180, + "pixelRatio": 1, + "sdf": false + }, + "school": { + "height": 15, + "width": 15, + "x": 150, + "y": 180, + "pixelRatio": 1, + "sdf": false + }, + "scooter": { + "height": 15, + "width": 15, + "x": 165, + "y": 180, + "pixelRatio": 1, + "sdf": false + }, + "shelter": { + "height": 15, + "width": 15, + "x": 180, + "y": 180, + "pixelRatio": 1, + "sdf": false + }, + "shoe": { + "height": 15, + "width": 15, + "x": 195, + "y": 0, + "pixelRatio": 1, + "sdf": false + }, + "shop": { + "height": 15, + "width": 15, + "x": 195, + "y": 15, + "pixelRatio": 1, + "sdf": false + }, + "skateboard": { + "height": 15, + "width": 15, + "x": 195, + "y": 30, + "pixelRatio": 1, + "sdf": false + }, + "skiing": { + "height": 15, + "width": 15, + "x": 195, + "y": 45, + "pixelRatio": 1, + "sdf": false + }, + "slaughterhouse": { + "height": 15, + "width": 15, + "x": 195, + "y": 60, + "pixelRatio": 1, + "sdf": false + }, + "slipway": { + "height": 15, + "width": 15, + "x": 195, + "y": 75, + "pixelRatio": 1, + "sdf": false + }, + "snowmobile": { + "height": 15, + "width": 15, + "x": 195, + "y": 90, + "pixelRatio": 1, + "sdf": false + }, + "soccer": { + "height": 15, + "width": 15, + "x": 195, + "y": 105, + "pixelRatio": 1, + "sdf": false + }, + "square-stroked": { + "height": 15, + "width": 15, + "x": 195, + "y": 120, + "pixelRatio": 1, + "sdf": false + }, + "square": { + "height": 15, + "width": 15, + "x": 195, + "y": 135, + "pixelRatio": 1, + "sdf": false + }, + "stadium": { + "height": 15, + "width": 15, + "x": 195, + "y": 150, + "pixelRatio": 1, + "sdf": false + }, + "star-stroked": { + "height": 15, + "width": 15, + "x": 195, + "y": 165, + "pixelRatio": 1, + "sdf": false + }, + "star": { + "height": 15, + "width": 15, + "x": 195, + "y": 180, + "pixelRatio": 1, + "sdf": false + }, + "suitcase": { + "height": 15, + "width": 15, + "x": 0, + "y": 195, + "pixelRatio": 1, + "sdf": false + }, + "swimming": { + "height": 15, + "width": 15, + "x": 15, + "y": 195, + "pixelRatio": 1, + "sdf": false + }, + "table-tennis": { + "height": 15, + "width": 15, + "x": 30, + "y": 195, + "pixelRatio": 1, + "sdf": false + }, + "teahouse": { + "height": 15, + "width": 15, + "x": 45, + "y": 195, + "pixelRatio": 1, + "sdf": false + }, + "telephone": { + "height": 15, + "width": 15, + "x": 60, + "y": 195, + "pixelRatio": 1, + "sdf": false + }, + "tennis": { + "height": 15, + "width": 15, + "x": 75, + "y": 195, + "pixelRatio": 1, + "sdf": false + }, + "theatre": { + "height": 15, + "width": 15, + "x": 90, + "y": 195, + "pixelRatio": 1, + "sdf": false + }, + "toilet": { + "height": 15, + "width": 15, + "x": 105, + "y": 195, + "pixelRatio": 1, + "sdf": false + }, + "toll": { + "height": 15, + "width": 15, + "x": 120, + "y": 195, + "pixelRatio": 1, + "sdf": false + }, + "town-hall": { + "height": 15, + "width": 15, + "x": 135, + "y": 195, + "pixelRatio": 1, + "sdf": false + }, + "town": { + "height": 15, + "width": 15, + "x": 150, + "y": 195, + "pixelRatio": 1, + "sdf": false + }, + "triangle-stroked": { + "height": 15, + "width": 15, + "x": 165, + "y": 195, + "pixelRatio": 1, + "sdf": false + }, + "triangle": { + "height": 15, + "width": 15, + "x": 180, + "y": 195, + "pixelRatio": 1, + "sdf": false + }, + "tunnel": { + "height": 15, + "width": 15, + "x": 195, + "y": 195, + "pixelRatio": 1, + "sdf": false + }, + "veterinary": { + "height": 15, + "width": 15, + "x": 210, + "y": 0, + "pixelRatio": 1, + "sdf": false + }, + "viewpoint": { + "height": 15, + "width": 15, + "x": 210, + "y": 15, + "pixelRatio": 1, + "sdf": false + }, + "village": { + "height": 15, + "width": 15, + "x": 210, + "y": 30, + "pixelRatio": 1, + "sdf": false + }, + "volcano": { + "height": 15, + "width": 15, + "x": 210, + "y": 45, + "pixelRatio": 1, + "sdf": false + }, + "volleyball": { + "height": 15, + "width": 15, + "x": 210, + "y": 60, + "pixelRatio": 1, + "sdf": false + }, + "warehouse": { + "height": 15, + "width": 15, + "x": 210, + "y": 75, + "pixelRatio": 1, + "sdf": false + }, + "waste-basket": { + "height": 15, + "width": 15, + "x": 210, + "y": 90, + "pixelRatio": 1, + "sdf": false + }, + "watch": { + "height": 15, + "width": 15, + "x": 210, + "y": 105, + "pixelRatio": 1, + "sdf": false + }, + "water": { + "height": 15, + "width": 15, + "x": 210, + "y": 120, + "pixelRatio": 1, + "sdf": false + }, + "waterfall": { + "height": 15, + "width": 15, + "x": 210, + "y": 135, + "pixelRatio": 1, + "sdf": false + }, + "watermill": { + "height": 15, + "width": 15, + "x": 210, + "y": 150, + "pixelRatio": 1, + "sdf": false + }, + "wetland": { + "height": 15, + "width": 15, + "x": 210, + "y": 165, + "pixelRatio": 1, + "sdf": false + }, + "wheelchair": { + "height": 15, + "width": 15, + "x": 210, + "y": 180, + "pixelRatio": 1, + "sdf": false + }, + "windmill": { + "height": 15, + "width": 15, + "x": 210, + "y": 195, + "pixelRatio": 1, + "sdf": false + }, + "zoo": { + "height": 15, + "width": 15, + "x": 0, + "y": 210, + "pixelRatio": 1, + "sdf": false + } +} \ No newline at end of file diff --git a/tests/fixtures/test5@2x.json b/tests/fixtures/test5@2x.json index f44375b..364be3d 100644 --- a/tests/fixtures/test5@2x.json +++ b/tests/fixtures/test5@2x.json @@ -1 +1,1690 @@ -{"aerialway":{"height":30,"width":30,"x":0,"y":0,"pixelRatio":2},"airfield":{"height":30,"width":30,"x":30,"y":0,"pixelRatio":2},"airport":{"height":30,"width":30,"x":0,"y":30,"pixelRatio":2},"alcohol-shop":{"height":30,"width":30,"x":30,"y":30,"pixelRatio":2},"american-football":{"height":30,"width":30,"x":60,"y":0,"pixelRatio":2},"amusement-park":{"height":30,"width":30,"x":60,"y":30,"pixelRatio":2},"animal-shelter":{"height":30,"width":30,"x":0,"y":60,"pixelRatio":2},"aquarium":{"height":30,"width":30,"x":30,"y":60,"pixelRatio":2},"arrow":{"height":30,"width":30,"x":60,"y":60,"pixelRatio":2},"art-gallery":{"height":30,"width":30,"x":90,"y":0,"pixelRatio":2},"attraction":{"height":30,"width":30,"x":90,"y":30,"pixelRatio":2},"bakery":{"height":30,"width":30,"x":90,"y":60,"pixelRatio":2},"bank-JP":{"height":30,"width":30,"x":0,"y":90,"pixelRatio":2},"bank":{"height":30,"width":30,"x":30,"y":90,"pixelRatio":2},"bar":{"height":30,"width":30,"x":60,"y":90,"pixelRatio":2},"barrier":{"height":30,"width":30,"x":90,"y":90,"pixelRatio":2},"baseball":{"height":30,"width":30,"x":120,"y":0,"pixelRatio":2},"basketball":{"height":30,"width":30,"x":120,"y":30,"pixelRatio":2},"bbq":{"height":30,"width":30,"x":120,"y":60,"pixelRatio":2},"beach":{"height":30,"width":30,"x":120,"y":90,"pixelRatio":2},"beer":{"height":30,"width":30,"x":0,"y":120,"pixelRatio":2},"bicycle-share":{"height":30,"width":30,"x":30,"y":120,"pixelRatio":2},"bicycle":{"height":30,"width":30,"x":60,"y":120,"pixelRatio":2},"blood-bank":{"height":30,"width":30,"x":90,"y":120,"pixelRatio":2},"bowling-alley":{"height":30,"width":30,"x":120,"y":120,"pixelRatio":2},"bridge":{"height":30,"width":30,"x":150,"y":0,"pixelRatio":2},"building-alt1":{"height":30,"width":30,"x":150,"y":30,"pixelRatio":2},"building":{"height":30,"width":30,"x":150,"y":60,"pixelRatio":2},"bus":{"height":30,"width":30,"x":150,"y":90,"pixelRatio":2},"cafe":{"height":30,"width":30,"x":150,"y":120,"pixelRatio":2},"campsite":{"height":30,"width":30,"x":0,"y":150,"pixelRatio":2},"car-rental":{"height":30,"width":30,"x":30,"y":150,"pixelRatio":2},"car-repair":{"height":30,"width":30,"x":60,"y":150,"pixelRatio":2},"car":{"height":30,"width":30,"x":90,"y":150,"pixelRatio":2},"casino":{"height":30,"width":30,"x":120,"y":150,"pixelRatio":2},"castle-JP":{"height":30,"width":30,"x":150,"y":150,"pixelRatio":2},"castle":{"height":30,"width":30,"x":180,"y":0,"pixelRatio":2},"caution":{"height":30,"width":30,"x":180,"y":30,"pixelRatio":2},"cemetery-JP":{"height":30,"width":30,"x":180,"y":60,"pixelRatio":2},"cemetery":{"height":30,"width":30,"x":180,"y":90,"pixelRatio":2},"charging-station":{"height":30,"width":30,"x":180,"y":120,"pixelRatio":2},"cinema":{"height":30,"width":30,"x":180,"y":150,"pixelRatio":2},"circle-stroked":{"height":30,"width":30,"x":0,"y":180,"pixelRatio":2},"circle":{"height":30,"width":30,"x":30,"y":180,"pixelRatio":2},"city":{"height":30,"width":30,"x":60,"y":180,"pixelRatio":2},"clothing-store":{"height":30,"width":30,"x":90,"y":180,"pixelRatio":2},"college-JP":{"height":30,"width":30,"x":120,"y":180,"pixelRatio":2},"college":{"height":30,"width":30,"x":150,"y":180,"pixelRatio":2},"commercial":{"height":30,"width":30,"x":180,"y":180,"pixelRatio":2},"communications-tower":{"height":30,"width":30,"x":210,"y":0,"pixelRatio":2},"confectionery":{"height":30,"width":30,"x":210,"y":30,"pixelRatio":2},"construction":{"height":30,"width":30,"x":210,"y":60,"pixelRatio":2},"convenience":{"height":30,"width":30,"x":210,"y":90,"pixelRatio":2},"cricket":{"height":30,"width":30,"x":210,"y":120,"pixelRatio":2},"cross":{"height":30,"width":30,"x":210,"y":150,"pixelRatio":2},"dam":{"height":30,"width":30,"x":210,"y":180,"pixelRatio":2},"danger":{"height":30,"width":30,"x":0,"y":210,"pixelRatio":2},"defibrillator":{"height":30,"width":30,"x":30,"y":210,"pixelRatio":2},"dentist":{"height":30,"width":30,"x":60,"y":210,"pixelRatio":2},"diamond":{"height":30,"width":30,"x":90,"y":210,"pixelRatio":2},"doctor":{"height":30,"width":30,"x":120,"y":210,"pixelRatio":2},"dog-park":{"height":30,"width":30,"x":150,"y":210,"pixelRatio":2},"drinking-water":{"height":30,"width":30,"x":180,"y":210,"pixelRatio":2},"elevator":{"height":30,"width":30,"x":210,"y":210,"pixelRatio":2},"embassy":{"height":30,"width":30,"x":240,"y":0,"pixelRatio":2},"emergency-phone":{"height":30,"width":30,"x":240,"y":30,"pixelRatio":2},"entrance-alt1":{"height":30,"width":30,"x":240,"y":60,"pixelRatio":2},"entrance":{"height":30,"width":30,"x":240,"y":90,"pixelRatio":2},"farm":{"height":30,"width":30,"x":240,"y":120,"pixelRatio":2},"fast-food":{"height":30,"width":30,"x":240,"y":150,"pixelRatio":2},"fence":{"height":30,"width":30,"x":240,"y":180,"pixelRatio":2},"ferry-JP":{"height":30,"width":30,"x":240,"y":210,"pixelRatio":2},"ferry":{"height":30,"width":30,"x":0,"y":240,"pixelRatio":2},"fire-station-JP":{"height":30,"width":30,"x":30,"y":240,"pixelRatio":2},"fire-station":{"height":30,"width":30,"x":60,"y":240,"pixelRatio":2},"fitness-centre":{"height":30,"width":30,"x":90,"y":240,"pixelRatio":2},"florist":{"height":30,"width":30,"x":120,"y":240,"pixelRatio":2},"fuel":{"height":30,"width":30,"x":150,"y":240,"pixelRatio":2},"furniture":{"height":30,"width":30,"x":180,"y":240,"pixelRatio":2},"gaming":{"height":30,"width":30,"x":210,"y":240,"pixelRatio":2},"garden-centre":{"height":30,"width":30,"x":240,"y":240,"pixelRatio":2},"garden":{"height":30,"width":30,"x":270,"y":0,"pixelRatio":2},"gate":{"height":30,"width":30,"x":270,"y":30,"pixelRatio":2},"gift":{"height":30,"width":30,"x":270,"y":60,"pixelRatio":2},"globe":{"height":30,"width":30,"x":270,"y":90,"pixelRatio":2},"golf":{"height":30,"width":30,"x":270,"y":120,"pixelRatio":2},"grocery":{"height":30,"width":30,"x":270,"y":150,"pixelRatio":2},"hairdresser":{"height":30,"width":30,"x":270,"y":180,"pixelRatio":2},"harbor":{"height":30,"width":30,"x":270,"y":210,"pixelRatio":2},"hardware":{"height":30,"width":30,"x":270,"y":240,"pixelRatio":2},"heart":{"height":30,"width":30,"x":0,"y":270,"pixelRatio":2},"heliport":{"height":30,"width":30,"x":30,"y":270,"pixelRatio":2},"highway-rest-area":{"height":30,"width":30,"x":60,"y":270,"pixelRatio":2},"historic":{"height":30,"width":30,"x":90,"y":270,"pixelRatio":2},"home":{"height":30,"width":30,"x":120,"y":270,"pixelRatio":2},"horse-riding":{"height":30,"width":30,"x":150,"y":270,"pixelRatio":2},"hospital-JP":{"height":30,"width":30,"x":180,"y":270,"pixelRatio":2},"hospital":{"height":30,"width":30,"x":210,"y":270,"pixelRatio":2},"hot-spring":{"height":30,"width":30,"x":240,"y":270,"pixelRatio":2},"ice-cream":{"height":30,"width":30,"x":270,"y":270,"pixelRatio":2},"industry":{"height":30,"width":30,"x":300,"y":0,"pixelRatio":2},"information":{"height":30,"width":30,"x":300,"y":30,"pixelRatio":2},"jewelry-store":{"height":30,"width":30,"x":300,"y":60,"pixelRatio":2},"karaoke":{"height":30,"width":30,"x":300,"y":90,"pixelRatio":2},"landmark-JP":{"height":30,"width":30,"x":300,"y":120,"pixelRatio":2},"landmark":{"height":30,"width":30,"x":300,"y":150,"pixelRatio":2},"landuse":{"height":30,"width":30,"x":300,"y":180,"pixelRatio":2},"laundry":{"height":30,"width":30,"x":300,"y":210,"pixelRatio":2},"library":{"height":30,"width":30,"x":300,"y":240,"pixelRatio":2},"lift-gate":{"height":30,"width":30,"x":300,"y":270,"pixelRatio":2},"lighthouse-JP":{"height":30,"width":30,"x":0,"y":300,"pixelRatio":2},"lighthouse":{"height":30,"width":30,"x":30,"y":300,"pixelRatio":2},"lodging":{"height":30,"width":30,"x":60,"y":300,"pixelRatio":2},"logging":{"height":30,"width":30,"x":90,"y":300,"pixelRatio":2},"marker-stroked":{"height":30,"width":30,"x":120,"y":300,"pixelRatio":2},"marker":{"height":30,"width":30,"x":150,"y":300,"pixelRatio":2},"mobile-phone":{"height":30,"width":30,"x":180,"y":300,"pixelRatio":2},"monument-JP":{"height":30,"width":30,"x":210,"y":300,"pixelRatio":2},"monument":{"height":30,"width":30,"x":240,"y":300,"pixelRatio":2},"mountain":{"height":30,"width":30,"x":270,"y":300,"pixelRatio":2},"museum":{"height":30,"width":30,"x":300,"y":300,"pixelRatio":2},"music":{"height":30,"width":30,"x":330,"y":0,"pixelRatio":2},"natural":{"height":30,"width":30,"x":330,"y":30,"pixelRatio":2},"observation-tower":{"height":30,"width":30,"x":330,"y":60,"pixelRatio":2},"optician":{"height":30,"width":30,"x":330,"y":90,"pixelRatio":2},"paint":{"height":30,"width":30,"x":330,"y":120,"pixelRatio":2},"park-alt1":{"height":30,"width":30,"x":330,"y":150,"pixelRatio":2},"park":{"height":30,"width":30,"x":330,"y":180,"pixelRatio":2},"parking-garage":{"height":30,"width":30,"x":330,"y":210,"pixelRatio":2},"parking-paid":{"height":30,"width":30,"x":330,"y":240,"pixelRatio":2},"parking":{"height":30,"width":30,"x":330,"y":270,"pixelRatio":2},"pharmacy":{"height":30,"width":30,"x":330,"y":300,"pixelRatio":2},"picnic-site":{"height":30,"width":30,"x":0,"y":330,"pixelRatio":2},"pitch":{"height":30,"width":30,"x":30,"y":330,"pixelRatio":2},"place-of-worship":{"height":30,"width":30,"x":60,"y":330,"pixelRatio":2},"playground":{"height":30,"width":30,"x":90,"y":330,"pixelRatio":2},"police-JP":{"height":30,"width":30,"x":120,"y":330,"pixelRatio":2},"police":{"height":30,"width":30,"x":150,"y":330,"pixelRatio":2},"post-JP":{"height":30,"width":30,"x":180,"y":330,"pixelRatio":2},"post":{"height":30,"width":30,"x":210,"y":330,"pixelRatio":2},"prison":{"height":30,"width":30,"x":240,"y":330,"pixelRatio":2},"racetrack-boat":{"height":30,"width":30,"x":270,"y":330,"pixelRatio":2},"racetrack-cycling":{"height":30,"width":30,"x":300,"y":330,"pixelRatio":2},"racetrack-horse":{"height":30,"width":30,"x":330,"y":330,"pixelRatio":2},"racetrack":{"height":30,"width":30,"x":360,"y":0,"pixelRatio":2},"rail-light":{"height":30,"width":30,"x":360,"y":30,"pixelRatio":2},"rail-metro":{"height":30,"width":30,"x":360,"y":60,"pixelRatio":2},"rail":{"height":30,"width":30,"x":360,"y":90,"pixelRatio":2},"ranger-station":{"height":30,"width":30,"x":360,"y":120,"pixelRatio":2},"recycling":{"height":30,"width":30,"x":360,"y":150,"pixelRatio":2},"religious-buddhist":{"height":30,"width":30,"x":360,"y":180,"pixelRatio":2},"religious-christian":{"height":30,"width":30,"x":360,"y":210,"pixelRatio":2},"religious-jewish":{"height":30,"width":30,"x":360,"y":240,"pixelRatio":2},"religious-muslim":{"height":30,"width":30,"x":360,"y":270,"pixelRatio":2},"religious-shinto":{"height":30,"width":30,"x":360,"y":300,"pixelRatio":2},"residential-community":{"height":30,"width":30,"x":360,"y":330,"pixelRatio":2},"restaurant-bbq":{"height":30,"width":30,"x":0,"y":360,"pixelRatio":2},"restaurant-noodle":{"height":30,"width":30,"x":30,"y":360,"pixelRatio":2},"restaurant-pizza":{"height":30,"width":30,"x":60,"y":360,"pixelRatio":2},"restaurant-seafood":{"height":30,"width":30,"x":90,"y":360,"pixelRatio":2},"restaurant-sushi":{"height":30,"width":30,"x":120,"y":360,"pixelRatio":2},"restaurant":{"height":30,"width":30,"x":150,"y":360,"pixelRatio":2},"road-accident":{"height":30,"width":30,"x":180,"y":360,"pixelRatio":2},"roadblock":{"height":30,"width":30,"x":210,"y":360,"pixelRatio":2},"rocket":{"height":30,"width":30,"x":240,"y":360,"pixelRatio":2},"school-JP":{"height":30,"width":30,"x":270,"y":360,"pixelRatio":2},"school":{"height":30,"width":30,"x":300,"y":360,"pixelRatio":2},"scooter":{"height":30,"width":30,"x":330,"y":360,"pixelRatio":2},"shelter":{"height":30,"width":30,"x":360,"y":360,"pixelRatio":2},"shoe":{"height":30,"width":30,"x":390,"y":0,"pixelRatio":2},"shop":{"height":30,"width":30,"x":390,"y":30,"pixelRatio":2},"skateboard":{"height":30,"width":30,"x":390,"y":60,"pixelRatio":2},"skiing":{"height":30,"width":30,"x":390,"y":90,"pixelRatio":2},"slaughterhouse":{"height":30,"width":30,"x":390,"y":120,"pixelRatio":2},"slipway":{"height":30,"width":30,"x":390,"y":150,"pixelRatio":2},"snowmobile":{"height":30,"width":30,"x":390,"y":180,"pixelRatio":2},"soccer":{"height":30,"width":30,"x":390,"y":210,"pixelRatio":2},"square-stroked":{"height":30,"width":30,"x":390,"y":240,"pixelRatio":2},"square":{"height":30,"width":30,"x":390,"y":270,"pixelRatio":2},"stadium":{"height":30,"width":30,"x":390,"y":300,"pixelRatio":2},"star-stroked":{"height":30,"width":30,"x":390,"y":330,"pixelRatio":2},"star":{"height":30,"width":30,"x":390,"y":360,"pixelRatio":2},"suitcase":{"height":30,"width":30,"x":0,"y":390,"pixelRatio":2},"swimming":{"height":30,"width":30,"x":30,"y":390,"pixelRatio":2},"table-tennis":{"height":30,"width":30,"x":60,"y":390,"pixelRatio":2},"teahouse":{"height":30,"width":30,"x":90,"y":390,"pixelRatio":2},"telephone":{"height":30,"width":30,"x":120,"y":390,"pixelRatio":2},"tennis":{"height":30,"width":30,"x":150,"y":390,"pixelRatio":2},"theatre":{"height":30,"width":30,"x":180,"y":390,"pixelRatio":2},"toilet":{"height":30,"width":30,"x":210,"y":390,"pixelRatio":2},"toll":{"height":30,"width":30,"x":240,"y":390,"pixelRatio":2},"town-hall":{"height":30,"width":30,"x":270,"y":390,"pixelRatio":2},"town":{"height":30,"width":30,"x":300,"y":390,"pixelRatio":2},"triangle-stroked":{"height":30,"width":30,"x":330,"y":390,"pixelRatio":2},"triangle":{"height":30,"width":30,"x":360,"y":390,"pixelRatio":2},"tunnel":{"height":30,"width":30,"x":390,"y":390,"pixelRatio":2},"veterinary":{"height":30,"width":30,"x":420,"y":0,"pixelRatio":2},"viewpoint":{"height":30,"width":30,"x":420,"y":30,"pixelRatio":2},"village":{"height":30,"width":30,"x":420,"y":60,"pixelRatio":2},"volcano":{"height":30,"width":30,"x":420,"y":90,"pixelRatio":2},"volleyball":{"height":30,"width":30,"x":420,"y":120,"pixelRatio":2},"warehouse":{"height":30,"width":30,"x":420,"y":150,"pixelRatio":2},"waste-basket":{"height":30,"width":30,"x":420,"y":180,"pixelRatio":2},"watch":{"height":30,"width":30,"x":420,"y":210,"pixelRatio":2},"water":{"height":30,"width":30,"x":420,"y":240,"pixelRatio":2},"waterfall":{"height":30,"width":30,"x":420,"y":270,"pixelRatio":2},"watermill":{"height":30,"width":30,"x":420,"y":300,"pixelRatio":2},"wetland":{"height":30,"width":30,"x":420,"y":330,"pixelRatio":2},"wheelchair":{"height":30,"width":30,"x":420,"y":360,"pixelRatio":2},"windmill":{"height":30,"width":30,"x":420,"y":390,"pixelRatio":2},"zoo":{"height":30,"width":30,"x":0,"y":420,"pixelRatio":2}} \ No newline at end of file +{ + "aerialway": { + "height": 30, + "width": 30, + "x": 0, + "y": 0, + "pixelRatio": 2, + "sdf": false + }, + "airfield": { + "height": 30, + "width": 30, + "x": 30, + "y": 0, + "pixelRatio": 2, + "sdf": false + }, + "airport": { + "height": 30, + "width": 30, + "x": 0, + "y": 30, + "pixelRatio": 2, + "sdf": false + }, + "alcohol-shop": { + "height": 30, + "width": 30, + "x": 30, + "y": 30, + "pixelRatio": 2, + "sdf": false + }, + "american-football": { + "height": 30, + "width": 30, + "x": 60, + "y": 0, + "pixelRatio": 2, + "sdf": false + }, + "amusement-park": { + "height": 30, + "width": 30, + "x": 60, + "y": 30, + "pixelRatio": 2, + "sdf": false + }, + "animal-shelter": { + "height": 30, + "width": 30, + "x": 0, + "y": 60, + "pixelRatio": 2, + "sdf": false + }, + "aquarium": { + "height": 30, + "width": 30, + "x": 30, + "y": 60, + "pixelRatio": 2, + "sdf": false + }, + "arrow": { + "height": 30, + "width": 30, + "x": 60, + "y": 60, + "pixelRatio": 2, + "sdf": false + }, + "art-gallery": { + "height": 30, + "width": 30, + "x": 90, + "y": 0, + "pixelRatio": 2, + "sdf": false + }, + "attraction": { + "height": 30, + "width": 30, + "x": 90, + "y": 30, + "pixelRatio": 2, + "sdf": false + }, + "bakery": { + "height": 30, + "width": 30, + "x": 90, + "y": 60, + "pixelRatio": 2, + "sdf": false + }, + "bank-JP": { + "height": 30, + "width": 30, + "x": 0, + "y": 90, + "pixelRatio": 2, + "sdf": false + }, + "bank": { + "height": 30, + "width": 30, + "x": 30, + "y": 90, + "pixelRatio": 2, + "sdf": false + }, + "bar": { + "height": 30, + "width": 30, + "x": 60, + "y": 90, + "pixelRatio": 2, + "sdf": false + }, + "barrier": { + "height": 30, + "width": 30, + "x": 90, + "y": 90, + "pixelRatio": 2, + "sdf": false + }, + "baseball": { + "height": 30, + "width": 30, + "x": 120, + "y": 0, + "pixelRatio": 2, + "sdf": false + }, + "basketball": { + "height": 30, + "width": 30, + "x": 120, + "y": 30, + "pixelRatio": 2, + "sdf": false + }, + "bbq": { + "height": 30, + "width": 30, + "x": 120, + "y": 60, + "pixelRatio": 2, + "sdf": false + }, + "beach": { + "height": 30, + "width": 30, + "x": 120, + "y": 90, + "pixelRatio": 2, + "sdf": false + }, + "beer": { + "height": 30, + "width": 30, + "x": 0, + "y": 120, + "pixelRatio": 2, + "sdf": false + }, + "bicycle-share": { + "height": 30, + "width": 30, + "x": 30, + "y": 120, + "pixelRatio": 2, + "sdf": false + }, + "bicycle": { + "height": 30, + "width": 30, + "x": 60, + "y": 120, + "pixelRatio": 2, + "sdf": false + }, + "blood-bank": { + "height": 30, + "width": 30, + "x": 90, + "y": 120, + "pixelRatio": 2, + "sdf": false + }, + "bowling-alley": { + "height": 30, + "width": 30, + "x": 120, + "y": 120, + "pixelRatio": 2, + "sdf": false + }, + "bridge": { + "height": 30, + "width": 30, + "x": 150, + "y": 0, + "pixelRatio": 2, + "sdf": false + }, + "building-alt1": { + "height": 30, + "width": 30, + "x": 150, + "y": 30, + "pixelRatio": 2, + "sdf": false + }, + "building": { + "height": 30, + "width": 30, + "x": 150, + "y": 60, + "pixelRatio": 2, + "sdf": false + }, + "bus": { + "height": 30, + "width": 30, + "x": 150, + "y": 90, + "pixelRatio": 2, + "sdf": false + }, + "cafe": { + "height": 30, + "width": 30, + "x": 150, + "y": 120, + "pixelRatio": 2, + "sdf": false + }, + "campsite": { + "height": 30, + "width": 30, + "x": 0, + "y": 150, + "pixelRatio": 2, + "sdf": false + }, + "car-rental": { + "height": 30, + "width": 30, + "x": 30, + "y": 150, + "pixelRatio": 2, + "sdf": false + }, + "car-repair": { + "height": 30, + "width": 30, + "x": 60, + "y": 150, + "pixelRatio": 2, + "sdf": false + }, + "car": { + "height": 30, + "width": 30, + "x": 90, + "y": 150, + "pixelRatio": 2, + "sdf": false + }, + "casino": { + "height": 30, + "width": 30, + "x": 120, + "y": 150, + "pixelRatio": 2, + "sdf": false + }, + "castle-JP": { + "height": 30, + "width": 30, + "x": 150, + "y": 150, + "pixelRatio": 2, + "sdf": false + }, + "castle": { + "height": 30, + "width": 30, + "x": 180, + "y": 0, + "pixelRatio": 2, + "sdf": false + }, + "caution": { + "height": 30, + "width": 30, + "x": 180, + "y": 30, + "pixelRatio": 2, + "sdf": false + }, + "cemetery-JP": { + "height": 30, + "width": 30, + "x": 180, + "y": 60, + "pixelRatio": 2, + "sdf": false + }, + "cemetery": { + "height": 30, + "width": 30, + "x": 180, + "y": 90, + "pixelRatio": 2, + "sdf": false + }, + "charging-station": { + "height": 30, + "width": 30, + "x": 180, + "y": 120, + "pixelRatio": 2, + "sdf": false + }, + "cinema": { + "height": 30, + "width": 30, + "x": 180, + "y": 150, + "pixelRatio": 2, + "sdf": false + }, + "circle-stroked": { + "height": 30, + "width": 30, + "x": 0, + "y": 180, + "pixelRatio": 2, + "sdf": false + }, + "circle": { + "height": 30, + "width": 30, + "x": 30, + "y": 180, + "pixelRatio": 2, + "sdf": false + }, + "city": { + "height": 30, + "width": 30, + "x": 60, + "y": 180, + "pixelRatio": 2, + "sdf": false + }, + "clothing-store": { + "height": 30, + "width": 30, + "x": 90, + "y": 180, + "pixelRatio": 2, + "sdf": false + }, + "college-JP": { + "height": 30, + "width": 30, + "x": 120, + "y": 180, + "pixelRatio": 2, + "sdf": false + }, + "college": { + "height": 30, + "width": 30, + "x": 150, + "y": 180, + "pixelRatio": 2, + "sdf": false + }, + "commercial": { + "height": 30, + "width": 30, + "x": 180, + "y": 180, + "pixelRatio": 2, + "sdf": false + }, + "communications-tower": { + "height": 30, + "width": 30, + "x": 210, + "y": 0, + "pixelRatio": 2, + "sdf": false + }, + "confectionery": { + "height": 30, + "width": 30, + "x": 210, + "y": 30, + "pixelRatio": 2, + "sdf": false + }, + "construction": { + "height": 30, + "width": 30, + "x": 210, + "y": 60, + "pixelRatio": 2, + "sdf": false + }, + "convenience": { + "height": 30, + "width": 30, + "x": 210, + "y": 90, + "pixelRatio": 2, + "sdf": false + }, + "cricket": { + "height": 30, + "width": 30, + "x": 210, + "y": 120, + "pixelRatio": 2, + "sdf": false + }, + "cross": { + "height": 30, + "width": 30, + "x": 210, + "y": 150, + "pixelRatio": 2, + "sdf": false + }, + "dam": { + "height": 30, + "width": 30, + "x": 210, + "y": 180, + "pixelRatio": 2, + "sdf": false + }, + "danger": { + "height": 30, + "width": 30, + "x": 0, + "y": 210, + "pixelRatio": 2, + "sdf": false + }, + "defibrillator": { + "height": 30, + "width": 30, + "x": 30, + "y": 210, + "pixelRatio": 2, + "sdf": false + }, + "dentist": { + "height": 30, + "width": 30, + "x": 60, + "y": 210, + "pixelRatio": 2, + "sdf": false + }, + "diamond": { + "height": 30, + "width": 30, + "x": 90, + "y": 210, + "pixelRatio": 2, + "sdf": false + }, + "doctor": { + "height": 30, + "width": 30, + "x": 120, + "y": 210, + "pixelRatio": 2, + "sdf": false + }, + "dog-park": { + "height": 30, + "width": 30, + "x": 150, + "y": 210, + "pixelRatio": 2, + "sdf": false + }, + "drinking-water": { + "height": 30, + "width": 30, + "x": 180, + "y": 210, + "pixelRatio": 2, + "sdf": false + }, + "elevator": { + "height": 30, + "width": 30, + "x": 210, + "y": 210, + "pixelRatio": 2, + "sdf": false + }, + "embassy": { + "height": 30, + "width": 30, + "x": 240, + "y": 0, + "pixelRatio": 2, + "sdf": false + }, + "emergency-phone": { + "height": 30, + "width": 30, + "x": 240, + "y": 30, + "pixelRatio": 2, + "sdf": false + }, + "entrance-alt1": { + "height": 30, + "width": 30, + "x": 240, + "y": 60, + "pixelRatio": 2, + "sdf": false + }, + "entrance": { + "height": 30, + "width": 30, + "x": 240, + "y": 90, + "pixelRatio": 2, + "sdf": false + }, + "farm": { + "height": 30, + "width": 30, + "x": 240, + "y": 120, + "pixelRatio": 2, + "sdf": false + }, + "fast-food": { + "height": 30, + "width": 30, + "x": 240, + "y": 150, + "pixelRatio": 2, + "sdf": false + }, + "fence": { + "height": 30, + "width": 30, + "x": 240, + "y": 180, + "pixelRatio": 2, + "sdf": false + }, + "ferry-JP": { + "height": 30, + "width": 30, + "x": 240, + "y": 210, + "pixelRatio": 2, + "sdf": false + }, + "ferry": { + "height": 30, + "width": 30, + "x": 0, + "y": 240, + "pixelRatio": 2, + "sdf": false + }, + "fire-station-JP": { + "height": 30, + "width": 30, + "x": 30, + "y": 240, + "pixelRatio": 2, + "sdf": false + }, + "fire-station": { + "height": 30, + "width": 30, + "x": 60, + "y": 240, + "pixelRatio": 2, + "sdf": false + }, + "fitness-centre": { + "height": 30, + "width": 30, + "x": 90, + "y": 240, + "pixelRatio": 2, + "sdf": false + }, + "florist": { + "height": 30, + "width": 30, + "x": 120, + "y": 240, + "pixelRatio": 2, + "sdf": false + }, + "fuel": { + "height": 30, + "width": 30, + "x": 150, + "y": 240, + "pixelRatio": 2, + "sdf": false + }, + "furniture": { + "height": 30, + "width": 30, + "x": 180, + "y": 240, + "pixelRatio": 2, + "sdf": false + }, + "gaming": { + "height": 30, + "width": 30, + "x": 210, + "y": 240, + "pixelRatio": 2, + "sdf": false + }, + "garden-centre": { + "height": 30, + "width": 30, + "x": 240, + "y": 240, + "pixelRatio": 2, + "sdf": false + }, + "garden": { + "height": 30, + "width": 30, + "x": 270, + "y": 0, + "pixelRatio": 2, + "sdf": false + }, + "gate": { + "height": 30, + "width": 30, + "x": 270, + "y": 30, + "pixelRatio": 2, + "sdf": false + }, + "gift": { + "height": 30, + "width": 30, + "x": 270, + "y": 60, + "pixelRatio": 2, + "sdf": false + }, + "globe": { + "height": 30, + "width": 30, + "x": 270, + "y": 90, + "pixelRatio": 2, + "sdf": false + }, + "golf": { + "height": 30, + "width": 30, + "x": 270, + "y": 120, + "pixelRatio": 2, + "sdf": false + }, + "grocery": { + "height": 30, + "width": 30, + "x": 270, + "y": 150, + "pixelRatio": 2, + "sdf": false + }, + "hairdresser": { + "height": 30, + "width": 30, + "x": 270, + "y": 180, + "pixelRatio": 2, + "sdf": false + }, + "harbor": { + "height": 30, + "width": 30, + "x": 270, + "y": 210, + "pixelRatio": 2, + "sdf": false + }, + "hardware": { + "height": 30, + "width": 30, + "x": 270, + "y": 240, + "pixelRatio": 2, + "sdf": false + }, + "heart": { + "height": 30, + "width": 30, + "x": 0, + "y": 270, + "pixelRatio": 2, + "sdf": false + }, + "heliport": { + "height": 30, + "width": 30, + "x": 30, + "y": 270, + "pixelRatio": 2, + "sdf": false + }, + "highway-rest-area": { + "height": 30, + "width": 30, + "x": 60, + "y": 270, + "pixelRatio": 2, + "sdf": false + }, + "historic": { + "height": 30, + "width": 30, + "x": 90, + "y": 270, + "pixelRatio": 2, + "sdf": false + }, + "home": { + "height": 30, + "width": 30, + "x": 120, + "y": 270, + "pixelRatio": 2, + "sdf": false + }, + "horse-riding": { + "height": 30, + "width": 30, + "x": 150, + "y": 270, + "pixelRatio": 2, + "sdf": false + }, + "hospital-JP": { + "height": 30, + "width": 30, + "x": 180, + "y": 270, + "pixelRatio": 2, + "sdf": false + }, + "hospital": { + "height": 30, + "width": 30, + "x": 210, + "y": 270, + "pixelRatio": 2, + "sdf": false + }, + "hot-spring": { + "height": 30, + "width": 30, + "x": 240, + "y": 270, + "pixelRatio": 2, + "sdf": false + }, + "ice-cream": { + "height": 30, + "width": 30, + "x": 270, + "y": 270, + "pixelRatio": 2, + "sdf": false + }, + "industry": { + "height": 30, + "width": 30, + "x": 300, + "y": 0, + "pixelRatio": 2, + "sdf": false + }, + "information": { + "height": 30, + "width": 30, + "x": 300, + "y": 30, + "pixelRatio": 2, + "sdf": false + }, + "jewelry-store": { + "height": 30, + "width": 30, + "x": 300, + "y": 60, + "pixelRatio": 2, + "sdf": false + }, + "karaoke": { + "height": 30, + "width": 30, + "x": 300, + "y": 90, + "pixelRatio": 2, + "sdf": false + }, + "landmark-JP": { + "height": 30, + "width": 30, + "x": 300, + "y": 120, + "pixelRatio": 2, + "sdf": false + }, + "landmark": { + "height": 30, + "width": 30, + "x": 300, + "y": 150, + "pixelRatio": 2, + "sdf": false + }, + "landuse": { + "height": 30, + "width": 30, + "x": 300, + "y": 180, + "pixelRatio": 2, + "sdf": false + }, + "laundry": { + "height": 30, + "width": 30, + "x": 300, + "y": 210, + "pixelRatio": 2, + "sdf": false + }, + "library": { + "height": 30, + "width": 30, + "x": 300, + "y": 240, + "pixelRatio": 2, + "sdf": false + }, + "lift-gate": { + "height": 30, + "width": 30, + "x": 300, + "y": 270, + "pixelRatio": 2, + "sdf": false + }, + "lighthouse-JP": { + "height": 30, + "width": 30, + "x": 0, + "y": 300, + "pixelRatio": 2, + "sdf": false + }, + "lighthouse": { + "height": 30, + "width": 30, + "x": 30, + "y": 300, + "pixelRatio": 2, + "sdf": false + }, + "lodging": { + "height": 30, + "width": 30, + "x": 60, + "y": 300, + "pixelRatio": 2, + "sdf": false + }, + "logging": { + "height": 30, + "width": 30, + "x": 90, + "y": 300, + "pixelRatio": 2, + "sdf": false + }, + "marker-stroked": { + "height": 30, + "width": 30, + "x": 120, + "y": 300, + "pixelRatio": 2, + "sdf": false + }, + "marker": { + "height": 30, + "width": 30, + "x": 150, + "y": 300, + "pixelRatio": 2, + "sdf": false + }, + "mobile-phone": { + "height": 30, + "width": 30, + "x": 180, + "y": 300, + "pixelRatio": 2, + "sdf": false + }, + "monument-JP": { + "height": 30, + "width": 30, + "x": 210, + "y": 300, + "pixelRatio": 2, + "sdf": false + }, + "monument": { + "height": 30, + "width": 30, + "x": 240, + "y": 300, + "pixelRatio": 2, + "sdf": false + }, + "mountain": { + "height": 30, + "width": 30, + "x": 270, + "y": 300, + "pixelRatio": 2, + "sdf": false + }, + "museum": { + "height": 30, + "width": 30, + "x": 300, + "y": 300, + "pixelRatio": 2, + "sdf": false + }, + "music": { + "height": 30, + "width": 30, + "x": 330, + "y": 0, + "pixelRatio": 2, + "sdf": false + }, + "natural": { + "height": 30, + "width": 30, + "x": 330, + "y": 30, + "pixelRatio": 2, + "sdf": false + }, + "observation-tower": { + "height": 30, + "width": 30, + "x": 330, + "y": 60, + "pixelRatio": 2, + "sdf": false + }, + "optician": { + "height": 30, + "width": 30, + "x": 330, + "y": 90, + "pixelRatio": 2, + "sdf": false + }, + "paint": { + "height": 30, + "width": 30, + "x": 330, + "y": 120, + "pixelRatio": 2, + "sdf": false + }, + "park-alt1": { + "height": 30, + "width": 30, + "x": 330, + "y": 150, + "pixelRatio": 2, + "sdf": false + }, + "park": { + "height": 30, + "width": 30, + "x": 330, + "y": 180, + "pixelRatio": 2, + "sdf": false + }, + "parking-garage": { + "height": 30, + "width": 30, + "x": 330, + "y": 210, + "pixelRatio": 2, + "sdf": false + }, + "parking-paid": { + "height": 30, + "width": 30, + "x": 330, + "y": 240, + "pixelRatio": 2, + "sdf": false + }, + "parking": { + "height": 30, + "width": 30, + "x": 330, + "y": 270, + "pixelRatio": 2, + "sdf": false + }, + "pharmacy": { + "height": 30, + "width": 30, + "x": 330, + "y": 300, + "pixelRatio": 2, + "sdf": false + }, + "picnic-site": { + "height": 30, + "width": 30, + "x": 0, + "y": 330, + "pixelRatio": 2, + "sdf": false + }, + "pitch": { + "height": 30, + "width": 30, + "x": 30, + "y": 330, + "pixelRatio": 2, + "sdf": false + }, + "place-of-worship": { + "height": 30, + "width": 30, + "x": 60, + "y": 330, + "pixelRatio": 2, + "sdf": false + }, + "playground": { + "height": 30, + "width": 30, + "x": 90, + "y": 330, + "pixelRatio": 2, + "sdf": false + }, + "police-JP": { + "height": 30, + "width": 30, + "x": 120, + "y": 330, + "pixelRatio": 2, + "sdf": false + }, + "police": { + "height": 30, + "width": 30, + "x": 150, + "y": 330, + "pixelRatio": 2, + "sdf": false + }, + "post-JP": { + "height": 30, + "width": 30, + "x": 180, + "y": 330, + "pixelRatio": 2, + "sdf": false + }, + "post": { + "height": 30, + "width": 30, + "x": 210, + "y": 330, + "pixelRatio": 2, + "sdf": false + }, + "prison": { + "height": 30, + "width": 30, + "x": 240, + "y": 330, + "pixelRatio": 2, + "sdf": false + }, + "racetrack-boat": { + "height": 30, + "width": 30, + "x": 270, + "y": 330, + "pixelRatio": 2, + "sdf": false + }, + "racetrack-cycling": { + "height": 30, + "width": 30, + "x": 300, + "y": 330, + "pixelRatio": 2, + "sdf": false + }, + "racetrack-horse": { + "height": 30, + "width": 30, + "x": 330, + "y": 330, + "pixelRatio": 2, + "sdf": false + }, + "racetrack": { + "height": 30, + "width": 30, + "x": 360, + "y": 0, + "pixelRatio": 2, + "sdf": false + }, + "rail-light": { + "height": 30, + "width": 30, + "x": 360, + "y": 30, + "pixelRatio": 2, + "sdf": false + }, + "rail-metro": { + "height": 30, + "width": 30, + "x": 360, + "y": 60, + "pixelRatio": 2, + "sdf": false + }, + "rail": { + "height": 30, + "width": 30, + "x": 360, + "y": 90, + "pixelRatio": 2, + "sdf": false + }, + "ranger-station": { + "height": 30, + "width": 30, + "x": 360, + "y": 120, + "pixelRatio": 2, + "sdf": false + }, + "recycling": { + "height": 30, + "width": 30, + "x": 360, + "y": 150, + "pixelRatio": 2, + "sdf": false + }, + "religious-buddhist": { + "height": 30, + "width": 30, + "x": 360, + "y": 180, + "pixelRatio": 2, + "sdf": false + }, + "religious-christian": { + "height": 30, + "width": 30, + "x": 360, + "y": 210, + "pixelRatio": 2, + "sdf": false + }, + "religious-jewish": { + "height": 30, + "width": 30, + "x": 360, + "y": 240, + "pixelRatio": 2, + "sdf": false + }, + "religious-muslim": { + "height": 30, + "width": 30, + "x": 360, + "y": 270, + "pixelRatio": 2, + "sdf": false + }, + "religious-shinto": { + "height": 30, + "width": 30, + "x": 360, + "y": 300, + "pixelRatio": 2, + "sdf": false + }, + "residential-community": { + "height": 30, + "width": 30, + "x": 360, + "y": 330, + "pixelRatio": 2, + "sdf": false + }, + "restaurant-bbq": { + "height": 30, + "width": 30, + "x": 0, + "y": 360, + "pixelRatio": 2, + "sdf": false + }, + "restaurant-noodle": { + "height": 30, + "width": 30, + "x": 30, + "y": 360, + "pixelRatio": 2, + "sdf": false + }, + "restaurant-pizza": { + "height": 30, + "width": 30, + "x": 60, + "y": 360, + "pixelRatio": 2, + "sdf": false + }, + "restaurant-seafood": { + "height": 30, + "width": 30, + "x": 90, + "y": 360, + "pixelRatio": 2, + "sdf": false + }, + "restaurant-sushi": { + "height": 30, + "width": 30, + "x": 120, + "y": 360, + "pixelRatio": 2, + "sdf": false + }, + "restaurant": { + "height": 30, + "width": 30, + "x": 150, + "y": 360, + "pixelRatio": 2, + "sdf": false + }, + "road-accident": { + "height": 30, + "width": 30, + "x": 180, + "y": 360, + "pixelRatio": 2, + "sdf": false + }, + "roadblock": { + "height": 30, + "width": 30, + "x": 210, + "y": 360, + "pixelRatio": 2, + "sdf": false + }, + "rocket": { + "height": 30, + "width": 30, + "x": 240, + "y": 360, + "pixelRatio": 2, + "sdf": false + }, + "school-JP": { + "height": 30, + "width": 30, + "x": 270, + "y": 360, + "pixelRatio": 2, + "sdf": false + }, + "school": { + "height": 30, + "width": 30, + "x": 300, + "y": 360, + "pixelRatio": 2, + "sdf": false + }, + "scooter": { + "height": 30, + "width": 30, + "x": 330, + "y": 360, + "pixelRatio": 2, + "sdf": false + }, + "shelter": { + "height": 30, + "width": 30, + "x": 360, + "y": 360, + "pixelRatio": 2, + "sdf": false + }, + "shoe": { + "height": 30, + "width": 30, + "x": 390, + "y": 0, + "pixelRatio": 2, + "sdf": false + }, + "shop": { + "height": 30, + "width": 30, + "x": 390, + "y": 30, + "pixelRatio": 2, + "sdf": false + }, + "skateboard": { + "height": 30, + "width": 30, + "x": 390, + "y": 60, + "pixelRatio": 2, + "sdf": false + }, + "skiing": { + "height": 30, + "width": 30, + "x": 390, + "y": 90, + "pixelRatio": 2, + "sdf": false + }, + "slaughterhouse": { + "height": 30, + "width": 30, + "x": 390, + "y": 120, + "pixelRatio": 2, + "sdf": false + }, + "slipway": { + "height": 30, + "width": 30, + "x": 390, + "y": 150, + "pixelRatio": 2, + "sdf": false + }, + "snowmobile": { + "height": 30, + "width": 30, + "x": 390, + "y": 180, + "pixelRatio": 2, + "sdf": false + }, + "soccer": { + "height": 30, + "width": 30, + "x": 390, + "y": 210, + "pixelRatio": 2, + "sdf": false + }, + "square-stroked": { + "height": 30, + "width": 30, + "x": 390, + "y": 240, + "pixelRatio": 2, + "sdf": false + }, + "square": { + "height": 30, + "width": 30, + "x": 390, + "y": 270, + "pixelRatio": 2, + "sdf": false + }, + "stadium": { + "height": 30, + "width": 30, + "x": 390, + "y": 300, + "pixelRatio": 2, + "sdf": false + }, + "star-stroked": { + "height": 30, + "width": 30, + "x": 390, + "y": 330, + "pixelRatio": 2, + "sdf": false + }, + "star": { + "height": 30, + "width": 30, + "x": 390, + "y": 360, + "pixelRatio": 2, + "sdf": false + }, + "suitcase": { + "height": 30, + "width": 30, + "x": 0, + "y": 390, + "pixelRatio": 2, + "sdf": false + }, + "swimming": { + "height": 30, + "width": 30, + "x": 30, + "y": 390, + "pixelRatio": 2, + "sdf": false + }, + "table-tennis": { + "height": 30, + "width": 30, + "x": 60, + "y": 390, + "pixelRatio": 2, + "sdf": false + }, + "teahouse": { + "height": 30, + "width": 30, + "x": 90, + "y": 390, + "pixelRatio": 2, + "sdf": false + }, + "telephone": { + "height": 30, + "width": 30, + "x": 120, + "y": 390, + "pixelRatio": 2, + "sdf": false + }, + "tennis": { + "height": 30, + "width": 30, + "x": 150, + "y": 390, + "pixelRatio": 2, + "sdf": false + }, + "theatre": { + "height": 30, + "width": 30, + "x": 180, + "y": 390, + "pixelRatio": 2, + "sdf": false + }, + "toilet": { + "height": 30, + "width": 30, + "x": 210, + "y": 390, + "pixelRatio": 2, + "sdf": false + }, + "toll": { + "height": 30, + "width": 30, + "x": 240, + "y": 390, + "pixelRatio": 2, + "sdf": false + }, + "town-hall": { + "height": 30, + "width": 30, + "x": 270, + "y": 390, + "pixelRatio": 2, + "sdf": false + }, + "town": { + "height": 30, + "width": 30, + "x": 300, + "y": 390, + "pixelRatio": 2, + "sdf": false + }, + "triangle-stroked": { + "height": 30, + "width": 30, + "x": 330, + "y": 390, + "pixelRatio": 2, + "sdf": false + }, + "triangle": { + "height": 30, + "width": 30, + "x": 360, + "y": 390, + "pixelRatio": 2, + "sdf": false + }, + "tunnel": { + "height": 30, + "width": 30, + "x": 390, + "y": 390, + "pixelRatio": 2, + "sdf": false + }, + "veterinary": { + "height": 30, + "width": 30, + "x": 420, + "y": 0, + "pixelRatio": 2, + "sdf": false + }, + "viewpoint": { + "height": 30, + "width": 30, + "x": 420, + "y": 30, + "pixelRatio": 2, + "sdf": false + }, + "village": { + "height": 30, + "width": 30, + "x": 420, + "y": 60, + "pixelRatio": 2, + "sdf": false + }, + "volcano": { + "height": 30, + "width": 30, + "x": 420, + "y": 90, + "pixelRatio": 2, + "sdf": false + }, + "volleyball": { + "height": 30, + "width": 30, + "x": 420, + "y": 120, + "pixelRatio": 2, + "sdf": false + }, + "warehouse": { + "height": 30, + "width": 30, + "x": 420, + "y": 150, + "pixelRatio": 2, + "sdf": false + }, + "waste-basket": { + "height": 30, + "width": 30, + "x": 420, + "y": 180, + "pixelRatio": 2, + "sdf": false + }, + "watch": { + "height": 30, + "width": 30, + "x": 420, + "y": 210, + "pixelRatio": 2, + "sdf": false + }, + "water": { + "height": 30, + "width": 30, + "x": 420, + "y": 240, + "pixelRatio": 2, + "sdf": false + }, + "waterfall": { + "height": 30, + "width": 30, + "x": 420, + "y": 270, + "pixelRatio": 2, + "sdf": false + }, + "watermill": { + "height": 30, + "width": 30, + "x": 420, + "y": 300, + "pixelRatio": 2, + "sdf": false + }, + "wetland": { + "height": 30, + "width": 30, + "x": 420, + "y": 330, + "pixelRatio": 2, + "sdf": false + }, + "wheelchair": { + "height": 30, + "width": 30, + "x": 420, + "y": 360, + "pixelRatio": 2, + "sdf": false + }, + "windmill": { + "height": 30, + "width": 30, + "x": 420, + "y": 390, + "pixelRatio": 2, + "sdf": false + }, + "zoo": { + "height": 30, + "width": 30, + "x": 0, + "y": 420, + "pixelRatio": 2, + "sdf": false + } +} \ No newline at end of file diff --git a/tests/fixtures/test6.json b/tests/fixtures/test6.json new file mode 100644 index 0000000..f15ad8d --- /dev/null +++ b/tests/fixtures/test6.json @@ -0,0 +1,10 @@ +{ + "airport": { + "height": 21, + "width": 21, + "x": 0, + "y": 0, + "pixelRatio": 1, + "sdf": true + } +} diff --git a/tests/fixtures/test6.png b/tests/fixtures/test6.png new file mode 100644 index 0000000000000000000000000000000000000000..ada1b5d3fbfd47fda446ac8e79e3a3a949d616fa GIT binary patch literal 694 zcmV;n0!jUeP)dnBZgU+ zLPc03wg=J=6OA4uA{Hb>5Bwu~e|JB{-B5J!;&8uy&u90ZdvV@iC(wTbLKJs2HmP2&zMQp$=3yTya0%UrV@zYW>J{qCTP<)sw&DbsrL=rzW4ys_-WX;}pWH zgr37`1W}3u%CS6m5XVsEycb|^_zK!^YlYCexQVN1&<#{6$MW1s)Z?=5z~1mZO@5Bo zzR(H0#S1*aeSPr_&97IUJFBoB^y4XB;ypg$8y2vHUzo)gr1XW)G_OZFmgg?wHb#)Z z2Ykgmeq&L0xunsq|KNwd@T2C9D97^BzZBcpwhw1?C)PZT&w6D4nog)bt-e{!8&ggs zJJcT8_Tnpy>e1q=FKCRbKB~TP)iXlRqXUn$HV@FNM~SMQ&~hYn9o64^)!(mrhw@yt z(yvLg-lWxR%h)f--uRrxnCcPrHT&j9l$YM{mCieTLMqz6YeYNx@CM&C_Nm^ezG~mx zO69qoD8^xwsj*d$H=wmjDKw?)0sXyI{bib8ti1HmwFw0{;k;i+7l!c;lUmO?jgzVm ztFJ-x3Y7EzD71sX4w9hD+znIC+qX%rXHwTwF7s^%H9z2dpWGGh)Hd`G9^;|LA=Q_= z(_DY(M&xI$sZFp0xzl-vON+)%)w{CRG+#LxA3G0=^sQmtfw4oP&UwdNov#1=Ev)_` c=lg&47u-X}yHIR;j{pDw07*qoM6N<$f^(2oasU7T literal 0 HcmV?d00001 diff --git a/tests/fixtures/test6@2x.json b/tests/fixtures/test6@2x.json new file mode 100644 index 0000000..59119c5 --- /dev/null +++ b/tests/fixtures/test6@2x.json @@ -0,0 +1,10 @@ +{ + "airport": { + "height": 36, + "pixelRatio": 2, + "sdf": true, + "width": 36, + "x": 0, + "y": 0 + } +} \ No newline at end of file diff --git a/tests/fixtures/test6@2x.png b/tests/fixtures/test6@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..12f8e812b49117f1e62e275bf2fb5d2cd50b51ac GIT binary patch literal 829 zcmV-D1H$}?P)TRTY>Batt&wCK4U#d& z3_}u4e4n28ntR5b<&Jx=(!BNg=hWPOXU^}u=Q&3ta;rQVpdv6zodIEFafbK=~wu&>H! zg@KrcRXB+2NJOfW=#GVb)kFsj7wgDooW&z#;HQ(}j)ip}u9!`D)*!4~Ynaa_O+B;YyT<`Bl`kCj_Fdt->$u%)jq zv#><08#*WN61ybla8>NmJjENaOY}XLAf7;4PJLDJFJ~L^mUE0`m2(kRV1w8Mco=8I z2KBpmjMw;pZ}|w}2~<(C%BjP+e>q2qx12ih`O2w-`e|IkZLwaw#Cv=VGK43PUJ_q9 z^}Wfzob$w6&i&#o=R>@}JACRyqbauzs{zGp8JZ#l1sx14Dbd^rmo$p0A=%5sJzP)=KVDEx3I_(}5E z7(*E-(_Pxn?lPx{^-kYNpSk~jg5><@$S7za|FhK(1$xK568m8AL~J|I--;KzDRi$o zFSc);5c}GZ7T|Z&atoB-v%Q0xVmE^BPx>L@l>0q>ZPxET+r_pJ-PsShzex=cC^b-^ zV9!?XOnsW~6x%%YnYIqA#ddbx(-w;DZ?P_9ygR|{fl__}@>@r>jKJao00000NkvXX Hu0mjfnS+gt literal 0 HcmV?d00001 diff --git a/tests/icons-sdf/airport.svg b/tests/icons-sdf/airport.svg new file mode 100644 index 0000000..3095aac --- /dev/null +++ b/tests/icons-sdf/airport.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/tests/lib/image.test.ts b/tests/lib/image.test.ts index fa7af0a..695a183 100644 --- a/tests/lib/image.test.ts +++ b/tests/lib/image.test.ts @@ -10,4 +10,25 @@ describe('test lib/image.ts', (): void => { expect(image.real_height()).toStrictEqual(15) expect(image.real_width()).toStrictEqual(15) }) + + it('works with sdf', async () => { + const image = new Image(path.join(iconsDir, 'airport.svg'), 1, 'airport') + await image.parse(true) + expect(image.real_height()).toStrictEqual(15) + expect(image.real_width()).toStrictEqual(15) + }) + + it('works with ratio', async () => { + const image = new Image(path.join(iconsDir, 'airport.svg'), 2, 'airport') + await image.parse() + expect(image.real_height()).toStrictEqual(30) + expect(image.real_width()).toStrictEqual(30) + }) + + it('works with ratio and sdf', async () => { + const image = new Image(path.join(iconsDir, 'airport.svg'), 2, 'airport') + await image.parse(true) + expect(image.real_height()).toStrictEqual(30) + expect(image.real_width()).toStrictEqual(30) + }) }) diff --git a/tests/lib/index.test.ts b/tests/lib/index.test.ts index 8b7c5d3..e70007a 100644 --- a/tests/lib/index.test.ts +++ b/tests/lib/index.test.ts @@ -7,6 +7,7 @@ import { checkFileMatchesFixture, checkIconCountInSpriteJson, checkRatioInSpriteJson, + checkJSONFileMatchesFixture, } from '../util' import { checkIconsExistInSpritesheet } from '../util/checkIconsExistsInSpritesheet' @@ -16,6 +17,7 @@ describe('test lib/index.ts', (): void => { let icons2Dir = path.join(__dirname, '../icons2') let iconsMakiDir = path.join(__dirname, '../icons-maki') // let iconsVariedDir = path.join(__dirname, '../icons-varied') + let iconsSDFDir = path.join(__dirname, '../icons-sdf') beforeAll(function () { tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'spriteone-')) @@ -37,7 +39,7 @@ describe('test lib/index.ts', (): void => { await checkRatioInSpriteJson(`${output_file_name}.json`, pixelRatios[0]) await checkIconCountInSpriteJson(`${output_file_name}.json`, 3) await checkFileMatchesFixture(`${output_file_name}.png`) - await checkFileMatchesFixture(`${output_file_name}.json`) + await checkJSONFileMatchesFixture(`${output_file_name}.json`) await checkIconsExistInSpritesheet( `${output_file_name}.json`, @@ -55,7 +57,7 @@ describe('test lib/index.ts', (): void => { await checkRatioInSpriteJson(`${output_file_name}.json`, pixelRatios[0]) await checkIconCountInSpriteJson(`${output_file_name}.json`, 3) await checkFileMatchesFixture(`${output_file_name}.png`) - await checkFileMatchesFixture(`${output_file_name}.json`) + await checkJSONFileMatchesFixture(`${output_file_name}.json`) await checkIconsExistInSpritesheet( `${output_file_name}.json`, @@ -79,7 +81,7 @@ describe('test lib/index.ts', (): void => { await checkRatioInSpriteJson(jsonName, ratio) await checkIconCountInSpriteJson(jsonName, 3) await checkFileMatchesFixture(`${name}.png`) - await checkFileMatchesFixture(jsonName) + await checkJSONFileMatchesFixture(jsonName) await checkIconsExistInSpritesheet(jsonName, `${name}.png`) } @@ -95,7 +97,7 @@ describe('test lib/index.ts', (): void => { await checkRatioInSpriteJson(`${output_file_name}.json`, pixelRatios[0]) await checkIconCountInSpriteJson(`${output_file_name}.json`, 5) await checkFileMatchesFixture(`${output_file_name}.png`) - await checkFileMatchesFixture(`${output_file_name}.json`) + await checkJSONFileMatchesFixture(`${output_file_name}.json`) await checkIconsExistInSpritesheet( `${output_file_name}.json`, @@ -116,7 +118,7 @@ describe('test lib/index.ts', (): void => { await checkRatioInSpriteJson(`${output_file_name}.json`, pixelRatios[0]) await checkIconCountInSpriteJson(`${output_file_name}.json`, 211) await checkFileMatchesFixture(`${output_file_name}.png`) - await checkFileMatchesFixture(`${output_file_name}.json`) + await checkJSONFileMatchesFixture(`${output_file_name}.json`) await checkIconsExistInSpritesheet( `${output_file_name}.json`, @@ -126,7 +128,38 @@ describe('test lib/index.ts', (): void => { await checkRatioInSpriteJson(`${output_file_name}@2x.json`, pixelRatios[1]) await checkIconCountInSpriteJson(`${output_file_name}@2x.json`, 211) await checkFileMatchesFixture(`${output_file_name}@2x.png`) - await checkFileMatchesFixture(`${output_file_name}@2x.json`) + await checkJSONFileMatchesFixture(`${output_file_name}@2x.json`) + + await checkIconsExistInSpritesheet( + `${output_file_name}@2x.json`, + `${output_file_name}@2x.png`, + ) + }) + + test('sprite works with sdf', async() => { + const output_file_name = path.join(tmpDir, './test6') + const pixelRatios = [1, 2] + await generateSprite(output_file_name, [iconsSDFDir], pixelRatios, true) + expect(fs.existsSync(`${output_file_name}.json`)).toBeTruthy() + expect(fs.existsSync(`${output_file_name}.png`)).toBeTruthy() + + expect(fs.existsSync(`${output_file_name}@2x.json`)).toBeTruthy() + expect(fs.existsSync(`${output_file_name}@2x.png`)).toBeTruthy() + + await checkRatioInSpriteJson(`${output_file_name}.json`, pixelRatios[0]) + await checkIconCountInSpriteJson(`${output_file_name}.json`, 1) + await checkFileMatchesFixture(`${output_file_name}.png`) + await checkJSONFileMatchesFixture(`${output_file_name}.json`) + + await checkIconsExistInSpritesheet( + `${output_file_name}.json`, + `${output_file_name}.png`, + ) + + await checkRatioInSpriteJson(`${output_file_name}@2x.json`, pixelRatios[1]) + await checkIconCountInSpriteJson(`${output_file_name}@2x.json`, 1) + await checkFileMatchesFixture(`${output_file_name}@2x.png`) + await checkJSONFileMatchesFixture(`${output_file_name}@2x.json`) await checkIconsExistInSpritesheet( `${output_file_name}@2x.json`, diff --git a/tests/util/checkJSONFileMatchesFixture.ts b/tests/util/checkJSONFileMatchesFixture.ts new file mode 100644 index 0000000..ff02f02 --- /dev/null +++ b/tests/util/checkJSONFileMatchesFixture.ts @@ -0,0 +1,17 @@ +import path from 'node:path' +import fs from 'node:fs' +import crypto from 'node:crypto' + +const _toJsonObject = async (filePath: string) => { + const fileBuf = await fs.promises.readFile(filePath) + return JSON.parse(fileBuf.toString()) +} + +export const checkJSONFileMatchesFixture = async (filePath: string) => { + const basename = path.basename(filePath) + const fixturePath = path.join(__dirname, '..', 'fixtures', basename) + const [fileJSON, fixtureJSON] = await Promise.all( + [filePath, fixturePath].map((x) => _toJsonObject(x)), + ) + expect(fileJSON).toEqual(fixtureJSON) +} diff --git a/tests/util/index.ts b/tests/util/index.ts index 50f87ee..e5bd8e3 100644 --- a/tests/util/index.ts +++ b/tests/util/index.ts @@ -1,3 +1,4 @@ export * from './checkRatioInSpriteJson' export * from './checkIconCountInSpriteJson' export * from './checkFileMatchesFixture' +export * from './checkJSONFileMatchesFixture' diff --git a/tsconfig.json b/tsconfig.json index f2fe17d..043dba5 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -7,7 +7,8 @@ "esModuleInterop": true, "forceConsistentCasingInFileNames": true, "strict": true, - "skipLibCheck": true + "skipLibCheck": true, + "sourceMap": true }, "exclude": ["node_modules", "dist", "tests"], "include": ["src/bin/index.ts"] diff --git a/yarn.lock b/yarn.lock index 3ccb7f4..9041239 100644 --- a/yarn.lock +++ b/yarn.lock @@ -22,7 +22,7 @@ resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.1.tgz" integrity sha512-72a9ghR0gnESIa7jBN53U32FOVCEoztyIlKaNoU05zRhEecduGK9L9c3ww7Mp06JiR+0ls0GBPFJQwwtjn9ksg== -"@babel/core@^7.11.6", "@babel/core@^7.12.3": +"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.8.0", "@babel/core@>=7.0.0-beta.0 <8": version "7.19.1" resolved "https://registry.npmjs.org/@babel/core/-/core-7.19.1.tgz" integrity sha512-1H8VgqXme4UXCRv7/Wa1bq7RVymKOzC7znjyFM8KiEzwFqcKUKYNoQef4GhdklgNvoBXyW4gYhuBNCM5o1zImw== @@ -304,6 +304,18 @@ dependencies: "@jridgewell/trace-mapping" "0.3.9" +"@img/sharp-darwin-arm64@0.33.0": + version "0.33.0" + resolved "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.0.tgz" + integrity sha512-070tEheekI1LJWTGPC9WlQEa5UoKTXzzlORBHMX4TbfUxMiL336YHR8vBEUNsjse0RJCX8dZ4ZXwT595aEF1ug== + optionalDependencies: + "@img/sharp-libvips-darwin-arm64" "1.0.0" + +"@img/sharp-libvips-darwin-arm64@1.0.0": + version "1.0.0" + resolved "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.0.0.tgz" + integrity sha512-VzYd6OwnUR81sInf3alj1wiokY50DjsHz5bvfnsFpxs5tqQxESoHtJO6xyksDs3RIkyhMWq2FufXo6GNSU9BMw== + "@istanbuljs/load-nyc-config@^1.0.0": version "1.1.0" resolved "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz" @@ -322,7 +334,7 @@ "@jest/console@^29.3.1": version "29.3.1" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.3.1.tgz#3e3f876e4e47616ea3b1464b9fbda981872e9583" + resolved "https://registry.npmjs.org/@jest/console/-/console-29.3.1.tgz" integrity sha512-IRE6GD47KwcqA09RIWrabKdHPiKDGgtAL31xDxbi/RjQMsr+lY+ppxmHwY0dUEV3qvvxZzoe5Hl0RXZJOjQNUg== dependencies: "@jest/types" "^29.3.1" @@ -334,7 +346,7 @@ "@jest/core@^29.3.1": version "29.3.1" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-29.3.1.tgz#bff00f413ff0128f4debec1099ba7dcd649774a1" + resolved "https://registry.npmjs.org/@jest/core/-/core-29.3.1.tgz" integrity sha512-0ohVjjRex985w5MmO5L3u5GR1O30DexhBSpuwx2P+9ftyqHdJXnk7IUWiP80oHMvt7ubHCJHxV0a0vlKVuZirw== dependencies: "@jest/console" "^29.3.1" @@ -368,7 +380,7 @@ "@jest/environment@^29.3.1": version "29.3.1" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.3.1.tgz#eb039f726d5fcd14698acd072ac6576d41cfcaa6" + resolved "https://registry.npmjs.org/@jest/environment/-/environment-29.3.1.tgz" integrity sha512-pMmvfOPmoa1c1QpfFW0nXYtNLpofqo4BrCIk6f2kW4JFeNlHV2t3vd+3iDLf31e2ot2Mec0uqZfmI+U0K2CFag== dependencies: "@jest/fake-timers" "^29.3.1" @@ -376,23 +388,16 @@ "@types/node" "*" jest-mock "^29.3.1" -"@jest/expect-utils@^29.0.3": - version "29.0.3" - resolved "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.0.3.tgz" - integrity sha512-i1xUkau7K/63MpdwiRqaxgZOjxYs4f0WMTGJnYwUKubsNRZSeQbLorS7+I4uXVF9KQ5r61BUPAUMZ7Lf66l64Q== - dependencies: - jest-get-type "^29.0.0" - "@jest/expect-utils@^29.3.1": version "29.3.1" - resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.3.1.tgz#531f737039e9b9e27c42449798acb5bba01935b6" + resolved "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.3.1.tgz" integrity sha512-wlrznINZI5sMjwvUoLVk617ll/UYfGIZNxmbU+Pa7wmkL4vYzhV9R2pwVqUh4NWWuLQWkI8+8mOkxs//prKQ3g== dependencies: jest-get-type "^29.2.0" "@jest/expect@^29.3.1": version "29.3.1" - resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.3.1.tgz#456385b62894349c1d196f2d183e3716d4c6a6cd" + resolved "https://registry.npmjs.org/@jest/expect/-/expect-29.3.1.tgz" integrity sha512-QivM7GlSHSsIAWzgfyP8dgeExPRZ9BIe2LsdPyEhCGkZkoyA+kGsoIzbKAfZCvvRzfZioKwPtCZIt5SaoxYCvg== dependencies: expect "^29.3.1" @@ -400,7 +405,7 @@ "@jest/fake-timers@^29.3.1": version "29.3.1" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.3.1.tgz#b140625095b60a44de820876d4c14da1aa963f67" + resolved "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.3.1.tgz" integrity sha512-iHTL/XpnDlFki9Tq0Q1GGuVeQ8BHZGIYsvCO5eN/O/oJaRzofG9Xndd9HuSDBI/0ZS79pg0iwn07OMTQ7ngF2A== dependencies: "@jest/types" "^29.3.1" @@ -412,7 +417,7 @@ "@jest/globals@^29.3.1": version "29.3.1" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-29.3.1.tgz#92be078228e82d629df40c3656d45328f134a0c6" + resolved "https://registry.npmjs.org/@jest/globals/-/globals-29.3.1.tgz" integrity sha512-cTicd134vOcwO59OPaB6AmdHQMCtWOe+/DitpTZVxWgMJ+YvXL1HNAmPyiGbSHmF/mXVBkvlm8YYtQhyHPnV6Q== dependencies: "@jest/environment" "^29.3.1" @@ -422,7 +427,7 @@ "@jest/reporters@^29.3.1": version "29.3.1" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.3.1.tgz#9a6d78c109608e677c25ddb34f907b90e07b4310" + resolved "https://registry.npmjs.org/@jest/reporters/-/reporters-29.3.1.tgz" integrity sha512-GhBu3YFuDrcAYW/UESz1JphEAbvUjaY2vShRZRoRY1mxpCMB3yGSJ4j9n0GxVlEOdCf7qjvUfBCrTUUqhVfbRA== dependencies: "@bcoe/v8-coverage" "^0.2.3" @@ -459,7 +464,7 @@ "@jest/source-map@^29.2.0": version "29.2.0" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-29.2.0.tgz#ab3420c46d42508dcc3dc1c6deee0b613c235744" + resolved "https://registry.npmjs.org/@jest/source-map/-/source-map-29.2.0.tgz" integrity sha512-1NX9/7zzI0nqa6+kgpSdKPK+WU1p+SJk3TloWZf5MzPbxri9UEeXX5bWZAPCzbQcyuAzubcdUHA7hcNznmRqWQ== dependencies: "@jridgewell/trace-mapping" "^0.3.15" @@ -468,7 +473,7 @@ "@jest/test-result@^29.3.1": version "29.3.1" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.3.1.tgz#92cd5099aa94be947560a24610aa76606de78f50" + resolved "https://registry.npmjs.org/@jest/test-result/-/test-result-29.3.1.tgz" integrity sha512-qeLa6qc0ddB0kuOZyZIhfN5q0e2htngokyTWsGriedsDhItisW7SDYZ7ceOe57Ii03sL988/03wAcBh3TChMGw== dependencies: "@jest/console" "^29.3.1" @@ -478,7 +483,7 @@ "@jest/test-sequencer@^29.3.1": version "29.3.1" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-29.3.1.tgz#fa24b3b050f7a59d48f7ef9e0b782ab65123090d" + resolved "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.3.1.tgz" integrity sha512-IqYvLbieTv20ArgKoAMyhLHNrVHJfzO6ARZAbQRlY4UGWfdDnLlZEF0BvKOMd77uIiIjSZRwq3Jb3Fa3I8+2UA== dependencies: "@jest/test-result" "^29.3.1" @@ -488,7 +493,7 @@ "@jest/transform@^29.3.1": version "29.3.1" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.3.1.tgz#1e6bd3da4af50b5c82a539b7b1f3770568d6e36d" + resolved "https://registry.npmjs.org/@jest/transform/-/transform-29.3.1.tgz" integrity sha512-8wmCFBTVGYqFNLWfcOWoVuMuKYPUBTnTMDkdvFtAYELwDOl9RGwOsvQWGPFxDJ8AWY9xM/8xCXdqmPK3+Q5Lug== dependencies: "@babel/core" "^7.11.6" @@ -507,21 +512,9 @@ slash "^3.0.0" write-file-atomic "^4.0.1" -"@jest/types@^29.0.3": - version "29.0.3" - resolved "https://registry.npmjs.org/@jest/types/-/types-29.0.3.tgz" - integrity sha512-coBJmOQvurXjN1Hh5PzF7cmsod0zLIOXpP8KD161mqNlroMhLcwpODiEzi7ZsRl5Z/AIuxpeNm8DCl43F4kz8A== - dependencies: - "@jest/schemas" "^29.0.0" - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^17.0.8" - chalk "^4.0.0" - -"@jest/types@^29.3.1": +"@jest/types@^29.0.0", "@jest/types@^29.3.1": version "29.3.1" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.3.1.tgz#7c5a80777cb13e703aeec6788d044150341147e3" + resolved "https://registry.npmjs.org/@jest/types/-/types-29.3.1.tgz" integrity sha512-d0S0jmmTpjnhCmNpApgX3jrUZgZ22ivKJRvL2lli5hpCRoNnp1f85r2/wpKfXuYu8E7Jjh1hGfhPyup1NM5AmA== dependencies: "@jest/schemas" "^29.0.0" @@ -563,14 +556,6 @@ resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz" integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== -"@jridgewell/trace-mapping@0.3.9": - version "0.3.9" - resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz" - integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== - dependencies: - "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.15", "@jridgewell/trace-mapping@^0.3.9": version "0.3.15" resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz" @@ -579,6 +564,14 @@ "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" +"@jridgewell/trace-mapping@0.3.9": + version "0.3.9" + resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz" + integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@sinclair/typebox@^0.24.1": version "0.24.42" resolved "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.42.tgz" @@ -684,20 +677,15 @@ "@types/jest@^29.2.5": version "29.2.5" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.2.5.tgz#c27f41a9d6253f288d1910d3c5f09484a56b73c0" + resolved "https://registry.npmjs.org/@types/jest/-/jest-29.2.5.tgz" integrity sha512-H2cSxkKgVmqNHXP7TC2L/WUorrZu8ZigyRywfVzv6EyBlxj39n4C00hjXYQWsbwqgElaj/CiAeSRmk5GoaKTgw== dependencies: expect "^29.0.0" pretty-format "^29.0.0" -"@types/node@*": - version "18.7.13" - resolved "https://registry.npmjs.org/@types/node/-/node-18.7.13.tgz" - integrity sha512-46yIhxSe5xEaJZXWdIBP7GU4HDTG8/eo0qd9atdiL+lFpA03y8KS+lkTN834TWJj5767GbWv4n/P6efyTFt1Dw== - -"@types/node@^18.11.18": +"@types/node@*", "@types/node@^18.11.18": version "18.11.18" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.18.tgz#8dfb97f0da23c2293e554c5a50d61ef134d7697f" + resolved "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz" integrity sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA== "@types/prettier@^2.1.5": @@ -705,12 +693,12 @@ resolved "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.0.tgz" integrity sha512-RI1L7N4JnW5gQw2spvL7Sllfuf1SaHdrZpCHiBlCXjIlufi1SMNnbu2teze3/QE67Fg2tBlH7W+mi4hVNk4p0A== -"@types/sharp@^0.31.1": - version "0.31.1" - resolved "https://registry.yarnpkg.com/@types/sharp/-/sharp-0.31.1.tgz#db768461455dbcf9ff11d69277fd70564483c4df" - integrity sha512-5nWwamN9ZFHXaYEincMSuza8nNfOof8nmO+mcI+Agx1uMUk4/pQnNIcix+9rLPXzKrm1pS34+6WRDbDV0Jn7ag== +"@types/sharp@^0.32.0": + version "0.32.0" + resolved "https://registry.npmjs.org/@types/sharp/-/sharp-0.32.0.tgz" + integrity sha512-OOi3kL+FZDnPhVzsfD37J88FNeZh6gQsGcLc95NbeURRGvmSjeXiDcyWzF2o3yh/gQAUn2uhh/e+CPCa5nwAxw== dependencies: - "@types/node" "*" + sharp "*" "@types/stack-utils@^2.0.0": version "2.0.1" @@ -790,9 +778,9 @@ argparse@^1.0.7: dependencies: sprintf-js "~1.0.2" -babel-jest@^29.3.1: +babel-jest@^29.0.0, babel-jest@^29.3.1: version "29.3.1" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.3.1.tgz#05c83e0d128cd48c453eea851482a38782249f44" + resolved "https://registry.npmjs.org/babel-jest/-/babel-jest-29.3.1.tgz" integrity sha512-aard+xnMoxgjwV70t0L6wkW/3HQQtV+O0PEimxKgzNqCJnbYmroPojdP2tqKSOAt8QAKV/uSZU8851M7B5+fcA== dependencies: "@jest/transform" "^29.3.1" @@ -816,7 +804,7 @@ babel-plugin-istanbul@^6.1.1: babel-plugin-jest-hoist@^29.2.0: version "29.2.0" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.2.0.tgz#23ee99c37390a98cfddf3ef4a78674180d823094" + resolved "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.2.0.tgz" integrity sha512-TnspP2WNiR3GLfCsUNHqeXw0RoQ2f9U5hQ5L3XFpwuO8htQmSrhh8qsB6vi5Yi8+kuynN1yjDjQsPfkebmB6ZA== dependencies: "@babel/template" "^7.3.3" @@ -844,7 +832,7 @@ babel-preset-current-node-syntax@^1.0.0: babel-preset-jest@^29.2.0: version "29.2.0" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.2.0.tgz#3048bea3a1af222e3505e4a767a974c95a7620dc" + resolved "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.2.0.tgz" integrity sha512-z9JmMJppMxNv8N7fNRHvhMg9cvIkMxQBXgFkane3yKVEvEOP+kB50lk8DFRvF9PGqbyXxlmebKWhuDORO8RgdA== dependencies: babel-plugin-jest-hoist "^29.2.0" @@ -855,25 +843,11 @@ balanced-match@^1.0.0: resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== -base64-js@^1.3.1: - version "1.5.1" - resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - bin-pack@^1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/bin-pack/-/bin-pack-1.0.2.tgz" integrity sha512-aOk0SxEon5LF9cMxQFViSKb4qccG6rs7XKyMXIb1J8f8LA2acTIWnHdT0IOTe4gYBbqgjdbuTZ5f+UP+vlh4Mw== -bl@^4.0.3: - version "4.1.0" - resolved "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz" - integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== - dependencies: - buffer "^5.5.0" - inherits "^2.0.4" - readable-stream "^3.4.0" - brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" @@ -889,7 +863,7 @@ braces@^3.0.2: dependencies: fill-range "^7.0.1" -browserslist@^4.21.3: +browserslist@^4.21.3, "browserslist@>= 4.21.0": version "4.21.4" resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz" integrity sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw== @@ -918,14 +892,6 @@ buffer-from@^1.0.0: resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== -buffer@^5.5.0: - version "5.7.1" - resolved "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz" - integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.1.13" - callsites@^3.0.0: version "3.1.0" resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" @@ -968,11 +934,6 @@ char-regex@^1.0.2: resolved "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz" integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== -chownr@^1.1.1: - version "1.1.4" - resolved "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz" - integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== - ci-info@^3.2.0: version "3.4.0" resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.4.0.tgz" @@ -1016,16 +977,16 @@ color-convert@^2.0.1: dependencies: color-name "~1.1.4" -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" - integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== - color-name@^1.0.0, color-name@~1.1.4: version "1.1.4" resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + color-string@^1.9.0: version "1.9.1" resolved "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz" @@ -1044,7 +1005,7 @@ color@^4.2.3: commander@^9.4.1: version "9.4.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-9.4.1.tgz#d1dd8f2ce6faf93147295c0df13c7c21141cfbdd" + resolved "https://registry.npmjs.org/commander/-/commander-9.4.1.tgz" integrity sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw== concat-map@0.0.1: @@ -1061,7 +1022,7 @@ convert-source-map@^1.6.0, convert-source-map@^1.7.0: convert-source-map@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" + resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz" integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== create-require@^1.1.0: @@ -1085,46 +1046,29 @@ debug@^4.1.0, debug@^4.1.1: dependencies: ms "2.1.2" -decompress-response@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz" - integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== - dependencies: - mimic-response "^3.1.0" - dedent@^0.7.0: version "0.7.0" resolved "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz" integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== -deep-extend@^0.6.0: - version "0.6.0" - resolved "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz" - integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== - deepmerge@^4.2.2: version "4.2.2" resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz" integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== -detect-libc@^2.0.0, detect-libc@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz" - integrity sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w== +detect-libc@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz" + integrity sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw== detect-newline@^3.0.0: version "3.1.0" resolved "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz" integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== -diff-sequences@^29.0.0: - version "29.0.0" - resolved "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.0.0.tgz" - integrity sha512-7Qe/zd1wxSDL4D/X/FPjOMB+ZMDt71W94KYaq05I2l0oQqgXgs7s4ftYYmV38gBSrPz2vcygxfs1xn0FT+rKNA== - diff-sequences@^29.3.1: version "29.3.1" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.3.1.tgz#104b5b95fe725932421a9c6e5b4bef84c3f2249e" + resolved "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.3.1.tgz" integrity sha512-hlM3QR272NXCi4pq+N4Kok4kOp6EsgOM3ZSpJI7Da3UAs+Ttsi8MRmB6trM/lhyzUxGfOgnpkHtgqm5Q/CTcfQ== diff@^4.0.1: @@ -1139,7 +1083,7 @@ electron-to-chromium@^1.4.251: emittery@^0.13.1: version "0.13.1" - resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.13.1.tgz#c04b8c3457490e0847ae51fced3af52d338e3dad" + resolved "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz" integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ== emoji-regex@^8.0.0: @@ -1147,13 +1091,6 @@ emoji-regex@^8.0.0: resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== -end-of-stream@^1.1.0, end-of-stream@^1.4.1: - 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== - dependencies: - once "^1.4.0" - error-ex@^1.3.1: version "1.3.2" resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" @@ -1201,25 +1138,9 @@ exit@^0.1.2: resolved "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz" integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== -expand-template@^2.0.3: - version "2.0.3" - resolved "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz" - integrity sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg== - -expect@^29.0.0: - version "29.0.3" - resolved "https://registry.npmjs.org/expect/-/expect-29.0.3.tgz" - integrity sha512-t8l5DTws3212VbmPL+tBFXhjRHLmctHB0oQbL8eUc6S7NzZtYUhycrFO9mkxA0ZUC6FAWdNi7JchJSkODtcu1Q== - dependencies: - "@jest/expect-utils" "^29.0.3" - jest-get-type "^29.0.0" - jest-matcher-utils "^29.0.3" - jest-message-util "^29.0.3" - jest-util "^29.0.3" - -expect@^29.3.1: +expect@^29.0.0, expect@^29.3.1: version "29.3.1" - resolved "https://registry.yarnpkg.com/expect/-/expect-29.3.1.tgz#92877aad3f7deefc2e3f6430dd195b92295554a6" + resolved "https://registry.npmjs.org/expect/-/expect-29.3.1.tgz" integrity sha512-gGb1yTgU30Q0O/tQq+z30KBWv24ApkMgFUpvKBkyLUBL68Wv8dHdJxTBZFl/iT8K/bqDHvUYRH6IIN3rToopPA== dependencies: "@jest/expect-utils" "^29.3.1" @@ -1228,7 +1149,7 @@ expect@^29.3.1: jest-message-util "^29.3.1" jest-util "^29.3.1" -fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.1.0: +fast-json-stable-stringify@^2.1.0, fast-json-stable-stringify@2.x: version "2.1.0" resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== @@ -1255,11 +1176,6 @@ find-up@^4.0.0, find-up@^4.1.0: locate-path "^5.0.0" path-exists "^4.0.0" -fs-constants@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz" - integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== - fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" @@ -1267,7 +1183,7 @@ fs.realpath@^1.0.0: fsevents@^2.3.2: version "2.3.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz" integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== function-bind@^1.1.1: @@ -1295,11 +1211,6 @@ get-stream@^6.0.0: resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== -github-from-package@0.0.0: - version "0.0.0" - resolved "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz" - integrity sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw== - glob@^7.1.3, glob@^7.1.4: version "7.2.3" resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" @@ -1349,11 +1260,6 @@ human-signals@^2.1.0: resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== -ieee754@^1.1.13: - version "1.2.1" - resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" - integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== - import-local@^3.0.2: version "3.1.0" resolved "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz" @@ -1375,16 +1281,11 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@^2.0.3, inherits@^2.0.4: +inherits@2: version "2.0.4" resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== -ini@~1.3.0: - version "1.3.8" - resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" - integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== - is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" @@ -1471,7 +1372,7 @@ istanbul-reports@^3.1.3: jest-changed-files@^29.2.0: version "29.2.0" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.2.0.tgz#b6598daa9803ea6a4dce7968e20ab380ddbee289" + resolved "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.2.0.tgz" integrity sha512-qPVmLLyBmvF5HJrY7krDisx6Voi8DmlV3GZYX0aFNbaQsZeoz1hfxcCMbqDGuQCxU1dJy9eYc2xscE8QrCCYaA== dependencies: execa "^5.0.0" @@ -1479,7 +1380,7 @@ jest-changed-files@^29.2.0: jest-circus@^29.3.1: version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-29.3.1.tgz#177d07c5c0beae8ef2937a67de68f1e17bbf1b4a" + resolved "https://registry.npmjs.org/jest-circus/-/jest-circus-29.3.1.tgz" integrity sha512-wpr26sEvwb3qQQbdlmei+gzp6yoSSoSL6GsLPxnuayZSMrSd5Ka7IjAvatpIernBvT2+Ic6RLTg+jSebScmasg== dependencies: "@jest/environment" "^29.3.1" @@ -1504,7 +1405,7 @@ jest-circus@^29.3.1: jest-cli@^29.3.1: version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-29.3.1.tgz#e89dff427db3b1df50cea9a393ebd8640790416d" + resolved "https://registry.npmjs.org/jest-cli/-/jest-cli-29.3.1.tgz" integrity sha512-TO/ewvwyvPOiBBuWZ0gm04z3WWP8TIK8acgPzE4IxgsLKQgb377NYGrQLc3Wl/7ndWzIH2CDNNsUjGxwLL43VQ== dependencies: "@jest/core" "^29.3.1" @@ -1522,7 +1423,7 @@ jest-cli@^29.3.1: jest-config@^29.3.1: version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.3.1.tgz#0bc3dcb0959ff8662957f1259947aedaefb7f3c6" + resolved "https://registry.npmjs.org/jest-config/-/jest-config-29.3.1.tgz" integrity sha512-y0tFHdj2WnTEhxmGUK1T7fgLen7YK4RtfvpLFBXfQkh2eMJAQq24Vx9472lvn5wg0MAO6B+iPfJfzdR9hJYalg== dependencies: "@babel/core" "^7.11.6" @@ -1548,19 +1449,9 @@ jest-config@^29.3.1: slash "^3.0.0" strip-json-comments "^3.1.1" -jest-diff@^29.0.3: - version "29.0.3" - resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-29.0.3.tgz" - integrity sha512-+X/AIF5G/vX9fWK+Db9bi9BQas7M9oBME7egU7psbn4jlszLFCu0dW63UgeE6cs/GANq4fLaT+8sGHQQ0eCUfg== - dependencies: - chalk "^4.0.0" - diff-sequences "^29.0.0" - jest-get-type "^29.0.0" - pretty-format "^29.0.3" - jest-diff@^29.3.1: version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.3.1.tgz#d8215b72fed8f1e647aed2cae6c752a89e757527" + resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-29.3.1.tgz" integrity sha512-vU8vyiO7568tmin2lA3r2DP8oRvzhvRcD4DjpXc6uGveQodyk7CKLhQlCSiwgx3g0pFaE88/KLZ0yaTWMc4Uiw== dependencies: chalk "^4.0.0" @@ -1570,14 +1461,14 @@ jest-diff@^29.3.1: jest-docblock@^29.2.0: version "29.2.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-29.2.0.tgz#307203e20b637d97cee04809efc1d43afc641e82" + resolved "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.2.0.tgz" integrity sha512-bkxUsxTgWQGbXV5IENmfiIuqZhJcyvF7tU4zJ/7ioTutdz4ToB5Yx6JOFBpgI+TphRY4lhOyCWGNH/QFQh5T6A== dependencies: detect-newline "^3.0.0" jest-each@^29.3.1: version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-29.3.1.tgz#bc375c8734f1bb96625d83d1ca03ef508379e132" + resolved "https://registry.npmjs.org/jest-each/-/jest-each-29.3.1.tgz" integrity sha512-qrZH7PmFB9rEzCSl00BWjZYuS1BSOH8lLuC0azQE9lQrAx3PWGKHTDudQiOSwIy5dGAJh7KA0ScYlCP7JxvFYA== dependencies: "@jest/types" "^29.3.1" @@ -1588,7 +1479,7 @@ jest-each@^29.3.1: jest-environment-node@^29.3.1: version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.3.1.tgz#5023b32472b3fba91db5c799a0d5624ad4803e74" + resolved "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.3.1.tgz" integrity sha512-xm2THL18Xf5sIHoU7OThBPtuH6Lerd+Y1NLYiZJlkE3hbE+7N7r8uvHIl/FkZ5ymKXJe/11SQuf3fv4v6rUMag== dependencies: "@jest/environment" "^29.3.1" @@ -1598,19 +1489,14 @@ jest-environment-node@^29.3.1: jest-mock "^29.3.1" jest-util "^29.3.1" -jest-get-type@^29.0.0: - version "29.0.0" - resolved "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.0.0.tgz" - integrity sha512-83X19z/HuLKYXYHskZlBAShO7UfLFXu/vWajw9ZNJASN32li8yHMaVGAQqxFW1RCFOkB7cubaL6FaJVQqqJLSw== - jest-get-type@^29.2.0: version "29.2.0" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.2.0.tgz#726646f927ef61d583a3b3adb1ab13f3a5036408" + resolved "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.2.0.tgz" integrity sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA== jest-haste-map@^29.3.1: version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.3.1.tgz#af83b4347f1dae5ee8c2fb57368dc0bb3e5af843" + resolved "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.3.1.tgz" integrity sha512-/FFtvoG1xjbbPXQLFef+WSU4yrc0fc0Dds6aRPBojUid7qlPqZvxdUBA03HW0fnVHXVCnCdkuoghYItKNzc/0A== dependencies: "@jest/types" "^29.3.1" @@ -1629,25 +1515,15 @@ jest-haste-map@^29.3.1: jest-leak-detector@^29.3.1: version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.3.1.tgz#95336d020170671db0ee166b75cd8ef647265518" + resolved "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.3.1.tgz" integrity sha512-3DA/VVXj4zFOPagGkuqHnSQf1GZBmmlagpguxEERO6Pla2g84Q1MaVIB3YMxgUaFIaYag8ZnTyQgiZ35YEqAQA== dependencies: jest-get-type "^29.2.0" pretty-format "^29.3.1" -jest-matcher-utils@^29.0.3: - version "29.0.3" - resolved "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.0.3.tgz" - integrity sha512-RsR1+cZ6p1hDV4GSCQTg+9qjeotQCgkaleIKLK7dm+U4V/H2bWedU3RAtLm8+mANzZ7eDV33dMar4pejd7047w== - dependencies: - chalk "^4.0.0" - jest-diff "^29.0.3" - jest-get-type "^29.0.0" - pretty-format "^29.0.3" - jest-matcher-utils@^29.3.1: version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.3.1.tgz#6e7f53512f80e817dfa148672bd2d5d04914a572" + resolved "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.3.1.tgz" integrity sha512-fkRMZUAScup3txIKfMe3AIZZmPEjWEdsPJFK3AIy5qRohWqQFg1qrmKfYXR9qEkNc7OdAu2N4KPHibEmy4HPeQ== dependencies: chalk "^4.0.0" @@ -1655,24 +1531,9 @@ jest-matcher-utils@^29.3.1: jest-get-type "^29.2.0" pretty-format "^29.3.1" -jest-message-util@^29.0.3: - version "29.0.3" - resolved "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.0.3.tgz" - integrity sha512-7T8JiUTtDfppojosORAflABfLsLKMLkBHSWkjNQrjIltGoDzNGn7wEPOSfjqYAGTYME65esQzMJxGDjuLBKdOg== - dependencies: - "@babel/code-frame" "^7.12.13" - "@jest/types" "^29.0.3" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.9" - micromatch "^4.0.4" - pretty-format "^29.0.3" - slash "^3.0.0" - stack-utils "^2.0.3" - jest-message-util@^29.3.1: version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.3.1.tgz#37bc5c468dfe5120712053dd03faf0f053bd6adb" + resolved "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.3.1.tgz" integrity sha512-lMJTbgNcDm5z+6KDxWtqOFWlGQxD6XaYwBqHR8kmpkP+WWWG90I35kdtQHY67Ay5CSuydkTBbJG+tH9JShFCyA== dependencies: "@babel/code-frame" "^7.12.13" @@ -1687,7 +1548,7 @@ jest-message-util@^29.3.1: jest-mock@^29.3.1: version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.3.1.tgz#60287d92e5010979d01f218c6b215b688e0f313e" + resolved "https://registry.npmjs.org/jest-mock/-/jest-mock-29.3.1.tgz" integrity sha512-H8/qFDtDVMFvFP4X8NuOT3XRDzOUTz+FeACjufHzsOIBAxivLqkB1PoLCaJx9iPPQ8dZThHPp/G3WRWyMgA3JA== dependencies: "@jest/types" "^29.3.1" @@ -1701,20 +1562,20 @@ jest-pnp-resolver@^1.2.2: jest-regex-util@^29.2.0: version "29.2.0" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.2.0.tgz#82ef3b587e8c303357728d0322d48bbfd2971f7b" + resolved "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.2.0.tgz" integrity sha512-6yXn0kg2JXzH30cr2NlThF+70iuO/3irbaB4mh5WyqNIvLLP+B6sFdluO1/1RJmslyh/f9osnefECflHvTbwVA== jest-resolve-dependencies@^29.3.1: version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.3.1.tgz#a6a329708a128e68d67c49f38678a4a4a914c3bf" + resolved "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.3.1.tgz" integrity sha512-Vk0cYq0byRw2WluNmNWGqPeRnZ3p3hHmjJMp2dyyZeYIfiBskwq4rpiuGFR6QGAdbj58WC7HN4hQHjf2mpvrLA== dependencies: jest-regex-util "^29.2.0" jest-snapshot "^29.3.1" -jest-resolve@^29.3.1: +jest-resolve@*, jest-resolve@^29.3.1: version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.3.1.tgz#9a4b6b65387a3141e4a40815535c7f196f1a68a7" + resolved "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.3.1.tgz" integrity sha512-amXJgH/Ng712w3Uz5gqzFBBjxV8WFLSmNjoreBGMqxgCz5cH7swmBZzgBaCIOsvb0NbpJ0vgaSFdJqMdT+rADw== dependencies: chalk "^4.0.0" @@ -1729,7 +1590,7 @@ jest-resolve@^29.3.1: jest-runner@^29.3.1: version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-29.3.1.tgz#a92a879a47dd096fea46bb1517b0a99418ee9e2d" + resolved "https://registry.npmjs.org/jest-runner/-/jest-runner-29.3.1.tgz" integrity sha512-oFvcwRNrKMtE6u9+AQPMATxFcTySyKfLhvso7Sdk/rNpbhg4g2GAGCopiInk1OP4q6gz3n6MajW4+fnHWlU3bA== dependencies: "@jest/console" "^29.3.1" @@ -1756,7 +1617,7 @@ jest-runner@^29.3.1: jest-runtime@^29.3.1: version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-29.3.1.tgz#21efccb1a66911d6d8591276a6182f520b86737a" + resolved "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.3.1.tgz" integrity sha512-jLzkIxIqXwBEOZx7wx9OO9sxoZmgT2NhmQKzHQm1xwR1kNW/dn0OjxR424VwHHf1SPN6Qwlb5pp1oGCeFTQ62A== dependencies: "@jest/environment" "^29.3.1" @@ -1784,7 +1645,7 @@ jest-runtime@^29.3.1: jest-snapshot@^29.3.1: version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.3.1.tgz#17bcef71a453adc059a18a32ccbd594b8cc4e45e" + resolved "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.3.1.tgz" integrity sha512-+3JOc+s28upYLI2OJM4PWRGK9AgpsMs/ekNryUV0yMBClT9B1DF2u2qay8YxcQd338PPYSFNb0lsar1B49sLDA== dependencies: "@babel/core" "^7.11.6" @@ -1812,21 +1673,9 @@ jest-snapshot@^29.3.1: pretty-format "^29.3.1" semver "^7.3.5" -jest-util@^29.0.0, jest-util@^29.0.3: - version "29.0.3" - resolved "https://registry.npmjs.org/jest-util/-/jest-util-29.0.3.tgz" - integrity sha512-Q0xaG3YRG8QiTC4R6fHjHQPaPpz9pJBEi0AeOE4mQh/FuWOijFjGXMMOfQEaU9i3z76cNR7FobZZUQnL6IyfdQ== - dependencies: - "@jest/types" "^29.0.3" - "@types/node" "*" - chalk "^4.0.0" - ci-info "^3.2.0" - graceful-fs "^4.2.9" - picomatch "^2.2.3" - -jest-util@^29.3.1: +jest-util@^29.0.0, jest-util@^29.3.1: version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.3.1.tgz#1dda51e378bbcb7e3bc9d8ab651445591ed373e1" + resolved "https://registry.npmjs.org/jest-util/-/jest-util-29.3.1.tgz" integrity sha512-7YOVZaiX7RJLv76ZfHt4nbNEzzTRiMW/IiOG7ZOKmTXmoGBxUDefgMAxQubu6WPVqP5zSzAdZG0FfLcC7HOIFQ== dependencies: "@jest/types" "^29.3.1" @@ -1838,7 +1687,7 @@ jest-util@^29.3.1: jest-validate@^29.3.1: version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.3.1.tgz#d56fefaa2e7d1fde3ecdc973c7f7f8f25eea704a" + resolved "https://registry.npmjs.org/jest-validate/-/jest-validate-29.3.1.tgz" integrity sha512-N9Lr3oYR2Mpzuelp1F8negJR3YE+L1ebk1rYA5qYo9TTY3f9OWdptLoNSPP9itOCBIRBqjt/S5XHlzYglLN67g== dependencies: "@jest/types" "^29.3.1" @@ -1850,7 +1699,7 @@ jest-validate@^29.3.1: jest-watcher@^29.3.1: version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.3.1.tgz#3341547e14fe3c0f79f9c3a4c62dbc3fc977fd4a" + resolved "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.3.1.tgz" integrity sha512-RspXG2BQFDsZSRKGCT/NiNa8RkQ1iKAjrO0//soTMWx/QUt+OcxMqMSBxz23PYGqUuWm2+m2mNNsmj0eIoOaFg== dependencies: "@jest/test-result" "^29.3.1" @@ -1864,7 +1713,7 @@ jest-watcher@^29.3.1: jest-worker@^29.3.1: version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.3.1.tgz#e9462161017a9bb176380d721cab022661da3d6b" + resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-29.3.1.tgz" integrity sha512-lY4AnnmsEWeiXirAIA0c9SDPbuCBq8IYuDVL8PMm0MZ2PEs2yPvRA/J64QBXuZp7CYKrDM/rmNrc9/i3KJQncw== dependencies: "@types/node" "*" @@ -1872,9 +1721,9 @@ jest-worker@^29.3.1: merge-stream "^2.0.0" supports-color "^8.0.0" -jest@^29.3.1: +jest@^29.0.0, jest@^29.3.1: version "29.3.1" - resolved "https://registry.yarnpkg.com/jest/-/jest-29.3.1.tgz#c130c0d551ae6b5459b8963747fed392ddbde122" + resolved "https://registry.npmjs.org/jest/-/jest-29.3.1.tgz" integrity sha512-6iWfL5DTT0Np6UYs/y5Niu7WIfNv/wRTtN5RSXt2DIEft3dx3zPuw/3WJQBCJfmEzvDiEKwoqMbGD9n49+qLSA== dependencies: "@jest/core" "^29.3.1" @@ -1951,7 +1800,7 @@ make-dir@^3.0.0: dependencies: semver "^6.0.0" -make-error@1.x, make-error@^1.1.1: +make-error@^1.1.1, make-error@1.x: version "1.3.6" resolved "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz" integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== @@ -1981,11 +1830,6 @@ mimic-fn@^2.1.0: resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== -mimic-response@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz" - integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== - minimatch@^3.0.4, minimatch@^3.1.1: version "3.1.2" resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" @@ -1993,43 +1837,16 @@ minimatch@^3.0.4, minimatch@^3.1.1: dependencies: brace-expansion "^1.1.7" -minimist@^1.2.0, minimist@^1.2.3: - version "1.2.6" - resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz" - integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== - -mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3: - version "0.5.3" - resolved "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz" - integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== - ms@2.1.2: version "2.1.2" resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -napi-build-utils@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz" - integrity sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg== - natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== -node-abi@^3.3.0: - version "3.24.0" - resolved "https://registry.npmjs.org/node-abi/-/node-abi-3.24.0.tgz" - integrity sha512-YPG3Co0luSu6GwOBsmIdGW6Wx0NyNDLg/hriIyDllVsNwnI6UeqaWShxC3lbH4LtEQUgoLP3XR1ndXiDAWvmRw== - dependencies: - semver "^7.3.5" - -node-addon-api@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.0.0.tgz" - integrity sha512-CvkDw2OEnme7ybCykJpVcKH+uAOLV2qLqiyla128dN9TkEWfrYmxG6C2boDe5KcNQqZF3orkqzGgOMvZ/JNekA== - node-int64@^0.4.0: version "0.4.0" resolved "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz" @@ -2052,7 +1869,7 @@ npm-run-path@^4.0.1: dependencies: path-key "^3.0.0" -once@^1.3.0, once@^1.3.1, once@^1.4.0: +once@^1.3.0: version "1.4.0" resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== @@ -2144,41 +1961,14 @@ pkg-dir@^4.2.0: dependencies: find-up "^4.0.0" -prebuild-install@^7.1.1: - version "7.1.1" - resolved "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz" - integrity sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw== - dependencies: - detect-libc "^2.0.0" - expand-template "^2.0.3" - github-from-package "0.0.0" - minimist "^1.2.3" - mkdirp-classic "^0.5.3" - napi-build-utils "^1.0.1" - node-abi "^3.3.0" - pump "^3.0.0" - rc "^1.2.7" - simple-get "^4.0.0" - tar-fs "^2.0.0" - tunnel-agent "^0.6.0" - prettier@2.8.1: version "2.8.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.1.tgz#4e1fd11c34e2421bc1da9aea9bd8127cd0a35efc" + resolved "https://registry.npmjs.org/prettier/-/prettier-2.8.1.tgz" integrity sha512-lqGoSJBQNJidqCHE80vqZJHWHRFoNYsSpP9AjFhlhi9ODCJA541svILes/+/1GM3VaL/abZi7cpFzOpdR9UPKg== -pretty-format@^29.0.0, pretty-format@^29.0.3: - version "29.0.3" - resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-29.0.3.tgz" - integrity sha512-cHudsvQr1K5vNVLbvYF/nv3Qy/F/BcEKxGuIeMiVMRHxPOO1RxXooP8g/ZrwAp7Dx+KdMZoOc7NxLHhMrP2f9Q== - dependencies: - "@jest/schemas" "^29.0.0" - ansi-styles "^5.0.0" - react-is "^18.0.0" - -pretty-format@^29.3.1: +pretty-format@^29.0.0, pretty-format@^29.3.1: version "29.3.1" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.3.1.tgz#1841cac822b02b4da8971dacb03e8a871b4722da" + resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-29.3.1.tgz" integrity sha512-FyLnmb1cYJV8biEIiRyzRFvs2lry7PPIvOqKVe1GCUEYg4YGmlx1qG9EJNMxArYm7piII4qb8UV1Pncq5dxmcg== dependencies: "@jest/schemas" "^29.0.0" @@ -2193,38 +1983,11 @@ prompts@^2.0.1: kleur "^3.0.3" sisteransi "^1.0.5" -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -rc@^1.2.7: - version "1.2.8" - resolved "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz" - integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== - dependencies: - deep-extend "^0.6.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" - react-is@^18.0.0: version "18.2.0" resolved "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz" integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== -readable-stream@^3.1.1, readable-stream@^3.4.0: - version "3.6.0" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" - integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - require-directory@^2.1.1: version "2.1.1" resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" @@ -2256,48 +2019,65 @@ resolve@^1.20.0: path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" -safe-buffer@^5.0.1, safe-buffer@~5.2.0: - version "5.2.1" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -semver@7.x, semver@^7.3.5: +semver@^6.0.0, semver@^6.3.0: + version "6.3.0" + resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +semver@^7.3.5: version "7.3.7" resolved "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz" integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== dependencies: lru-cache "^6.0.0" -semver@^6.0.0, semver@^6.3.0: - version "6.3.0" - resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== +semver@^7.5.4: + version "7.5.4" + resolved "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz" + integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== + dependencies: + lru-cache "^6.0.0" -semver@^7.3.8: - version "7.3.8" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" - integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== +semver@7.x: + version "7.3.7" + resolved "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz" + integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== dependencies: lru-cache "^6.0.0" -sharp@^0.31.3: - version "0.31.3" - resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.31.3.tgz#60227edc5c2be90e7378a210466c99aefcf32688" - integrity sha512-XcR4+FCLBFKw1bdB+GEhnUNXNXvnt0tDo4WsBsraKymuo/IAuPuCBVAL2wIkUw2r/dwFW5Q5+g66Kwl2dgDFVg== +sharp@*, sharp@^0.33.0: + version "0.33.0" + resolved "https://registry.npmjs.org/sharp/-/sharp-0.33.0.tgz" + integrity sha512-99DZKudjm/Rmz+M0/26t4DKpXyywAOJaayGS9boEn7FvgtG0RYBi46uPE2c+obcJRtA3AZa0QwJot63gJQ1F0Q== dependencies: color "^4.2.3" - detect-libc "^2.0.1" - node-addon-api "^5.0.0" - prebuild-install "^7.1.1" - semver "^7.3.8" - simple-get "^4.0.1" - tar-fs "^2.1.1" - tunnel-agent "^0.6.0" + detect-libc "^2.0.2" + semver "^7.5.4" + optionalDependencies: + "@img/sharp-darwin-arm64" "0.33.0" + "@img/sharp-darwin-x64" "0.33.0" + "@img/sharp-libvips-darwin-arm64" "1.0.0" + "@img/sharp-libvips-darwin-x64" "1.0.0" + "@img/sharp-libvips-linux-arm" "1.0.0" + "@img/sharp-libvips-linux-arm64" "1.0.0" + "@img/sharp-libvips-linux-s390x" "1.0.0" + "@img/sharp-libvips-linux-x64" "1.0.0" + "@img/sharp-libvips-linuxmusl-arm64" "1.0.0" + "@img/sharp-libvips-linuxmusl-x64" "1.0.0" + "@img/sharp-linux-arm" "0.33.0" + "@img/sharp-linux-arm64" "0.33.0" + "@img/sharp-linux-s390x" "0.33.0" + "@img/sharp-linux-x64" "0.33.0" + "@img/sharp-linuxmusl-arm64" "0.33.0" + "@img/sharp-linuxmusl-x64" "0.33.0" + "@img/sharp-wasm32" "0.33.0" + "@img/sharp-win32-ia32" "0.33.0" + "@img/sharp-win32-x64" "0.33.0" shebang-command@^2.0.0: version "2.0.0" @@ -2316,20 +2096,6 @@ signal-exit@^3.0.3, signal-exit@^3.0.7: resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== -simple-concat@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz" - integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q== - -simple-get@^4.0.0, simple-get@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz" - integrity sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA== - dependencies: - decompress-response "^6.0.0" - once "^1.3.1" - simple-concat "^1.0.0" - simple-swizzle@^0.2.2: version "0.2.2" resolved "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz" @@ -2389,13 +2155,6 @@ string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" -string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" @@ -2418,11 +2177,6 @@ strip-json-comments@^3.1.1: resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== -strip-json-comments@~2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz" - integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== - supports-color@^5.3.0: version "5.5.0" resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" @@ -2449,27 +2203,6 @@ supports-preserve-symlinks-flag@^1.0.0: resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== -tar-fs@^2.0.0, tar-fs@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz" - integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng== - dependencies: - chownr "^1.1.1" - mkdirp-classic "^0.5.2" - pump "^3.0.0" - tar-stream "^2.1.4" - -tar-stream@^2.1.4: - version "2.2.0" - resolved "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz" - integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== - dependencies: - bl "^4.0.3" - end-of-stream "^1.4.1" - fs-constants "^1.0.0" - inherits "^2.0.3" - readable-stream "^3.1.1" - test-exclude@^6.0.0: version "6.0.0" resolved "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz" @@ -2498,7 +2231,7 @@ to-regex-range@^5.0.1: ts-jest@^29.0.3: version "29.0.3" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.0.3.tgz#63ea93c5401ab73595440733cefdba31fcf9cb77" + resolved "https://registry.npmjs.org/ts-jest/-/ts-jest-29.0.3.tgz" integrity sha512-Ibygvmuyq1qp/z3yTh9QTwVVAbFdDy/+4BtIQR2sp6baF2SJU/8CKK/hhnGIDY2L90Az2jIqTwZPnN2p+BweiQ== dependencies: bs-logger "0.x" @@ -2510,7 +2243,7 @@ ts-jest@^29.0.3: semver "7.x" yargs-parser "^21.0.1" -ts-node@^10.9.1: +ts-node@^10.9.1, ts-node@>=9.0.0: version "10.9.1" resolved "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz" integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== @@ -2529,13 +2262,6 @@ ts-node@^10.9.1: v8-compile-cache-lib "^3.0.1" yn "3.1.1" -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz" - integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== - dependencies: - safe-buffer "^5.0.1" - type-detect@4.0.8: version "4.0.8" resolved "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz" @@ -2546,9 +2272,9 @@ type-fest@^0.21.3: resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz" integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== -typescript@^4.9.4: +typescript@^4.9.4, typescript@>=2.7, typescript@>=4.3: version "4.9.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.4.tgz#a2a3d2756c079abda241d75f149df9d561091e78" + resolved "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz" integrity sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg== update-browserslist-db@^1.0.9: @@ -2559,11 +2285,6 @@ update-browserslist-db@^1.0.9: escalade "^3.1.1" picocolors "^1.0.0" -util-deprecate@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" - integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== - v8-compile-cache-lib@^3.0.1: version "3.0.1" resolved "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz" From d8a57bf5dcb0d969dba54214bcaefe2ca010a047 Mon Sep 17 00:00:00 2001 From: Taro Matsuzawa Date: Sat, 2 Dec 2023 15:29:53 +0900 Subject: [PATCH 02/13] #2 add package-lock.json instead of yarn.lock because new sharp dropped support yarn 1.x now --- package-lock.json | 4493 +++++++++++++++++++++++++++++++++++++++++++++ package.json | 9 +- yarn.lock | 2374 ------------------------ 3 files changed, 4495 insertions(+), 2381 deletions(-) create mode 100644 package-lock.json delete mode 100644 yarn.lock diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..b5aa7ef --- /dev/null +++ b/package-lock.json @@ -0,0 +1,4493 @@ +{ + "name": "@unvt/sprite-one", + "version": "0.0.9", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "@unvt/sprite-one", + "version": "0.0.9", + "license": "MIT", + "dependencies": { + "bin-pack": "^1.0.2", + "commander": "^9.4.1", + "sharp": "^0.33.0" + }, + "bin": { + "sprite-one": "dist/bin/index.js" + }, + "devDependencies": { + "@types/bin-pack": "^1.0.1", + "@types/jest": "^29.2.5", + "@types/node": "^18.11.18", + "jest": "^29.3.1", + "prettier": "2.8.1", + "ts-jest": "^29.0.3", + "ts-node": "^10.9.1", + "typescript": "^4.9.4" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", + "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.23.4", + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/code-frame/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/code-frame/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@babel/code-frame/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/code-frame/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", + "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.5.tgz", + "integrity": "sha512-Cwc2XjUrG4ilcfOw4wBAK+enbdgwAcAJCfGUItPBKR7Mjw4aEfAFYrLxeRp4jWgtNIKn3n2AlBOfwwafl+42/g==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.5", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.23.5", + "@babel/parser": "^7.23.5", + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.5", + "@babel/types": "^7.23.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.5.tgz", + "integrity": "sha512-BPssCHrBD+0YrxviOa3QzpqwhNIXKEtOa2jQrm4FlmkC2apYgRnQcmPWiGZDlGxiNtltnUFolMe8497Esry+jA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.23.5", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz", + "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.9", + "@babel/helper-validator-option": "^7.22.15", + "browserslist": "^4.21.9", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "dev": true, + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", + "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", + "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", + "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.5.tgz", + "integrity": "sha512-oO7us8FzTEsG3U6ag9MfdF1iA/7Z6dz+MtFhifZk8C8o453rGJFFWUP1t+ULM9TUIAzC9uxXEiXjOiVMyd7QPg==", + "dev": true, + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.5", + "@babel/types": "^7.23.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", + "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.5.tgz", + "integrity": "sha512-hOOqoiNXrmGdFbhgCzu6GiURxUgM27Xwd/aPuu8RfHEZPBzL1Z54okAHAQjXfcQNwvrlkAmAp4SlRTZ45vlthQ==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz", + "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz", + "integrity": "sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.5.tgz", + "integrity": "sha512-czx7Xy5a6sapWWRx61m1Ke1Ra4vczu1mCTtJam5zRTBOonfdJ+S/B6HYmGYu3fJtr8GGET3si6IhgWVBhJ/m8w==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.5", + "@babel/types": "^7.23.5", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.5.tgz", + "integrity": "sha512-ON5kSOJwVO6xXVRTvOI0eOnWe7VdUcIpsovGo9U/Br4Ie4UVFQTboO2cYnDhAGU6Fp+UxSiT+pMft0SMHfuq6w==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@emnapi/runtime": { + "version": "0.44.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-0.44.0.tgz", + "integrity": "sha512-ZX/etZEZw8DR7zAB1eVQT40lNo0jeqpb6dCgOvctB6FIQ5PoXfMuNY8+ayQfu8tNQbAB8gQWSSJupR8NxeiZXw==", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@img/sharp-darwin-arm64": { + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.0.tgz", + "integrity": "sha512-070tEheekI1LJWTGPC9WlQEa5UoKTXzzlORBHMX4TbfUxMiL336YHR8vBEUNsjse0RJCX8dZ4ZXwT595aEF1ug==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "glibc": ">=2.26", + "node": "^18.17.0 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-arm64": "1.0.0" + } + }, + "node_modules/@img/sharp-darwin-x64": { + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.33.0.tgz", + "integrity": "sha512-pu/nvn152F3qbPeUkr+4e9zVvEhD3jhwzF473veQfMPkOYo9aoWXSfdZH/E6F+nYC3qvFjbxbvdDbUtEbghLqw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "glibc": ">=2.26", + "node": "^18.17.0 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-x64": "1.0.0" + } + }, + "node_modules/@img/sharp-libvips-darwin-arm64": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.0.0.tgz", + "integrity": "sha512-VzYd6OwnUR81sInf3alj1wiokY50DjsHz5bvfnsFpxs5tqQxESoHtJO6xyksDs3RIkyhMWq2FufXo6GNSU9BMw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "macos": ">=11", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-darwin-x64": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.0.0.tgz", + "integrity": "sha512-dD9OznTlHD6aovRswaPNEy8dKtSAmNo4++tO7uuR4o5VxbVAOoEQ1uSmN4iFAdQneTHws1lkTZeiXPrcCkh6IA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "macos": ">=10.13", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.0.0.tgz", + "integrity": "sha512-VwgD2eEikDJUk09Mn9Dzi1OW2OJFRQK+XlBTkUNmAWPrtj8Ly0yq05DFgu1VCMx2/DqCGQVi5A1dM9hTmxf3uw==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "glibc": ">=2.28", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm64": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.0.0.tgz", + "integrity": "sha512-xTYThiqEZEZc0PRU90yVtM3KE7lw1bKdnDQ9kCTHWbqWyHOe4NpPOtMGy27YnN51q0J5dqRrvicfPbALIOeAZA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "glibc": ">=2.26", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-s390x": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.0.0.tgz", + "integrity": "sha512-o9E46WWBC6JsBlwU4QyU9578G77HBDT1NInd+aERfxeOPbk0qBZHgoDsQmA2v9TbqJRWzoBPx1aLOhprBMgPjw==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "glibc": ">=2.28", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-x64": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.0.0.tgz", + "integrity": "sha512-naldaJy4hSVhWBgEjfdBY85CAa4UO+W1nx6a1sWStHZ7EUfNiuBTTN2KUYT5dH1+p/xij1t2QSXfCiFJoC5S/Q==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "glibc": ">=2.26", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-arm64": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.0.0.tgz", + "integrity": "sha512-OdorplCyvmSAPsoJLldtLh3nLxRrkAAAOHsGWGDYfN0kh730gifK+UZb3dWORRa6EusNqCTjfXV4GxvgJ/nPDQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "musl": ">=1.2.2", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-x64": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.0.0.tgz", + "integrity": "sha512-FW8iK6rJrg+X2jKD0Ajhjv6y74lToIBEvkZhl42nZt563FfxkCYacrXZtd+q/sRQDypQLzY5WdLkVTbJoPyqNg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "musl": ">=1.2.2", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-linux-arm": { + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.0.tgz", + "integrity": "sha512-4horD3wMFd5a0ddbDY8/dXU9CaOgHjEHALAddXgafoR5oWq5s8X61PDgsSeh4Qupsdo6ycfPPSSNBrfVQnwwrg==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "glibc": ">=2.28", + "node": "^18.17.0 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm": "1.0.0" + } + }, + "node_modules/@img/sharp-linux-arm64": { + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.33.0.tgz", + "integrity": "sha512-dcomVSrtgF70SyOr8RCOCQ8XGVThXwe71A1d8MGA+mXEVRJ/J6/TrCbBEJh9ddcEIIsrnrkolaEvYSHqVhswQw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "glibc": ">=2.26", + "node": "^18.17.0 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm64": "1.0.0" + } + }, + "node_modules/@img/sharp-linux-s390x": { + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.0.tgz", + "integrity": "sha512-TiVJbx38J2rNVfA309ffSOB+3/7wOsZYQEOlKqOUdWD/nqkjNGrX+YQGz7nzcf5oy2lC+d37+w183iNXRZNngQ==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "glibc": ">=2.28", + "node": "^18.17.0 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-s390x": "1.0.0" + } + }, + "node_modules/@img/sharp-linux-x64": { + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.33.0.tgz", + "integrity": "sha512-PaZM4Zi7/Ek71WgTdvR+KzTZpBqrQOFcPe7/8ZoPRlTYYRe43k6TWsf4GVH6XKRLMYeSp8J89RfAhBrSP4itNA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "glibc": ">=2.26", + "node": "^18.17.0 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-x64": "1.0.0" + } + }, + "node_modules/@img/sharp-linuxmusl-arm64": { + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.33.0.tgz", + "integrity": "sha512-1QLbbN0zt+32eVrg7bb1lwtvEaZwlhEsY1OrijroMkwAqlHqFj6R33Y47s2XUv7P6Ie1PwCxK/uFnNqMnkd5kg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "musl": ">=1.2.2", + "node": "^18.17.0 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-arm64": "1.0.0" + } + }, + "node_modules/@img/sharp-linuxmusl-x64": { + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.33.0.tgz", + "integrity": "sha512-CecqgB/CnkvCWFhmfN9ZhPGMLXaEBXl4o7WtA6U3Ztrlh/s7FUKX4vNxpMSYLIrWuuzjiaYdfU3+Tdqh1xaHfw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "musl": ">=1.2.2", + "node": "^18.17.0 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-x64": "1.0.0" + } + }, + "node_modules/@img/sharp-wasm32": { + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.33.0.tgz", + "integrity": "sha512-Hn4js32gUX9qkISlemZBUPuMs0k/xNJebUNl/L6djnU07B/HAA2KaxRVb3HvbU5fL242hLOcp0+tR+M8dvJUFw==", + "cpu": [ + "wasm32" + ], + "optional": true, + "dependencies": { + "@emnapi/runtime": "^0.44.0" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-ia32": { + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.33.0.tgz", + "integrity": "sha512-5HfcsCZi3l5nPRF2q3bllMVMDXBqEWI3Q8KQONfzl0TferFE5lnsIG0A1YrntMAGqvkzdW6y1Ci1A2uTvxhfzg==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-x64": { + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.0.tgz", + "integrity": "sha512-i3DtP/2ce1yKFj4OzOnOYltOEL/+dp4dc4dJXJBv6god1AFTcmkaA99H/7SwOmkCOBQkbVvA3lCGm3/5nDtf9Q==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", + "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/core": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", + "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", + "dev": true, + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/reporters": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.7.0", + "jest-config": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-resolve-dependencies": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "jest-watcher": "^29.7.0", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/environment": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", + "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", + "dev": true, + "dependencies": { + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", + "dev": true, + "dependencies": { + "expect": "^29.7.0", + "jest-snapshot": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", + "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", + "dev": true, + "dependencies": { + "jest-get-type": "^29.6.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/fake-timers": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", + "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/globals": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", + "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/types": "^29.6.3", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/reporters": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", + "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", + "dev": true, + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^6.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "dev": true, + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/source-map": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", + "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.18", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/test-result": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", + "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", + "dev": true, + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", + "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", + "dev": true, + "dependencies": { + "@jest/test-result": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/transform": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", + "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, + "node_modules/@sinonjs/commons": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", + "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", + "dev": true, + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^3.0.0" + } + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", + "dev": true + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "dev": true + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.7", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.7.tgz", + "integrity": "sha512-6Sfsq+EaaLrw4RmdFWE9Onp63TOUue71AWb4Gpa6JxzgTYtimbM086WnYTy2U67AofR++QKCo08ZP6pwx8YFHQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.4", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.4.tgz", + "integrity": "sha512-mSM/iKUk5fDDrEV/e83qY+Cr3I1+Q3qqTuEn++HAWYjEa1+NxZr6CNrcJGf2ZTnq4HoFGC3zaTPZTobCzCFukA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/bin-pack": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@types/bin-pack/-/bin-pack-1.0.3.tgz", + "integrity": "sha512-FhdqIms08QvRuPvKiBW5Xpbq5dpMtmM4sOzvqMtaudftU4hCKpV3u6TRmGwMC1l6O324uXlwlrZWZnT7tBuh/w==", + "dev": true + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", + "dev": true + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/jest": { + "version": "29.5.10", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.10.tgz", + "integrity": "sha512-tE4yxKEphEyxj9s4inideLHktW/x6DwesIwWZ9NN1FKf9zbJYsnhBoA9vrHA/IuIOKwPa5PcFBNV4lpMIOEzyQ==", + "dev": true, + "dependencies": { + "expect": "^29.0.0", + "pretty-format": "^29.0.0" + } + }, + "node_modules/@types/node": { + "version": "18.19.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.1.tgz", + "integrity": "sha512-mZJ9V11gG5Vp0Ox2oERpeFDl+JvCwK24PGy76vVY/UgBtjwJWc5rYBThFxmbnYOm9UPZNm6wEl/sxHt2SU7x9A==", + "dev": true, + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", + "dev": true + }, + "node_modules/@types/yargs": { + "version": "17.0.32", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", + "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "dev": true + }, + "node_modules/acorn": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", + "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.0.tgz", + "integrity": "sha512-FS7hV565M5l1R08MXqo8odwMTB02C2UqzB17RVgu9EyuYFBqJZ3/ZY97sQD5FewVu1UyDFc1yztUDrAwT0EypA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/babel-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", + "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", + "dev": true, + "dependencies": { + "@jest/transform": "^29.7.0", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.6.3", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", + "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", + "dev": true, + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-jest": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", + "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", + "dev": true, + "dependencies": { + "babel-plugin-jest-hoist": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/bin-pack": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bin-pack/-/bin-pack-1.0.2.tgz", + "integrity": "sha512-aOk0SxEon5LF9cMxQFViSKb4qccG6rs7XKyMXIb1J8f8LA2acTIWnHdT0IOTe4gYBbqgjdbuTZ5f+UP+vlh4Mw==" + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", + "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001541", + "electron-to-chromium": "^1.4.535", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "dev": true, + "dependencies": { + "fast-json-stable-stringify": "2.x" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001565", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001565.tgz", + "integrity": "sha512-xrE//a3O7TP0vaJ8ikzkD2c2NgcVUvsEe2IvFTntV4Yd1Z9FVzh+gW+enX96L0psrbaFMcVcH2l90xNuGDWc8w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/cjs-module-lexer": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", + "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", + "dev": true + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true, + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/collect-v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", + "dev": true + }, + "node_modules/color": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", + "dependencies": { + "color-convert": "^2.0.1", + "color-string": "^1.9.0" + }, + "engines": { + "node": ">=12.5.0" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/commander": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", + "engines": { + "node": "^12.20.0 || >=14" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "node_modules/create-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", + "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "prompts": "^2.0.1" + }, + "bin": { + "create-jest": "bin/create-jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/dedent": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", + "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", + "dev": true, + "peerDependencies": { + "babel-plugin-macros": "^3.1.0" + }, + "peerDependenciesMeta": { + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/detect-libc": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz", + "integrity": "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.601", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.601.tgz", + "integrity": "sha512-SpwUMDWe9tQu8JX5QCO1+p/hChAi9AE9UpoC3rcHVc+gdCGlbT3SGb5I1klgb952HRIyvt9wZhSz9bNBYz9swA==", + "dev": true + }, + "node_modules/emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", + "dev": true, + "dependencies": { + "@jest/expect-utils": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "dev": true, + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/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, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/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, + "engines": { + "node": ">=4" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/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, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.1.tgz", + "integrity": "sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-reports": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", + "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", + "dev": true, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", + "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", + "dev": true, + "dependencies": { + "@jest/core": "^29.7.0", + "@jest/types": "^29.6.3", + "import-local": "^3.0.2", + "jest-cli": "^29.7.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-changed-files": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", + "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", + "dev": true, + "dependencies": { + "execa": "^5.0.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-circus": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", + "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^1.0.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.7.0", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0", + "pretty-format": "^29.7.0", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-cli": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", + "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", + "dev": true, + "dependencies": { + "@jest/core": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "create-jest": "^29.7.0", + "exit": "^0.1.2", + "import-local": "^3.0.2", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "yargs": "^17.3.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-config": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", + "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-jest": "^29.7.0", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@types/node": "*", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/jest-diff": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-docblock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", + "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", + "dev": true, + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-each": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", + "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "jest-util": "^29.7.0", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-environment-node": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", + "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-get-type": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-haste-map": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", + "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-leak-detector": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", + "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", + "dev": true, + "dependencies": { + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-message-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-mock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", + "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "dev": true, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-regex-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", + "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", + "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", + "dev": true, + "dependencies": { + "jest-regex-util": "^29.6.3", + "jest-snapshot": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runner": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", + "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", + "dev": true, + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/environment": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-leak-detector": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-resolve": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-util": "^29.7.0", + "jest-watcher": "^29.7.0", + "jest-worker": "^29.7.0", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runtime": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", + "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/globals": "^29.7.0", + "@jest/source-map": "^29.6.3", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-snapshot": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", + "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "natural-compare": "^1.4.0", + "pretty-format": "^29.7.0", + "semver": "^7.5.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-snapshot/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-snapshot/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", + "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "leven": "^3.1.0", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-watcher": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", + "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", + "dev": true, + "dependencies": { + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.7.0", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "dev": true, + "dependencies": { + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "dev": true + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-dir/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/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==", + "dev": true + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true + }, + "node_modules/node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", + "dev": true + }, + "node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-locate/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/prettier": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.1.tgz", + "integrity": "sha512-lqGoSJBQNJidqCHE80vqZJHWHRFoNYsSpP9AjFhlhi9ODCJA541svILes/+/1GM3VaL/abZi7cpFzOpdR9UPKg==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pure-rand": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.4.tgz", + "integrity": "sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ] + }, + "node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve.exports": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/sharp": { + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.33.0.tgz", + "integrity": "sha512-99DZKudjm/Rmz+M0/26t4DKpXyywAOJaayGS9boEn7FvgtG0RYBi46uPE2c+obcJRtA3AZa0QwJot63gJQ1F0Q==", + "hasInstallScript": true, + "dependencies": { + "color": "^4.2.3", + "detect-libc": "^2.0.2", + "semver": "^7.5.4" + }, + "engines": { + "libvips": ">=8.15.0", + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-darwin-arm64": "0.33.0", + "@img/sharp-darwin-x64": "0.33.0", + "@img/sharp-libvips-darwin-arm64": "1.0.0", + "@img/sharp-libvips-darwin-x64": "1.0.0", + "@img/sharp-libvips-linux-arm": "1.0.0", + "@img/sharp-libvips-linux-arm64": "1.0.0", + "@img/sharp-libvips-linux-s390x": "1.0.0", + "@img/sharp-libvips-linux-x64": "1.0.0", + "@img/sharp-libvips-linuxmusl-arm64": "1.0.0", + "@img/sharp-libvips-linuxmusl-x64": "1.0.0", + "@img/sharp-linux-arm": "0.33.0", + "@img/sharp-linux-arm64": "0.33.0", + "@img/sharp-linux-s390x": "0.33.0", + "@img/sharp-linux-x64": "0.33.0", + "@img/sharp-linuxmusl-arm64": "0.33.0", + "@img/sharp-linuxmusl-x64": "0.33.0", + "@img/sharp-wasm32": "0.33.0", + "@img/sharp-win32-ia32": "0.33.0", + "@img/sharp-win32-x64": "0.33.0" + } + }, + "node_modules/sharp/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/sharp/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/sharp/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/simple-swizzle/node_modules/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==" + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/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==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/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, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/ts-jest": { + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.1.tgz", + "integrity": "sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==", + "dev": true, + "dependencies": { + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^29.0.0", + "json5": "^2.2.3", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "^7.5.3", + "yargs-parser": "^21.0.1" + }, + "bin": { + "ts-jest": "cli.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": ">=7.0.0-beta.0 <8", + "@jest/types": "^29.0.0", + "babel-jest": "^29.0.0", + "jest": "^29.0.0", + "typescript": ">=4.3 <6" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@jest/types": { + "optional": true + }, + "babel-jest": { + "optional": true + }, + "esbuild": { + "optional": true + } + } + }, + "node_modules/ts-jest/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ts-jest/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ts-jest/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/ts-node": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "dev": true, + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "optional": true + }, + "node_modules/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, + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true + }, + "node_modules/update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "dev": true + }, + "node_modules/v8-to-istanbul": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz", + "integrity": "sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^2.0.0" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/package.json b/package.json index 488eec1..7481e5a 100644 --- a/package.json +++ b/package.json @@ -24,15 +24,10 @@ "@types/bin-pack": "^1.0.1", "@types/jest": "^29.2.5", "@types/node": "^18.11.18", - "@types/sharp": "^0.32.0", "jest": "^29.3.1", "prettier": "2.8.1", "ts-jest": "^29.0.3", "ts-node": "^10.9.1", "typescript": "^4.9.4" - }, - "supportedArchitectures": [ - "x64", - "arm64" - ] -} + } +} \ No newline at end of file diff --git a/yarn.lock b/yarn.lock deleted file mode 100644 index 9041239..0000000 --- a/yarn.lock +++ /dev/null @@ -1,2374 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@ampproject/remapping@^2.1.0": - version "2.2.0" - resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz" - integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== - dependencies: - "@jridgewell/gen-mapping" "^0.1.0" - "@jridgewell/trace-mapping" "^0.3.9" - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz" - integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== - dependencies: - "@babel/highlight" "^7.18.6" - -"@babel/compat-data@^7.19.1": - version "7.19.1" - resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.1.tgz" - integrity sha512-72a9ghR0gnESIa7jBN53U32FOVCEoztyIlKaNoU05zRhEecduGK9L9c3ww7Mp06JiR+0ls0GBPFJQwwtjn9ksg== - -"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.8.0", "@babel/core@>=7.0.0-beta.0 <8": - version "7.19.1" - resolved "https://registry.npmjs.org/@babel/core/-/core-7.19.1.tgz" - integrity sha512-1H8VgqXme4UXCRv7/Wa1bq7RVymKOzC7znjyFM8KiEzwFqcKUKYNoQef4GhdklgNvoBXyW4gYhuBNCM5o1zImw== - dependencies: - "@ampproject/remapping" "^2.1.0" - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.19.0" - "@babel/helper-compilation-targets" "^7.19.1" - "@babel/helper-module-transforms" "^7.19.0" - "@babel/helpers" "^7.19.0" - "@babel/parser" "^7.19.1" - "@babel/template" "^7.18.10" - "@babel/traverse" "^7.19.1" - "@babel/types" "^7.19.0" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.1" - semver "^6.3.0" - -"@babel/generator@^7.19.0", "@babel/generator@^7.7.2": - version "7.19.0" - resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.19.0.tgz" - integrity sha512-S1ahxf1gZ2dpoiFgA+ohK9DIpz50bJ0CWs7Zlzb54Z4sG8qmdIrGrVqmy1sAtTVRb+9CU6U8VqT9L0Zj7hxHVg== - dependencies: - "@babel/types" "^7.19.0" - "@jridgewell/gen-mapping" "^0.3.2" - jsesc "^2.5.1" - -"@babel/helper-compilation-targets@^7.19.1": - version "7.19.1" - resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.1.tgz" - integrity sha512-LlLkkqhCMyz2lkQPvJNdIYU7O5YjWRgC2R4omjCTpZd8u8KMQzZvX4qce+/BluN1rcQiV7BoGUpmQ0LeHerbhg== - dependencies: - "@babel/compat-data" "^7.19.1" - "@babel/helper-validator-option" "^7.18.6" - browserslist "^4.21.3" - semver "^6.3.0" - -"@babel/helper-environment-visitor@^7.18.9": - version "7.18.9" - resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz" - integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== - -"@babel/helper-function-name@^7.19.0": - version "7.19.0" - resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz" - integrity sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w== - dependencies: - "@babel/template" "^7.18.10" - "@babel/types" "^7.19.0" - -"@babel/helper-hoist-variables@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz" - integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-module-imports@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz" - integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-module-transforms@^7.19.0": - version "7.19.0" - resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz" - integrity sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ== - dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-simple-access" "^7.18.6" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/helper-validator-identifier" "^7.18.6" - "@babel/template" "^7.18.10" - "@babel/traverse" "^7.19.0" - "@babel/types" "^7.19.0" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.8.0": - version "7.19.0" - resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz" - integrity sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw== - -"@babel/helper-simple-access@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz" - integrity sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-split-export-declaration@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz" - integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-string-parser@^7.18.10": - version "7.18.10" - resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz" - integrity sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw== - -"@babel/helper-validator-identifier@^7.18.6": - version "7.19.1" - resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz" - integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== - -"@babel/helper-validator-option@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz" - integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== - -"@babel/helpers@^7.19.0": - version "7.19.0" - resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.0.tgz" - integrity sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg== - dependencies: - "@babel/template" "^7.18.10" - "@babel/traverse" "^7.19.0" - "@babel/types" "^7.19.0" - -"@babel/highlight@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz" - integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== - dependencies: - "@babel/helper-validator-identifier" "^7.18.6" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.10", "@babel/parser@^7.19.1": - version "7.19.1" - resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.19.1.tgz" - integrity sha512-h7RCSorm1DdTVGJf3P2Mhj3kdnkmF/EiysUkzS2TdgAYqyjFdMQJbVuXOBej2SBJaXan/lIVtT6KkGbyyq753A== - -"@babel/plugin-syntax-async-generators@^7.8.4": - version "7.8.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz" - integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-bigint@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz" - integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-class-properties@^7.8.3": - version "7.12.13" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz" - integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-syntax-import-meta@^7.8.3": - version "7.10.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz" - integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-json-strings@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz" - integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-jsx@^7.7.2": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz" - integrity sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-syntax-logical-assignment-operators@^7.8.3": - version "7.10.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz" - integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz" - integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-numeric-separator@^7.8.3": - version "7.10.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz" - integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-object-rest-spread@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz" - integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-catch-binding@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz" - integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-chaining@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz" - integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-top-level-await@^7.8.3": - version "7.14.5" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz" - integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-typescript@^7.7.2": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz" - integrity sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/template@^7.18.10", "@babel/template@^7.3.3": - version "7.18.10" - resolved "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz" - integrity sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA== - dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/parser" "^7.18.10" - "@babel/types" "^7.18.10" - -"@babel/traverse@^7.19.0", "@babel/traverse@^7.19.1", "@babel/traverse@^7.7.2": - version "7.19.1" - resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.1.tgz" - integrity sha512-0j/ZfZMxKukDaag2PtOPDbwuELqIar6lLskVPPJDjXMXjfLb1Obo/1yjxIGqqAJrmfaTIY3z2wFLAQ7qSkLsuA== - dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.19.0" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.19.0" - "@babel/helper-hoist-variables" "^7.18.6" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/parser" "^7.19.1" - "@babel/types" "^7.19.0" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/types@^7.0.0", "@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.19.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3": - version "7.19.0" - resolved "https://registry.npmjs.org/@babel/types/-/types-7.19.0.tgz" - integrity sha512-YuGopBq3ke25BVSiS6fgF49Ul9gH1x70Bcr6bqRLjWCkcX8Hre1/5+z+IiWOIerRMSSEfGZVB9z9kyq7wVs9YA== - dependencies: - "@babel/helper-string-parser" "^7.18.10" - "@babel/helper-validator-identifier" "^7.18.6" - to-fast-properties "^2.0.0" - -"@bcoe/v8-coverage@^0.2.3": - version "0.2.3" - resolved "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz" - integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== - -"@cspotcode/source-map-support@^0.8.0": - version "0.8.1" - resolved "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz" - integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== - dependencies: - "@jridgewell/trace-mapping" "0.3.9" - -"@img/sharp-darwin-arm64@0.33.0": - version "0.33.0" - resolved "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.0.tgz" - integrity sha512-070tEheekI1LJWTGPC9WlQEa5UoKTXzzlORBHMX4TbfUxMiL336YHR8vBEUNsjse0RJCX8dZ4ZXwT595aEF1ug== - optionalDependencies: - "@img/sharp-libvips-darwin-arm64" "1.0.0" - -"@img/sharp-libvips-darwin-arm64@1.0.0": - version "1.0.0" - resolved "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.0.0.tgz" - integrity sha512-VzYd6OwnUR81sInf3alj1wiokY50DjsHz5bvfnsFpxs5tqQxESoHtJO6xyksDs3RIkyhMWq2FufXo6GNSU9BMw== - -"@istanbuljs/load-nyc-config@^1.0.0": - version "1.1.0" - resolved "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz" - integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== - dependencies: - camelcase "^5.3.1" - find-up "^4.1.0" - get-package-type "^0.1.0" - js-yaml "^3.13.1" - resolve-from "^5.0.0" - -"@istanbuljs/schema@^0.1.2": - version "0.1.3" - resolved "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz" - integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== - -"@jest/console@^29.3.1": - version "29.3.1" - resolved "https://registry.npmjs.org/@jest/console/-/console-29.3.1.tgz" - integrity sha512-IRE6GD47KwcqA09RIWrabKdHPiKDGgtAL31xDxbi/RjQMsr+lY+ppxmHwY0dUEV3qvvxZzoe5Hl0RXZJOjQNUg== - dependencies: - "@jest/types" "^29.3.1" - "@types/node" "*" - chalk "^4.0.0" - jest-message-util "^29.3.1" - jest-util "^29.3.1" - slash "^3.0.0" - -"@jest/core@^29.3.1": - version "29.3.1" - resolved "https://registry.npmjs.org/@jest/core/-/core-29.3.1.tgz" - integrity sha512-0ohVjjRex985w5MmO5L3u5GR1O30DexhBSpuwx2P+9ftyqHdJXnk7IUWiP80oHMvt7ubHCJHxV0a0vlKVuZirw== - dependencies: - "@jest/console" "^29.3.1" - "@jest/reporters" "^29.3.1" - "@jest/test-result" "^29.3.1" - "@jest/transform" "^29.3.1" - "@jest/types" "^29.3.1" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - ci-info "^3.2.0" - exit "^0.1.2" - graceful-fs "^4.2.9" - jest-changed-files "^29.2.0" - jest-config "^29.3.1" - jest-haste-map "^29.3.1" - jest-message-util "^29.3.1" - jest-regex-util "^29.2.0" - jest-resolve "^29.3.1" - jest-resolve-dependencies "^29.3.1" - jest-runner "^29.3.1" - jest-runtime "^29.3.1" - jest-snapshot "^29.3.1" - jest-util "^29.3.1" - jest-validate "^29.3.1" - jest-watcher "^29.3.1" - micromatch "^4.0.4" - pretty-format "^29.3.1" - slash "^3.0.0" - strip-ansi "^6.0.0" - -"@jest/environment@^29.3.1": - version "29.3.1" - resolved "https://registry.npmjs.org/@jest/environment/-/environment-29.3.1.tgz" - integrity sha512-pMmvfOPmoa1c1QpfFW0nXYtNLpofqo4BrCIk6f2kW4JFeNlHV2t3vd+3iDLf31e2ot2Mec0uqZfmI+U0K2CFag== - dependencies: - "@jest/fake-timers" "^29.3.1" - "@jest/types" "^29.3.1" - "@types/node" "*" - jest-mock "^29.3.1" - -"@jest/expect-utils@^29.3.1": - version "29.3.1" - resolved "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.3.1.tgz" - integrity sha512-wlrznINZI5sMjwvUoLVk617ll/UYfGIZNxmbU+Pa7wmkL4vYzhV9R2pwVqUh4NWWuLQWkI8+8mOkxs//prKQ3g== - dependencies: - jest-get-type "^29.2.0" - -"@jest/expect@^29.3.1": - version "29.3.1" - resolved "https://registry.npmjs.org/@jest/expect/-/expect-29.3.1.tgz" - integrity sha512-QivM7GlSHSsIAWzgfyP8dgeExPRZ9BIe2LsdPyEhCGkZkoyA+kGsoIzbKAfZCvvRzfZioKwPtCZIt5SaoxYCvg== - dependencies: - expect "^29.3.1" - jest-snapshot "^29.3.1" - -"@jest/fake-timers@^29.3.1": - version "29.3.1" - resolved "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.3.1.tgz" - integrity sha512-iHTL/XpnDlFki9Tq0Q1GGuVeQ8BHZGIYsvCO5eN/O/oJaRzofG9Xndd9HuSDBI/0ZS79pg0iwn07OMTQ7ngF2A== - dependencies: - "@jest/types" "^29.3.1" - "@sinonjs/fake-timers" "^9.1.2" - "@types/node" "*" - jest-message-util "^29.3.1" - jest-mock "^29.3.1" - jest-util "^29.3.1" - -"@jest/globals@^29.3.1": - version "29.3.1" - resolved "https://registry.npmjs.org/@jest/globals/-/globals-29.3.1.tgz" - integrity sha512-cTicd134vOcwO59OPaB6AmdHQMCtWOe+/DitpTZVxWgMJ+YvXL1HNAmPyiGbSHmF/mXVBkvlm8YYtQhyHPnV6Q== - dependencies: - "@jest/environment" "^29.3.1" - "@jest/expect" "^29.3.1" - "@jest/types" "^29.3.1" - jest-mock "^29.3.1" - -"@jest/reporters@^29.3.1": - version "29.3.1" - resolved "https://registry.npmjs.org/@jest/reporters/-/reporters-29.3.1.tgz" - integrity sha512-GhBu3YFuDrcAYW/UESz1JphEAbvUjaY2vShRZRoRY1mxpCMB3yGSJ4j9n0GxVlEOdCf7qjvUfBCrTUUqhVfbRA== - dependencies: - "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^29.3.1" - "@jest/test-result" "^29.3.1" - "@jest/transform" "^29.3.1" - "@jest/types" "^29.3.1" - "@jridgewell/trace-mapping" "^0.3.15" - "@types/node" "*" - chalk "^4.0.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.3" - graceful-fs "^4.2.9" - istanbul-lib-coverage "^3.0.0" - istanbul-lib-instrument "^5.1.0" - istanbul-lib-report "^3.0.0" - istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.1.3" - jest-message-util "^29.3.1" - jest-util "^29.3.1" - jest-worker "^29.3.1" - slash "^3.0.0" - string-length "^4.0.1" - strip-ansi "^6.0.0" - v8-to-istanbul "^9.0.1" - -"@jest/schemas@^29.0.0": - version "29.0.0" - resolved "https://registry.npmjs.org/@jest/schemas/-/schemas-29.0.0.tgz" - integrity sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA== - dependencies: - "@sinclair/typebox" "^0.24.1" - -"@jest/source-map@^29.2.0": - version "29.2.0" - resolved "https://registry.npmjs.org/@jest/source-map/-/source-map-29.2.0.tgz" - integrity sha512-1NX9/7zzI0nqa6+kgpSdKPK+WU1p+SJk3TloWZf5MzPbxri9UEeXX5bWZAPCzbQcyuAzubcdUHA7hcNznmRqWQ== - dependencies: - "@jridgewell/trace-mapping" "^0.3.15" - callsites "^3.0.0" - graceful-fs "^4.2.9" - -"@jest/test-result@^29.3.1": - version "29.3.1" - resolved "https://registry.npmjs.org/@jest/test-result/-/test-result-29.3.1.tgz" - integrity sha512-qeLa6qc0ddB0kuOZyZIhfN5q0e2htngokyTWsGriedsDhItisW7SDYZ7ceOe57Ii03sL988/03wAcBh3TChMGw== - dependencies: - "@jest/console" "^29.3.1" - "@jest/types" "^29.3.1" - "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" - -"@jest/test-sequencer@^29.3.1": - version "29.3.1" - resolved "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.3.1.tgz" - integrity sha512-IqYvLbieTv20ArgKoAMyhLHNrVHJfzO6ARZAbQRlY4UGWfdDnLlZEF0BvKOMd77uIiIjSZRwq3Jb3Fa3I8+2UA== - dependencies: - "@jest/test-result" "^29.3.1" - graceful-fs "^4.2.9" - jest-haste-map "^29.3.1" - slash "^3.0.0" - -"@jest/transform@^29.3.1": - version "29.3.1" - resolved "https://registry.npmjs.org/@jest/transform/-/transform-29.3.1.tgz" - integrity sha512-8wmCFBTVGYqFNLWfcOWoVuMuKYPUBTnTMDkdvFtAYELwDOl9RGwOsvQWGPFxDJ8AWY9xM/8xCXdqmPK3+Q5Lug== - dependencies: - "@babel/core" "^7.11.6" - "@jest/types" "^29.3.1" - "@jridgewell/trace-mapping" "^0.3.15" - babel-plugin-istanbul "^6.1.1" - chalk "^4.0.0" - convert-source-map "^2.0.0" - fast-json-stable-stringify "^2.1.0" - graceful-fs "^4.2.9" - jest-haste-map "^29.3.1" - jest-regex-util "^29.2.0" - jest-util "^29.3.1" - micromatch "^4.0.4" - pirates "^4.0.4" - slash "^3.0.0" - write-file-atomic "^4.0.1" - -"@jest/types@^29.0.0", "@jest/types@^29.3.1": - version "29.3.1" - resolved "https://registry.npmjs.org/@jest/types/-/types-29.3.1.tgz" - integrity sha512-d0S0jmmTpjnhCmNpApgX3jrUZgZ22ivKJRvL2lli5hpCRoNnp1f85r2/wpKfXuYu8E7Jjh1hGfhPyup1NM5AmA== - dependencies: - "@jest/schemas" "^29.0.0" - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^17.0.8" - chalk "^4.0.0" - -"@jridgewell/gen-mapping@^0.1.0": - version "0.1.1" - resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz" - integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== - dependencies: - "@jridgewell/set-array" "^1.0.0" - "@jridgewell/sourcemap-codec" "^1.4.10" - -"@jridgewell/gen-mapping@^0.3.2": - version "0.3.2" - resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz" - integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== - dependencies: - "@jridgewell/set-array" "^1.0.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.9" - -"@jridgewell/resolve-uri@^3.0.3": - version "3.1.0" - resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz" - integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== - -"@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": - version "1.1.2" - resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" - integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== - -"@jridgewell/sourcemap-codec@^1.4.10": - version "1.4.14" - resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz" - integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== - -"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.15", "@jridgewell/trace-mapping@^0.3.9": - version "0.3.15" - resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz" - integrity sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g== - dependencies: - "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/sourcemap-codec" "^1.4.10" - -"@jridgewell/trace-mapping@0.3.9": - version "0.3.9" - resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz" - integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== - dependencies: - "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/sourcemap-codec" "^1.4.10" - -"@sinclair/typebox@^0.24.1": - version "0.24.42" - resolved "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.42.tgz" - integrity sha512-d+2AtrHGyWek2u2ITF0lHRIv6Tt7X0dEHW+0rP+5aDCEjC3fiN2RBjrLD0yU0at52BcZbRGxLbAtXiR0hFCjYw== - -"@sinonjs/commons@^1.7.0": - version "1.8.3" - resolved "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz" - integrity sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ== - dependencies: - type-detect "4.0.8" - -"@sinonjs/fake-timers@^9.1.2": - version "9.1.2" - resolved "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz" - integrity sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw== - dependencies: - "@sinonjs/commons" "^1.7.0" - -"@tsconfig/node10@^1.0.7": - version "1.0.9" - resolved "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz" - integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== - -"@tsconfig/node12@^1.0.7": - version "1.0.11" - resolved "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz" - integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== - -"@tsconfig/node14@^1.0.0": - version "1.0.3" - resolved "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz" - integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== - -"@tsconfig/node16@^1.0.2": - version "1.0.3" - resolved "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz" - integrity sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ== - -"@types/babel__core@^7.1.14": - version "7.1.19" - resolved "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz" - integrity sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - "@types/babel__generator" "*" - "@types/babel__template" "*" - "@types/babel__traverse" "*" - -"@types/babel__generator@*": - version "7.6.4" - resolved "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz" - integrity sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg== - dependencies: - "@babel/types" "^7.0.0" - -"@types/babel__template@*": - version "7.4.1" - resolved "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz" - integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.18.1" - resolved "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.1.tgz" - integrity sha512-FSdLaZh2UxaMuLp9lixWaHq/golWTRWOnRsAXzDTDSDOQLuZb1nsdCt6pJSPWSEQt2eFZ2YVk3oYhn+1kLMeMA== - dependencies: - "@babel/types" "^7.3.0" - -"@types/bin-pack@^1.0.1": - version "1.0.1" - resolved "https://registry.npmjs.org/@types/bin-pack/-/bin-pack-1.0.1.tgz" - integrity sha512-f7FM9X/h0MHUORA1DnTHroiNn6/CZXyxP++mwrc6ZuhuAJzcrg7MQA77htmkGraelwgizcYgwPe9/7tLYGRm+A== - -"@types/graceful-fs@^4.1.3": - version "4.1.5" - resolved "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz" - integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw== - dependencies: - "@types/node" "*" - -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.4" - resolved "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz" - integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== - -"@types/istanbul-lib-report@*": - version "3.0.0" - resolved "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz" - integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== - dependencies: - "@types/istanbul-lib-coverage" "*" - -"@types/istanbul-reports@^3.0.0": - version "3.0.1" - resolved "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz" - integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== - dependencies: - "@types/istanbul-lib-report" "*" - -"@types/jest@^29.2.5": - version "29.2.5" - resolved "https://registry.npmjs.org/@types/jest/-/jest-29.2.5.tgz" - integrity sha512-H2cSxkKgVmqNHXP7TC2L/WUorrZu8ZigyRywfVzv6EyBlxj39n4C00hjXYQWsbwqgElaj/CiAeSRmk5GoaKTgw== - dependencies: - expect "^29.0.0" - pretty-format "^29.0.0" - -"@types/node@*", "@types/node@^18.11.18": - version "18.11.18" - resolved "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz" - integrity sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA== - -"@types/prettier@^2.1.5": - version "2.7.0" - resolved "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.0.tgz" - integrity sha512-RI1L7N4JnW5gQw2spvL7Sllfuf1SaHdrZpCHiBlCXjIlufi1SMNnbu2teze3/QE67Fg2tBlH7W+mi4hVNk4p0A== - -"@types/sharp@^0.32.0": - version "0.32.0" - resolved "https://registry.npmjs.org/@types/sharp/-/sharp-0.32.0.tgz" - integrity sha512-OOi3kL+FZDnPhVzsfD37J88FNeZh6gQsGcLc95NbeURRGvmSjeXiDcyWzF2o3yh/gQAUn2uhh/e+CPCa5nwAxw== - dependencies: - sharp "*" - -"@types/stack-utils@^2.0.0": - version "2.0.1" - resolved "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz" - integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== - -"@types/yargs-parser@*": - version "21.0.0" - resolved "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz" - integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== - -"@types/yargs@^17.0.8": - version "17.0.12" - resolved "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.12.tgz" - integrity sha512-Nz4MPhecOFArtm81gFQvQqdV7XYCrWKx5uUt6GNHredFHn1i2mtWqXTON7EPXMtNi1qjtjEM/VCHDhcHsAMLXQ== - dependencies: - "@types/yargs-parser" "*" - -acorn-walk@^8.1.1: - version "8.2.0" - resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz" - integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== - -acorn@^8.4.1: - version "8.8.0" - resolved "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz" - integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w== - -ansi-escapes@^4.2.1: - version "4.3.2" - resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz" - integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== - dependencies: - type-fest "^0.21.3" - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-styles@^3.2.1: - 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== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -ansi-styles@^5.0.0: - version "5.2.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz" - integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== - -anymatch@^3.0.3: - version "3.1.2" - resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz" - integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -arg@^4.1.0: - version "4.1.3" - resolved "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz" - integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - -babel-jest@^29.0.0, babel-jest@^29.3.1: - version "29.3.1" - resolved "https://registry.npmjs.org/babel-jest/-/babel-jest-29.3.1.tgz" - integrity sha512-aard+xnMoxgjwV70t0L6wkW/3HQQtV+O0PEimxKgzNqCJnbYmroPojdP2tqKSOAt8QAKV/uSZU8851M7B5+fcA== - dependencies: - "@jest/transform" "^29.3.1" - "@types/babel__core" "^7.1.14" - babel-plugin-istanbul "^6.1.1" - babel-preset-jest "^29.2.0" - chalk "^4.0.0" - graceful-fs "^4.2.9" - slash "^3.0.0" - -babel-plugin-istanbul@^6.1.1: - version "6.1.1" - resolved "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz" - integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@istanbuljs/load-nyc-config" "^1.0.0" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-instrument "^5.0.4" - test-exclude "^6.0.0" - -babel-plugin-jest-hoist@^29.2.0: - version "29.2.0" - resolved "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.2.0.tgz" - integrity sha512-TnspP2WNiR3GLfCsUNHqeXw0RoQ2f9U5hQ5L3XFpwuO8htQmSrhh8qsB6vi5Yi8+kuynN1yjDjQsPfkebmB6ZA== - dependencies: - "@babel/template" "^7.3.3" - "@babel/types" "^7.3.3" - "@types/babel__core" "^7.1.14" - "@types/babel__traverse" "^7.0.6" - -babel-preset-current-node-syntax@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz" - integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== - dependencies: - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-bigint" "^7.8.3" - "@babel/plugin-syntax-class-properties" "^7.8.3" - "@babel/plugin-syntax-import-meta" "^7.8.3" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.8.3" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-top-level-await" "^7.8.3" - -babel-preset-jest@^29.2.0: - version "29.2.0" - resolved "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.2.0.tgz" - integrity sha512-z9JmMJppMxNv8N7fNRHvhMg9cvIkMxQBXgFkane3yKVEvEOP+kB50lk8DFRvF9PGqbyXxlmebKWhuDORO8RgdA== - dependencies: - babel-plugin-jest-hoist "^29.2.0" - babel-preset-current-node-syntax "^1.0.0" - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -bin-pack@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/bin-pack/-/bin-pack-1.0.2.tgz" - integrity sha512-aOk0SxEon5LF9cMxQFViSKb4qccG6rs7XKyMXIb1J8f8LA2acTIWnHdT0IOTe4gYBbqgjdbuTZ5f+UP+vlh4Mw== - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -braces@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -browserslist@^4.21.3, "browserslist@>= 4.21.0": - version "4.21.4" - resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz" - integrity sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw== - dependencies: - caniuse-lite "^1.0.30001400" - electron-to-chromium "^1.4.251" - node-releases "^2.0.6" - update-browserslist-db "^1.0.9" - -bs-logger@0.x: - version "0.2.6" - resolved "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz" - integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog== - dependencies: - fast-json-stable-stringify "2.x" - -bser@2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz" - integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== - dependencies: - node-int64 "^0.4.0" - -buffer-from@^1.0.0: - version "1.1.2" - resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" - integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -camelcase@^6.2.0: - version "6.3.0" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" - integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== - -caniuse-lite@^1.0.30001400: - version "1.0.30001402" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001402.tgz" - integrity sha512-Mx4MlhXO5NwuvXGgVb+hg65HZ+bhUYsz8QtDGDo2QmaJS2GBX47Xfi2koL86lc8K+l+htXeTEB/Aeqvezoo6Ew== - -chalk@^2.0.0: - version "2.4.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^4.0.0: - version "4.1.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -char-regex@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz" - integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== - -ci-info@^3.2.0: - version "3.4.0" - resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.4.0.tgz" - integrity sha512-t5QdPT5jq3o262DOQ8zA6E1tlH2upmUc4Hlvrbx1pGYJuiiHl7O7rvVNI+l8HTVhd/q3Qc9vqimkNk5yiXsAug== - -cjs-module-lexer@^1.0.0: - version "1.2.2" - resolved "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz" - integrity sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA== - -cliui@^7.0.2: - version "7.0.4" - resolved "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz" - integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^7.0.0" - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.npmjs.org/co/-/co-4.6.0.tgz" - integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== - -collect-v8-coverage@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz" - integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@^1.0.0, color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" - integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== - -color-string@^1.9.0: - version "1.9.1" - resolved "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz" - integrity sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg== - dependencies: - color-name "^1.0.0" - simple-swizzle "^0.2.2" - -color@^4.2.3: - version "4.2.3" - resolved "https://registry.npmjs.org/color/-/color-4.2.3.tgz" - integrity sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A== - dependencies: - color-convert "^2.0.1" - color-string "^1.9.0" - -commander@^9.4.1: - version "9.4.1" - resolved "https://registry.npmjs.org/commander/-/commander-9.4.1.tgz" - integrity sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -convert-source-map@^1.6.0, convert-source-map@^1.7.0: - version "1.8.0" - resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz" - integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== - dependencies: - safe-buffer "~5.1.1" - -convert-source-map@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz" - integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== - -create-require@^1.1.0: - version "1.1.1" - resolved "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz" - integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== - -cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -debug@^4.1.0, debug@^4.1.1: - version "4.3.4" - resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - -dedent@^0.7.0: - version "0.7.0" - resolved "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz" - integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== - -deepmerge@^4.2.2: - version "4.2.2" - resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz" - integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== - -detect-libc@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz" - integrity sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw== - -detect-newline@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz" - integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== - -diff-sequences@^29.3.1: - version "29.3.1" - resolved "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.3.1.tgz" - integrity sha512-hlM3QR272NXCi4pq+N4Kok4kOp6EsgOM3ZSpJI7Da3UAs+Ttsi8MRmB6trM/lhyzUxGfOgnpkHtgqm5Q/CTcfQ== - -diff@^4.0.1: - version "4.0.2" - resolved "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz" - integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== - -electron-to-chromium@^1.4.251: - version "1.4.254" - resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.254.tgz" - integrity sha512-Sh/7YsHqQYkA6ZHuHMy24e6TE4eX6KZVsZb9E/DvU1nQRIrH4BflO/4k+83tfdYvDl+MObvlqHPRICzEdC9c6Q== - -emittery@^0.13.1: - version "0.13.1" - resolved "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz" - integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== - -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" - integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== - -escape-string-regexp@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz" - integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== - -esprima@^4.0.0: - version "4.0.1" - resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -execa@^5.0.0: - version "5.1.1" - resolved "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz" - integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== - dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.0" - human-signals "^2.1.0" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.1" - onetime "^5.1.2" - signal-exit "^3.0.3" - strip-final-newline "^2.0.0" - -exit@^0.1.2: - version "0.1.2" - resolved "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz" - integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== - -expect@^29.0.0, expect@^29.3.1: - version "29.3.1" - resolved "https://registry.npmjs.org/expect/-/expect-29.3.1.tgz" - integrity sha512-gGb1yTgU30Q0O/tQq+z30KBWv24ApkMgFUpvKBkyLUBL68Wv8dHdJxTBZFl/iT8K/bqDHvUYRH6IIN3rToopPA== - dependencies: - "@jest/expect-utils" "^29.3.1" - jest-get-type "^29.2.0" - jest-matcher-utils "^29.3.1" - jest-message-util "^29.3.1" - jest-util "^29.3.1" - -fast-json-stable-stringify@^2.1.0, fast-json-stable-stringify@2.x: - version "2.1.0" - resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fb-watchman@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz" - integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== - dependencies: - bser "2.1.1" - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -find-up@^4.0.0, find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" - integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== - -fsevents@^2.3.2: - version "2.3.2" - resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz" - integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -gensync@^1.0.0-beta.2: - version "1.0.0-beta.2" - resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" - integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== - -get-caller-file@^2.0.5: - 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-package-type@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz" - integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== - -get-stream@^6.0.0: - version "6.0.1" - resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" - integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== - -glob@^7.1.3, glob@^7.1.4: - version "7.2.3" - resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" - integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.1.1" - once "^1.3.0" - path-is-absolute "^1.0.0" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -graceful-fs@^4.2.9: - version "4.2.10" - resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz" - integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" - integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -html-escaper@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz" - integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== - -human-signals@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" - integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== - -import-local@^3.0.2: - version "3.1.0" - resolved "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz" - integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== - dependencies: - pkg-dir "^4.2.0" - resolve-cwd "^3.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" - integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" - integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2: - version "2.0.4" - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" - integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== - -is-arrayish@^0.3.1: - version "0.3.2" - resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz" - integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== - -is-core-module@^2.9.0: - version "2.10.0" - resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz" - integrity sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg== - dependencies: - has "^1.0.3" - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-generator-fn@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz" - integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-stream@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" - integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - -istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: - version "3.2.0" - resolved "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz" - integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== - -istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0: - version "5.2.0" - resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz" - integrity sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A== - dependencies: - "@babel/core" "^7.12.3" - "@babel/parser" "^7.14.7" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.2.0" - semver "^6.3.0" - -istanbul-lib-report@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz" - integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== - dependencies: - istanbul-lib-coverage "^3.0.0" - make-dir "^3.0.0" - supports-color "^7.1.0" - -istanbul-lib-source-maps@^4.0.0: - version "4.0.1" - resolved "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz" - integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^3.0.0" - source-map "^0.6.1" - -istanbul-reports@^3.1.3: - version "3.1.5" - resolved "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz" - integrity sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w== - dependencies: - html-escaper "^2.0.0" - istanbul-lib-report "^3.0.0" - -jest-changed-files@^29.2.0: - version "29.2.0" - resolved "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.2.0.tgz" - integrity sha512-qPVmLLyBmvF5HJrY7krDisx6Voi8DmlV3GZYX0aFNbaQsZeoz1hfxcCMbqDGuQCxU1dJy9eYc2xscE8QrCCYaA== - dependencies: - execa "^5.0.0" - p-limit "^3.1.0" - -jest-circus@^29.3.1: - version "29.3.1" - resolved "https://registry.npmjs.org/jest-circus/-/jest-circus-29.3.1.tgz" - integrity sha512-wpr26sEvwb3qQQbdlmei+gzp6yoSSoSL6GsLPxnuayZSMrSd5Ka7IjAvatpIernBvT2+Ic6RLTg+jSebScmasg== - dependencies: - "@jest/environment" "^29.3.1" - "@jest/expect" "^29.3.1" - "@jest/test-result" "^29.3.1" - "@jest/types" "^29.3.1" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - dedent "^0.7.0" - is-generator-fn "^2.0.0" - jest-each "^29.3.1" - jest-matcher-utils "^29.3.1" - jest-message-util "^29.3.1" - jest-runtime "^29.3.1" - jest-snapshot "^29.3.1" - jest-util "^29.3.1" - p-limit "^3.1.0" - pretty-format "^29.3.1" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-cli@^29.3.1: - version "29.3.1" - resolved "https://registry.npmjs.org/jest-cli/-/jest-cli-29.3.1.tgz" - integrity sha512-TO/ewvwyvPOiBBuWZ0gm04z3WWP8TIK8acgPzE4IxgsLKQgb377NYGrQLc3Wl/7ndWzIH2CDNNsUjGxwLL43VQ== - dependencies: - "@jest/core" "^29.3.1" - "@jest/test-result" "^29.3.1" - "@jest/types" "^29.3.1" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.9" - import-local "^3.0.2" - jest-config "^29.3.1" - jest-util "^29.3.1" - jest-validate "^29.3.1" - prompts "^2.0.1" - yargs "^17.3.1" - -jest-config@^29.3.1: - version "29.3.1" - resolved "https://registry.npmjs.org/jest-config/-/jest-config-29.3.1.tgz" - integrity sha512-y0tFHdj2WnTEhxmGUK1T7fgLen7YK4RtfvpLFBXfQkh2eMJAQq24Vx9472lvn5wg0MAO6B+iPfJfzdR9hJYalg== - dependencies: - "@babel/core" "^7.11.6" - "@jest/test-sequencer" "^29.3.1" - "@jest/types" "^29.3.1" - babel-jest "^29.3.1" - chalk "^4.0.0" - ci-info "^3.2.0" - deepmerge "^4.2.2" - glob "^7.1.3" - graceful-fs "^4.2.9" - jest-circus "^29.3.1" - jest-environment-node "^29.3.1" - jest-get-type "^29.2.0" - jest-regex-util "^29.2.0" - jest-resolve "^29.3.1" - jest-runner "^29.3.1" - jest-util "^29.3.1" - jest-validate "^29.3.1" - micromatch "^4.0.4" - parse-json "^5.2.0" - pretty-format "^29.3.1" - slash "^3.0.0" - strip-json-comments "^3.1.1" - -jest-diff@^29.3.1: - version "29.3.1" - resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-29.3.1.tgz" - integrity sha512-vU8vyiO7568tmin2lA3r2DP8oRvzhvRcD4DjpXc6uGveQodyk7CKLhQlCSiwgx3g0pFaE88/KLZ0yaTWMc4Uiw== - dependencies: - chalk "^4.0.0" - diff-sequences "^29.3.1" - jest-get-type "^29.2.0" - pretty-format "^29.3.1" - -jest-docblock@^29.2.0: - version "29.2.0" - resolved "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.2.0.tgz" - integrity sha512-bkxUsxTgWQGbXV5IENmfiIuqZhJcyvF7tU4zJ/7ioTutdz4ToB5Yx6JOFBpgI+TphRY4lhOyCWGNH/QFQh5T6A== - dependencies: - detect-newline "^3.0.0" - -jest-each@^29.3.1: - version "29.3.1" - resolved "https://registry.npmjs.org/jest-each/-/jest-each-29.3.1.tgz" - integrity sha512-qrZH7PmFB9rEzCSl00BWjZYuS1BSOH8lLuC0azQE9lQrAx3PWGKHTDudQiOSwIy5dGAJh7KA0ScYlCP7JxvFYA== - dependencies: - "@jest/types" "^29.3.1" - chalk "^4.0.0" - jest-get-type "^29.2.0" - jest-util "^29.3.1" - pretty-format "^29.3.1" - -jest-environment-node@^29.3.1: - version "29.3.1" - resolved "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.3.1.tgz" - integrity sha512-xm2THL18Xf5sIHoU7OThBPtuH6Lerd+Y1NLYiZJlkE3hbE+7N7r8uvHIl/FkZ5ymKXJe/11SQuf3fv4v6rUMag== - dependencies: - "@jest/environment" "^29.3.1" - "@jest/fake-timers" "^29.3.1" - "@jest/types" "^29.3.1" - "@types/node" "*" - jest-mock "^29.3.1" - jest-util "^29.3.1" - -jest-get-type@^29.2.0: - version "29.2.0" - resolved "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.2.0.tgz" - integrity sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA== - -jest-haste-map@^29.3.1: - version "29.3.1" - resolved "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.3.1.tgz" - integrity sha512-/FFtvoG1xjbbPXQLFef+WSU4yrc0fc0Dds6aRPBojUid7qlPqZvxdUBA03HW0fnVHXVCnCdkuoghYItKNzc/0A== - dependencies: - "@jest/types" "^29.3.1" - "@types/graceful-fs" "^4.1.3" - "@types/node" "*" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.9" - jest-regex-util "^29.2.0" - jest-util "^29.3.1" - jest-worker "^29.3.1" - micromatch "^4.0.4" - walker "^1.0.8" - optionalDependencies: - fsevents "^2.3.2" - -jest-leak-detector@^29.3.1: - version "29.3.1" - resolved "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.3.1.tgz" - integrity sha512-3DA/VVXj4zFOPagGkuqHnSQf1GZBmmlagpguxEERO6Pla2g84Q1MaVIB3YMxgUaFIaYag8ZnTyQgiZ35YEqAQA== - dependencies: - jest-get-type "^29.2.0" - pretty-format "^29.3.1" - -jest-matcher-utils@^29.3.1: - version "29.3.1" - resolved "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.3.1.tgz" - integrity sha512-fkRMZUAScup3txIKfMe3AIZZmPEjWEdsPJFK3AIy5qRohWqQFg1qrmKfYXR9qEkNc7OdAu2N4KPHibEmy4HPeQ== - dependencies: - chalk "^4.0.0" - jest-diff "^29.3.1" - jest-get-type "^29.2.0" - pretty-format "^29.3.1" - -jest-message-util@^29.3.1: - version "29.3.1" - resolved "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.3.1.tgz" - integrity sha512-lMJTbgNcDm5z+6KDxWtqOFWlGQxD6XaYwBqHR8kmpkP+WWWG90I35kdtQHY67Ay5CSuydkTBbJG+tH9JShFCyA== - dependencies: - "@babel/code-frame" "^7.12.13" - "@jest/types" "^29.3.1" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.9" - micromatch "^4.0.4" - pretty-format "^29.3.1" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-mock@^29.3.1: - version "29.3.1" - resolved "https://registry.npmjs.org/jest-mock/-/jest-mock-29.3.1.tgz" - integrity sha512-H8/qFDtDVMFvFP4X8NuOT3XRDzOUTz+FeACjufHzsOIBAxivLqkB1PoLCaJx9iPPQ8dZThHPp/G3WRWyMgA3JA== - dependencies: - "@jest/types" "^29.3.1" - "@types/node" "*" - jest-util "^29.3.1" - -jest-pnp-resolver@^1.2.2: - version "1.2.2" - resolved "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz" - integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== - -jest-regex-util@^29.2.0: - version "29.2.0" - resolved "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.2.0.tgz" - integrity sha512-6yXn0kg2JXzH30cr2NlThF+70iuO/3irbaB4mh5WyqNIvLLP+B6sFdluO1/1RJmslyh/f9osnefECflHvTbwVA== - -jest-resolve-dependencies@^29.3.1: - version "29.3.1" - resolved "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.3.1.tgz" - integrity sha512-Vk0cYq0byRw2WluNmNWGqPeRnZ3p3hHmjJMp2dyyZeYIfiBskwq4rpiuGFR6QGAdbj58WC7HN4hQHjf2mpvrLA== - dependencies: - jest-regex-util "^29.2.0" - jest-snapshot "^29.3.1" - -jest-resolve@*, jest-resolve@^29.3.1: - version "29.3.1" - resolved "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.3.1.tgz" - integrity sha512-amXJgH/Ng712w3Uz5gqzFBBjxV8WFLSmNjoreBGMqxgCz5cH7swmBZzgBaCIOsvb0NbpJ0vgaSFdJqMdT+rADw== - dependencies: - chalk "^4.0.0" - graceful-fs "^4.2.9" - jest-haste-map "^29.3.1" - jest-pnp-resolver "^1.2.2" - jest-util "^29.3.1" - jest-validate "^29.3.1" - resolve "^1.20.0" - resolve.exports "^1.1.0" - slash "^3.0.0" - -jest-runner@^29.3.1: - version "29.3.1" - resolved "https://registry.npmjs.org/jest-runner/-/jest-runner-29.3.1.tgz" - integrity sha512-oFvcwRNrKMtE6u9+AQPMATxFcTySyKfLhvso7Sdk/rNpbhg4g2GAGCopiInk1OP4q6gz3n6MajW4+fnHWlU3bA== - dependencies: - "@jest/console" "^29.3.1" - "@jest/environment" "^29.3.1" - "@jest/test-result" "^29.3.1" - "@jest/transform" "^29.3.1" - "@jest/types" "^29.3.1" - "@types/node" "*" - chalk "^4.0.0" - emittery "^0.13.1" - graceful-fs "^4.2.9" - jest-docblock "^29.2.0" - jest-environment-node "^29.3.1" - jest-haste-map "^29.3.1" - jest-leak-detector "^29.3.1" - jest-message-util "^29.3.1" - jest-resolve "^29.3.1" - jest-runtime "^29.3.1" - jest-util "^29.3.1" - jest-watcher "^29.3.1" - jest-worker "^29.3.1" - p-limit "^3.1.0" - source-map-support "0.5.13" - -jest-runtime@^29.3.1: - version "29.3.1" - resolved "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.3.1.tgz" - integrity sha512-jLzkIxIqXwBEOZx7wx9OO9sxoZmgT2NhmQKzHQm1xwR1kNW/dn0OjxR424VwHHf1SPN6Qwlb5pp1oGCeFTQ62A== - dependencies: - "@jest/environment" "^29.3.1" - "@jest/fake-timers" "^29.3.1" - "@jest/globals" "^29.3.1" - "@jest/source-map" "^29.2.0" - "@jest/test-result" "^29.3.1" - "@jest/transform" "^29.3.1" - "@jest/types" "^29.3.1" - "@types/node" "*" - chalk "^4.0.0" - cjs-module-lexer "^1.0.0" - collect-v8-coverage "^1.0.0" - glob "^7.1.3" - graceful-fs "^4.2.9" - jest-haste-map "^29.3.1" - jest-message-util "^29.3.1" - jest-mock "^29.3.1" - jest-regex-util "^29.2.0" - jest-resolve "^29.3.1" - jest-snapshot "^29.3.1" - jest-util "^29.3.1" - slash "^3.0.0" - strip-bom "^4.0.0" - -jest-snapshot@^29.3.1: - version "29.3.1" - resolved "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.3.1.tgz" - integrity sha512-+3JOc+s28upYLI2OJM4PWRGK9AgpsMs/ekNryUV0yMBClT9B1DF2u2qay8YxcQd338PPYSFNb0lsar1B49sLDA== - dependencies: - "@babel/core" "^7.11.6" - "@babel/generator" "^7.7.2" - "@babel/plugin-syntax-jsx" "^7.7.2" - "@babel/plugin-syntax-typescript" "^7.7.2" - "@babel/traverse" "^7.7.2" - "@babel/types" "^7.3.3" - "@jest/expect-utils" "^29.3.1" - "@jest/transform" "^29.3.1" - "@jest/types" "^29.3.1" - "@types/babel__traverse" "^7.0.6" - "@types/prettier" "^2.1.5" - babel-preset-current-node-syntax "^1.0.0" - chalk "^4.0.0" - expect "^29.3.1" - graceful-fs "^4.2.9" - jest-diff "^29.3.1" - jest-get-type "^29.2.0" - jest-haste-map "^29.3.1" - jest-matcher-utils "^29.3.1" - jest-message-util "^29.3.1" - jest-util "^29.3.1" - natural-compare "^1.4.0" - pretty-format "^29.3.1" - semver "^7.3.5" - -jest-util@^29.0.0, jest-util@^29.3.1: - version "29.3.1" - resolved "https://registry.npmjs.org/jest-util/-/jest-util-29.3.1.tgz" - integrity sha512-7YOVZaiX7RJLv76ZfHt4nbNEzzTRiMW/IiOG7ZOKmTXmoGBxUDefgMAxQubu6WPVqP5zSzAdZG0FfLcC7HOIFQ== - dependencies: - "@jest/types" "^29.3.1" - "@types/node" "*" - chalk "^4.0.0" - ci-info "^3.2.0" - graceful-fs "^4.2.9" - picomatch "^2.2.3" - -jest-validate@^29.3.1: - version "29.3.1" - resolved "https://registry.npmjs.org/jest-validate/-/jest-validate-29.3.1.tgz" - integrity sha512-N9Lr3oYR2Mpzuelp1F8negJR3YE+L1ebk1rYA5qYo9TTY3f9OWdptLoNSPP9itOCBIRBqjt/S5XHlzYglLN67g== - dependencies: - "@jest/types" "^29.3.1" - camelcase "^6.2.0" - chalk "^4.0.0" - jest-get-type "^29.2.0" - leven "^3.1.0" - pretty-format "^29.3.1" - -jest-watcher@^29.3.1: - version "29.3.1" - resolved "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.3.1.tgz" - integrity sha512-RspXG2BQFDsZSRKGCT/NiNa8RkQ1iKAjrO0//soTMWx/QUt+OcxMqMSBxz23PYGqUuWm2+m2mNNsmj0eIoOaFg== - dependencies: - "@jest/test-result" "^29.3.1" - "@jest/types" "^29.3.1" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - emittery "^0.13.1" - jest-util "^29.3.1" - string-length "^4.0.1" - -jest-worker@^29.3.1: - version "29.3.1" - resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-29.3.1.tgz" - integrity sha512-lY4AnnmsEWeiXirAIA0c9SDPbuCBq8IYuDVL8PMm0MZ2PEs2yPvRA/J64QBXuZp7CYKrDM/rmNrc9/i3KJQncw== - dependencies: - "@types/node" "*" - jest-util "^29.3.1" - merge-stream "^2.0.0" - supports-color "^8.0.0" - -jest@^29.0.0, jest@^29.3.1: - version "29.3.1" - resolved "https://registry.npmjs.org/jest/-/jest-29.3.1.tgz" - integrity sha512-6iWfL5DTT0Np6UYs/y5Niu7WIfNv/wRTtN5RSXt2DIEft3dx3zPuw/3WJQBCJfmEzvDiEKwoqMbGD9n49+qLSA== - dependencies: - "@jest/core" "^29.3.1" - "@jest/types" "^29.3.1" - import-local "^3.0.2" - jest-cli "^29.3.1" - -js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@^3.13.1: - version "3.14.1" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -json-parse-even-better-errors@^2.3.0: - version "2.3.1" - resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" - integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== - -json5@^2.2.1: - version "2.2.1" - resolved "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz" - integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== - -kleur@^3.0.3: - version "3.0.3" - resolved "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz" - integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== - -leven@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz" - integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== - -lines-and-columns@^1.1.6: - version "1.2.4" - resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" - integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - -lodash.memoize@4.x: - version "4.1.2" - resolved "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz" - integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -make-dir@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" - integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== - dependencies: - semver "^6.0.0" - -make-error@^1.1.1, make-error@1.x: - version "1.3.6" - resolved "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz" - integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== - -makeerror@1.0.12: - version "1.0.12" - resolved "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz" - integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== - dependencies: - tmpl "1.0.5" - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -micromatch@^4.0.4: - version "4.0.5" - resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" - integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== - dependencies: - braces "^3.0.2" - picomatch "^2.3.1" - -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -minimatch@^3.0.4, minimatch@^3.1.1: - version "3.1.2" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" - integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== - -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz" - integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== - -node-releases@^2.0.6: - version "2.0.6" - resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz" - integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg== - -normalize-path@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -npm-run-path@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - dependencies: - path-key "^3.0.0" - -once@^1.3.0: - version "1.4.0" - resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" - integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== - dependencies: - wrappy "1" - -onetime@^5.1.2: - version "5.1.2" - resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" - -p-limit@^2.2.0: - version "2.3.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-limit@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -parse-json@^5.2.0: - version "5.2.0" - resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" - integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== - dependencies: - "@babel/code-frame" "^7.0.0" - error-ex "^1.3.1" - json-parse-even-better-errors "^2.3.0" - lines-and-columns "^1.1.6" - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" - integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== - -path-key@^3.0.0, path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-parse@^1.0.7: - version "1.0.7" - resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== - -picomatch@^2.0.4, picomatch@^2.2.3, picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -pirates@^4.0.4: - version "4.0.5" - resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz" - integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== - -pkg-dir@^4.2.0: - 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== - dependencies: - find-up "^4.0.0" - -prettier@2.8.1: - version "2.8.1" - resolved "https://registry.npmjs.org/prettier/-/prettier-2.8.1.tgz" - integrity sha512-lqGoSJBQNJidqCHE80vqZJHWHRFoNYsSpP9AjFhlhi9ODCJA541svILes/+/1GM3VaL/abZi7cpFzOpdR9UPKg== - -pretty-format@^29.0.0, pretty-format@^29.3.1: - version "29.3.1" - resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-29.3.1.tgz" - integrity sha512-FyLnmb1cYJV8biEIiRyzRFvs2lry7PPIvOqKVe1GCUEYg4YGmlx1qG9EJNMxArYm7piII4qb8UV1Pncq5dxmcg== - dependencies: - "@jest/schemas" "^29.0.0" - ansi-styles "^5.0.0" - react-is "^18.0.0" - -prompts@^2.0.1: - version "2.4.2" - resolved "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz" - integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.5" - -react-is@^18.0.0: - version "18.2.0" - resolved "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz" - integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" - integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== - -resolve-cwd@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz" - integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== - dependencies: - resolve-from "^5.0.0" - -resolve-from@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" - integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== - -resolve.exports@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz" - integrity sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ== - -resolve@^1.20.0: - version "1.22.1" - resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz" - integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== - dependencies: - is-core-module "^2.9.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -semver@^6.0.0, semver@^6.3.0: - version "6.3.0" - resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== - -semver@^7.3.5: - version "7.3.7" - resolved "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz" - integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== - dependencies: - lru-cache "^6.0.0" - -semver@^7.5.4: - version "7.5.4" - resolved "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz" - integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== - dependencies: - lru-cache "^6.0.0" - -semver@7.x: - version "7.3.7" - resolved "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz" - integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== - dependencies: - lru-cache "^6.0.0" - -sharp@*, sharp@^0.33.0: - version "0.33.0" - resolved "https://registry.npmjs.org/sharp/-/sharp-0.33.0.tgz" - integrity sha512-99DZKudjm/Rmz+M0/26t4DKpXyywAOJaayGS9boEn7FvgtG0RYBi46uPE2c+obcJRtA3AZa0QwJot63gJQ1F0Q== - dependencies: - color "^4.2.3" - detect-libc "^2.0.2" - semver "^7.5.4" - optionalDependencies: - "@img/sharp-darwin-arm64" "0.33.0" - "@img/sharp-darwin-x64" "0.33.0" - "@img/sharp-libvips-darwin-arm64" "1.0.0" - "@img/sharp-libvips-darwin-x64" "1.0.0" - "@img/sharp-libvips-linux-arm" "1.0.0" - "@img/sharp-libvips-linux-arm64" "1.0.0" - "@img/sharp-libvips-linux-s390x" "1.0.0" - "@img/sharp-libvips-linux-x64" "1.0.0" - "@img/sharp-libvips-linuxmusl-arm64" "1.0.0" - "@img/sharp-libvips-linuxmusl-x64" "1.0.0" - "@img/sharp-linux-arm" "0.33.0" - "@img/sharp-linux-arm64" "0.33.0" - "@img/sharp-linux-s390x" "0.33.0" - "@img/sharp-linux-x64" "0.33.0" - "@img/sharp-linuxmusl-arm64" "0.33.0" - "@img/sharp-linuxmusl-x64" "0.33.0" - "@img/sharp-wasm32" "0.33.0" - "@img/sharp-win32-ia32" "0.33.0" - "@img/sharp-win32-x64" "0.33.0" - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -signal-exit@^3.0.3, signal-exit@^3.0.7: - version "3.0.7" - resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" - integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== - -simple-swizzle@^0.2.2: - version "0.2.2" - resolved "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz" - integrity sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg== - dependencies: - is-arrayish "^0.3.1" - -sisteransi@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz" - integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -source-map-support@0.5.13: - version "0.5.13" - resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz" - integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map@^0.6.0, source-map@^0.6.1: - version "0.6.1" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" - integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== - -stack-utils@^2.0.3: - version "2.0.5" - resolved "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz" - integrity sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA== - dependencies: - escape-string-regexp "^2.0.0" - -string-length@^4.0.1: - version "4.0.2" - resolved "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz" - integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== - dependencies: - char-regex "^1.0.2" - strip-ansi "^6.0.0" - -string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: - version "4.2.3" - resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-bom@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz" - integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== - -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== - -strip-json-comments@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== - -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -supports-color@^8.0.0: - version "8.1.1" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" - -supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== - -test-exclude@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz" - integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== - dependencies: - "@istanbuljs/schema" "^0.1.2" - glob "^7.1.4" - minimatch "^3.0.4" - -tmpl@1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz" - integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== - -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" - integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== - -to-regex-range@^5.0.1: - 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== - dependencies: - is-number "^7.0.0" - -ts-jest@^29.0.3: - version "29.0.3" - resolved "https://registry.npmjs.org/ts-jest/-/ts-jest-29.0.3.tgz" - integrity sha512-Ibygvmuyq1qp/z3yTh9QTwVVAbFdDy/+4BtIQR2sp6baF2SJU/8CKK/hhnGIDY2L90Az2jIqTwZPnN2p+BweiQ== - dependencies: - bs-logger "0.x" - fast-json-stable-stringify "2.x" - jest-util "^29.0.0" - json5 "^2.2.1" - lodash.memoize "4.x" - make-error "1.x" - semver "7.x" - yargs-parser "^21.0.1" - -ts-node@^10.9.1, ts-node@>=9.0.0: - version "10.9.1" - resolved "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz" - integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== - dependencies: - "@cspotcode/source-map-support" "^0.8.0" - "@tsconfig/node10" "^1.0.7" - "@tsconfig/node12" "^1.0.7" - "@tsconfig/node14" "^1.0.0" - "@tsconfig/node16" "^1.0.2" - acorn "^8.4.1" - acorn-walk "^8.1.1" - arg "^4.1.0" - create-require "^1.1.0" - diff "^4.0.1" - make-error "^1.1.1" - v8-compile-cache-lib "^3.0.1" - yn "3.1.1" - -type-detect@4.0.8: - 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@^0.21.3: - version "0.21.3" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz" - integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== - -typescript@^4.9.4, typescript@>=2.7, typescript@>=4.3: - version "4.9.4" - resolved "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz" - integrity sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg== - -update-browserslist-db@^1.0.9: - version "1.0.9" - resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.9.tgz" - integrity sha512-/xsqn21EGVdXI3EXSum1Yckj3ZVZugqyOZQ/CxYPBD/R+ko9NSUScf8tFF4dOKY+2pvSSJA/S+5B8s4Zr4kyvg== - dependencies: - escalade "^3.1.1" - picocolors "^1.0.0" - -v8-compile-cache-lib@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz" - integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== - -v8-to-istanbul@^9.0.1: - version "9.0.1" - resolved "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz" - integrity sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w== - dependencies: - "@jridgewell/trace-mapping" "^0.3.12" - "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^1.6.0" - -walker@^1.0.8: - version "1.0.8" - resolved "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz" - integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== - dependencies: - makeerror "1.0.12" - -which@^2.0.1: - version "2.0.2" - resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== - -write-file-atomic@^4.0.1: - version "4.0.2" - resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz" - integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== - dependencies: - imurmurhash "^0.1.4" - signal-exit "^3.0.7" - -y18n@^5.0.5: - version "5.0.8" - resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" - integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yargs-parser@^21.0.0, yargs-parser@^21.0.1: - version "21.1.1" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz" - integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== - -yargs@^17.3.1: - version "17.5.1" - resolved "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz" - integrity sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA== - dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.3" - y18n "^5.0.5" - yargs-parser "^21.0.0" - -yn@3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz" - integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== From 0e250492c40bdcd378b6b7472c54b90ee29ae5fa Mon Sep 17 00:00:00 2001 From: Taro Matsuzawa Date: Sat, 2 Dec 2023 15:32:39 +0900 Subject: [PATCH 03/13] #2 remove yarn from github ci --- .github/workflows/build.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 75713fb..525ea2f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -13,7 +13,7 @@ jobs: strategy: matrix: - node-version: [16.x, 18.x] + node-version: [18.x. 20.x] steps: - uses: actions/checkout@v2 @@ -22,10 +22,10 @@ jobs: with: node-version: ${{ matrix.node-version }} - name: Install dependencies - run: yarn + run: npm install env: NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}} - name: build - run: yarn run build + run: npm run build - name: test - run: yarn test + run: npm run test From 6b175ac8d5817ecf77758175ae0cc30a7cca87f9 Mon Sep 17 00:00:00 2001 From: Taro Matsuzawa Date: Sat, 2 Dec 2023 17:32:15 +0900 Subject: [PATCH 04/13] WIP: #2 add buffer to each sprite(not tested yet) --- src/lib/image.ts | 48 +++++++++++++++++++++++++++-------- src/lib/matrix.ts | 4 +-- tests/fixtures/test1.json | 27 +------------------- tests/fixtures/test1.png | Bin 2050 -> 2103 bytes tests/fixtures/test2.json | 16 ++++++------ tests/fixtures/test3.json | 16 ++++++------ tests/fixtures/test3@2x.json | 16 ++++++------ tests/fixtures/test4.json | 32 +++++++++++------------ tests/lib/image.test.ts | 16 ++++++------ tests/lib/matrix.test.ts | 8 +++--- 10 files changed, 92 insertions(+), 91 deletions(-) diff --git a/src/lib/image.ts b/src/lib/image.ts index 7eae4a9..3a09870 100644 --- a/src/lib/image.ts +++ b/src/lib/image.ts @@ -9,6 +9,7 @@ export class Image { width = 0 height = 0 range = 1 + buffer_length = 3 rendered_image: Buffer | null = null sdf = false @@ -52,6 +53,23 @@ export class Image { // because the image is already at the specified size, we can use it directly. this.rendered_image = await intermediate_image.toBuffer() } + // add buffer + this.rendered_image = await sharp({ + create: { + width: this.buffer_width(), + height: this.buffer_height(), + channels: 4, + background: { r: 0, g: 0, b: 0, alpha: 0 }, + }, + }) + .composite([{ + input: this.rendered_image!, + top: this.buffer_length, + left: this.buffer_length, + }]) + .png() + .toBuffer() + if (sdf) { const radius = 8 const img = this.rendered_image @@ -67,15 +85,15 @@ export class Image { }) const inner_df = alphas.map((alpha) => { if (alpha === 255) return Number.MAX_VALUE - return Math.max(0, 0.5 - ((255 - alpha) / 255))**2 + return Math.max(0, (alpha / 255) - 0.5)**2 }) - for (let col = 0; col < this.real_width(); col++) { - dt(outer_df, col, this.real_width(), this.real_height()) - dt(inner_df, col, this.real_width(), this.real_height()) + for (let col = 0; col < this.buffer_width(); col++) { + dt(outer_df, col, this.buffer_width(), this.buffer_height()) + dt(inner_df, col, this.buffer_width(), this.buffer_height()) } - for (let row = 0; row < this.real_height(); row++) { - dt(outer_df, row * this.real_width(), 1, this.real_width()) - dt(inner_df, row * this.real_width(), 1, this.real_width()) + for (let row = 0; row < this.buffer_height(); row++) { + dt(outer_df, row * this.buffer_width(), 1, this.buffer_width()) + dt(inner_df, row * this.buffer_width(), 1, this.buffer_width()) } const result = outer_df.map((outerDfValue, index) => { const innerDfValue = inner_df[index] @@ -87,8 +105,8 @@ export class Image { const buffer = Buffer.from(normalizedData) this.rendered_image = await sharp(buffer, { raw: { - width: this.real_width(), - height: this.real_height(), + width: this.buffer_width(), + height: this.buffer_height(), channels: 1 } }).png().toBuffer() @@ -104,10 +122,18 @@ export class Image { return Math.round((this.height / this.file_ratio) * this.ratio) } + buffer_width() { + return this.real_width() + this.buffer_length * 2 + } + + buffer_height() { + return this.real_height() + this.buffer_length * 2 + } + to_obj(): SpriteImage { return { - height: this.real_height(), - width: this.real_width(), + height: this.buffer_height(), + width: this.buffer_width(), x: this.x, y: this.y, pixelRatio: this.ratio, diff --git a/src/lib/matrix.ts b/src/lib/matrix.ts index 61d4f70..4276974 100644 --- a/src/lib/matrix.ts +++ b/src/lib/matrix.ts @@ -16,8 +16,8 @@ export class Matrix { this.images.map((image) => { return { image, - width: image.real_width(), - height: image.real_height(), + width: image.buffer_width(), + height: image.buffer_height(), } }), ) diff --git a/tests/fixtures/test1.json b/tests/fixtures/test1.json index 487cf5d..85c3a9a 100644 --- a/tests/fixtures/test1.json +++ b/tests/fixtures/test1.json @@ -1,26 +1 @@ -{ - "airport": { - "height": 15, - "width": 15, - "x": 0, - "y": 43, - "pixelRatio": 1, - "sdf": false - }, - "my_bbq": { - "height": 32, - "width": 32, - "x": 43, - "y": 0, - "pixelRatio": 1, - "sdf": false - }, - "airport_xl": { - "height": 43, - "width": 43, - "x": 0, - "y": 0, - "pixelRatio": 1, - "sdf": false - } -} \ No newline at end of file +{"airport":{"height":21,"width":21,"x":0,"y":49,"pixelRatio":1,"sdf":false},"my_bbq":{"height":38,"width":38,"x":49,"y":0,"pixelRatio":1,"sdf":false},"airport_xl":{"height":49,"width":49,"x":0,"y":0,"pixelRatio":1,"sdf":false}} \ No newline at end of file diff --git a/tests/fixtures/test1.png b/tests/fixtures/test1.png index 671297dfce7d980c370619dfc814b03d7963da98..6c4ef3fa768e0b060ae27997290306b0b779a7d1 100644 GIT binary patch literal 2103 zcmV-72*~$|P)K+&woMl|f%R9iv*MQ#v{=RYhrwb~=6Nc%;;nmUtw}-}#S|+iSCX zvp08h_mcf){@LAg&hGx_+jIZ(pa0*z047YBFyS@?0l=pKPzC_|0H6(c5YS?2idJhp zGWI$$b`%-=6B(-zLie1)M#$J&WbCdJq{@Xxbslcn;tK|1l#JL)8EJ$vG~!T_ zPPstp!y-vvVR5lxW^R%Sxm4~}pvBTx*ih72&SOzgFE9X;Rmi1s_l{TC^H0+O_!RlqonRJe;?=RZxIkTeZS(GBWr`R=DnRs4L{+19wZ&D>%7uAzsVR=leI- zt;1sr7TD@OOG~ru|FmowUd+j{nTCUN=Q^^#H{59+CL2s{Ni9rZ)kzUN?&Kn^ycoNA zUy^W7anTi9v`Qe0d8q9x&I0C*1o%BxZK3;<*RfWO{KP{8F}b~c_` zyck>f_;7Nmy9}^?vtXE`xQcn?vQK3PZTJv)}3&da|}Psg;V zD10S4nqPay;K5ahitgGK>w9_OZ+4`+I-zX?fa@MWBs!4W0PvP7xern^ik+tzL45!I zRj!#F5y8!decMk`Qg~fTWTZ1A_cezP{t*&I@SK-Q=V^pe6K^js9;Auv+}Ug(5(9H!QV}1$%b^yR0l{R}s{VCC2e{!wXCVVL>>-g2YJpMDM zChsRD*~%?(al9;`NfT}|?9X|3>Qr8rIdY^Ha?9x6u9ABd0FDE|8^Q+03D?ZtPmNVM z_j!d3@h|{L0)Rp>asH}t@>K5xB@<> z`}5Tqg(0gMwVNF2WKV8|=;UtUdnO4I0zn%FsSxt4#`Bv2KtJ)|GQ@+V2YOQzxeqcB z751G!y<~~accm;uW%-Xwm)i7OJAOPC$HzY;6iBbEb3kr678P~Ul2{DUVYL*hLN1lN z0&k%o>FE$WOKV2}{p87)rK*UK5Iit@Hc#h-1qEp`Lv5Qkw|O24qjoj85p7hIZ0*)G z4`pfXNceKzJZ$XaQ$?>f&6?q^q$J#*nyM(NQBk}dMbs3?J&YDhLvSN}RmgQ~zMrxK zC`sq+$)J?Z#D4v_E$!H{C3nLv$ZV}#D04w0obqk5x{J7RV_Pr)w`IiMGC~PTfAcJ@ zb1N+^Zr3@Kq@G|9N@e6;G)fV)SOSo-&vhjCun{SBdz_Jxd)i24$SzWrR>=o;LMSM- z%H1|r35R6l9s~~nx5JDTIY~0LE!N_0xeFi4$o&932z(_cNfRg@fQ%iXh?W?cG1t?ss(`RZx`bV~wPuOb!4*52HKaiD)2Vt@0Rxvr-{U ziJ>2Hcp7qCBo$>s*E1oIt3VJd4@ir8+XINm1el_os8o(X{!BK1PKqhtUG z2LP?#1~d}wlg0VR#q~^>Fk!-k2@@tvRKY-zV5F@Hov~Or`m{BnGhP+s($<8|Fv+bY zbP@kgLnHU7cs;a!ZQZOcpoMsC^pMKCvZdmETEkxFc@*)I2z;xhY2-r0e*plAMl1d( zz@E4=kyP9+-j=C+Yi7GBFO#)5Q4LZ6AO-+}0id2;d72=Qww0(S+Qo?TOt|=ozuW&^ zsjg&pQFsa_bVh_Amp&vhp(E(yW=W7M)#PJm6YA#RtjsI8V7}0y4@$-AEL%)w+2WYW hO_(rY!UQ;l{{T5A33>Rx(Yycv002ovPDHLkV1k0%=db_( literal 2050 zcmV+d2>thoP)0024&1^@s6_%Ni700009a7bBm000B% z000B%0kwNlYXATTv`IukRCt{2TMJNCMHv1BB_vZb5XB-Bp97kvhEoU*Nor|nGh_^@ zu|d=bW>M;7J%Le0LbC!N=|1Q3Go;Sv73bW zg@mY6!uPvL(;g)u?x0PZE-F(b&Ll&po0&+M;C>uo0EQhGFau{sHOgCh4x;-Px4N_fY|u@4n4dSIN^ZTC7LFe;N712GtLW-JeQ19{0sW(ClrnfQy>QPx^w+v| z^yI8rG%G${mN`{kP6K=Pq)+qnQw3%9^NP^n>Ni8SvAe=>Cd#CET=Q==<3zrjSO6sesvBz;OyrQN^D2vE)tZsT@^f)9 zMTLdY^~$kaGGPK;)Ul)6wmEOnjW<$VMTONBk$+^5xB@^ffW6H~keU1gV7poj!h9u* zM^@=Aw@~ibu{1R{mR`F1ZkhgcMux0^aAYKnjE<&jue?&Oe4O^yefRn5KA4hqsZx5o zNyvr#Ait|AevOrB$Zo{WdGqLom>BxLu#k4-Jte(z{ejy1+mlOLtQqM)LlE`n;+6k>Pcle|2c{&8L&yP!Rp7BhjjX-vZ#T7C;PnkkbI3QlVhe&hQ>DZPcjq-pxu#kkeFO_RZ{UnU|fI z=*!4@ME+o{MTleOZaTvwh|2^A1<6fwV*mcG_sqQW5tm<1VId)OOoeVNjI7kAl63~a zJ^)(*Y;#j)o66s($~T@Yr?ZRPdKfx#ytGtKD=zb5W~M9Mk(w&gBD!>uQ&j)XbF*j5 zyn=}nt&mm2ZCfSlIDkC>o=`Rr) z7A%nYy}EX7kbY+UdO6ZKkHazgyuTd|iU|*w-aChFyo{NjIZ9b31Z!l#pz8!u+oq9l#r(|x(@LaV_%B15@KR#$K1Ix zd>j`QWodf%>E7M7vYL#lHLwA_-6+$`masCP!st5n{(=Q`aY)E{?f351jb6&kr0qF5 zrjnDCB+GHc!i203$lwgoC7MLt!(j4P+g$yFqd|B1njL zn~|&!>^uU~W50o{uiyu;UExz0Gat+c;Z6E#yKIyhb{WXp2|q&GF(E2_B#p~f>D>c= z;S~c}FCzeup1!6{=lvWB@exN1)X1q-_aBkdxq*bZz1}kq1hyE+dOT2yv<9p2S3=LAE`R-;!~s+Pb*g2pi=b zfcF4opbbJ#M2!loJgeg8^>OrPReFt~e49fyfD{1H06OT>a}^*G}UZjkB gk$SEUv|@qAzek@5c}2SeIsgCw07*qoM6N<$f=<2V!T { it('works', async () => { const image = new Image(path.join(iconsDir, 'airport.svg'), 1, 'airport') await image.parse() - expect(image.real_height()).toStrictEqual(15) - expect(image.real_width()).toStrictEqual(15) + expect(image.buffer_height()).toStrictEqual(21) + expect(image.buffer_width()).toStrictEqual(21) }) it('works with sdf', async () => { const image = new Image(path.join(iconsDir, 'airport.svg'), 1, 'airport') await image.parse(true) - expect(image.real_height()).toStrictEqual(15) - expect(image.real_width()).toStrictEqual(15) + expect(image.buffer_height()).toStrictEqual(21) + expect(image.buffer_width()).toStrictEqual(21) }) it('works with ratio', async () => { const image = new Image(path.join(iconsDir, 'airport.svg'), 2, 'airport') await image.parse() - expect(image.real_height()).toStrictEqual(30) - expect(image.real_width()).toStrictEqual(30) + expect(image.buffer_height()).toStrictEqual(36) + expect(image.buffer_width()).toStrictEqual(36) }) it('works with ratio and sdf', async () => { const image = new Image(path.join(iconsDir, 'airport.svg'), 2, 'airport') await image.parse(true) - expect(image.real_height()).toStrictEqual(30) - expect(image.real_width()).toStrictEqual(30) + expect(image.buffer_height()).toStrictEqual(36) + expect(image.buffer_width()).toStrictEqual(36) }) }) diff --git a/tests/lib/matrix.test.ts b/tests/lib/matrix.test.ts index 44b1a77..f70a01a 100644 --- a/tests/lib/matrix.test.ts +++ b/tests/lib/matrix.test.ts @@ -23,8 +23,8 @@ describe('test lib/matrix.ts', (): void => { const matrix = new Matrix(images1) matrix.calc() - expect(matrix.max_x).toStrictEqual(15) - expect(matrix.max_y).toStrictEqual(15) + expect(matrix.max_x).toStrictEqual(21) + expect(matrix.max_y).toStrictEqual(21) }) test('matrix calculation works with 2 images', async () => { @@ -40,7 +40,7 @@ describe('test lib/matrix.ts', (): void => { const matrix = new Matrix(images1) matrix.calc() - expect(matrix.max_x).toStrictEqual(30) - expect(matrix.max_y).toStrictEqual(15) + expect(matrix.max_x).toStrictEqual(42) + expect(matrix.max_y).toStrictEqual(21) }) }) From fe326a3f8418b61c696510ca67b564d35b7e56e5 Mon Sep 17 00:00:00 2001 From: Taro Matsuzawa Date: Sun, 10 Dec 2023 11:57:54 +0900 Subject: [PATCH 05/13] WIP: enable to output sdf --- src/lib/image.ts | 33 ++++++++++++++++++++++++++------- 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/src/lib/image.ts b/src/lib/image.ts index 3a09870..d9a6f8d 100644 --- a/src/lib/image.ts +++ b/src/lib/image.ts @@ -67,7 +67,7 @@ export class Image { top: this.buffer_length, left: this.buffer_length, }]) - .png() + .raw() .toBuffer() if (sdf) { @@ -99,17 +99,26 @@ export class Image { const innerDfValue = inner_df[index] return Math.min(1.0, Math.max(-1.0, (Math.sqrt(outerDfValue) - Math.sqrt(innerDfValue)) / radius)) }) - const normalizedData = result.map(value => { - return Math.round(((value + 1) / 2) * 255); - }) - const buffer = Buffer.from(normalizedData) - this.rendered_image = await sharp(buffer, { + const colors = clamp_to_u8(result, 0.25) + for (let i = 0, j = 0; i < pixelArray.length; i += 4, j++) { + pixelArray[i + 3] = colors[j] + } + this.rendered_image = await sharp(pixelArray, { raw: { width: this.buffer_width(), height: this.buffer_height(), - channels: 1 + channels: 4 } }).png().toBuffer() + } else { + this.rendered_image = await sharp(this.rendered_image!.buffer, { + raw: { + width: this.buffer_width(), + height: this.buffer_height(), + channels: 4 + } + }) + .png().toBuffer() } return this } @@ -186,3 +195,13 @@ function dt(grid: number[], offset: number, stepBy: number, size: number) { grid[offset + q * stepBy] = (qf64 - vkf64) * (qf64 - vkf64) + f[v[k]] } } + +// original code: https://github.com/stadiamaps/sdf_font_tools/blob/main/sdf_glyph_renderer/src/core.rs#L221C2-L221C2 +function clamp_to_u8(sdf: Array, cutoff: number): Array { + if (cutoff <= 0.0 || cutoff >= 1.0) { + throw new Error('cutoff must be between 0 and 1') + } + return sdf.map((v) => { + return (255.0 - 255.0 * (v + cutoff)) + }) +} From 82730d2e35577996dc6cc017ca3162f9ec57bd1f Mon Sep 17 00:00:00 2001 From: Taro Matsuzawa Date: Sun, 10 Dec 2023 12:16:37 +0900 Subject: [PATCH 06/13] WIP: rewrite test, remove console.log --- src/lib/index.ts | 4 - tests/fixtures/test2.json | 27 +- tests/fixtures/test2.png | Bin 4168 -> 4249 bytes tests/fixtures/test3.json | 27 +- tests/fixtures/test3.png | Bin 2050 -> 2103 bytes tests/fixtures/test3@2x.json | 27 +- tests/fixtures/test3@2x.png | Bin 4168 -> 4249 bytes tests/fixtures/test4.json | 43 +- tests/fixtures/test4.png | Bin 2226 -> 2287 bytes tests/fixtures/test5.json | 1691 +--------------------------------- tests/fixtures/test5.png | Bin 23016 -> 24870 bytes tests/fixtures/test5@2x.json | 1691 +--------------------------------- tests/fixtures/test5@2x.png | Bin 54357 -> 57039 bytes tests/fixtures/test6.json | 11 +- tests/fixtures/test6.png | Bin 694 -> 558 bytes tests/fixtures/test6@2x.json | 11 +- tests/fixtures/test6@2x.png | Bin 829 -> 995 bytes 17 files changed, 8 insertions(+), 3524 deletions(-) diff --git a/src/lib/index.ts b/src/lib/index.ts index 073b298..5d2530b 100644 --- a/src/lib/index.ts +++ b/src/lib/index.ts @@ -100,10 +100,6 @@ export const generateSprite = async ( ratios: number[] = [1], sdf: boolean = false, ): Promise => { - if (sdf) { - console.log(`Generating sprite ${output_file_name}`) - console.log(`Input directories: ${input_directories}`) - } const promises: Promise[] = [] ratios.forEach((ratio) => { promises.push( diff --git a/tests/fixtures/test2.json b/tests/fixtures/test2.json index e3840b6..2327e3e 100644 --- a/tests/fixtures/test2.json +++ b/tests/fixtures/test2.json @@ -1,26 +1 @@ -{ - "airport": { - "height": 36, - "width": 36, - "x": 0, - "y": 92, - "pixelRatio": 2, - "sdf": false - }, - "airport_xl": { - "height": 92, - "width": 92, - "x": 0, - "y": 0, - "pixelRatio": 2, - "sdf": false - }, - "my_bbq": { - "height": 70, - "width": 70, - "x": 92, - "y": 0, - "pixelRatio": 2, - "sdf": false - } -} \ No newline at end of file +{"airport":{"height":36,"width":36,"x":0,"y":92,"pixelRatio":2,"sdf":false},"airport_xl":{"height":92,"width":92,"x":0,"y":0,"pixelRatio":2,"sdf":false},"my_bbq":{"height":70,"width":70,"x":92,"y":0,"pixelRatio":2,"sdf":false}} \ No newline at end of file diff --git a/tests/fixtures/test2.png b/tests/fixtures/test2.png index f1112a756f7e30fcebc045b1634848ce32437260..58db01f3babe3e315771df2e281b04259cae3637 100644 GIT binary patch literal 4249 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 literal 2050 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 AzW@LL diff --git a/tests/fixtures/test5.json b/tests/fixtures/test5.json index c875b39..628d501 100644 --- a/tests/fixtures/test5.json +++ b/tests/fixtures/test5.json @@ -1,1690 +1 @@ -{ - "aerialway": { - "height": 15, - "width": 15, - "x": 0, - "y": 0, - "pixelRatio": 1, - "sdf": false - }, - "airfield": { - "height": 15, - "width": 15, - "x": 15, - "y": 0, - "pixelRatio": 1, - "sdf": false - }, - "airport": { - "height": 15, - "width": 15, - "x": 0, - "y": 15, - "pixelRatio": 1, - "sdf": false - }, - "alcohol-shop": { - "height": 15, - "width": 15, - "x": 15, - "y": 15, - "pixelRatio": 1, - "sdf": false - }, - "american-football": { - "height": 15, - "width": 15, - "x": 30, - "y": 0, - "pixelRatio": 1, - "sdf": false - }, - "amusement-park": { - "height": 15, - "width": 15, - "x": 30, - "y": 15, - "pixelRatio": 1, - "sdf": false - }, - "animal-shelter": { - "height": 15, - "width": 15, - "x": 0, - "y": 30, - "pixelRatio": 1, - "sdf": false - }, - "aquarium": { - "height": 15, - "width": 15, - "x": 15, - "y": 30, - "pixelRatio": 1, - "sdf": false - }, - "arrow": { - "height": 15, - "width": 15, - "x": 30, - "y": 30, - "pixelRatio": 1, - "sdf": false - }, - "art-gallery": { - "height": 15, - "width": 15, - "x": 45, - "y": 0, - "pixelRatio": 1, - "sdf": false - }, - "attraction": { - "height": 15, - "width": 15, - "x": 45, - "y": 15, - "pixelRatio": 1, - "sdf": false - }, - "bakery": { - "height": 15, - "width": 15, - "x": 45, - "y": 30, - "pixelRatio": 1, - "sdf": false - }, - "bank-JP": { - "height": 15, - "width": 15, - "x": 0, - "y": 45, - "pixelRatio": 1, - "sdf": false - }, - "bank": { - "height": 15, - "width": 15, - "x": 15, - "y": 45, - "pixelRatio": 1, - "sdf": false - }, - "bar": { - "height": 15, - "width": 15, - "x": 30, - "y": 45, - "pixelRatio": 1, - "sdf": false - }, - "barrier": { - "height": 15, - "width": 15, - "x": 45, - "y": 45, - "pixelRatio": 1, - "sdf": false - }, - "baseball": { - "height": 15, - "width": 15, - "x": 60, - "y": 0, - "pixelRatio": 1, - "sdf": false - }, - "basketball": { - "height": 15, - "width": 15, - "x": 60, - "y": 15, - "pixelRatio": 1, - "sdf": false - }, - "bbq": { - "height": 15, - "width": 15, - "x": 60, - "y": 30, - "pixelRatio": 1, - "sdf": false - }, - "beach": { - "height": 15, - "width": 15, - "x": 60, - "y": 45, - "pixelRatio": 1, - "sdf": false - }, - "beer": { - "height": 15, - "width": 15, - "x": 0, - "y": 60, - "pixelRatio": 1, - "sdf": false - }, - "bicycle-share": { - "height": 15, - "width": 15, - "x": 15, - "y": 60, - "pixelRatio": 1, - "sdf": false - }, - "bicycle": { - "height": 15, - "width": 15, - "x": 30, - "y": 60, - "pixelRatio": 1, - "sdf": false - }, - "blood-bank": { - "height": 15, - "width": 15, - "x": 45, - "y": 60, - "pixelRatio": 1, - "sdf": false - }, - "bowling-alley": { - "height": 15, - "width": 15, - "x": 60, - "y": 60, - "pixelRatio": 1, - "sdf": false - }, - "bridge": { - "height": 15, - "width": 15, - "x": 75, - "y": 0, - "pixelRatio": 1, - "sdf": false - }, - "building-alt1": { - "height": 15, - "width": 15, - "x": 75, - "y": 15, - "pixelRatio": 1, - "sdf": false - }, - "building": { - "height": 15, - "width": 15, - "x": 75, - "y": 30, - "pixelRatio": 1, - "sdf": false - }, - "bus": { - "height": 15, - "width": 15, - "x": 75, - "y": 45, - "pixelRatio": 1, - "sdf": false - }, - "cafe": { - "height": 15, - "width": 15, - "x": 75, - "y": 60, - "pixelRatio": 1, - "sdf": false - }, - "campsite": { - "height": 15, - "width": 15, - "x": 0, - "y": 75, - "pixelRatio": 1, - "sdf": false - }, - "car-rental": { - "height": 15, - "width": 15, - "x": 15, - "y": 75, - "pixelRatio": 1, - "sdf": false - }, - "car-repair": { - "height": 15, - "width": 15, - "x": 30, - "y": 75, - "pixelRatio": 1, - "sdf": false - }, - "car": { - "height": 15, - "width": 15, - "x": 45, - "y": 75, - "pixelRatio": 1, - "sdf": false - }, - "casino": { - "height": 15, - "width": 15, - "x": 60, - "y": 75, - "pixelRatio": 1, - "sdf": false - }, - "castle-JP": { - "height": 15, - "width": 15, - "x": 75, - "y": 75, - "pixelRatio": 1, - "sdf": false - }, - "castle": { - "height": 15, - "width": 15, - "x": 90, - "y": 0, - "pixelRatio": 1, - "sdf": false - }, - "caution": { - "height": 15, - "width": 15, - "x": 90, - "y": 15, - "pixelRatio": 1, - "sdf": false - }, - "cemetery-JP": { - "height": 15, - "width": 15, - "x": 90, - "y": 30, - "pixelRatio": 1, - "sdf": false - }, - "cemetery": { - "height": 15, - "width": 15, - "x": 90, - "y": 45, - "pixelRatio": 1, - "sdf": false - }, - "charging-station": { - "height": 15, - "width": 15, - "x": 90, - "y": 60, - "pixelRatio": 1, - "sdf": false - }, - "cinema": { - "height": 15, - "width": 15, - "x": 90, - "y": 75, - "pixelRatio": 1, - "sdf": false - }, - "circle-stroked": { - "height": 15, - "width": 15, - "x": 0, - "y": 90, - "pixelRatio": 1, - "sdf": false - }, - "circle": { - "height": 15, - "width": 15, - "x": 15, - "y": 90, - "pixelRatio": 1, - "sdf": false - }, - "city": { - "height": 15, - "width": 15, - "x": 30, - "y": 90, - "pixelRatio": 1, - "sdf": false - }, - "clothing-store": { - "height": 15, - "width": 15, - "x": 45, - "y": 90, - "pixelRatio": 1, - "sdf": false - }, - "college-JP": { - "height": 15, - "width": 15, - "x": 60, - "y": 90, - "pixelRatio": 1, - "sdf": false - }, - "college": { - "height": 15, - "width": 15, - "x": 75, - "y": 90, - "pixelRatio": 1, - "sdf": false - }, - "commercial": { - "height": 15, - "width": 15, - "x": 90, - "y": 90, - "pixelRatio": 1, - "sdf": false - }, - "communications-tower": { - "height": 15, - "width": 15, - "x": 105, - "y": 0, - "pixelRatio": 1, - "sdf": false - }, - "confectionery": { - "height": 15, - "width": 15, - "x": 105, - "y": 15, - "pixelRatio": 1, - "sdf": false - }, - "construction": { - "height": 15, - "width": 15, - "x": 105, - "y": 30, - "pixelRatio": 1, - "sdf": false - }, - "convenience": { - "height": 15, - "width": 15, - "x": 105, - "y": 45, - "pixelRatio": 1, - "sdf": false - }, - "cricket": { - "height": 15, - "width": 15, - "x": 105, - "y": 60, - "pixelRatio": 1, - "sdf": false - }, - "cross": { - "height": 15, - "width": 15, - "x": 105, - "y": 75, - "pixelRatio": 1, - "sdf": false - }, - "dam": { - "height": 15, - "width": 15, - "x": 105, - "y": 90, - "pixelRatio": 1, - "sdf": false - }, - "danger": { - "height": 15, - "width": 15, - "x": 0, - "y": 105, - "pixelRatio": 1, - "sdf": false - }, - "defibrillator": { - "height": 15, - "width": 15, - "x": 15, - "y": 105, - "pixelRatio": 1, - "sdf": false - }, - "dentist": { - "height": 15, - "width": 15, - "x": 30, - "y": 105, - "pixelRatio": 1, - "sdf": false - }, - "diamond": { - "height": 15, - "width": 15, - "x": 45, - "y": 105, - "pixelRatio": 1, - "sdf": false - }, - "doctor": { - "height": 15, - "width": 15, - "x": 60, - "y": 105, - "pixelRatio": 1, - "sdf": false - }, - "dog-park": { - "height": 15, - "width": 15, - "x": 75, - "y": 105, - "pixelRatio": 1, - "sdf": false - }, - "drinking-water": { - "height": 15, - "width": 15, - "x": 90, - "y": 105, - "pixelRatio": 1, - "sdf": false - }, - "elevator": { - "height": 15, - "width": 15, - "x": 105, - "y": 105, - "pixelRatio": 1, - "sdf": false - }, - "embassy": { - "height": 15, - "width": 15, - "x": 120, - "y": 0, - "pixelRatio": 1, - "sdf": false - }, - "emergency-phone": { - "height": 15, - "width": 15, - "x": 120, - "y": 15, - "pixelRatio": 1, - "sdf": false - }, - "entrance-alt1": { - "height": 15, - "width": 15, - "x": 120, - "y": 30, - "pixelRatio": 1, - "sdf": false - }, - "entrance": { - "height": 15, - "width": 15, - "x": 120, - "y": 45, - "pixelRatio": 1, - "sdf": false - }, - "farm": { - "height": 15, - "width": 15, - "x": 120, - "y": 60, - "pixelRatio": 1, - "sdf": false - }, - "fast-food": { - "height": 15, - "width": 15, - "x": 120, - "y": 75, - "pixelRatio": 1, - "sdf": false - }, - "fence": { - "height": 15, - "width": 15, - "x": 120, - "y": 90, - "pixelRatio": 1, - "sdf": false - }, - "ferry-JP": { - "height": 15, - "width": 15, - "x": 120, - "y": 105, - "pixelRatio": 1, - "sdf": false - }, - "ferry": { - "height": 15, - "width": 15, - "x": 0, - "y": 120, - "pixelRatio": 1, - "sdf": false - }, - "fire-station-JP": { - "height": 15, - "width": 15, - "x": 15, - "y": 120, - "pixelRatio": 1, - "sdf": false - }, - "fire-station": { - "height": 15, - "width": 15, - "x": 30, - "y": 120, - "pixelRatio": 1, - "sdf": false - }, - "fitness-centre": { - "height": 15, - "width": 15, - "x": 45, - "y": 120, - "pixelRatio": 1, - "sdf": false - }, - "florist": { - "height": 15, - "width": 15, - "x": 60, - "y": 120, - "pixelRatio": 1, - "sdf": false - }, - "fuel": { - "height": 15, - "width": 15, - "x": 75, - "y": 120, - "pixelRatio": 1, - "sdf": false - }, - "furniture": { - "height": 15, - "width": 15, - "x": 90, - "y": 120, - "pixelRatio": 1, - "sdf": false - }, - "gaming": { - "height": 15, - "width": 15, - "x": 105, - "y": 120, - "pixelRatio": 1, - "sdf": false - }, - "garden-centre": { - "height": 15, - "width": 15, - "x": 120, - "y": 120, - "pixelRatio": 1, - "sdf": false - }, - "garden": { - "height": 15, - "width": 15, - "x": 135, - "y": 0, - "pixelRatio": 1, - "sdf": false - }, - "gate": { - "height": 15, - "width": 15, - "x": 135, - "y": 15, - "pixelRatio": 1, - "sdf": false - }, - "gift": { - "height": 15, - "width": 15, - "x": 135, - "y": 30, - "pixelRatio": 1, - "sdf": false - }, - "globe": { - "height": 15, - "width": 15, - "x": 135, - "y": 45, - "pixelRatio": 1, - "sdf": false - }, - "golf": { - "height": 15, - "width": 15, - "x": 135, - "y": 60, - "pixelRatio": 1, - "sdf": false - }, - "grocery": { - "height": 15, - "width": 15, - "x": 135, - "y": 75, - "pixelRatio": 1, - "sdf": false - }, - "hairdresser": { - "height": 15, - "width": 15, - "x": 135, - "y": 90, - "pixelRatio": 1, - "sdf": false - }, - "harbor": { - "height": 15, - "width": 15, - "x": 135, - "y": 105, - "pixelRatio": 1, - "sdf": false - }, - "hardware": { - "height": 15, - "width": 15, - "x": 135, - "y": 120, - "pixelRatio": 1, - "sdf": false - }, - "heart": { - "height": 15, - "width": 15, - "x": 0, - "y": 135, - "pixelRatio": 1, - "sdf": false - }, - "heliport": { - "height": 15, - "width": 15, - "x": 15, - "y": 135, - "pixelRatio": 1, - "sdf": false - }, - "highway-rest-area": { - "height": 15, - "width": 15, - "x": 30, - "y": 135, - "pixelRatio": 1, - "sdf": false - }, - "historic": { - "height": 15, - "width": 15, - "x": 45, - "y": 135, - "pixelRatio": 1, - "sdf": false - }, - "home": { - "height": 15, - "width": 15, - "x": 60, - "y": 135, - "pixelRatio": 1, - "sdf": false - }, - "horse-riding": { - "height": 15, - "width": 15, - "x": 75, - "y": 135, - "pixelRatio": 1, - "sdf": false - }, - "hospital-JP": { - "height": 15, - "width": 15, - "x": 90, - "y": 135, - "pixelRatio": 1, - "sdf": false - }, - "hospital": { - "height": 15, - "width": 15, - "x": 105, - "y": 135, - "pixelRatio": 1, - "sdf": false - }, - "hot-spring": { - "height": 15, - "width": 15, - "x": 120, - "y": 135, - "pixelRatio": 1, - "sdf": false - }, - "ice-cream": { - "height": 15, - "width": 15, - "x": 135, - "y": 135, - "pixelRatio": 1, - "sdf": false - }, - "industry": { - "height": 15, - "width": 15, - "x": 150, - "y": 0, - "pixelRatio": 1, - "sdf": false - }, - "information": { - "height": 15, - "width": 15, - "x": 150, - "y": 15, - "pixelRatio": 1, - "sdf": false - }, - "jewelry-store": { - "height": 15, - "width": 15, - "x": 150, - "y": 30, - "pixelRatio": 1, - "sdf": false - }, - "karaoke": { - "height": 15, - "width": 15, - "x": 150, - "y": 45, - "pixelRatio": 1, - "sdf": false - }, - "landmark-JP": { - "height": 15, - "width": 15, - "x": 150, - "y": 60, - "pixelRatio": 1, - "sdf": false - }, - "landmark": { - "height": 15, - "width": 15, - "x": 150, - "y": 75, - "pixelRatio": 1, - "sdf": false - }, - "landuse": { - "height": 15, - "width": 15, - "x": 150, - "y": 90, - "pixelRatio": 1, - "sdf": false - }, - "laundry": { - "height": 15, - "width": 15, - "x": 150, - "y": 105, - "pixelRatio": 1, - "sdf": false - }, - "library": { - "height": 15, - "width": 15, - "x": 150, - "y": 120, - "pixelRatio": 1, - "sdf": false - }, - "lift-gate": { - "height": 15, - "width": 15, - "x": 150, - "y": 135, - "pixelRatio": 1, - "sdf": false - }, - "lighthouse-JP": { - "height": 15, - "width": 15, - "x": 0, - "y": 150, - "pixelRatio": 1, - "sdf": false - }, - "lighthouse": { - "height": 15, - "width": 15, - "x": 15, - "y": 150, - "pixelRatio": 1, - "sdf": false - }, - "lodging": { - "height": 15, - "width": 15, - "x": 30, - "y": 150, - "pixelRatio": 1, - "sdf": false - }, - "logging": { - "height": 15, - "width": 15, - "x": 45, - "y": 150, - "pixelRatio": 1, - "sdf": false - }, - "marker-stroked": { - "height": 15, - "width": 15, - "x": 60, - "y": 150, - "pixelRatio": 1, - "sdf": false - }, - "marker": { - "height": 15, - "width": 15, - "x": 75, - "y": 150, - "pixelRatio": 1, - "sdf": false - }, - "mobile-phone": { - "height": 15, - "width": 15, - "x": 90, - "y": 150, - "pixelRatio": 1, - "sdf": false - }, - "monument-JP": { - "height": 15, - "width": 15, - "x": 105, - "y": 150, - "pixelRatio": 1, - "sdf": false - }, - "monument": { - "height": 15, - "width": 15, - "x": 120, - "y": 150, - "pixelRatio": 1, - "sdf": false - }, - "mountain": { - "height": 15, - "width": 15, - "x": 135, - "y": 150, - "pixelRatio": 1, - "sdf": false - }, - "museum": { - "height": 15, - "width": 15, - "x": 150, - "y": 150, - "pixelRatio": 1, - "sdf": false - }, - "music": { - "height": 15, - "width": 15, - "x": 165, - "y": 0, - "pixelRatio": 1, - "sdf": false - }, - "natural": { - "height": 15, - "width": 15, - "x": 165, - "y": 15, - "pixelRatio": 1, - "sdf": false - }, - "observation-tower": { - "height": 15, - "width": 15, - "x": 165, - "y": 30, - "pixelRatio": 1, - "sdf": false - }, - "optician": { - "height": 15, - "width": 15, - "x": 165, - "y": 45, - "pixelRatio": 1, - "sdf": false - }, - "paint": { - "height": 15, - "width": 15, - "x": 165, - "y": 60, - "pixelRatio": 1, - "sdf": false - }, - "park-alt1": { - "height": 15, - "width": 15, - "x": 165, - "y": 75, - "pixelRatio": 1, - "sdf": false - }, - "park": { - "height": 15, - "width": 15, - "x": 165, - "y": 90, - "pixelRatio": 1, - "sdf": false - }, - "parking-garage": { - "height": 15, - "width": 15, - "x": 165, - "y": 105, - "pixelRatio": 1, - "sdf": false - }, - "parking-paid": { - "height": 15, - "width": 15, - "x": 165, - "y": 120, - "pixelRatio": 1, - "sdf": false - }, - "parking": { - "height": 15, - "width": 15, - "x": 165, - "y": 135, - "pixelRatio": 1, - "sdf": false - }, - "pharmacy": { - "height": 15, - "width": 15, - "x": 165, - "y": 150, - "pixelRatio": 1, - "sdf": false - }, - "picnic-site": { - "height": 15, - "width": 15, - "x": 0, - "y": 165, - "pixelRatio": 1, - "sdf": false - }, - "pitch": { - "height": 15, - "width": 15, - "x": 15, - "y": 165, - "pixelRatio": 1, - "sdf": false - }, - "place-of-worship": { - "height": 15, - "width": 15, - "x": 30, - "y": 165, - "pixelRatio": 1, - "sdf": false - }, - "playground": { - "height": 15, - "width": 15, - "x": 45, - "y": 165, - "pixelRatio": 1, - "sdf": false - }, - "police-JP": { - "height": 15, - "width": 15, - "x": 60, - "y": 165, - "pixelRatio": 1, - "sdf": false - }, - "police": { - "height": 15, - "width": 15, - "x": 75, - "y": 165, - "pixelRatio": 1, - "sdf": false - }, - "post-JP": { - "height": 15, - "width": 15, - "x": 90, - "y": 165, - "pixelRatio": 1, - "sdf": false - }, - "post": { - "height": 15, - "width": 15, - "x": 105, - "y": 165, - "pixelRatio": 1, - "sdf": false - }, - "prison": { - "height": 15, - "width": 15, - "x": 120, - "y": 165, - "pixelRatio": 1, - "sdf": false - }, - "racetrack-boat": { - "height": 15, - "width": 15, - "x": 135, - "y": 165, - "pixelRatio": 1, - "sdf": false - }, - "racetrack-cycling": { - "height": 15, - "width": 15, - "x": 150, - "y": 165, - "pixelRatio": 1, - "sdf": false - }, - "racetrack-horse": { - "height": 15, - "width": 15, - "x": 165, - "y": 165, - "pixelRatio": 1, - "sdf": false - }, - "racetrack": { - "height": 15, - "width": 15, - "x": 180, - "y": 0, - "pixelRatio": 1, - "sdf": false - }, - "rail-light": { - "height": 15, - "width": 15, - "x": 180, - "y": 15, - "pixelRatio": 1, - "sdf": false - }, - "rail-metro": { - "height": 15, - "width": 15, - "x": 180, - "y": 30, - "pixelRatio": 1, - "sdf": false - }, - "rail": { - "height": 15, - "width": 15, - "x": 180, - "y": 45, - "pixelRatio": 1, - "sdf": false - }, - "ranger-station": { - "height": 15, - "width": 15, - "x": 180, - "y": 60, - "pixelRatio": 1, - "sdf": false - }, - "recycling": { - "height": 15, - "width": 15, - "x": 180, - "y": 75, - "pixelRatio": 1, - "sdf": false - }, - "religious-buddhist": { - "height": 15, - "width": 15, - "x": 180, - "y": 90, - "pixelRatio": 1, - "sdf": false - }, - "religious-christian": { - "height": 15, - "width": 15, - "x": 180, - "y": 105, - "pixelRatio": 1, - "sdf": false - }, - "religious-jewish": { - "height": 15, - "width": 15, - "x": 180, - "y": 120, - "pixelRatio": 1, - "sdf": false - }, - "religious-muslim": { - "height": 15, - "width": 15, - "x": 180, - "y": 135, - "pixelRatio": 1, - "sdf": false - }, - "religious-shinto": { - "height": 15, - "width": 15, - "x": 180, - "y": 150, - "pixelRatio": 1, - "sdf": false - }, - "residential-community": { - "height": 15, - "width": 15, - "x": 180, - "y": 165, - "pixelRatio": 1, - "sdf": false - }, - "restaurant-bbq": { - "height": 15, - "width": 15, - "x": 0, - "y": 180, - "pixelRatio": 1, - "sdf": false - }, - "restaurant-noodle": { - "height": 15, - "width": 15, - "x": 15, - "y": 180, - "pixelRatio": 1, - "sdf": false - }, - "restaurant-pizza": { - "height": 15, - "width": 15, - "x": 30, - "y": 180, - "pixelRatio": 1, - "sdf": false - }, - "restaurant-seafood": { - "height": 15, - "width": 15, - "x": 45, - "y": 180, - "pixelRatio": 1, - "sdf": false - }, - "restaurant-sushi": { - "height": 15, - "width": 15, - "x": 60, - "y": 180, - "pixelRatio": 1, - "sdf": false - }, - "restaurant": { - "height": 15, - "width": 15, - "x": 75, - "y": 180, - "pixelRatio": 1, - "sdf": false - }, - "road-accident": { - "height": 15, - "width": 15, - "x": 90, - "y": 180, - "pixelRatio": 1, - "sdf": false - }, - "roadblock": { - "height": 15, - "width": 15, - "x": 105, - "y": 180, - "pixelRatio": 1, - "sdf": false - }, - "rocket": { - "height": 15, - "width": 15, - "x": 120, - "y": 180, - "pixelRatio": 1, - "sdf": false - }, - "school-JP": { - "height": 15, - "width": 15, - "x": 135, - "y": 180, - "pixelRatio": 1, - "sdf": false - }, - "school": { - "height": 15, - "width": 15, - "x": 150, - "y": 180, - "pixelRatio": 1, - "sdf": false - }, - "scooter": { - "height": 15, - "width": 15, - "x": 165, - "y": 180, - "pixelRatio": 1, - "sdf": false - }, - "shelter": { - "height": 15, - "width": 15, - "x": 180, - "y": 180, - "pixelRatio": 1, - "sdf": false - }, - "shoe": { - "height": 15, - "width": 15, - "x": 195, - "y": 0, - "pixelRatio": 1, - "sdf": false - }, - "shop": { - "height": 15, - "width": 15, - "x": 195, - "y": 15, - "pixelRatio": 1, - "sdf": false - }, - "skateboard": { - "height": 15, - "width": 15, - "x": 195, - "y": 30, - "pixelRatio": 1, - "sdf": false - }, - "skiing": { - "height": 15, - "width": 15, - "x": 195, - "y": 45, - "pixelRatio": 1, - "sdf": false - }, - "slaughterhouse": { - "height": 15, - "width": 15, - "x": 195, - "y": 60, - "pixelRatio": 1, - "sdf": false - }, - "slipway": { - "height": 15, - "width": 15, - "x": 195, - "y": 75, - "pixelRatio": 1, - "sdf": false - }, - "snowmobile": { - "height": 15, - "width": 15, - "x": 195, - "y": 90, - "pixelRatio": 1, - "sdf": false - }, - "soccer": { - "height": 15, - "width": 15, - "x": 195, - "y": 105, - "pixelRatio": 1, - "sdf": false - }, - "square-stroked": { - "height": 15, - "width": 15, - "x": 195, - "y": 120, - "pixelRatio": 1, - "sdf": false - }, - "square": { - "height": 15, - "width": 15, - "x": 195, - "y": 135, - "pixelRatio": 1, - "sdf": false - }, - "stadium": { - "height": 15, - "width": 15, - "x": 195, - "y": 150, - "pixelRatio": 1, - "sdf": false - }, - "star-stroked": { - "height": 15, - "width": 15, - "x": 195, - "y": 165, - "pixelRatio": 1, - "sdf": false - }, - "star": { - "height": 15, - "width": 15, - "x": 195, - "y": 180, - "pixelRatio": 1, - "sdf": false - }, - "suitcase": { - "height": 15, - "width": 15, - "x": 0, - "y": 195, - "pixelRatio": 1, - "sdf": false - }, - "swimming": { - "height": 15, - "width": 15, - "x": 15, - "y": 195, - "pixelRatio": 1, - "sdf": false - }, - "table-tennis": { - "height": 15, - "width": 15, - "x": 30, - "y": 195, - "pixelRatio": 1, - "sdf": false - }, - "teahouse": { - "height": 15, - "width": 15, - "x": 45, - "y": 195, - "pixelRatio": 1, - "sdf": false - }, - "telephone": { - "height": 15, - "width": 15, - "x": 60, - "y": 195, - "pixelRatio": 1, - "sdf": false - }, - "tennis": { - "height": 15, - "width": 15, - "x": 75, - "y": 195, - "pixelRatio": 1, - "sdf": false - }, - "theatre": { - "height": 15, - "width": 15, - "x": 90, - "y": 195, - "pixelRatio": 1, - "sdf": false - }, - "toilet": { - "height": 15, - "width": 15, - "x": 105, - "y": 195, - "pixelRatio": 1, - "sdf": false - }, - "toll": { - "height": 15, - "width": 15, - "x": 120, - "y": 195, - "pixelRatio": 1, - "sdf": false - }, - "town-hall": { - "height": 15, - "width": 15, - "x": 135, - "y": 195, - "pixelRatio": 1, - "sdf": false - }, - "town": { - "height": 15, - "width": 15, - "x": 150, - "y": 195, - "pixelRatio": 1, - "sdf": false - }, - "triangle-stroked": { - "height": 15, - "width": 15, - "x": 165, - "y": 195, - "pixelRatio": 1, - "sdf": false - }, - "triangle": { - "height": 15, - "width": 15, - "x": 180, - "y": 195, - "pixelRatio": 1, - "sdf": false - }, - "tunnel": { - "height": 15, - "width": 15, - "x": 195, - "y": 195, - "pixelRatio": 1, - "sdf": false - }, - "veterinary": { - "height": 15, - "width": 15, - "x": 210, - "y": 0, - "pixelRatio": 1, - "sdf": false - }, - "viewpoint": { - "height": 15, - "width": 15, - "x": 210, - "y": 15, - "pixelRatio": 1, - "sdf": false - }, - "village": { - "height": 15, - "width": 15, - "x": 210, - "y": 30, - "pixelRatio": 1, - "sdf": false - }, - "volcano": { - "height": 15, - "width": 15, - "x": 210, - "y": 45, - "pixelRatio": 1, - "sdf": false - }, - "volleyball": { - "height": 15, - "width": 15, - "x": 210, - "y": 60, - "pixelRatio": 1, - "sdf": false - }, - "warehouse": { - "height": 15, - "width": 15, - "x": 210, - "y": 75, - "pixelRatio": 1, - "sdf": false - }, - "waste-basket": { - "height": 15, - "width": 15, - "x": 210, - "y": 90, - "pixelRatio": 1, - "sdf": false - }, - "watch": { - "height": 15, - "width": 15, - "x": 210, - "y": 105, - "pixelRatio": 1, - "sdf": false - }, - "water": { - "height": 15, - "width": 15, - "x": 210, - "y": 120, - "pixelRatio": 1, - "sdf": false - }, - "waterfall": { - "height": 15, - "width": 15, - "x": 210, - "y": 135, - "pixelRatio": 1, - "sdf": false - }, - "watermill": { - "height": 15, - "width": 15, - "x": 210, - "y": 150, - "pixelRatio": 1, - "sdf": false - }, - "wetland": { - "height": 15, - "width": 15, - "x": 210, - "y": 165, - "pixelRatio": 1, - "sdf": false - }, - "wheelchair": { - "height": 15, - "width": 15, - "x": 210, - "y": 180, - "pixelRatio": 1, - "sdf": false - }, - "windmill": { - "height": 15, - "width": 15, - "x": 210, - "y": 195, - "pixelRatio": 1, - "sdf": false - }, - "zoo": { - "height": 15, - "width": 15, - "x": 0, - "y": 210, - "pixelRatio": 1, - "sdf": false - } -} \ No newline at end of file +{"aerialway":{"height":21,"width":21,"x":0,"y":0,"pixelRatio":1,"sdf":false},"airfield":{"height":21,"width":21,"x":21,"y":0,"pixelRatio":1,"sdf":false},"airport":{"height":21,"width":21,"x":0,"y":21,"pixelRatio":1,"sdf":false},"alcohol-shop":{"height":21,"width":21,"x":21,"y":21,"pixelRatio":1,"sdf":false},"american-football":{"height":21,"width":21,"x":42,"y":0,"pixelRatio":1,"sdf":false},"amusement-park":{"height":21,"width":21,"x":42,"y":21,"pixelRatio":1,"sdf":false},"animal-shelter":{"height":21,"width":21,"x":0,"y":42,"pixelRatio":1,"sdf":false},"aquarium":{"height":21,"width":21,"x":21,"y":42,"pixelRatio":1,"sdf":false},"arrow":{"height":21,"width":21,"x":42,"y":42,"pixelRatio":1,"sdf":false},"art-gallery":{"height":21,"width":21,"x":63,"y":0,"pixelRatio":1,"sdf":false},"attraction":{"height":21,"width":21,"x":63,"y":21,"pixelRatio":1,"sdf":false},"bakery":{"height":21,"width":21,"x":63,"y":42,"pixelRatio":1,"sdf":false},"bank-JP":{"height":21,"width":21,"x":0,"y":63,"pixelRatio":1,"sdf":false},"bank":{"height":21,"width":21,"x":21,"y":63,"pixelRatio":1,"sdf":false},"bar":{"height":21,"width":21,"x":42,"y":63,"pixelRatio":1,"sdf":false},"barrier":{"height":21,"width":21,"x":63,"y":63,"pixelRatio":1,"sdf":false},"baseball":{"height":21,"width":21,"x":84,"y":0,"pixelRatio":1,"sdf":false},"basketball":{"height":21,"width":21,"x":84,"y":21,"pixelRatio":1,"sdf":false},"bbq":{"height":21,"width":21,"x":84,"y":42,"pixelRatio":1,"sdf":false},"beach":{"height":21,"width":21,"x":84,"y":63,"pixelRatio":1,"sdf":false},"beer":{"height":21,"width":21,"x":0,"y":84,"pixelRatio":1,"sdf":false},"bicycle-share":{"height":21,"width":21,"x":21,"y":84,"pixelRatio":1,"sdf":false},"bicycle":{"height":21,"width":21,"x":42,"y":84,"pixelRatio":1,"sdf":false},"blood-bank":{"height":21,"width":21,"x":63,"y":84,"pixelRatio":1,"sdf":false},"bowling-alley":{"height":21,"width":21,"x":84,"y":84,"pixelRatio":1,"sdf":false},"bridge":{"height":21,"width":21,"x":105,"y":0,"pixelRatio":1,"sdf":false},"building-alt1":{"height":21,"width":21,"x":105,"y":21,"pixelRatio":1,"sdf":false},"building":{"height":21,"width":21,"x":105,"y":42,"pixelRatio":1,"sdf":false},"bus":{"height":21,"width":21,"x":105,"y":63,"pixelRatio":1,"sdf":false},"cafe":{"height":21,"width":21,"x":105,"y":84,"pixelRatio":1,"sdf":false},"campsite":{"height":21,"width":21,"x":0,"y":105,"pixelRatio":1,"sdf":false},"car-rental":{"height":21,"width":21,"x":21,"y":105,"pixelRatio":1,"sdf":false},"car-repair":{"height":21,"width":21,"x":42,"y":105,"pixelRatio":1,"sdf":false},"car":{"height":21,"width":21,"x":63,"y":105,"pixelRatio":1,"sdf":false},"casino":{"height":21,"width":21,"x":84,"y":105,"pixelRatio":1,"sdf":false},"castle-JP":{"height":21,"width":21,"x":105,"y":105,"pixelRatio":1,"sdf":false},"castle":{"height":21,"width":21,"x":126,"y":0,"pixelRatio":1,"sdf":false},"caution":{"height":21,"width":21,"x":126,"y":21,"pixelRatio":1,"sdf":false},"cemetery-JP":{"height":21,"width":21,"x":126,"y":42,"pixelRatio":1,"sdf":false},"cemetery":{"height":21,"width":21,"x":126,"y":63,"pixelRatio":1,"sdf":false},"charging-station":{"height":21,"width":21,"x":126,"y":84,"pixelRatio":1,"sdf":false},"cinema":{"height":21,"width":21,"x":126,"y":105,"pixelRatio":1,"sdf":false},"circle-stroked":{"height":21,"width":21,"x":0,"y":126,"pixelRatio":1,"sdf":false},"circle":{"height":21,"width":21,"x":21,"y":126,"pixelRatio":1,"sdf":false},"city":{"height":21,"width":21,"x":42,"y":126,"pixelRatio":1,"sdf":false},"clothing-store":{"height":21,"width":21,"x":63,"y":126,"pixelRatio":1,"sdf":false},"college-JP":{"height":21,"width":21,"x":84,"y":126,"pixelRatio":1,"sdf":false},"college":{"height":21,"width":21,"x":105,"y":126,"pixelRatio":1,"sdf":false},"commercial":{"height":21,"width":21,"x":126,"y":126,"pixelRatio":1,"sdf":false},"communications-tower":{"height":21,"width":21,"x":147,"y":0,"pixelRatio":1,"sdf":false},"confectionery":{"height":21,"width":21,"x":147,"y":21,"pixelRatio":1,"sdf":false},"construction":{"height":21,"width":21,"x":147,"y":42,"pixelRatio":1,"sdf":false},"convenience":{"height":21,"width":21,"x":147,"y":63,"pixelRatio":1,"sdf":false},"cricket":{"height":21,"width":21,"x":147,"y":84,"pixelRatio":1,"sdf":false},"cross":{"height":21,"width":21,"x":147,"y":105,"pixelRatio":1,"sdf":false},"dam":{"height":21,"width":21,"x":147,"y":126,"pixelRatio":1,"sdf":false},"danger":{"height":21,"width":21,"x":0,"y":147,"pixelRatio":1,"sdf":false},"defibrillator":{"height":21,"width":21,"x":21,"y":147,"pixelRatio":1,"sdf":false},"dentist":{"height":21,"width":21,"x":42,"y":147,"pixelRatio":1,"sdf":false},"diamond":{"height":21,"width":21,"x":63,"y":147,"pixelRatio":1,"sdf":false},"doctor":{"height":21,"width":21,"x":84,"y":147,"pixelRatio":1,"sdf":false},"dog-park":{"height":21,"width":21,"x":105,"y":147,"pixelRatio":1,"sdf":false},"drinking-water":{"height":21,"width":21,"x":126,"y":147,"pixelRatio":1,"sdf":false},"elevator":{"height":21,"width":21,"x":147,"y":147,"pixelRatio":1,"sdf":false},"embassy":{"height":21,"width":21,"x":168,"y":0,"pixelRatio":1,"sdf":false},"emergency-phone":{"height":21,"width":21,"x":168,"y":21,"pixelRatio":1,"sdf":false},"entrance-alt1":{"height":21,"width":21,"x":168,"y":42,"pixelRatio":1,"sdf":false},"entrance":{"height":21,"width":21,"x":168,"y":63,"pixelRatio":1,"sdf":false},"farm":{"height":21,"width":21,"x":168,"y":84,"pixelRatio":1,"sdf":false},"fast-food":{"height":21,"width":21,"x":168,"y":105,"pixelRatio":1,"sdf":false},"fence":{"height":21,"width":21,"x":168,"y":126,"pixelRatio":1,"sdf":false},"ferry-JP":{"height":21,"width":21,"x":168,"y":147,"pixelRatio":1,"sdf":false},"ferry":{"height":21,"width":21,"x":0,"y":168,"pixelRatio":1,"sdf":false},"fire-station-JP":{"height":21,"width":21,"x":21,"y":168,"pixelRatio":1,"sdf":false},"fire-station":{"height":21,"width":21,"x":42,"y":168,"pixelRatio":1,"sdf":false},"fitness-centre":{"height":21,"width":21,"x":63,"y":168,"pixelRatio":1,"sdf":false},"florist":{"height":21,"width":21,"x":84,"y":168,"pixelRatio":1,"sdf":false},"fuel":{"height":21,"width":21,"x":105,"y":168,"pixelRatio":1,"sdf":false},"furniture":{"height":21,"width":21,"x":126,"y":168,"pixelRatio":1,"sdf":false},"gaming":{"height":21,"width":21,"x":147,"y":168,"pixelRatio":1,"sdf":false},"garden-centre":{"height":21,"width":21,"x":168,"y":168,"pixelRatio":1,"sdf":false},"garden":{"height":21,"width":21,"x":189,"y":0,"pixelRatio":1,"sdf":false},"gate":{"height":21,"width":21,"x":189,"y":21,"pixelRatio":1,"sdf":false},"gift":{"height":21,"width":21,"x":189,"y":42,"pixelRatio":1,"sdf":false},"globe":{"height":21,"width":21,"x":189,"y":63,"pixelRatio":1,"sdf":false},"golf":{"height":21,"width":21,"x":189,"y":84,"pixelRatio":1,"sdf":false},"grocery":{"height":21,"width":21,"x":189,"y":105,"pixelRatio":1,"sdf":false},"hairdresser":{"height":21,"width":21,"x":189,"y":126,"pixelRatio":1,"sdf":false},"harbor":{"height":21,"width":21,"x":189,"y":147,"pixelRatio":1,"sdf":false},"hardware":{"height":21,"width":21,"x":189,"y":168,"pixelRatio":1,"sdf":false},"heart":{"height":21,"width":21,"x":0,"y":189,"pixelRatio":1,"sdf":false},"heliport":{"height":21,"width":21,"x":21,"y":189,"pixelRatio":1,"sdf":false},"highway-rest-area":{"height":21,"width":21,"x":42,"y":189,"pixelRatio":1,"sdf":false},"historic":{"height":21,"width":21,"x":63,"y":189,"pixelRatio":1,"sdf":false},"home":{"height":21,"width":21,"x":84,"y":189,"pixelRatio":1,"sdf":false},"horse-riding":{"height":21,"width":21,"x":105,"y":189,"pixelRatio":1,"sdf":false},"hospital-JP":{"height":21,"width":21,"x":126,"y":189,"pixelRatio":1,"sdf":false},"hospital":{"height":21,"width":21,"x":147,"y":189,"pixelRatio":1,"sdf":false},"hot-spring":{"height":21,"width":21,"x":168,"y":189,"pixelRatio":1,"sdf":false},"ice-cream":{"height":21,"width":21,"x":189,"y":189,"pixelRatio":1,"sdf":false},"industry":{"height":21,"width":21,"x":210,"y":0,"pixelRatio":1,"sdf":false},"information":{"height":21,"width":21,"x":210,"y":21,"pixelRatio":1,"sdf":false},"jewelry-store":{"height":21,"width":21,"x":210,"y":42,"pixelRatio":1,"sdf":false},"karaoke":{"height":21,"width":21,"x":210,"y":63,"pixelRatio":1,"sdf":false},"landmark-JP":{"height":21,"width":21,"x":210,"y":84,"pixelRatio":1,"sdf":false},"landmark":{"height":21,"width":21,"x":210,"y":105,"pixelRatio":1,"sdf":false},"landuse":{"height":21,"width":21,"x":210,"y":126,"pixelRatio":1,"sdf":false},"laundry":{"height":21,"width":21,"x":210,"y":147,"pixelRatio":1,"sdf":false},"library":{"height":21,"width":21,"x":210,"y":168,"pixelRatio":1,"sdf":false},"lift-gate":{"height":21,"width":21,"x":210,"y":189,"pixelRatio":1,"sdf":false},"lighthouse-JP":{"height":21,"width":21,"x":0,"y":210,"pixelRatio":1,"sdf":false},"lighthouse":{"height":21,"width":21,"x":21,"y":210,"pixelRatio":1,"sdf":false},"lodging":{"height":21,"width":21,"x":42,"y":210,"pixelRatio":1,"sdf":false},"logging":{"height":21,"width":21,"x":63,"y":210,"pixelRatio":1,"sdf":false},"marker-stroked":{"height":21,"width":21,"x":84,"y":210,"pixelRatio":1,"sdf":false},"marker":{"height":21,"width":21,"x":105,"y":210,"pixelRatio":1,"sdf":false},"mobile-phone":{"height":21,"width":21,"x":126,"y":210,"pixelRatio":1,"sdf":false},"monument-JP":{"height":21,"width":21,"x":147,"y":210,"pixelRatio":1,"sdf":false},"monument":{"height":21,"width":21,"x":168,"y":210,"pixelRatio":1,"sdf":false},"mountain":{"height":21,"width":21,"x":189,"y":210,"pixelRatio":1,"sdf":false},"museum":{"height":21,"width":21,"x":210,"y":210,"pixelRatio":1,"sdf":false},"music":{"height":21,"width":21,"x":231,"y":0,"pixelRatio":1,"sdf":false},"natural":{"height":21,"width":21,"x":231,"y":21,"pixelRatio":1,"sdf":false},"observation-tower":{"height":21,"width":21,"x":231,"y":42,"pixelRatio":1,"sdf":false},"optician":{"height":21,"width":21,"x":231,"y":63,"pixelRatio":1,"sdf":false},"paint":{"height":21,"width":21,"x":231,"y":84,"pixelRatio":1,"sdf":false},"park-alt1":{"height":21,"width":21,"x":231,"y":105,"pixelRatio":1,"sdf":false},"park":{"height":21,"width":21,"x":231,"y":126,"pixelRatio":1,"sdf":false},"parking-garage":{"height":21,"width":21,"x":231,"y":147,"pixelRatio":1,"sdf":false},"parking-paid":{"height":21,"width":21,"x":231,"y":168,"pixelRatio":1,"sdf":false},"parking":{"height":21,"width":21,"x":231,"y":189,"pixelRatio":1,"sdf":false},"pharmacy":{"height":21,"width":21,"x":231,"y":210,"pixelRatio":1,"sdf":false},"picnic-site":{"height":21,"width":21,"x":0,"y":231,"pixelRatio":1,"sdf":false},"pitch":{"height":21,"width":21,"x":21,"y":231,"pixelRatio":1,"sdf":false},"place-of-worship":{"height":21,"width":21,"x":42,"y":231,"pixelRatio":1,"sdf":false},"playground":{"height":21,"width":21,"x":63,"y":231,"pixelRatio":1,"sdf":false},"police-JP":{"height":21,"width":21,"x":84,"y":231,"pixelRatio":1,"sdf":false},"police":{"height":21,"width":21,"x":105,"y":231,"pixelRatio":1,"sdf":false},"post-JP":{"height":21,"width":21,"x":126,"y":231,"pixelRatio":1,"sdf":false},"post":{"height":21,"width":21,"x":147,"y":231,"pixelRatio":1,"sdf":false},"prison":{"height":21,"width":21,"x":168,"y":231,"pixelRatio":1,"sdf":false},"racetrack-boat":{"height":21,"width":21,"x":189,"y":231,"pixelRatio":1,"sdf":false},"racetrack-cycling":{"height":21,"width":21,"x":210,"y":231,"pixelRatio":1,"sdf":false},"racetrack-horse":{"height":21,"width":21,"x":231,"y":231,"pixelRatio":1,"sdf":false},"racetrack":{"height":21,"width":21,"x":252,"y":0,"pixelRatio":1,"sdf":false},"rail-light":{"height":21,"width":21,"x":252,"y":21,"pixelRatio":1,"sdf":false},"rail-metro":{"height":21,"width":21,"x":252,"y":42,"pixelRatio":1,"sdf":false},"rail":{"height":21,"width":21,"x":252,"y":63,"pixelRatio":1,"sdf":false},"ranger-station":{"height":21,"width":21,"x":252,"y":84,"pixelRatio":1,"sdf":false},"recycling":{"height":21,"width":21,"x":252,"y":105,"pixelRatio":1,"sdf":false},"religious-buddhist":{"height":21,"width":21,"x":252,"y":126,"pixelRatio":1,"sdf":false},"religious-christian":{"height":21,"width":21,"x":252,"y":147,"pixelRatio":1,"sdf":false},"religious-jewish":{"height":21,"width":21,"x":252,"y":168,"pixelRatio":1,"sdf":false},"religious-muslim":{"height":21,"width":21,"x":252,"y":189,"pixelRatio":1,"sdf":false},"religious-shinto":{"height":21,"width":21,"x":252,"y":210,"pixelRatio":1,"sdf":false},"residential-community":{"height":21,"width":21,"x":252,"y":231,"pixelRatio":1,"sdf":false},"restaurant-bbq":{"height":21,"width":21,"x":0,"y":252,"pixelRatio":1,"sdf":false},"restaurant-noodle":{"height":21,"width":21,"x":21,"y":252,"pixelRatio":1,"sdf":false},"restaurant-pizza":{"height":21,"width":21,"x":42,"y":252,"pixelRatio":1,"sdf":false},"restaurant-seafood":{"height":21,"width":21,"x":63,"y":252,"pixelRatio":1,"sdf":false},"restaurant-sushi":{"height":21,"width":21,"x":84,"y":252,"pixelRatio":1,"sdf":false},"restaurant":{"height":21,"width":21,"x":105,"y":252,"pixelRatio":1,"sdf":false},"road-accident":{"height":21,"width":21,"x":126,"y":252,"pixelRatio":1,"sdf":false},"roadblock":{"height":21,"width":21,"x":147,"y":252,"pixelRatio":1,"sdf":false},"rocket":{"height":21,"width":21,"x":168,"y":252,"pixelRatio":1,"sdf":false},"school-JP":{"height":21,"width":21,"x":189,"y":252,"pixelRatio":1,"sdf":false},"school":{"height":21,"width":21,"x":210,"y":252,"pixelRatio":1,"sdf":false},"scooter":{"height":21,"width":21,"x":231,"y":252,"pixelRatio":1,"sdf":false},"shelter":{"height":21,"width":21,"x":252,"y":252,"pixelRatio":1,"sdf":false},"shoe":{"height":21,"width":21,"x":273,"y":0,"pixelRatio":1,"sdf":false},"shop":{"height":21,"width":21,"x":273,"y":21,"pixelRatio":1,"sdf":false},"skateboard":{"height":21,"width":21,"x":273,"y":42,"pixelRatio":1,"sdf":false},"skiing":{"height":21,"width":21,"x":273,"y":63,"pixelRatio":1,"sdf":false},"slaughterhouse":{"height":21,"width":21,"x":273,"y":84,"pixelRatio":1,"sdf":false},"slipway":{"height":21,"width":21,"x":273,"y":105,"pixelRatio":1,"sdf":false},"snowmobile":{"height":21,"width":21,"x":273,"y":126,"pixelRatio":1,"sdf":false},"soccer":{"height":21,"width":21,"x":273,"y":147,"pixelRatio":1,"sdf":false},"square-stroked":{"height":21,"width":21,"x":273,"y":168,"pixelRatio":1,"sdf":false},"square":{"height":21,"width":21,"x":273,"y":189,"pixelRatio":1,"sdf":false},"stadium":{"height":21,"width":21,"x":273,"y":210,"pixelRatio":1,"sdf":false},"star-stroked":{"height":21,"width":21,"x":273,"y":231,"pixelRatio":1,"sdf":false},"star":{"height":21,"width":21,"x":273,"y":252,"pixelRatio":1,"sdf":false},"suitcase":{"height":21,"width":21,"x":0,"y":273,"pixelRatio":1,"sdf":false},"swimming":{"height":21,"width":21,"x":21,"y":273,"pixelRatio":1,"sdf":false},"table-tennis":{"height":21,"width":21,"x":42,"y":273,"pixelRatio":1,"sdf":false},"teahouse":{"height":21,"width":21,"x":63,"y":273,"pixelRatio":1,"sdf":false},"telephone":{"height":21,"width":21,"x":84,"y":273,"pixelRatio":1,"sdf":false},"tennis":{"height":21,"width":21,"x":105,"y":273,"pixelRatio":1,"sdf":false},"theatre":{"height":21,"width":21,"x":126,"y":273,"pixelRatio":1,"sdf":false},"toilet":{"height":21,"width":21,"x":147,"y":273,"pixelRatio":1,"sdf":false},"toll":{"height":21,"width":21,"x":168,"y":273,"pixelRatio":1,"sdf":false},"town-hall":{"height":21,"width":21,"x":189,"y":273,"pixelRatio":1,"sdf":false},"town":{"height":21,"width":21,"x":210,"y":273,"pixelRatio":1,"sdf":false},"triangle-stroked":{"height":21,"width":21,"x":231,"y":273,"pixelRatio":1,"sdf":false},"triangle":{"height":21,"width":21,"x":252,"y":273,"pixelRatio":1,"sdf":false},"tunnel":{"height":21,"width":21,"x":273,"y":273,"pixelRatio":1,"sdf":false},"veterinary":{"height":21,"width":21,"x":294,"y":0,"pixelRatio":1,"sdf":false},"viewpoint":{"height":21,"width":21,"x":294,"y":21,"pixelRatio":1,"sdf":false},"village":{"height":21,"width":21,"x":294,"y":42,"pixelRatio":1,"sdf":false},"volcano":{"height":21,"width":21,"x":294,"y":63,"pixelRatio":1,"sdf":false},"volleyball":{"height":21,"width":21,"x":294,"y":84,"pixelRatio":1,"sdf":false},"warehouse":{"height":21,"width":21,"x":294,"y":105,"pixelRatio":1,"sdf":false},"waste-basket":{"height":21,"width":21,"x":294,"y":126,"pixelRatio":1,"sdf":false},"watch":{"height":21,"width":21,"x":294,"y":147,"pixelRatio":1,"sdf":false},"water":{"height":21,"width":21,"x":294,"y":168,"pixelRatio":1,"sdf":false},"waterfall":{"height":21,"width":21,"x":294,"y":189,"pixelRatio":1,"sdf":false},"watermill":{"height":21,"width":21,"x":294,"y":210,"pixelRatio":1,"sdf":false},"wetland":{"height":21,"width":21,"x":294,"y":231,"pixelRatio":1,"sdf":false},"wheelchair":{"height":21,"width":21,"x":294,"y":252,"pixelRatio":1,"sdf":false},"windmill":{"height":21,"width":21,"x":294,"y":273,"pixelRatio":1,"sdf":false},"zoo":{"height":21,"width":21,"x":0,"y":294,"pixelRatio":1,"sdf":false}} \ No newline at end of file diff --git a/tests/fixtures/test5.png b/tests/fixtures/test5.png index 460d671c1e4f944f47b199bac3a974f80dc0f178..effdb9f1c60b668e8504951fd067e79d03d33383 100644 GIT binary patch literal 24870 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 diff --git a/tests/fixtures/test5@2x.json b/tests/fixtures/test5@2x.json index 364be3d..f0644b1 100644 --- a/tests/fixtures/test5@2x.json +++ b/tests/fixtures/test5@2x.json @@ -1,1690 +1 @@ -{ - "aerialway": { - "height": 30, - "width": 30, - "x": 0, - "y": 0, - "pixelRatio": 2, - "sdf": false - }, - "airfield": { - "height": 30, - "width": 30, - "x": 30, - "y": 0, - "pixelRatio": 2, - "sdf": false - }, - "airport": { - "height": 30, - "width": 30, - "x": 0, - "y": 30, - "pixelRatio": 2, - "sdf": false - }, - "alcohol-shop": { - "height": 30, - "width": 30, - "x": 30, - "y": 30, - "pixelRatio": 2, - "sdf": false - }, - "american-football": { - "height": 30, - "width": 30, - "x": 60, - "y": 0, - "pixelRatio": 2, - "sdf": false - }, - "amusement-park": { - "height": 30, - "width": 30, - "x": 60, - "y": 30, - "pixelRatio": 2, - "sdf": false - }, - "animal-shelter": { - "height": 30, - "width": 30, - "x": 0, - "y": 60, - "pixelRatio": 2, - "sdf": false - }, - "aquarium": { - "height": 30, - "width": 30, - "x": 30, - "y": 60, - "pixelRatio": 2, - "sdf": false - }, - "arrow": { - "height": 30, - "width": 30, - "x": 60, - "y": 60, - "pixelRatio": 2, - "sdf": false - }, - "art-gallery": { - "height": 30, - "width": 30, - "x": 90, - "y": 0, - "pixelRatio": 2, - "sdf": false - }, - "attraction": { - "height": 30, - "width": 30, - "x": 90, - "y": 30, - "pixelRatio": 2, - "sdf": false - }, - "bakery": { - "height": 30, - "width": 30, - "x": 90, - "y": 60, - "pixelRatio": 2, - "sdf": false - }, - "bank-JP": { - "height": 30, - "width": 30, - "x": 0, - "y": 90, - "pixelRatio": 2, - "sdf": false - }, - "bank": { - "height": 30, - "width": 30, - "x": 30, - "y": 90, - "pixelRatio": 2, - "sdf": false - }, - "bar": { - "height": 30, - "width": 30, - "x": 60, - "y": 90, - "pixelRatio": 2, - "sdf": false - }, - "barrier": { - "height": 30, - "width": 30, - "x": 90, - "y": 90, - "pixelRatio": 2, - "sdf": false - }, - "baseball": { - "height": 30, - "width": 30, - "x": 120, - "y": 0, - "pixelRatio": 2, - "sdf": false - }, - "basketball": { - "height": 30, - "width": 30, - "x": 120, - "y": 30, - "pixelRatio": 2, - "sdf": false - }, - "bbq": { - "height": 30, - "width": 30, - "x": 120, - "y": 60, - "pixelRatio": 2, - "sdf": false - }, - "beach": { - "height": 30, - "width": 30, - "x": 120, - "y": 90, - "pixelRatio": 2, - "sdf": false - }, - "beer": { - "height": 30, - "width": 30, - "x": 0, - "y": 120, - "pixelRatio": 2, - "sdf": false - }, - "bicycle-share": { - "height": 30, - "width": 30, - "x": 30, - "y": 120, - "pixelRatio": 2, - "sdf": false - }, - "bicycle": { - "height": 30, - "width": 30, - "x": 60, - "y": 120, - "pixelRatio": 2, - "sdf": false - }, - "blood-bank": { - "height": 30, - "width": 30, - "x": 90, - "y": 120, - "pixelRatio": 2, - "sdf": false - }, - "bowling-alley": { - "height": 30, - "width": 30, - "x": 120, - "y": 120, - "pixelRatio": 2, - "sdf": false - }, - "bridge": { - "height": 30, - "width": 30, - "x": 150, - "y": 0, - "pixelRatio": 2, - "sdf": false - }, - "building-alt1": { - "height": 30, - "width": 30, - "x": 150, - "y": 30, - "pixelRatio": 2, - "sdf": false - }, - "building": { - "height": 30, - "width": 30, - "x": 150, - "y": 60, - "pixelRatio": 2, - "sdf": false - }, - "bus": { - "height": 30, - "width": 30, - "x": 150, - "y": 90, - "pixelRatio": 2, - "sdf": false - }, - "cafe": { - "height": 30, - "width": 30, - "x": 150, - "y": 120, - "pixelRatio": 2, - "sdf": false - }, - "campsite": { - "height": 30, - "width": 30, - "x": 0, - "y": 150, - "pixelRatio": 2, - "sdf": false - }, - "car-rental": { - "height": 30, - "width": 30, - "x": 30, - "y": 150, - "pixelRatio": 2, - "sdf": false - }, - "car-repair": { - "height": 30, - "width": 30, - "x": 60, - "y": 150, - "pixelRatio": 2, - "sdf": false - }, - "car": { - "height": 30, - "width": 30, - "x": 90, - "y": 150, - "pixelRatio": 2, - "sdf": false - }, - "casino": { - "height": 30, - "width": 30, - "x": 120, - "y": 150, - "pixelRatio": 2, - "sdf": false - }, - "castle-JP": { - "height": 30, - "width": 30, - "x": 150, - "y": 150, - "pixelRatio": 2, - "sdf": false - }, - "castle": { - "height": 30, - "width": 30, - "x": 180, - "y": 0, - "pixelRatio": 2, - "sdf": false - }, - "caution": { - "height": 30, - "width": 30, - "x": 180, - "y": 30, - "pixelRatio": 2, - "sdf": false - }, - "cemetery-JP": { - "height": 30, - "width": 30, - "x": 180, - "y": 60, - "pixelRatio": 2, - "sdf": false - }, - "cemetery": { - "height": 30, - "width": 30, - "x": 180, - "y": 90, - "pixelRatio": 2, - "sdf": false - }, - "charging-station": { - "height": 30, - "width": 30, - "x": 180, - "y": 120, - "pixelRatio": 2, - "sdf": false - }, - "cinema": { - "height": 30, - "width": 30, - "x": 180, - "y": 150, - "pixelRatio": 2, - "sdf": false - }, - "circle-stroked": { - "height": 30, - "width": 30, - "x": 0, - "y": 180, - "pixelRatio": 2, - "sdf": false - }, - "circle": { - "height": 30, - "width": 30, - "x": 30, - "y": 180, - "pixelRatio": 2, - "sdf": false - }, - "city": { - "height": 30, - "width": 30, - "x": 60, - "y": 180, - "pixelRatio": 2, - "sdf": false - }, - "clothing-store": { - "height": 30, - "width": 30, - "x": 90, - "y": 180, - "pixelRatio": 2, - "sdf": false - }, - "college-JP": { - "height": 30, - "width": 30, - "x": 120, - "y": 180, - "pixelRatio": 2, - "sdf": false - }, - "college": { - "height": 30, - "width": 30, - "x": 150, - "y": 180, - "pixelRatio": 2, - "sdf": false - }, - "commercial": { - "height": 30, - "width": 30, - "x": 180, - "y": 180, - "pixelRatio": 2, - "sdf": false - }, - "communications-tower": { - "height": 30, - "width": 30, - "x": 210, - "y": 0, - "pixelRatio": 2, - "sdf": false - }, - "confectionery": { - "height": 30, - "width": 30, - "x": 210, - "y": 30, - "pixelRatio": 2, - "sdf": false - }, - "construction": { - "height": 30, - "width": 30, - "x": 210, - "y": 60, - "pixelRatio": 2, - "sdf": false - }, - "convenience": { - "height": 30, - "width": 30, - "x": 210, - "y": 90, - "pixelRatio": 2, - "sdf": false - }, - "cricket": { - "height": 30, - "width": 30, - "x": 210, - "y": 120, - "pixelRatio": 2, - "sdf": false - }, - "cross": { - "height": 30, - "width": 30, - "x": 210, - "y": 150, - "pixelRatio": 2, - "sdf": false - }, - "dam": { - "height": 30, - "width": 30, - "x": 210, - "y": 180, - "pixelRatio": 2, - "sdf": false - }, - "danger": { - "height": 30, - "width": 30, - "x": 0, - "y": 210, - "pixelRatio": 2, - "sdf": false - }, - "defibrillator": { - "height": 30, - "width": 30, - "x": 30, - "y": 210, - "pixelRatio": 2, - "sdf": false - }, - "dentist": { - "height": 30, - "width": 30, - "x": 60, - "y": 210, - "pixelRatio": 2, - "sdf": false - }, - "diamond": { - "height": 30, - "width": 30, - "x": 90, - "y": 210, - "pixelRatio": 2, - "sdf": false - }, - "doctor": { - "height": 30, - "width": 30, - "x": 120, - "y": 210, - "pixelRatio": 2, - "sdf": false - }, - "dog-park": { - "height": 30, - "width": 30, - "x": 150, - "y": 210, - "pixelRatio": 2, - "sdf": false - }, - "drinking-water": { - "height": 30, - "width": 30, - "x": 180, - "y": 210, - "pixelRatio": 2, - "sdf": false - }, - "elevator": { - "height": 30, - "width": 30, - "x": 210, - "y": 210, - "pixelRatio": 2, - "sdf": false - }, - "embassy": { - "height": 30, - "width": 30, - "x": 240, - "y": 0, - "pixelRatio": 2, - "sdf": false - }, - "emergency-phone": { - "height": 30, - "width": 30, - "x": 240, - "y": 30, - "pixelRatio": 2, - "sdf": false - }, - "entrance-alt1": { - "height": 30, - "width": 30, - "x": 240, - "y": 60, - "pixelRatio": 2, - "sdf": false - }, - "entrance": { - "height": 30, - "width": 30, - "x": 240, - "y": 90, - "pixelRatio": 2, - "sdf": false - }, - "farm": { - "height": 30, - "width": 30, - "x": 240, - "y": 120, - "pixelRatio": 2, - "sdf": false - }, - "fast-food": { - "height": 30, - "width": 30, - "x": 240, - "y": 150, - "pixelRatio": 2, - "sdf": false - }, - "fence": { - "height": 30, - "width": 30, - "x": 240, - "y": 180, - "pixelRatio": 2, - "sdf": false - }, - "ferry-JP": { - "height": 30, - "width": 30, - "x": 240, - "y": 210, - "pixelRatio": 2, - "sdf": false - }, - "ferry": { - "height": 30, - "width": 30, - "x": 0, - "y": 240, - "pixelRatio": 2, - "sdf": false - }, - "fire-station-JP": { - "height": 30, - "width": 30, - "x": 30, - "y": 240, - "pixelRatio": 2, - "sdf": false - }, - "fire-station": { - "height": 30, - "width": 30, - "x": 60, - "y": 240, - "pixelRatio": 2, - "sdf": false - }, - "fitness-centre": { - "height": 30, - "width": 30, - "x": 90, - "y": 240, - "pixelRatio": 2, - "sdf": false - }, - "florist": { - "height": 30, - "width": 30, - "x": 120, - "y": 240, - "pixelRatio": 2, - "sdf": false - }, - "fuel": { - "height": 30, - "width": 30, - "x": 150, - "y": 240, - "pixelRatio": 2, - "sdf": false - }, - "furniture": { - "height": 30, - "width": 30, - "x": 180, - "y": 240, - "pixelRatio": 2, - "sdf": false - }, - "gaming": { - "height": 30, - "width": 30, - "x": 210, - "y": 240, - "pixelRatio": 2, - "sdf": false - }, - "garden-centre": { - "height": 30, - "width": 30, - "x": 240, - "y": 240, - "pixelRatio": 2, - "sdf": false - }, - "garden": { - "height": 30, - "width": 30, - "x": 270, - "y": 0, - "pixelRatio": 2, - "sdf": false - }, - "gate": { - "height": 30, - "width": 30, - "x": 270, - "y": 30, - "pixelRatio": 2, - "sdf": false - }, - "gift": { - "height": 30, - "width": 30, - "x": 270, - "y": 60, - "pixelRatio": 2, - "sdf": false - }, - "globe": { - "height": 30, - "width": 30, - "x": 270, - "y": 90, - "pixelRatio": 2, - "sdf": false - }, - "golf": { - "height": 30, - "width": 30, - "x": 270, - "y": 120, - "pixelRatio": 2, - "sdf": false - }, - "grocery": { - "height": 30, - "width": 30, - "x": 270, - "y": 150, - "pixelRatio": 2, - "sdf": false - }, - "hairdresser": { - "height": 30, - "width": 30, - "x": 270, - "y": 180, - "pixelRatio": 2, - "sdf": false - }, - "harbor": { - "height": 30, - "width": 30, - "x": 270, - "y": 210, - "pixelRatio": 2, - "sdf": false - }, - "hardware": { - "height": 30, - "width": 30, - "x": 270, - "y": 240, - "pixelRatio": 2, - "sdf": false - }, - "heart": { - "height": 30, - "width": 30, - "x": 0, - "y": 270, - "pixelRatio": 2, - "sdf": false - }, - "heliport": { - "height": 30, - "width": 30, - "x": 30, - "y": 270, - "pixelRatio": 2, - "sdf": false - }, - "highway-rest-area": { - "height": 30, - "width": 30, - "x": 60, - "y": 270, - "pixelRatio": 2, - "sdf": false - }, - "historic": { - "height": 30, - "width": 30, - "x": 90, - "y": 270, - "pixelRatio": 2, - "sdf": false - }, - "home": { - "height": 30, - "width": 30, - "x": 120, - "y": 270, - "pixelRatio": 2, - "sdf": false - }, - "horse-riding": { - "height": 30, - "width": 30, - "x": 150, - "y": 270, - "pixelRatio": 2, - "sdf": false - }, - "hospital-JP": { - "height": 30, - "width": 30, - "x": 180, - "y": 270, - "pixelRatio": 2, - "sdf": false - }, - "hospital": { - "height": 30, - "width": 30, - "x": 210, - "y": 270, - "pixelRatio": 2, - "sdf": false - }, - "hot-spring": { - "height": 30, - "width": 30, - "x": 240, - "y": 270, - "pixelRatio": 2, - "sdf": false - }, - "ice-cream": { - "height": 30, - "width": 30, - "x": 270, - "y": 270, - "pixelRatio": 2, - "sdf": false - }, - "industry": { - "height": 30, - "width": 30, - "x": 300, - "y": 0, - "pixelRatio": 2, - "sdf": false - }, - "information": { - "height": 30, - "width": 30, - "x": 300, - "y": 30, - "pixelRatio": 2, - "sdf": false - }, - "jewelry-store": { - "height": 30, - "width": 30, - "x": 300, - "y": 60, - "pixelRatio": 2, - "sdf": false - }, - "karaoke": { - "height": 30, - "width": 30, - "x": 300, - "y": 90, - "pixelRatio": 2, - "sdf": false - }, - "landmark-JP": { - "height": 30, - "width": 30, - "x": 300, - "y": 120, - "pixelRatio": 2, - "sdf": false - }, - "landmark": { - "height": 30, - "width": 30, - "x": 300, - "y": 150, - "pixelRatio": 2, - "sdf": false - }, - "landuse": { - "height": 30, - "width": 30, - "x": 300, - "y": 180, - "pixelRatio": 2, - "sdf": false - }, - "laundry": { - "height": 30, - "width": 30, - "x": 300, - "y": 210, - "pixelRatio": 2, - "sdf": false - }, - "library": { - "height": 30, - "width": 30, - "x": 300, - "y": 240, - "pixelRatio": 2, - "sdf": false - }, - "lift-gate": { - "height": 30, - "width": 30, - "x": 300, - "y": 270, - "pixelRatio": 2, - "sdf": false - }, - "lighthouse-JP": { - "height": 30, - "width": 30, - "x": 0, - "y": 300, - "pixelRatio": 2, - "sdf": false - }, - "lighthouse": { - "height": 30, - "width": 30, - "x": 30, - "y": 300, - "pixelRatio": 2, - "sdf": false - }, - "lodging": { - "height": 30, - "width": 30, - "x": 60, - "y": 300, - "pixelRatio": 2, - "sdf": false - }, - "logging": { - "height": 30, - "width": 30, - "x": 90, - "y": 300, - "pixelRatio": 2, - "sdf": false - }, - "marker-stroked": { - "height": 30, - "width": 30, - "x": 120, - "y": 300, - "pixelRatio": 2, - "sdf": false - }, - "marker": { - "height": 30, - "width": 30, - "x": 150, - "y": 300, - "pixelRatio": 2, - "sdf": false - }, - "mobile-phone": { - "height": 30, - "width": 30, - "x": 180, - "y": 300, - "pixelRatio": 2, - "sdf": false - }, - "monument-JP": { - "height": 30, - "width": 30, - "x": 210, - "y": 300, - "pixelRatio": 2, - "sdf": false - }, - "monument": { - "height": 30, - "width": 30, - "x": 240, - "y": 300, - "pixelRatio": 2, - "sdf": false - }, - "mountain": { - "height": 30, - "width": 30, - "x": 270, - "y": 300, - "pixelRatio": 2, - "sdf": false - }, - "museum": { - "height": 30, - "width": 30, - "x": 300, - "y": 300, - "pixelRatio": 2, - "sdf": false - }, - "music": { - "height": 30, - "width": 30, - "x": 330, - "y": 0, - "pixelRatio": 2, - "sdf": false - }, - "natural": { - "height": 30, - "width": 30, - "x": 330, - "y": 30, - "pixelRatio": 2, - "sdf": false - }, - "observation-tower": { - "height": 30, - "width": 30, - "x": 330, - "y": 60, - "pixelRatio": 2, - "sdf": false - }, - "optician": { - "height": 30, - "width": 30, - "x": 330, - "y": 90, - "pixelRatio": 2, - "sdf": false - }, - "paint": { - "height": 30, - "width": 30, - "x": 330, - "y": 120, - "pixelRatio": 2, - "sdf": false - }, - "park-alt1": { - "height": 30, - "width": 30, - "x": 330, - "y": 150, - "pixelRatio": 2, - "sdf": false - }, - "park": { - "height": 30, - "width": 30, - "x": 330, - "y": 180, - "pixelRatio": 2, - "sdf": false - }, - "parking-garage": { - "height": 30, - "width": 30, - "x": 330, - "y": 210, - "pixelRatio": 2, - "sdf": false - }, - "parking-paid": { - "height": 30, - "width": 30, - "x": 330, - "y": 240, - "pixelRatio": 2, - "sdf": false - }, - "parking": { - "height": 30, - "width": 30, - "x": 330, - "y": 270, - "pixelRatio": 2, - "sdf": false - }, - "pharmacy": { - "height": 30, - "width": 30, - "x": 330, - "y": 300, - "pixelRatio": 2, - "sdf": false - }, - "picnic-site": { - "height": 30, - "width": 30, - "x": 0, - "y": 330, - "pixelRatio": 2, - "sdf": false - }, - "pitch": { - "height": 30, - "width": 30, - "x": 30, - "y": 330, - "pixelRatio": 2, - "sdf": false - }, - "place-of-worship": { - "height": 30, - "width": 30, - "x": 60, - "y": 330, - "pixelRatio": 2, - "sdf": false - }, - "playground": { - "height": 30, - "width": 30, - "x": 90, - "y": 330, - "pixelRatio": 2, - "sdf": false - }, - "police-JP": { - "height": 30, - "width": 30, - "x": 120, - "y": 330, - "pixelRatio": 2, - "sdf": false - }, - "police": { - "height": 30, - "width": 30, - "x": 150, - "y": 330, - "pixelRatio": 2, - "sdf": false - }, - "post-JP": { - "height": 30, - "width": 30, - "x": 180, - "y": 330, - "pixelRatio": 2, - "sdf": false - }, - "post": { - "height": 30, - "width": 30, - "x": 210, - "y": 330, - "pixelRatio": 2, - "sdf": false - }, - "prison": { - "height": 30, - "width": 30, - "x": 240, - "y": 330, - "pixelRatio": 2, - "sdf": false - }, - "racetrack-boat": { - "height": 30, - "width": 30, - "x": 270, - "y": 330, - "pixelRatio": 2, - "sdf": false - }, - "racetrack-cycling": { - "height": 30, - "width": 30, - "x": 300, - "y": 330, - "pixelRatio": 2, - "sdf": false - }, - "racetrack-horse": { - "height": 30, - "width": 30, - "x": 330, - "y": 330, - "pixelRatio": 2, - "sdf": false - }, - "racetrack": { - "height": 30, - "width": 30, - "x": 360, - "y": 0, - "pixelRatio": 2, - "sdf": false - }, - "rail-light": { - "height": 30, - "width": 30, - "x": 360, - "y": 30, - "pixelRatio": 2, - "sdf": false - }, - "rail-metro": { - "height": 30, - "width": 30, - "x": 360, - "y": 60, - "pixelRatio": 2, - "sdf": false - }, - "rail": { - "height": 30, - "width": 30, - "x": 360, - "y": 90, - "pixelRatio": 2, - "sdf": false - }, - "ranger-station": { - "height": 30, - "width": 30, - "x": 360, - "y": 120, - "pixelRatio": 2, - "sdf": false - }, - "recycling": { - "height": 30, - "width": 30, - "x": 360, - "y": 150, - "pixelRatio": 2, - "sdf": false - }, - "religious-buddhist": { - "height": 30, - "width": 30, - "x": 360, - "y": 180, - "pixelRatio": 2, - "sdf": false - }, - "religious-christian": { - "height": 30, - "width": 30, - "x": 360, - "y": 210, - "pixelRatio": 2, - "sdf": false - }, - "religious-jewish": { - "height": 30, - "width": 30, - "x": 360, - "y": 240, - "pixelRatio": 2, - "sdf": false - }, - "religious-muslim": { - "height": 30, - "width": 30, - "x": 360, - "y": 270, - "pixelRatio": 2, - "sdf": false - }, - "religious-shinto": { - "height": 30, - "width": 30, - "x": 360, - "y": 300, - "pixelRatio": 2, - "sdf": false - }, - "residential-community": { - "height": 30, - "width": 30, - "x": 360, - "y": 330, - "pixelRatio": 2, - "sdf": false - }, - "restaurant-bbq": { - "height": 30, - "width": 30, - "x": 0, - "y": 360, - "pixelRatio": 2, - "sdf": false - }, - "restaurant-noodle": { - "height": 30, - "width": 30, - "x": 30, - "y": 360, - "pixelRatio": 2, - "sdf": false - }, - "restaurant-pizza": { - "height": 30, - "width": 30, - "x": 60, - "y": 360, - "pixelRatio": 2, - "sdf": false - }, - "restaurant-seafood": { - "height": 30, - "width": 30, - "x": 90, - "y": 360, - "pixelRatio": 2, - "sdf": false - }, - "restaurant-sushi": { - "height": 30, - "width": 30, - "x": 120, - "y": 360, - "pixelRatio": 2, - "sdf": false - }, - "restaurant": { - "height": 30, - "width": 30, - "x": 150, - "y": 360, - "pixelRatio": 2, - "sdf": false - }, - "road-accident": { - "height": 30, - "width": 30, - "x": 180, - "y": 360, - "pixelRatio": 2, - "sdf": false - }, - "roadblock": { - "height": 30, - "width": 30, - "x": 210, - "y": 360, - "pixelRatio": 2, - "sdf": false - }, - "rocket": { - "height": 30, - "width": 30, - "x": 240, - "y": 360, - "pixelRatio": 2, - "sdf": false - }, - "school-JP": { - "height": 30, - "width": 30, - "x": 270, - "y": 360, - "pixelRatio": 2, - "sdf": false - }, - "school": { - "height": 30, - "width": 30, - "x": 300, - "y": 360, - "pixelRatio": 2, - "sdf": false - }, - "scooter": { - "height": 30, - "width": 30, - "x": 330, - "y": 360, - "pixelRatio": 2, - "sdf": false - }, - "shelter": { - "height": 30, - "width": 30, - "x": 360, - "y": 360, - "pixelRatio": 2, - "sdf": false - }, - "shoe": { - "height": 30, - "width": 30, - "x": 390, - "y": 0, - "pixelRatio": 2, - "sdf": false - }, - "shop": { - "height": 30, - "width": 30, - "x": 390, - "y": 30, - "pixelRatio": 2, - "sdf": false - }, - "skateboard": { - "height": 30, - "width": 30, - "x": 390, - "y": 60, - "pixelRatio": 2, - "sdf": false - }, - "skiing": { - "height": 30, - "width": 30, - "x": 390, - "y": 90, - "pixelRatio": 2, - "sdf": false - }, - "slaughterhouse": { - "height": 30, - "width": 30, - "x": 390, - "y": 120, - "pixelRatio": 2, - "sdf": false - }, - "slipway": { - "height": 30, - "width": 30, - "x": 390, - "y": 150, - "pixelRatio": 2, - "sdf": false - }, - "snowmobile": { - "height": 30, - "width": 30, - "x": 390, - "y": 180, - "pixelRatio": 2, - "sdf": false - }, - "soccer": { - "height": 30, - "width": 30, - "x": 390, - "y": 210, - "pixelRatio": 2, - "sdf": false - }, - "square-stroked": { - "height": 30, - "width": 30, - "x": 390, - "y": 240, - "pixelRatio": 2, - "sdf": false - }, - "square": { - "height": 30, - "width": 30, - "x": 390, - "y": 270, - "pixelRatio": 2, - "sdf": false - }, - "stadium": { - "height": 30, - "width": 30, - "x": 390, - "y": 300, - "pixelRatio": 2, - "sdf": false - }, - "star-stroked": { - "height": 30, - "width": 30, - "x": 390, - "y": 330, - "pixelRatio": 2, - "sdf": false - }, - "star": { - "height": 30, - "width": 30, - "x": 390, - "y": 360, - "pixelRatio": 2, - "sdf": false - }, - "suitcase": { - "height": 30, - "width": 30, - "x": 0, - "y": 390, - "pixelRatio": 2, - "sdf": false - }, - "swimming": { - "height": 30, - "width": 30, - "x": 30, - "y": 390, - "pixelRatio": 2, - "sdf": false - }, - "table-tennis": { - "height": 30, - "width": 30, - "x": 60, - "y": 390, - "pixelRatio": 2, - "sdf": false - }, - "teahouse": { - "height": 30, - "width": 30, - "x": 90, - "y": 390, - "pixelRatio": 2, - "sdf": false - }, - "telephone": { - "height": 30, - "width": 30, - "x": 120, - "y": 390, - "pixelRatio": 2, - "sdf": false - }, - "tennis": { - "height": 30, - "width": 30, - "x": 150, - "y": 390, - "pixelRatio": 2, - "sdf": false - }, - "theatre": { - "height": 30, - "width": 30, - "x": 180, - "y": 390, - "pixelRatio": 2, - "sdf": false - }, - "toilet": { - "height": 30, - "width": 30, - "x": 210, - "y": 390, - "pixelRatio": 2, - "sdf": false - }, - "toll": { - "height": 30, - "width": 30, - "x": 240, - "y": 390, - "pixelRatio": 2, - "sdf": false - }, - "town-hall": { - "height": 30, - "width": 30, - "x": 270, - "y": 390, - "pixelRatio": 2, - "sdf": false - }, - "town": { - "height": 30, - "width": 30, - "x": 300, - "y": 390, - "pixelRatio": 2, - "sdf": false - }, - "triangle-stroked": { - "height": 30, - "width": 30, - "x": 330, - "y": 390, - "pixelRatio": 2, - "sdf": false - }, - "triangle": { - "height": 30, - "width": 30, - "x": 360, - "y": 390, - "pixelRatio": 2, - "sdf": false - }, - "tunnel": { - "height": 30, - "width": 30, - "x": 390, - "y": 390, - "pixelRatio": 2, - "sdf": false - }, - "veterinary": { - "height": 30, - "width": 30, - "x": 420, - "y": 0, - "pixelRatio": 2, - "sdf": false - }, - "viewpoint": { - "height": 30, - "width": 30, - "x": 420, - "y": 30, - "pixelRatio": 2, - "sdf": false - }, - "village": { - "height": 30, - "width": 30, - "x": 420, - "y": 60, - "pixelRatio": 2, - "sdf": false - }, - "volcano": { - "height": 30, - "width": 30, - "x": 420, - "y": 90, - "pixelRatio": 2, - "sdf": false - }, - "volleyball": { - "height": 30, - "width": 30, - "x": 420, - "y": 120, - "pixelRatio": 2, - "sdf": false - }, - "warehouse": { - "height": 30, - "width": 30, - "x": 420, - "y": 150, - "pixelRatio": 2, - "sdf": false - }, - "waste-basket": { - "height": 30, - "width": 30, - "x": 420, - "y": 180, - "pixelRatio": 2, - "sdf": false - }, - "watch": { - "height": 30, - "width": 30, - "x": 420, - "y": 210, - "pixelRatio": 2, - "sdf": false - }, - "water": { - "height": 30, - "width": 30, - "x": 420, - "y": 240, - "pixelRatio": 2, - "sdf": false - }, - "waterfall": { - "height": 30, - "width": 30, - "x": 420, - "y": 270, - "pixelRatio": 2, - "sdf": false - }, - "watermill": { - "height": 30, - "width": 30, - "x": 420, - "y": 300, - "pixelRatio": 2, - "sdf": false - }, - "wetland": { - "height": 30, - "width": 30, - "x": 420, - "y": 330, - "pixelRatio": 2, - "sdf": false - }, - "wheelchair": { - "height": 30, - "width": 30, - "x": 420, - "y": 360, - "pixelRatio": 2, - "sdf": false - }, - "windmill": { - "height": 30, - "width": 30, - "x": 420, - "y": 390, - "pixelRatio": 2, - "sdf": false - }, - "zoo": { - "height": 30, - "width": 30, - "x": 0, - "y": 420, - "pixelRatio": 2, - "sdf": false - } -} \ No newline at end of file +{"aerialway":{"height":36,"width":36,"x":0,"y":0,"pixelRatio":2,"sdf":false},"airfield":{"height":36,"width":36,"x":36,"y":0,"pixelRatio":2,"sdf":false},"airport":{"height":36,"width":36,"x":0,"y":36,"pixelRatio":2,"sdf":false},"alcohol-shop":{"height":36,"width":36,"x":36,"y":36,"pixelRatio":2,"sdf":false},"american-football":{"height":36,"width":36,"x":72,"y":0,"pixelRatio":2,"sdf":false},"amusement-park":{"height":36,"width":36,"x":72,"y":36,"pixelRatio":2,"sdf":false},"animal-shelter":{"height":36,"width":36,"x":0,"y":72,"pixelRatio":2,"sdf":false},"aquarium":{"height":36,"width":36,"x":36,"y":72,"pixelRatio":2,"sdf":false},"arrow":{"height":36,"width":36,"x":72,"y":72,"pixelRatio":2,"sdf":false},"art-gallery":{"height":36,"width":36,"x":108,"y":0,"pixelRatio":2,"sdf":false},"attraction":{"height":36,"width":36,"x":108,"y":36,"pixelRatio":2,"sdf":false},"bakery":{"height":36,"width":36,"x":108,"y":72,"pixelRatio":2,"sdf":false},"bank-JP":{"height":36,"width":36,"x":0,"y":108,"pixelRatio":2,"sdf":false},"bank":{"height":36,"width":36,"x":36,"y":108,"pixelRatio":2,"sdf":false},"bar":{"height":36,"width":36,"x":72,"y":108,"pixelRatio":2,"sdf":false},"barrier":{"height":36,"width":36,"x":108,"y":108,"pixelRatio":2,"sdf":false},"baseball":{"height":36,"width":36,"x":144,"y":0,"pixelRatio":2,"sdf":false},"basketball":{"height":36,"width":36,"x":144,"y":36,"pixelRatio":2,"sdf":false},"bbq":{"height":36,"width":36,"x":144,"y":72,"pixelRatio":2,"sdf":false},"beach":{"height":36,"width":36,"x":144,"y":108,"pixelRatio":2,"sdf":false},"beer":{"height":36,"width":36,"x":0,"y":144,"pixelRatio":2,"sdf":false},"bicycle-share":{"height":36,"width":36,"x":36,"y":144,"pixelRatio":2,"sdf":false},"bicycle":{"height":36,"width":36,"x":72,"y":144,"pixelRatio":2,"sdf":false},"blood-bank":{"height":36,"width":36,"x":108,"y":144,"pixelRatio":2,"sdf":false},"bowling-alley":{"height":36,"width":36,"x":144,"y":144,"pixelRatio":2,"sdf":false},"bridge":{"height":36,"width":36,"x":180,"y":0,"pixelRatio":2,"sdf":false},"building-alt1":{"height":36,"width":36,"x":180,"y":36,"pixelRatio":2,"sdf":false},"building":{"height":36,"width":36,"x":180,"y":72,"pixelRatio":2,"sdf":false},"bus":{"height":36,"width":36,"x":180,"y":108,"pixelRatio":2,"sdf":false},"cafe":{"height":36,"width":36,"x":180,"y":144,"pixelRatio":2,"sdf":false},"campsite":{"height":36,"width":36,"x":0,"y":180,"pixelRatio":2,"sdf":false},"car-rental":{"height":36,"width":36,"x":36,"y":180,"pixelRatio":2,"sdf":false},"car-repair":{"height":36,"width":36,"x":72,"y":180,"pixelRatio":2,"sdf":false},"car":{"height":36,"width":36,"x":108,"y":180,"pixelRatio":2,"sdf":false},"casino":{"height":36,"width":36,"x":144,"y":180,"pixelRatio":2,"sdf":false},"castle-JP":{"height":36,"width":36,"x":180,"y":180,"pixelRatio":2,"sdf":false},"castle":{"height":36,"width":36,"x":216,"y":0,"pixelRatio":2,"sdf":false},"caution":{"height":36,"width":36,"x":216,"y":36,"pixelRatio":2,"sdf":false},"cemetery-JP":{"height":36,"width":36,"x":216,"y":72,"pixelRatio":2,"sdf":false},"cemetery":{"height":36,"width":36,"x":216,"y":108,"pixelRatio":2,"sdf":false},"charging-station":{"height":36,"width":36,"x":216,"y":144,"pixelRatio":2,"sdf":false},"cinema":{"height":36,"width":36,"x":216,"y":180,"pixelRatio":2,"sdf":false},"circle-stroked":{"height":36,"width":36,"x":0,"y":216,"pixelRatio":2,"sdf":false},"circle":{"height":36,"width":36,"x":36,"y":216,"pixelRatio":2,"sdf":false},"city":{"height":36,"width":36,"x":72,"y":216,"pixelRatio":2,"sdf":false},"clothing-store":{"height":36,"width":36,"x":108,"y":216,"pixelRatio":2,"sdf":false},"college-JP":{"height":36,"width":36,"x":144,"y":216,"pixelRatio":2,"sdf":false},"college":{"height":36,"width":36,"x":180,"y":216,"pixelRatio":2,"sdf":false},"commercial":{"height":36,"width":36,"x":216,"y":216,"pixelRatio":2,"sdf":false},"communications-tower":{"height":36,"width":36,"x":252,"y":0,"pixelRatio":2,"sdf":false},"confectionery":{"height":36,"width":36,"x":252,"y":36,"pixelRatio":2,"sdf":false},"construction":{"height":36,"width":36,"x":252,"y":72,"pixelRatio":2,"sdf":false},"convenience":{"height":36,"width":36,"x":252,"y":108,"pixelRatio":2,"sdf":false},"cricket":{"height":36,"width":36,"x":252,"y":144,"pixelRatio":2,"sdf":false},"cross":{"height":36,"width":36,"x":252,"y":180,"pixelRatio":2,"sdf":false},"dam":{"height":36,"width":36,"x":252,"y":216,"pixelRatio":2,"sdf":false},"danger":{"height":36,"width":36,"x":0,"y":252,"pixelRatio":2,"sdf":false},"defibrillator":{"height":36,"width":36,"x":36,"y":252,"pixelRatio":2,"sdf":false},"dentist":{"height":36,"width":36,"x":72,"y":252,"pixelRatio":2,"sdf":false},"diamond":{"height":36,"width":36,"x":108,"y":252,"pixelRatio":2,"sdf":false},"doctor":{"height":36,"width":36,"x":144,"y":252,"pixelRatio":2,"sdf":false},"dog-park":{"height":36,"width":36,"x":180,"y":252,"pixelRatio":2,"sdf":false},"drinking-water":{"height":36,"width":36,"x":216,"y":252,"pixelRatio":2,"sdf":false},"elevator":{"height":36,"width":36,"x":252,"y":252,"pixelRatio":2,"sdf":false},"embassy":{"height":36,"width":36,"x":288,"y":0,"pixelRatio":2,"sdf":false},"emergency-phone":{"height":36,"width":36,"x":288,"y":36,"pixelRatio":2,"sdf":false},"entrance-alt1":{"height":36,"width":36,"x":288,"y":72,"pixelRatio":2,"sdf":false},"entrance":{"height":36,"width":36,"x":288,"y":108,"pixelRatio":2,"sdf":false},"farm":{"height":36,"width":36,"x":288,"y":144,"pixelRatio":2,"sdf":false},"fast-food":{"height":36,"width":36,"x":288,"y":180,"pixelRatio":2,"sdf":false},"fence":{"height":36,"width":36,"x":288,"y":216,"pixelRatio":2,"sdf":false},"ferry-JP":{"height":36,"width":36,"x":288,"y":252,"pixelRatio":2,"sdf":false},"ferry":{"height":36,"width":36,"x":0,"y":288,"pixelRatio":2,"sdf":false},"fire-station-JP":{"height":36,"width":36,"x":36,"y":288,"pixelRatio":2,"sdf":false},"fire-station":{"height":36,"width":36,"x":72,"y":288,"pixelRatio":2,"sdf":false},"fitness-centre":{"height":36,"width":36,"x":108,"y":288,"pixelRatio":2,"sdf":false},"florist":{"height":36,"width":36,"x":144,"y":288,"pixelRatio":2,"sdf":false},"fuel":{"height":36,"width":36,"x":180,"y":288,"pixelRatio":2,"sdf":false},"furniture":{"height":36,"width":36,"x":216,"y":288,"pixelRatio":2,"sdf":false},"gaming":{"height":36,"width":36,"x":252,"y":288,"pixelRatio":2,"sdf":false},"garden-centre":{"height":36,"width":36,"x":288,"y":288,"pixelRatio":2,"sdf":false},"garden":{"height":36,"width":36,"x":324,"y":0,"pixelRatio":2,"sdf":false},"gate":{"height":36,"width":36,"x":324,"y":36,"pixelRatio":2,"sdf":false},"gift":{"height":36,"width":36,"x":324,"y":72,"pixelRatio":2,"sdf":false},"globe":{"height":36,"width":36,"x":324,"y":108,"pixelRatio":2,"sdf":false},"golf":{"height":36,"width":36,"x":324,"y":144,"pixelRatio":2,"sdf":false},"grocery":{"height":36,"width":36,"x":324,"y":180,"pixelRatio":2,"sdf":false},"hairdresser":{"height":36,"width":36,"x":324,"y":216,"pixelRatio":2,"sdf":false},"harbor":{"height":36,"width":36,"x":324,"y":252,"pixelRatio":2,"sdf":false},"hardware":{"height":36,"width":36,"x":324,"y":288,"pixelRatio":2,"sdf":false},"heart":{"height":36,"width":36,"x":0,"y":324,"pixelRatio":2,"sdf":false},"heliport":{"height":36,"width":36,"x":36,"y":324,"pixelRatio":2,"sdf":false},"highway-rest-area":{"height":36,"width":36,"x":72,"y":324,"pixelRatio":2,"sdf":false},"historic":{"height":36,"width":36,"x":108,"y":324,"pixelRatio":2,"sdf":false},"home":{"height":36,"width":36,"x":144,"y":324,"pixelRatio":2,"sdf":false},"horse-riding":{"height":36,"width":36,"x":180,"y":324,"pixelRatio":2,"sdf":false},"hospital-JP":{"height":36,"width":36,"x":216,"y":324,"pixelRatio":2,"sdf":false},"hospital":{"height":36,"width":36,"x":252,"y":324,"pixelRatio":2,"sdf":false},"hot-spring":{"height":36,"width":36,"x":288,"y":324,"pixelRatio":2,"sdf":false},"ice-cream":{"height":36,"width":36,"x":324,"y":324,"pixelRatio":2,"sdf":false},"industry":{"height":36,"width":36,"x":360,"y":0,"pixelRatio":2,"sdf":false},"information":{"height":36,"width":36,"x":360,"y":36,"pixelRatio":2,"sdf":false},"jewelry-store":{"height":36,"width":36,"x":360,"y":72,"pixelRatio":2,"sdf":false},"karaoke":{"height":36,"width":36,"x":360,"y":108,"pixelRatio":2,"sdf":false},"landmark-JP":{"height":36,"width":36,"x":360,"y":144,"pixelRatio":2,"sdf":false},"landmark":{"height":36,"width":36,"x":360,"y":180,"pixelRatio":2,"sdf":false},"landuse":{"height":36,"width":36,"x":360,"y":216,"pixelRatio":2,"sdf":false},"laundry":{"height":36,"width":36,"x":360,"y":252,"pixelRatio":2,"sdf":false},"library":{"height":36,"width":36,"x":360,"y":288,"pixelRatio":2,"sdf":false},"lift-gate":{"height":36,"width":36,"x":360,"y":324,"pixelRatio":2,"sdf":false},"lighthouse-JP":{"height":36,"width":36,"x":0,"y":360,"pixelRatio":2,"sdf":false},"lighthouse":{"height":36,"width":36,"x":36,"y":360,"pixelRatio":2,"sdf":false},"lodging":{"height":36,"width":36,"x":72,"y":360,"pixelRatio":2,"sdf":false},"logging":{"height":36,"width":36,"x":108,"y":360,"pixelRatio":2,"sdf":false},"marker-stroked":{"height":36,"width":36,"x":144,"y":360,"pixelRatio":2,"sdf":false},"marker":{"height":36,"width":36,"x":180,"y":360,"pixelRatio":2,"sdf":false},"mobile-phone":{"height":36,"width":36,"x":216,"y":360,"pixelRatio":2,"sdf":false},"monument-JP":{"height":36,"width":36,"x":252,"y":360,"pixelRatio":2,"sdf":false},"monument":{"height":36,"width":36,"x":288,"y":360,"pixelRatio":2,"sdf":false},"mountain":{"height":36,"width":36,"x":324,"y":360,"pixelRatio":2,"sdf":false},"museum":{"height":36,"width":36,"x":360,"y":360,"pixelRatio":2,"sdf":false},"music":{"height":36,"width":36,"x":396,"y":0,"pixelRatio":2,"sdf":false},"natural":{"height":36,"width":36,"x":396,"y":36,"pixelRatio":2,"sdf":false},"observation-tower":{"height":36,"width":36,"x":396,"y":72,"pixelRatio":2,"sdf":false},"optician":{"height":36,"width":36,"x":396,"y":108,"pixelRatio":2,"sdf":false},"paint":{"height":36,"width":36,"x":396,"y":144,"pixelRatio":2,"sdf":false},"park-alt1":{"height":36,"width":36,"x":396,"y":180,"pixelRatio":2,"sdf":false},"park":{"height":36,"width":36,"x":396,"y":216,"pixelRatio":2,"sdf":false},"parking-garage":{"height":36,"width":36,"x":396,"y":252,"pixelRatio":2,"sdf":false},"parking-paid":{"height":36,"width":36,"x":396,"y":288,"pixelRatio":2,"sdf":false},"parking":{"height":36,"width":36,"x":396,"y":324,"pixelRatio":2,"sdf":false},"pharmacy":{"height":36,"width":36,"x":396,"y":360,"pixelRatio":2,"sdf":false},"picnic-site":{"height":36,"width":36,"x":0,"y":396,"pixelRatio":2,"sdf":false},"pitch":{"height":36,"width":36,"x":36,"y":396,"pixelRatio":2,"sdf":false},"place-of-worship":{"height":36,"width":36,"x":72,"y":396,"pixelRatio":2,"sdf":false},"playground":{"height":36,"width":36,"x":108,"y":396,"pixelRatio":2,"sdf":false},"police-JP":{"height":36,"width":36,"x":144,"y":396,"pixelRatio":2,"sdf":false},"police":{"height":36,"width":36,"x":180,"y":396,"pixelRatio":2,"sdf":false},"post-JP":{"height":36,"width":36,"x":216,"y":396,"pixelRatio":2,"sdf":false},"post":{"height":36,"width":36,"x":252,"y":396,"pixelRatio":2,"sdf":false},"prison":{"height":36,"width":36,"x":288,"y":396,"pixelRatio":2,"sdf":false},"racetrack-boat":{"height":36,"width":36,"x":324,"y":396,"pixelRatio":2,"sdf":false},"racetrack-cycling":{"height":36,"width":36,"x":360,"y":396,"pixelRatio":2,"sdf":false},"racetrack-horse":{"height":36,"width":36,"x":396,"y":396,"pixelRatio":2,"sdf":false},"racetrack":{"height":36,"width":36,"x":432,"y":0,"pixelRatio":2,"sdf":false},"rail-light":{"height":36,"width":36,"x":432,"y":36,"pixelRatio":2,"sdf":false},"rail-metro":{"height":36,"width":36,"x":432,"y":72,"pixelRatio":2,"sdf":false},"rail":{"height":36,"width":36,"x":432,"y":108,"pixelRatio":2,"sdf":false},"ranger-station":{"height":36,"width":36,"x":432,"y":144,"pixelRatio":2,"sdf":false},"recycling":{"height":36,"width":36,"x":432,"y":180,"pixelRatio":2,"sdf":false},"religious-buddhist":{"height":36,"width":36,"x":432,"y":216,"pixelRatio":2,"sdf":false},"religious-christian":{"height":36,"width":36,"x":432,"y":252,"pixelRatio":2,"sdf":false},"religious-jewish":{"height":36,"width":36,"x":432,"y":288,"pixelRatio":2,"sdf":false},"religious-muslim":{"height":36,"width":36,"x":432,"y":324,"pixelRatio":2,"sdf":false},"religious-shinto":{"height":36,"width":36,"x":432,"y":360,"pixelRatio":2,"sdf":false},"residential-community":{"height":36,"width":36,"x":432,"y":396,"pixelRatio":2,"sdf":false},"restaurant-bbq":{"height":36,"width":36,"x":0,"y":432,"pixelRatio":2,"sdf":false},"restaurant-noodle":{"height":36,"width":36,"x":36,"y":432,"pixelRatio":2,"sdf":false},"restaurant-pizza":{"height":36,"width":36,"x":72,"y":432,"pixelRatio":2,"sdf":false},"restaurant-seafood":{"height":36,"width":36,"x":108,"y":432,"pixelRatio":2,"sdf":false},"restaurant-sushi":{"height":36,"width":36,"x":144,"y":432,"pixelRatio":2,"sdf":false},"restaurant":{"height":36,"width":36,"x":180,"y":432,"pixelRatio":2,"sdf":false},"road-accident":{"height":36,"width":36,"x":216,"y":432,"pixelRatio":2,"sdf":false},"roadblock":{"height":36,"width":36,"x":252,"y":432,"pixelRatio":2,"sdf":false},"rocket":{"height":36,"width":36,"x":288,"y":432,"pixelRatio":2,"sdf":false},"school-JP":{"height":36,"width":36,"x":324,"y":432,"pixelRatio":2,"sdf":false},"school":{"height":36,"width":36,"x":360,"y":432,"pixelRatio":2,"sdf":false},"scooter":{"height":36,"width":36,"x":396,"y":432,"pixelRatio":2,"sdf":false},"shelter":{"height":36,"width":36,"x":432,"y":432,"pixelRatio":2,"sdf":false},"shoe":{"height":36,"width":36,"x":468,"y":0,"pixelRatio":2,"sdf":false},"shop":{"height":36,"width":36,"x":468,"y":36,"pixelRatio":2,"sdf":false},"skateboard":{"height":36,"width":36,"x":468,"y":72,"pixelRatio":2,"sdf":false},"skiing":{"height":36,"width":36,"x":468,"y":108,"pixelRatio":2,"sdf":false},"slaughterhouse":{"height":36,"width":36,"x":468,"y":144,"pixelRatio":2,"sdf":false},"slipway":{"height":36,"width":36,"x":468,"y":180,"pixelRatio":2,"sdf":false},"snowmobile":{"height":36,"width":36,"x":468,"y":216,"pixelRatio":2,"sdf":false},"soccer":{"height":36,"width":36,"x":468,"y":252,"pixelRatio":2,"sdf":false},"square-stroked":{"height":36,"width":36,"x":468,"y":288,"pixelRatio":2,"sdf":false},"square":{"height":36,"width":36,"x":468,"y":324,"pixelRatio":2,"sdf":false},"stadium":{"height":36,"width":36,"x":468,"y":360,"pixelRatio":2,"sdf":false},"star-stroked":{"height":36,"width":36,"x":468,"y":396,"pixelRatio":2,"sdf":false},"star":{"height":36,"width":36,"x":468,"y":432,"pixelRatio":2,"sdf":false},"suitcase":{"height":36,"width":36,"x":0,"y":468,"pixelRatio":2,"sdf":false},"swimming":{"height":36,"width":36,"x":36,"y":468,"pixelRatio":2,"sdf":false},"table-tennis":{"height":36,"width":36,"x":72,"y":468,"pixelRatio":2,"sdf":false},"teahouse":{"height":36,"width":36,"x":108,"y":468,"pixelRatio":2,"sdf":false},"telephone":{"height":36,"width":36,"x":144,"y":468,"pixelRatio":2,"sdf":false},"tennis":{"height":36,"width":36,"x":180,"y":468,"pixelRatio":2,"sdf":false},"theatre":{"height":36,"width":36,"x":216,"y":468,"pixelRatio":2,"sdf":false},"toilet":{"height":36,"width":36,"x":252,"y":468,"pixelRatio":2,"sdf":false},"toll":{"height":36,"width":36,"x":288,"y":468,"pixelRatio":2,"sdf":false},"town-hall":{"height":36,"width":36,"x":324,"y":468,"pixelRatio":2,"sdf":false},"town":{"height":36,"width":36,"x":360,"y":468,"pixelRatio":2,"sdf":false},"triangle-stroked":{"height":36,"width":36,"x":396,"y":468,"pixelRatio":2,"sdf":false},"triangle":{"height":36,"width":36,"x":432,"y":468,"pixelRatio":2,"sdf":false},"tunnel":{"height":36,"width":36,"x":468,"y":468,"pixelRatio":2,"sdf":false},"veterinary":{"height":36,"width":36,"x":504,"y":0,"pixelRatio":2,"sdf":false},"viewpoint":{"height":36,"width":36,"x":504,"y":36,"pixelRatio":2,"sdf":false},"village":{"height":36,"width":36,"x":504,"y":72,"pixelRatio":2,"sdf":false},"volcano":{"height":36,"width":36,"x":504,"y":108,"pixelRatio":2,"sdf":false},"volleyball":{"height":36,"width":36,"x":504,"y":144,"pixelRatio":2,"sdf":false},"warehouse":{"height":36,"width":36,"x":504,"y":180,"pixelRatio":2,"sdf":false},"waste-basket":{"height":36,"width":36,"x":504,"y":216,"pixelRatio":2,"sdf":false},"watch":{"height":36,"width":36,"x":504,"y":252,"pixelRatio":2,"sdf":false},"water":{"height":36,"width":36,"x":504,"y":288,"pixelRatio":2,"sdf":false},"waterfall":{"height":36,"width":36,"x":504,"y":324,"pixelRatio":2,"sdf":false},"watermill":{"height":36,"width":36,"x":504,"y":360,"pixelRatio":2,"sdf":false},"wetland":{"height":36,"width":36,"x":504,"y":396,"pixelRatio":2,"sdf":false},"wheelchair":{"height":36,"width":36,"x":504,"y":432,"pixelRatio":2,"sdf":false},"windmill":{"height":36,"width":36,"x":504,"y":468,"pixelRatio":2,"sdf":false},"zoo":{"height":36,"width":36,"x":0,"y":504,"pixelRatio":2,"sdf":false}} \ No newline at end of file diff --git a/tests/fixtures/test5@2x.png b/tests/fixtures/test5@2x.png index fe6ddb55e5b70389eb9aa565c904cd50955f6604..42953dfceb14cdb21d943acb8a8b4148e3c67005 100644 GIT binary patch literal 57039 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�honvQ0Gy}@`4@dg&~Yxetn?nn_K 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 KQ-y@VkN*OYKBrg! literal 54357 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 diff --git a/tests/fixtures/test6.json b/tests/fixtures/test6.json index f15ad8d..e37293e 100644 --- a/tests/fixtures/test6.json +++ b/tests/fixtures/test6.json @@ -1,10 +1 @@ -{ - "airport": { - "height": 21, - "width": 21, - "x": 0, - "y": 0, - "pixelRatio": 1, - "sdf": true - } -} +{"airport":{"height":21,"width":21,"x":0,"y":0,"pixelRatio":1,"sdf":true}} \ No newline at end of file diff --git a/tests/fixtures/test6.png b/tests/fixtures/test6.png index ada1b5d3fbfd47fda446ac8e79e3a3a949d616fa..41e3f9ad28948984071cb36a6bdd121b28a3acfb 100644 GIT binary patch delta 534 zcmV+x0_pv>1+D~;BYyx1a7bBm000B%000B%0kwNlYXATN;7LS5RCt_)l}k@dg5Gfg|Ai5hXrij7B0y7(9S?FlGKuie@HMQmJ%J z)!$w9SNFiOlz;@N0(GDPG=Y|EL;kAbEPkb|0Tm^7fCC@}j(=qjXO~ob3TWCWGCx;WUT{dC;k5 zN}f9npr$|iKGVhz5rMQEA(_)}mHVc|x$K+#-%)%Zuoa(l0^9+Yz}S^GQR2k;#)`Xh z{xpE*^>iSHPh49vSLTVn4~lwPkJwK&Qemt{Vmy-_<$uI1v0rs_8eXEXNmpZYE6`i5 zyACA0U<-4axEoc=X~#M6D$rN0<8o{9jVkHRCi>Wn%KnO2p5}~DEx!9f0;nIcspj@s zK+jrFqY(dnBZgU+LPc03wg=J=6OA4uA{Hb>5Bwu~e|JB{-B5J! z;&8uy&u90ZdvV@iC(wTbLVpx@G&ZSTuD+bLgyvx% zDsTzih+|A+x9Sz@%UdmQJ+|TyYS4lh#xbKYrh1L~tbapx&^iRL8QZZ3M^KCF7(^03 zH4ds?tG>P1;k@+?D9>%fZtO=1j^h-HcM!)=<-8YQZ}3B1J%Ji&c^@eR$dSDrhoupac|DPH0| zKH(b{u!LWj#TTUXh0ipvM>&?~F5)&ukiZ9g#XNpvQFpnd(XRjChraNm=8Y)F^3uN) z+t{`bXLKjlJdMwKWdE8@s6MT}S-Uy@?5pjuSv7sq}6Q8*e}T5_?*U=>Jjxd`{qWJ zm)`J|&O3cVD%!qlL_7NM2H!RIsoto*YTw*S<++_G#$lAHu~m;ZptVXVG^OhS{k>KF zWtv~Cynpo3wFw0{;k;i+7l!c;lUmO?jgzVmtFJ-x3Y7EzD71sX4w9hD+znIC+qX%r zXHwTwF7s^%H9z2dpWGGh)Hd`G9^;|LA=Q_=(_DY(M&xI$sZFp0xzl-vON+)%)w{CR zG+#LxA3G0=^sQmtfw4oP&UwdNov#1=Ev)_`=NS8c^%vYj#=B5#dXE4A002ovPDHLk FV1hqoRuupM diff --git a/tests/fixtures/test6@2x.json b/tests/fixtures/test6@2x.json index 59119c5..7dde9b8 100644 --- a/tests/fixtures/test6@2x.json +++ b/tests/fixtures/test6@2x.json @@ -1,10 +1 @@ -{ - "airport": { - "height": 36, - "pixelRatio": 2, - "sdf": true, - "width": 36, - "x": 0, - "y": 0 - } -} \ No newline at end of file +{"airport":{"height":36,"width":36,"x":0,"y":0,"pixelRatio":2,"sdf":true}} \ No newline at end of file diff --git a/tests/fixtures/test6@2x.png b/tests/fixtures/test6@2x.png index 12f8e812b49117f1e62e275bf2fb5d2cd50b51ac..70a1e6778358a7ff2d5d0b11f8ca7a9970478030 100644 GIT binary patch delta 974 zcmV;<12O!)2IB{iBYyx1a7bBm000B%000B%0kwNlYXATPl}SWFRCt`tSWQw|K@k2n zY|PRuW8o2WWvZYG_j-Y3AujX^(Us2|C|O52f*KPNV+>Ln!3c5$K(_uI!PHP+r`l%b z@h3^9s;gk$O!xPCy8G*Sz+fW*U>d+{0E+}bbrery{$bU7{+%vW@31Ef>R{^X6 zhyZL-BF?RH%?$U9ZM*`Iq8FUu9DrQ_dCD&5*0?6cJ!2cw05Uw9hyV%zt|$f0MO>5N zp0NU&XS{6ED;EHolnc&na?Sj|08|5TL#h1_fEoZED2=}fC=mnbkrDzl`CRFrpfZ;! zNv83jfKuF-q<@})!TCU>m@!fe`vJ6K3T4KCiv<=3VgbM#DqmrZ+2{c%$JF28dbe+h zdKP+lZ6XH5k^$k2Yy;R)#n1x!te)*~y?}d1eIc(oES;d6^MG)hHHZ(&&>?^m0G9w- z3eYVit*ZQbH0;3KDStqZ{NLj9YXCn1dtSa?v>Y^cgq02(N>6GhP0BI_)k};fP0iCNLJ@Ww49GMB&NE1VcIvmTs1Te)3D@n!5z6PzN0F?p_nsgD# zfQ>0)=&MhfFx`OgUPR+X1*pimNbyq_n~ySHc)9^;N49AEL;*VC+?HZ=%jQn!P{UrE zb$_+$1KmKLMXpRBx2hMas3y(F=Ch2KfrksUbf6n3 zk_wupAG+gQodJH}DST<_9(YJb$+bDpvVTQSv=u>09g^;#t$Lti73d?~)k1eLOTIN8 zUD@5qkzB>UpXbLbdynP9WblCMr{ wdtC~V=g?W^`+VmkULi*PiO&*f-=Fz@1Kk<|^{`dibN~PV07*qoM6N<$f?GJmUjP6A delta 807 zcmV+?1K9lI2fYT6BYy(~NklTRTY>Batt&wCK4U#d&3_}u4e4n28ntR5b<&Jx=(!BNg=hWPOXU^}u z=Q&3ta;rQVpdqtbZljx3xebqz<3>WLjW}L+% zWZYsS3{)7XFwp-Rs2Iwj>c0$B6lG8abM`3T_&R8g|Zsl&K`IY)`N zoI3IO%73YY`e|IkZLwaw#Cv=VGK43PUJ_q9^}Wfzob$w6&i&#o=R>@}JACRyqbauzs{zGp8JZ#l1s zx14Dbd^rmo$p0A=%5sJzP)=KVDEx3I_(}5E7=J?0({c-x-?P1gn_@SD z?oaw5;gtJ5eQnn7KHJ5%5Z&1ixxYyb5GXZJpkU8d?@WD~?-biS^_jK~tHpM9-P0C| l?I3TlE@Zqr!R&!jegX1ZN41Q=;sO8w002ovPDHLkV1fx7jluu` From 5d36cf7ccb94ad9f61b4bd41cdca9a1b4a341300 Mon Sep 17 00:00:00 2001 From: Taro Matsuzawa Date: Sun, 10 Dec 2023 12:28:16 +0900 Subject: [PATCH 07/13] #2 improve README and fix command line --- README.md | 22 ++++++++++++++-------- src/bin/index.ts | 2 +- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 0221e83..971d68a 100644 --- a/README.md +++ b/README.md @@ -3,15 +3,10 @@ - SVG and PNG icon inputs - Multiple pixel ratio support - Uses `sharp` for rendering (compatibility with newer Node.js versions and architectures) +- Supports SDF icons ## Install -```bash -yarn add @unvt/sprite-one -``` - -or - ```bash npm install @unvt/sprite-one ``` @@ -20,7 +15,7 @@ npm install @unvt/sprite-one - CLI -```zsh +```bash $ sprite-one -h Usage: sprite-one [options] @@ -30,6 +25,7 @@ Options: -v, --version output the version number -i, --icon A folder path which stores SVG icons. Multiple folders can be set. -r, --ratio pixel ratio to generate sprite. default is 1. + --sdf generate sprite with signed distance field. (default: false) -h, --help display help for command ``` @@ -54,6 +50,16 @@ If the `@2x` version doesn't exist, the default icon will be used and scaled up Note that while this feature is supported for SVG icons, this is usually unneccesary because SVG, as a vector format, can be scaled without problems. +### SDF icons support + +You can generate SDF icons by using the `--sdf` option. The generated sprite will be used in MapLibre GL JS with the `icon-color` and `icon-halo-color` properties. + +```javascript +import { generateSprite } from '@unvt/sprite-one' + +generateSprite('../out', '../input', [1], true).then(() => {}) +``` + ## Develop via `bin/index.ts` @@ -61,7 +67,7 @@ via `bin/index.ts` ```bash git clone https://github.com/unvt/sprite-one.git cd sprite-one -yarn +npm install npx ts-node src/bin/index.ts ../../tmp/out --icon ../../tmp/maki/icons npx ts-node src/bin/index.ts ../../tmp/out --icon ../../tmp/maki/icons --ratio=2 npx ts-node src/bin/index.ts ../../tmp/out --icon ../../tmp/maki/icons --icon ../../tmp/maki/icons2 --ratio=1 --ratio=2 diff --git a/src/bin/index.ts b/src/bin/index.ts index 88bc9fd..ccfe2a6 100644 --- a/src/bin/index.ts +++ b/src/bin/index.ts @@ -19,7 +19,7 @@ program ) .option( '--sdf', - 'generate sprite with signed distance field. default is false.', + 'generate sprite with signed distance field.', false ) .action(async (spriteFilename: string) => { From 284d7871724bcf23aa69c06dd8eddd39110f68ac Mon Sep 17 00:00:00 2001 From: Taro Matsuzawa Date: Sun, 10 Dec 2023 12:36:58 +0900 Subject: [PATCH 08/13] #2 bump all npm versions and run prettier:write --- package-lock.json | 62 ++++++++++++++++++++--------------------- package.json | 18 ++++++------ src/bin/index.ts | 13 +++++---- src/lib/image.ts | 55 +++++++++++++++++++++--------------- src/lib/index.ts | 8 +++++- tests/lib/index.test.ts | 2 +- 6 files changed, 88 insertions(+), 70 deletions(-) diff --git a/package-lock.json b/package-lock.json index b5aa7ef..ff2520f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,21 +10,21 @@ "license": "MIT", "dependencies": { "bin-pack": "^1.0.2", - "commander": "^9.4.1", + "commander": "^11.1.0", "sharp": "^0.33.0" }, "bin": { "sprite-one": "dist/bin/index.js" }, "devDependencies": { - "@types/bin-pack": "^1.0.1", - "@types/jest": "^29.2.5", - "@types/node": "^18.11.18", - "jest": "^29.3.1", - "prettier": "2.8.1", - "ts-jest": "^29.0.3", - "ts-node": "^10.9.1", - "typescript": "^4.9.4" + "@types/bin-pack": "^1.0.3", + "@types/jest": "^29.5.11", + "@types/node": "^20.10.4", + "jest": "^29.7.0", + "prettier": "3.1.0", + "ts-jest": "^29.1.1", + "ts-node": "^10.9.2", + "typescript": "^5.3.3" } }, "node_modules/@ampproject/remapping": { @@ -1604,9 +1604,9 @@ } }, "node_modules/@types/jest": { - "version": "29.5.10", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.10.tgz", - "integrity": "sha512-tE4yxKEphEyxj9s4inideLHktW/x6DwesIwWZ9NN1FKf9zbJYsnhBoA9vrHA/IuIOKwPa5PcFBNV4lpMIOEzyQ==", + "version": "29.5.11", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.11.tgz", + "integrity": "sha512-S2mHmYIVe13vrm6q4kN6fLYYAka15ALQki/vgDC3mIukEOx8WJlv0kQPM+d4w8Gp6u0uSdKND04IlTXBv0rwnQ==", "dev": true, "dependencies": { "expect": "^29.0.0", @@ -1614,9 +1614,9 @@ } }, "node_modules/@types/node": { - "version": "18.19.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.1.tgz", - "integrity": "sha512-mZJ9V11gG5Vp0Ox2oERpeFDl+JvCwK24PGy76vVY/UgBtjwJWc5rYBThFxmbnYOm9UPZNm6wEl/sxHt2SU7x9A==", + "version": "20.10.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.4.tgz", + "integrity": "sha512-D08YG6rr8X90YB56tSIuBaddy/UXAA9RKJoFvrsnogAum/0pmjkgi4+2nx96A330FmioegBWmEYQ+syqCFaveg==", "dev": true, "dependencies": { "undici-types": "~5.26.4" @@ -2082,11 +2082,11 @@ } }, "node_modules/commander": { - "version": "9.5.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", - "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", "engines": { - "node": "^12.20.0 || >=14" + "node": ">=16" } }, "node_modules/concat-map": { @@ -3716,15 +3716,15 @@ } }, "node_modules/prettier": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.1.tgz", - "integrity": "sha512-lqGoSJBQNJidqCHE80vqZJHWHRFoNYsSpP9AjFhlhi9ODCJA541svILes/+/1GM3VaL/abZi7cpFzOpdR9UPKg==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.0.tgz", + "integrity": "sha512-TQLvXjq5IAibjh8EpBIkNKxO749UEWABoiIZehEPiY4GNpVdhaFKqSTu+QrlU6D2dPAfubRmtJTi4K4YkQ5eXw==", "dev": true, "bin": { - "prettier": "bin-prettier.js" + "prettier": "bin/prettier.cjs" }, "engines": { - "node": ">=10.13.0" + "node": ">=14" }, "funding": { "url": "https://github.com/prettier/prettier?sponsor=1" @@ -4228,9 +4228,9 @@ "dev": true }, "node_modules/ts-node": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", - "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", "dev": true, "dependencies": { "@cspotcode/source-map-support": "^0.8.0", @@ -4298,16 +4298,16 @@ } }, "node_modules/typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", + "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", "dev": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" }, "engines": { - "node": ">=4.2.0" + "node": ">=14.17" } }, "node_modules/undici-types": { diff --git a/package.json b/package.json index 7481e5a..6bd635d 100644 --- a/package.json +++ b/package.json @@ -17,17 +17,17 @@ "license": "MIT", "dependencies": { "bin-pack": "^1.0.2", - "commander": "^9.4.1", + "commander": "^11.1.0", "sharp": "^0.33.0" }, "devDependencies": { - "@types/bin-pack": "^1.0.1", - "@types/jest": "^29.2.5", - "@types/node": "^18.11.18", - "jest": "^29.3.1", - "prettier": "2.8.1", - "ts-jest": "^29.0.3", - "ts-node": "^10.9.1", - "typescript": "^4.9.4" + "@types/bin-pack": "^1.0.3", + "@types/jest": "^29.5.11", + "@types/node": "^20.10.4", + "jest": "^29.7.0", + "prettier": "3.1.0", + "ts-jest": "^29.1.1", + "ts-node": "^10.9.2", + "typescript": "^5.3.3" } } \ No newline at end of file diff --git a/src/bin/index.ts b/src/bin/index.ts index ccfe2a6..ee2f6ba 100644 --- a/src/bin/index.ts +++ b/src/bin/index.ts @@ -17,11 +17,7 @@ program '-r, --ratio ', 'pixel ratio to generate sprite. default is 1.', ) - .option( - '--sdf', - 'generate sprite with signed distance field.', - false - ) + .option('--sdf', 'generate sprite with signed distance field.', false) .action(async (spriteFilename: string) => { const options = program.opts() if (options.ratio) { @@ -29,7 +25,12 @@ program return Number(r) }) } - await generateSprite(spriteFilename, options.icon, options.ratio, options.sdf) + await generateSprite( + spriteFilename, + options.icon, + options.ratio, + options.sdf, + ) }) program.parse(process.argv) diff --git a/src/lib/image.ts b/src/lib/image.ts index d9a6f8d..889a07e 100644 --- a/src/lib/image.ts +++ b/src/lib/image.ts @@ -55,18 +55,20 @@ export class Image { } // add buffer this.rendered_image = await sharp({ - create: { - width: this.buffer_width(), - height: this.buffer_height(), - channels: 4, - background: { r: 0, g: 0, b: 0, alpha: 0 }, + create: { + width: this.buffer_width(), + height: this.buffer_height(), + channels: 4, + background: { r: 0, g: 0, b: 0, alpha: 0 }, + }, + }) + .composite([ + { + input: this.rendered_image!, + top: this.buffer_length, + left: this.buffer_length, }, - }) - .composite([{ - input: this.rendered_image!, - top: this.buffer_length, - left: this.buffer_length, - }]) + ]) .raw() .toBuffer() @@ -81,11 +83,11 @@ export class Image { } const outer_df = alphas.map((alpha) => { if (alpha === 0) return Number.MAX_VALUE - return Math.max(0, 0.5 - (alpha / 255))**2 + return Math.max(0, 0.5 - alpha / 255) ** 2 }) const inner_df = alphas.map((alpha) => { if (alpha === 255) return Number.MAX_VALUE - return Math.max(0, (alpha / 255) - 0.5)**2 + return Math.max(0, alpha / 255 - 0.5) ** 2 }) for (let col = 0; col < this.buffer_width(); col++) { dt(outer_df, col, this.buffer_width(), this.buffer_height()) @@ -97,7 +99,13 @@ export class Image { } const result = outer_df.map((outerDfValue, index) => { const innerDfValue = inner_df[index] - return Math.min(1.0, Math.max(-1.0, (Math.sqrt(outerDfValue) - Math.sqrt(innerDfValue)) / radius)) + return Math.min( + 1.0, + Math.max( + -1.0, + (Math.sqrt(outerDfValue) - Math.sqrt(innerDfValue)) / radius, + ), + ) }) const colors = clamp_to_u8(result, 0.25) for (let i = 0, j = 0; i < pixelArray.length; i += 4, j++) { @@ -107,18 +115,21 @@ export class Image { raw: { width: this.buffer_width(), height: this.buffer_height(), - channels: 4 - } - }).png().toBuffer() + channels: 4, + }, + }) + .png() + .toBuffer() } else { this.rendered_image = await sharp(this.rendered_image!.buffer, { raw: { width: this.buffer_width(), height: this.buffer_height(), - channels: 4 - } + channels: 4, + }, }) - .png().toBuffer() + .png() + .toBuffer() } return this } @@ -170,7 +181,7 @@ function dt(grid: number[], offset: number, stepBy: number, size: number) { const q2 = q * q const vk2 = v[k] * v[k] const denom = 2 * q - 2 * v[k] - s = ((f[q] + q2) - (f[v[k]] + vk2)) / denom + s = (f[q] + q2 - (f[v[k]] + vk2)) / denom if (s <= z[k]) { k -= 1 @@ -202,6 +213,6 @@ function clamp_to_u8(sdf: Array, cutoff: number): Array { throw new Error('cutoff must be between 0 and 1') } return sdf.map((v) => { - return (255.0 - 255.0 * (v + cutoff)) + return 255.0 - 255.0 * (v + cutoff) }) } diff --git a/src/lib/index.ts b/src/lib/index.ts index 5d2530b..912f5dc 100644 --- a/src/lib/index.ts +++ b/src/lib/index.ts @@ -103,7 +103,13 @@ export const generateSprite = async ( const promises: Promise[] = [] ratios.forEach((ratio) => { promises.push( - generate(output_file_name, input_directories, ratio, ratios.length > 1, sdf), + generate( + output_file_name, + input_directories, + ratio, + ratios.length > 1, + sdf, + ), ) }) await Promise.all(promises) diff --git a/tests/lib/index.test.ts b/tests/lib/index.test.ts index e70007a..57df580 100644 --- a/tests/lib/index.test.ts +++ b/tests/lib/index.test.ts @@ -136,7 +136,7 @@ describe('test lib/index.ts', (): void => { ) }) - test('sprite works with sdf', async() => { + test('sprite works with sdf', async () => { const output_file_name = path.join(tmpDir, './test6') const pixelRatios = [1, 2] await generateSprite(output_file_name, [iconsSDFDir], pixelRatios, true) From 1278a5c863e5ebf233cdfa522ad2b400bb0963a3 Mon Sep 17 00:00:00 2001 From: Taro Matsuzawa Date: Sun, 10 Dec 2023 12:39:39 +0900 Subject: [PATCH 09/13] bugfix typo --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 525ea2f..3589e08 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -13,7 +13,7 @@ jobs: strategy: matrix: - node-version: [18.x. 20.x] + node-version: [18.x, 20.x] steps: - uses: actions/checkout@v2 From 32cdf968b3226020c759d7ca99d4f4cbe37c79d9 Mon Sep 17 00:00:00 2001 From: Taro Matsuzawa Date: Sun, 10 Dec 2023 20:37:41 +0900 Subject: [PATCH 10/13] #2 update option string and improve README --- README.md | 4 ++-- src/bin/index.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 971d68a..fefbef9 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,7 @@ Options: -v, --version output the version number -i, --icon A folder path which stores SVG icons. Multiple folders can be set. -r, --ratio pixel ratio to generate sprite. default is 1. - --sdf generate sprite with signed distance field. (default: false) + --sdf generate sprite with SDF (Signed Distance Field). (default: false) -h, --help display help for command ``` @@ -52,7 +52,7 @@ Note that while this feature is supported for SVG icons, this is usually unnecce ### SDF icons support -You can generate SDF icons by using the `--sdf` option. The generated sprite will be used in MapLibre GL JS with the `icon-color` and `icon-halo-color` properties. +SDF icons can be generated by using the `--sdf` option. This allows users to apply [icon-color](https://maplibre.org/maplibre-style-spec/layers/#paint-symbol-icon-color) and [icon-halo-color](https://maplibre.org/maplibre-style-spec/layers/#paint-symbol-icon-halo-color) properties in Maplibre style to able to change the colour dynamically. ```javascript import { generateSprite } from '@unvt/sprite-one' diff --git a/src/bin/index.ts b/src/bin/index.ts index ee2f6ba..268d1d2 100644 --- a/src/bin/index.ts +++ b/src/bin/index.ts @@ -17,7 +17,7 @@ program '-r, --ratio ', 'pixel ratio to generate sprite. default is 1.', ) - .option('--sdf', 'generate sprite with signed distance field.', false) + .option('--sdf', 'generate sprite with SDF (Signed Distance Field).', false) .action(async (spriteFilename: string) => { const options = program.opts() if (options.ratio) { From 1d5410e4fa021652cdf02a4385b4ff0fee1c35c5 Mon Sep 17 00:00:00 2001 From: Taro Matsuzawa Date: Sun, 10 Dec 2023 21:17:57 +0900 Subject: [PATCH 11/13] #2 remove buffer from non-SDF icon --- src/lib/image.ts | 50 ++++++++++++++--------------------- tests/fixtures/test1.json | 2 +- tests/fixtures/test1.png | Bin 2103 -> 2109 bytes tests/fixtures/test2.json | 2 +- tests/fixtures/test2.png | Bin 4249 -> 4251 bytes tests/fixtures/test3.json | 2 +- tests/fixtures/test3.png | Bin 2103 -> 2109 bytes tests/fixtures/test3@2x.json | 2 +- tests/fixtures/test3@2x.png | Bin 4249 -> 4251 bytes tests/fixtures/test4.json | 2 +- tests/fixtures/test4.png | Bin 2287 -> 2287 bytes tests/fixtures/test5.json | 2 +- tests/fixtures/test5.png | Bin 24870 -> 24869 bytes tests/fixtures/test5@2x.json | 2 +- tests/fixtures/test5@2x.png | Bin 57039 -> 57046 bytes 15 files changed, 27 insertions(+), 37 deletions(-) diff --git a/src/lib/image.ts b/src/lib/image.ts index 889a07e..ff4af71 100644 --- a/src/lib/image.ts +++ b/src/lib/image.ts @@ -53,26 +53,26 @@ export class Image { // because the image is already at the specified size, we can use it directly. this.rendered_image = await intermediate_image.toBuffer() } - // add buffer - this.rendered_image = await sharp({ - create: { - width: this.buffer_width(), - height: this.buffer_height(), - channels: 4, - background: { r: 0, g: 0, b: 0, alpha: 0 }, - }, - }) - .composite([ - { - input: this.rendered_image!, - top: this.buffer_length, - left: this.buffer_length, - }, - ]) - .raw() - .toBuffer() if (sdf) { + // add buffer + this.rendered_image = await sharp({ + create: { + width: this.buffer_width(), + height: this.buffer_height(), + channels: 4, + background: { r: 0, g: 0, b: 0, alpha: 0 }, + }, + }) + .composite([ + { + input: this.rendered_image!, + top: this.buffer_length, + left: this.buffer_length, + }, + ]) + .raw() + .toBuffer() const radius = 8 const img = this.rendered_image const pixelArray = new Uint8ClampedArray(img!.buffer) @@ -120,16 +120,6 @@ export class Image { }) .png() .toBuffer() - } else { - this.rendered_image = await sharp(this.rendered_image!.buffer, { - raw: { - width: this.buffer_width(), - height: this.buffer_height(), - channels: 4, - }, - }) - .png() - .toBuffer() } return this } @@ -152,8 +142,8 @@ export class Image { to_obj(): SpriteImage { return { - height: this.buffer_height(), - width: this.buffer_width(), + height: this.sdf ? this.buffer_height() : this.real_height(), + width: this.sdf ? this.buffer_width() : this.real_width(), x: this.x, y: this.y, pixelRatio: this.ratio, diff --git a/tests/fixtures/test1.json b/tests/fixtures/test1.json index 85c3a9a..3154b2d 100644 --- a/tests/fixtures/test1.json +++ b/tests/fixtures/test1.json @@ -1 +1 @@ -{"airport":{"height":21,"width":21,"x":0,"y":49,"pixelRatio":1,"sdf":false},"my_bbq":{"height":38,"width":38,"x":49,"y":0,"pixelRatio":1,"sdf":false},"airport_xl":{"height":49,"width":49,"x":0,"y":0,"pixelRatio":1,"sdf":false}} \ No newline at end of file +{"airport":{"height":15,"width":15,"x":0,"y":49,"pixelRatio":1,"sdf":false},"my_bbq":{"height":32,"width":32,"x":49,"y":0,"pixelRatio":1,"sdf":false},"airport_xl":{"height":43,"width":43,"x":0,"y":0,"pixelRatio":1,"sdf":false}} \ No newline at end of file diff --git a/tests/fixtures/test1.png b/tests/fixtures/test1.png index 6c4ef3fa768e0b060ae27997290306b0b779a7d1..7ec4fa249ac365b8ba0ad697c94e8114281da5fb 100644 GIT binary patch delta 2075 zcmV+$2;}#-5WNtPIe+g-L_t(|ob6ljYx5y(-R3dR`0U=RZlVjw1H$WCuC3WfN4b!GW;99W8lrJ&~_=g%Q$S>CAy!pT{p zr$J0mp7ol}x=dy^v)RecLguS_wX@wlJ+Hs%ef|2qnFZ`c5`Tc#0W<@64Zu)D5Xj@{ zM_z9p3Gp}yv6qDS9|_T_gpc=VKJ{X@8@pCdbU&d=ql#hg%WycrH^mlx&tm)Yv!y4q$-^xeLNRV@-(t zwzih?ueieZyaxQD09>va@M?QW9;-&!=Y#3h27jRJ!JpOMmFI%1T<0o=&3@5+s2uXU?R_ z$;nhTYZmRe;|`iVVS@b5efagckL@|S6}dt#UhQUV%}qDavT4)gEIst#gLLVzVRWFP zf_~LB${9PBUby{s`eFTgdTQZ9T9}?L+x%2tPh$oTrhk-|%b9G@?`m`xa_O|YW#|=r zuzWdvSASP0kAHmlVS4Z0dwq3pl$QFAKV7wo4p&$EOvCOaO9I*7AH!)LoF;d37c5{M zNh8j6a*20dLL5J(X|%nlNN*phcJ^!<86V#%shcw=5V_6a+Q~UbuGgFQ_1d+xt+0?L zCMMFchaNhEgst=E8|h_9*baB#|IS4i@JAB`Uw;5_X;)tOWJANI=NB!ava7GAUOjry zH#IeMN(lN_MFl;PpHIi?>S#cpK0y;ZFfNY1SGGEUGghO5Z|<|@PlJxedMyM#ik;A8$-idpV@~91$Y9Ek@+B{I|NAlH%g%Dzy<W7G)Kq%uw%cU+GX(|mx?>X) zX;N}BU3u}v(lg+)*Y3PCSa&QaaxYMW+-VR(42OKDOwQ$@m<4vrcHezBU6YbR|E{d0 zT_q)yHGDXIxn>Qe4(m1bqpJ=xi^@5NK6wj(Ng%oyq!6-A%>ksj)TwiUn+5kMpbkP`r& zHYN9TYQ}Kz93#k^Jh@$;MHv~=Z1}f*wYXT;6=!A!Gjksec;n9^F@(%{nGBw1C^w0Y zijqN^%u%C!{Tc1PF1zqTii?S%qkk$CX<_E(8f&F=3qjbJ?+5TafbAx2wyXO6s=fW> zdcA$+R#Z3eW3{#NXUaq%=C1Sb=9gWt1ssXT8;zkhybl>fY8 zgPh4+$Kgf)x?emVN{Nq`yE6_$b}(xn3#5}jxvgrD+m!EFs7OeJHC$yv$R8}8-ygsv zb>qs_jpQ48+!DE`GZ3x*ga7#c`+dGEXCd0kKUulbr{DTHbEqjV?+oEUdRtupa$Bge zaio>RVu}sBrBoAgQ$y@GT7T)sdIp5d()tm=KY8|Lxhf+ig?8O_mrUoRB_&xhL&F9P z@Od5vvvwWAh@mD*4hd_ThqJVPB)q+JDV-M+(@w9U{rl5Pg@v@Uq{L84va)15j;I-s z`wn?Ly%9#lnvfeCP9-=yK$>>YpA1gv%$qbx+R_n&21z&UE1j*?3x8)Wc!qPnO;>lA zHf|gS2XI11>`zW8!Rc?Ar44SUWyS3}NSZbt4nZH(IqZ}ov$RG&a1g>lp|#<*u}0XVBX>6<0MZT%(HJDj+_uSzyA>|{MMv(-h#<(F zoTkm?cmN6UE=RP~%ztcA$M2HYyOD&rrK6pf6WFRF_X(#JI+w6PM{d2-3Y|-+)RDW& zX@$-eOa$=0j@4f`pp-^K$5PvUZ|5O_Yet;xX#db5* z_pPelXu;$DTqvwjsTa;26#+;GVD;UAKB|3@I)9()&xH#YE?l^9;lf2bOi>9&{&Zn8 zRwzfGKV8_22Nb#d>B45Xq33)bOSa1LU002ovPDHLk FV1hjM_KN@j delta 2069 zcmV+w2!-@O1POqej?HUt5{r+)xY1_1j2pbdBs&|+zd zR%<*m_Bt|l6dC&y8LJRN`$tidHX&mZv83b)@G$J9KG?}e-~m9!x*}sG$k8MfIKR6h( zV`Fje%$Yc@S1*1{*RZ?hakA%7r^sb|@~SdobH|Rw`NM|sQF?ymO6=XXEuP8D#Cwv2 zG2Of4&gs+f`r5Vl=9DQoB|MzBxm8erU0b!nZ!$9YNLIM+a;Pih;sbX}(JMH)a3NmH z&*%F$)_<+TV+$78>OMmpk6(^lADY7 z8N(kkGjVG|0$$C}$L5V1IZbQ}KR^6i*lGt-TwDF3CE;iQcn<)|t5Nn00Av7wzurnv zz~x+aHlA9%7+d)GaB`{Rw0$8g4ELv`;DkPXoF{M7D< zhkrp2#aj=Bkg+S3GkhywUmLmPYLTgk?$ilKbm@X4d-Tw(XKYxQnhPeE%X;)76aaDo zptPp;3#!U_am|h{l3T7sF3BG`IT+;Uhl9jIVDX3%*sy+mRh_7A;qc*DQCO(eW1zuO zBRmBFX#j9iM?z6S?g7AlG5PuFMJ|opyniucFm3Q)92XjjyQWR!h@^80oV48(rH z!T3!3_S`d|vVF5=IqQx&MedWLllv7yi0+VU!sI;didi7H?BJX^I5Z>#f62vFG%>^N2ehL6~0KguVHhV<&v|$1R9=@ka-4*|33+ zWU8a^qJ7=J77K>>`}5Tqg(0gMwVNF2WKV8|=;UtUdnO4I0zn%FsSxt4#`Bv2KtJ)| zGQ@+V2YOQzxeqcB751G!y<~~accm;uW%-Xwm)i7OJAOPC$HzY;6iBbEb3kr678P~U zl2{DUVYL*hLN1lN0&k%o>3``EJWFdw0R802m!+zRkPtjDdp1w!garj@GDB^fH@A5n z3Zr&4xDjnslx*$RG!JEI?MV1?-aKsV<5NYiHqDyhuB0T~pPH&DsZmk99Yxd>$UTe} zOG9uYd{xMGYrdbd11L%7?8%^%&cuHGxGnA2vL$!JF34=HTqtuvBY&LoZL+$HxN&1! zFaWn@#NIMO2}*zSEUj}ZEiG=>Ih3THU=T`WPMAIix606YkMB_~M} zC?0@}9ifPp7@6f_|9=Qtts9ZC7pq%&8G&swa<>|-(Bp&+GI9%yR_Jj;mWrl$)p_8jC>BT?hFwO4~Fw8Fmho8ak&jY+35=cXc0CP?YLpjijPX4gf$8 zqdVYd4@ir8+XINm1e zl_os8o(X{!BK1PKqhtUG2LP?#1~d}wlg0VR#q~^>Fk!-k2@@tvRKY-zV5F@Hov~Or z`m{BnGhP+s($<8|Fv+bYbP@kgLnHU7cs;a!ZQZOcpoMsC^pMKCvZdmETEkxFc@*)I z2z;xhY2-r0e}4f0iAF2_D8Qb$GLcl=F5Z@@d~0UAC@+(>H&G2z03Zecf&rkOU3r=y zkhYbmC)&k`^Gvw-iND+bU8$~Qc2Rf=CUi!GAeTNQF`*;q<7P>aE7jyMUDKX4&GH%1xLsVZsDBh5rCKCJA}?zYfv700000NkvXXu0mjfa_i^T diff --git a/tests/fixtures/test2.json b/tests/fixtures/test2.json index 2327e3e..8e6cedc 100644 --- a/tests/fixtures/test2.json +++ b/tests/fixtures/test2.json @@ -1 +1 @@ -{"airport":{"height":36,"width":36,"x":0,"y":92,"pixelRatio":2,"sdf":false},"airport_xl":{"height":92,"width":92,"x":0,"y":0,"pixelRatio":2,"sdf":false},"my_bbq":{"height":70,"width":70,"x":92,"y":0,"pixelRatio":2,"sdf":false}} \ No newline at end of file +{"airport":{"height":30,"width":30,"x":0,"y":92,"pixelRatio":2,"sdf":false},"airport_xl":{"height":86,"width":86,"x":0,"y":0,"pixelRatio":2,"sdf":false},"my_bbq":{"height":64,"width":64,"x":92,"y":0,"pixelRatio":2,"sdf":false}} \ No newline at end of file diff --git a/tests/fixtures/test2.png b/tests/fixtures/test2.png index 58db01f3babe3e315771df2e281b04259cae3637..e9ad03fc0f20a874fd1f6f6360cac334a89615ef 100644 GIT binary patch delta 4234 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 delta 4232 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 FV1hjM_KN@j delta 2069 zcmV+w2!-@O1POqej?HUt5{r+)xY1_1j2pbdBs&|+zd zR%<*m_Bt|l6dC&y8LJRN`$tidHX&mZv83b)@G$J9KG?}e-~m9!x*}sG$k8MfIKR6h( zV`Fje%$Yc@S1*1{*RZ?hakA%7r^sb|@~SdobH|Rw`NM|sQF?ymO6=XXEuP8D#Cwv2 zG2Of4&gs+f`r5Vl=9DQoB|MzBxm8erU0b!nZ!$9YNLIM+a;Pih;sbX}(JMH)a3NmH z&*%F$)_<+TV+$78>OMmpk6(^lADY7 z8N(kkGjVG|0$$C}$L5V1IZbQ}KR^6i*lGt-TwDF3CE;iQcn<)|t5Nn00Av7wzurnv zz~x+aHlA9%7+d)GaB`{Rw0$8g4ELv`;DkPXoF{M7D< zhkrp2#aj=Bkg+S3GkhywUmLmPYLTgk?$ilKbm@X4d-Tw(XKYxQnhPeE%X;)76aaDo zptPp;3#!U_am|h{l3T7sF3BG`IT+;Uhl9jIVDX3%*sy+mRh_7A;qc*DQCO(eW1zuO zBRmBFX#j9iM?z6S?g7AlG5PuFMJ|opyniucFm3Q)92XjjyQWR!h@^80oV48(rH z!T3!3_S`d|vVF5=IqQx&MedWLllv7yi0+VU!sI;didi7H?BJX^I5Z>#f62vFG%>^N2ehL6~0KguVHhV<&v|$1R9=@ka-4*|33+ zWU8a^qJ7=J77K>>`}5Tqg(0gMwVNF2WKV8|=;UtUdnO4I0zn%FsSxt4#`Bv2KtJ)| zGQ@+V2YOQzxeqcB751G!y<~~accm;uW%-Xwm)i7OJAOPC$HzY;6iBbEb3kr678P~U zl2{DUVYL*hLN1lN0&k%o>3``EJWFdw0R802m!+zRkPtjDdp1w!garj@GDB^fH@A5n z3Zr&4xDjnslx*$RG!JEI?MV1?-aKsV<5NYiHqDyhuB0T~pPH&DsZmk99Yxd>$UTe} zOG9uYd{xMGYrdbd11L%7?8%^%&cuHGxGnA2vL$!JF34=HTqtuvBY&LoZL+$HxN&1! zFaWn@#NIMO2}*zSEUj}ZEiG=>Ih3THU=T`WPMAIix606YkMB_~M} zC?0@}9ifPp7@6f_|9=Qtts9ZC7pq%&8G&swa<>|-(Bp&+GI9%yR_Jj;mWrl$)p_8jC>BT?hFwO4~Fw8Fmho8ak&jY+35=cXc0CP?YLpjijPX4gf$8 zqdVYd4@ir8+XINm1e zl_os8o(X{!BK1PKqhtUG2LP?#1~d}wlg0VR#q~^>Fk!-k2@@tvRKY-zV5F@Hov~Or z`m{BnGhP+s($<8|Fv+bYbP@kgLnHU7cs;a!ZQZOcpoMsC^pMKCvZdmETEkxFc@*)I z2z;xhY2-r0e}4f0iAF2_D8Qb$GLcl=F5Z@@d~0UAC@+(>H&G2z03Zecf&rkOU3r=y zkhYbmC)&k`^Gvw-iND+bU8$~Qc2Rf=CUi!GAeTNQF`*;q<7P>aE7jyMUDKX4&GH%1xLsVZsDBh5rCKCJA}?zYfv700000NkvXXu0mjfa_i^T diff --git a/tests/fixtures/test3@2x.json b/tests/fixtures/test3@2x.json index 2327e3e..8e6cedc 100644 --- a/tests/fixtures/test3@2x.json +++ b/tests/fixtures/test3@2x.json @@ -1 +1 @@ -{"airport":{"height":36,"width":36,"x":0,"y":92,"pixelRatio":2,"sdf":false},"airport_xl":{"height":92,"width":92,"x":0,"y":0,"pixelRatio":2,"sdf":false},"my_bbq":{"height":70,"width":70,"x":92,"y":0,"pixelRatio":2,"sdf":false}} \ No newline at end of file +{"airport":{"height":30,"width":30,"x":0,"y":92,"pixelRatio":2,"sdf":false},"airport_xl":{"height":86,"width":86,"x":0,"y":0,"pixelRatio":2,"sdf":false},"my_bbq":{"height":64,"width":64,"x":92,"y":0,"pixelRatio":2,"sdf":false}} \ No newline at end of file diff --git a/tests/fixtures/test3@2x.png b/tests/fixtures/test3@2x.png index 58db01f3babe3e315771df2e281b04259cae3637..e9ad03fc0f20a874fd1f6f6360cac334a89615ef 100644 GIT binary patch delta 4234 zcmV;55OwdFA)6tPIe$$_L_t(|ob8#^(Y8ft0=aDJ!%nJ7Z6!QQ4Cd`O(hjvE zxNJ7#T|Ii>A7{^QwC~8ORhXHQg2zmzM*DUY7h_J}zF03wjrPsW%EIz7V;XJ$p}HDx z@7^8%GJkKLD=|K8v~D^wg(&;>PWaZcWvndLj2+u(-=n#?Y~R79OB?MY@y0i6hF2{X zhwT@utFd`Z430}rZ*WtKZr#{E`kVHBzhw*ldEPuGKDt(PR22T(MGI>u#(TjaM3fNGVz~ij`CFwT zJiKBBcDU}khBAn4+7vhC<*|LgDJo+Bw(U!bkH@_wC9M0MIe4%`*$wR6nThtB4I6M! zmwzq}`$(uH-oGtdhHYE6Y}no`IvTf4p6u-zzr}6ax`P3T7$LIvLRsC%>f2INS*x@v zJDatNC)clM+euK=0=8?_3ay2OxNq@d_D)CpsD-54-I9`mPv3VRzWeaQ4ey2vh7M)> ziZV0tg$EvRXzluT=)ie|yfc5Jkr1WD(V+;x}g_f~GxA2AtTB);#3<N13)tf6DW4LUY6_6R8`@xCQrthnVC3s z;6ThvOT+wr{m?vdB7VMht;b5GdEZbAk!EoG6k6kRDZ31Jj(JR8l;ez z{nPF=!SPP>Ygida(~$N>IoC@kx`?tee>q{+^kt_|A{qgg7Usd?}f)JDgr4&3MKeV zi!yJ@yTzRV@V$oOb7$uPpqA&@2^nne)vgt!R_?i3v)IVFS7IWr7(SditJ)v)pEYZ6 zRF59mF)j`}#l_+ByYI%Iwr*`WhDPAoefk8fY{=t=t{G4fUVk$hREB)eaY_eb)7=0E zWx3AQ3jTBDN;G9>V@7f^dpCSy$`sZmJ69lyZfjm1d)D~qX#D%KWiBiFx5dTGx6s#e z=+wG3a~BK92-&sKdwWO*9iQkxRJtDEkPu0PM^~-FqCtbOf4g?9D<)C8syq?}Im1rR z$iT$dST>NcOn;o%DB#IvS1gtWk83qnIexsu$UK~c*j9r|< z!<|J%_#=1ccV*NX(uePam>66=awO*V>B9yyZ@Xy~>HA|py8#RZJFOo-o_SeQpcKWT zEFCrs*X8E2a0ASg)F$$xe0mlS z`e=|st=_xKm$Pq+V|w+%FW0TZ*B36tlvb^u4 zHMH3qB_$5O#}*$QBwOvNY?1+>gbzBju2iE8aJsn_B4zLQqcYD_RpI18gB-e4S4J(J z(oyiOsi_X1aO}TP2H5gE2~kOkU}5UY;Ht;vCw$EOf4riCwR}pSm^b z?|*RKucu52h6sQ5<_0E27MwB&XuQe~)zx^D-9SXCQS0gL+VsiCewwgnyLKMk(0nqh z^?greB7~@o5LJf?tQ|M5(LEC5;_#Q**|>Y|T;{4pp4;|$Z)~>b!3VuwpAs$w#r5m| zwowRCe?rVqQ;BtEGq#C~bGSaWU|&4?sDH~8b*-8=cQ}^P&ndYFy&u}np`3~VZV?CQ zS%~NOAgPvr3dsck$|AK##Wh|809yYei_i3I;2+$N@sH73{Wb_x_q^9>WJ?1T8a2B+ zp3;XnN8l-O=i1EYvu*a;!i9knqM~rpU{^>T7sYNak~v&7o}&MEs<{3R57%kNoqsS2 zxX|gkheGsWK41a%mVyF@Ytu(-Psfu7xc&4U*_%t2c)bsuXW#OU>eDBr0rtUe-F!)9 zYgTbzidFH2V7Hj+CC%P&dPnpoESep0KE6wvHY_k-iBVQq+j&i+ zqVUu5a$kjb3TtZ6m{S1&l=pZL0JH?{nWjRBbgb62;o zL^{?G;I;R~CzOcfLQ+_^6SK^NVomZ}+6@LddPMDzN_@|7v z1R8Nkfe3#DgMqcRF=4qVq%7|?;-ZkmR|ZPbdjp*bfE=C24|Am%+GzvRnuez;1;uV1@^`ZR^g~ zw$omGHrt1iV9p6c`+Tg-Ej{2LV6=fSCX=fPdRezU?4CMhH<5Fd<&xnH|i0 zFp`~9}JoJyC1ERE?Pu^S0SEvA-X`PGIJK^NzpY&wh(FA*cW*G@pu5}tl{%? z=Fd>hpNXDLydw$(0)apv5C{YUfj}TIuxtNuZuGZ6pb0PAeITa41p-a5kF=w|1p-ZQ zp0*PRG=D(|QJ@Qi5CytG2vML5gb)R~6e9T)3IrjG$fG4E4!LnMJ;e7Xiuw=)BR9=7 z?&YjBKg}f`LOMdE`w;j;Gwx=;GXUYB{{?^zB8FI?lqkNOgjr?qky87a=ewcAORo&jAAv_aWq;5*#=BHA&owxLhiYDO%I;6ma5wX= z*Te@ahrA?X7YH0U!{dw}2Y`nG;2r?z1pqPNp0Df#MSr^^hF|L*e(lHkz383-f!`dp z6XFs7FDDTA#sNDa?iYn9(2Cu5LVQuPrw~Lu_6zdti1^YFXvS7MA=YU37=lQr+)jvP zT7N%`AaYq`C&YzXKa3zUp#^lR?1V^vi$!$=x>&47EUF_22`v;X)^nLp1;&Twkpz*3 z+QoXrqB?@0;BLXiSGm#O!l^+JbjYb;4*;wMfIK(e)~S5oT7Il2M+kvHAP@)y0)apv g5C{YU0Vw5v)>cwNy>qfw00000NkvXXt^-0~f(J_l;s5{u delta 4232 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 Eg6-2&6#xJL delta 2230 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 Tz%e&V00000NkvXXu0mjfCDMZ# diff --git a/tests/fixtures/test5@2x.json b/tests/fixtures/test5@2x.json index f0644b1..4e7a54b 100644 --- a/tests/fixtures/test5@2x.json +++ b/tests/fixtures/test5@2x.json @@ -1 +1 @@ -{"aerialway":{"height":36,"width":36,"x":0,"y":0,"pixelRatio":2,"sdf":false},"airfield":{"height":36,"width":36,"x":36,"y":0,"pixelRatio":2,"sdf":false},"airport":{"height":36,"width":36,"x":0,"y":36,"pixelRatio":2,"sdf":false},"alcohol-shop":{"height":36,"width":36,"x":36,"y":36,"pixelRatio":2,"sdf":false},"american-football":{"height":36,"width":36,"x":72,"y":0,"pixelRatio":2,"sdf":false},"amusement-park":{"height":36,"width":36,"x":72,"y":36,"pixelRatio":2,"sdf":false},"animal-shelter":{"height":36,"width":36,"x":0,"y":72,"pixelRatio":2,"sdf":false},"aquarium":{"height":36,"width":36,"x":36,"y":72,"pixelRatio":2,"sdf":false},"arrow":{"height":36,"width":36,"x":72,"y":72,"pixelRatio":2,"sdf":false},"art-gallery":{"height":36,"width":36,"x":108,"y":0,"pixelRatio":2,"sdf":false},"attraction":{"height":36,"width":36,"x":108,"y":36,"pixelRatio":2,"sdf":false},"bakery":{"height":36,"width":36,"x":108,"y":72,"pixelRatio":2,"sdf":false},"bank-JP":{"height":36,"width":36,"x":0,"y":108,"pixelRatio":2,"sdf":false},"bank":{"height":36,"width":36,"x":36,"y":108,"pixelRatio":2,"sdf":false},"bar":{"height":36,"width":36,"x":72,"y":108,"pixelRatio":2,"sdf":false},"barrier":{"height":36,"width":36,"x":108,"y":108,"pixelRatio":2,"sdf":false},"baseball":{"height":36,"width":36,"x":144,"y":0,"pixelRatio":2,"sdf":false},"basketball":{"height":36,"width":36,"x":144,"y":36,"pixelRatio":2,"sdf":false},"bbq":{"height":36,"width":36,"x":144,"y":72,"pixelRatio":2,"sdf":false},"beach":{"height":36,"width":36,"x":144,"y":108,"pixelRatio":2,"sdf":false},"beer":{"height":36,"width":36,"x":0,"y":144,"pixelRatio":2,"sdf":false},"bicycle-share":{"height":36,"width":36,"x":36,"y":144,"pixelRatio":2,"sdf":false},"bicycle":{"height":36,"width":36,"x":72,"y":144,"pixelRatio":2,"sdf":false},"blood-bank":{"height":36,"width":36,"x":108,"y":144,"pixelRatio":2,"sdf":false},"bowling-alley":{"height":36,"width":36,"x":144,"y":144,"pixelRatio":2,"sdf":false},"bridge":{"height":36,"width":36,"x":180,"y":0,"pixelRatio":2,"sdf":false},"building-alt1":{"height":36,"width":36,"x":180,"y":36,"pixelRatio":2,"sdf":false},"building":{"height":36,"width":36,"x":180,"y":72,"pixelRatio":2,"sdf":false},"bus":{"height":36,"width":36,"x":180,"y":108,"pixelRatio":2,"sdf":false},"cafe":{"height":36,"width":36,"x":180,"y":144,"pixelRatio":2,"sdf":false},"campsite":{"height":36,"width":36,"x":0,"y":180,"pixelRatio":2,"sdf":false},"car-rental":{"height":36,"width":36,"x":36,"y":180,"pixelRatio":2,"sdf":false},"car-repair":{"height":36,"width":36,"x":72,"y":180,"pixelRatio":2,"sdf":false},"car":{"height":36,"width":36,"x":108,"y":180,"pixelRatio":2,"sdf":false},"casino":{"height":36,"width":36,"x":144,"y":180,"pixelRatio":2,"sdf":false},"castle-JP":{"height":36,"width":36,"x":180,"y":180,"pixelRatio":2,"sdf":false},"castle":{"height":36,"width":36,"x":216,"y":0,"pixelRatio":2,"sdf":false},"caution":{"height":36,"width":36,"x":216,"y":36,"pixelRatio":2,"sdf":false},"cemetery-JP":{"height":36,"width":36,"x":216,"y":72,"pixelRatio":2,"sdf":false},"cemetery":{"height":36,"width":36,"x":216,"y":108,"pixelRatio":2,"sdf":false},"charging-station":{"height":36,"width":36,"x":216,"y":144,"pixelRatio":2,"sdf":false},"cinema":{"height":36,"width":36,"x":216,"y":180,"pixelRatio":2,"sdf":false},"circle-stroked":{"height":36,"width":36,"x":0,"y":216,"pixelRatio":2,"sdf":false},"circle":{"height":36,"width":36,"x":36,"y":216,"pixelRatio":2,"sdf":false},"city":{"height":36,"width":36,"x":72,"y":216,"pixelRatio":2,"sdf":false},"clothing-store":{"height":36,"width":36,"x":108,"y":216,"pixelRatio":2,"sdf":false},"college-JP":{"height":36,"width":36,"x":144,"y":216,"pixelRatio":2,"sdf":false},"college":{"height":36,"width":36,"x":180,"y":216,"pixelRatio":2,"sdf":false},"commercial":{"height":36,"width":36,"x":216,"y":216,"pixelRatio":2,"sdf":false},"communications-tower":{"height":36,"width":36,"x":252,"y":0,"pixelRatio":2,"sdf":false},"confectionery":{"height":36,"width":36,"x":252,"y":36,"pixelRatio":2,"sdf":false},"construction":{"height":36,"width":36,"x":252,"y":72,"pixelRatio":2,"sdf":false},"convenience":{"height":36,"width":36,"x":252,"y":108,"pixelRatio":2,"sdf":false},"cricket":{"height":36,"width":36,"x":252,"y":144,"pixelRatio":2,"sdf":false},"cross":{"height":36,"width":36,"x":252,"y":180,"pixelRatio":2,"sdf":false},"dam":{"height":36,"width":36,"x":252,"y":216,"pixelRatio":2,"sdf":false},"danger":{"height":36,"width":36,"x":0,"y":252,"pixelRatio":2,"sdf":false},"defibrillator":{"height":36,"width":36,"x":36,"y":252,"pixelRatio":2,"sdf":false},"dentist":{"height":36,"width":36,"x":72,"y":252,"pixelRatio":2,"sdf":false},"diamond":{"height":36,"width":36,"x":108,"y":252,"pixelRatio":2,"sdf":false},"doctor":{"height":36,"width":36,"x":144,"y":252,"pixelRatio":2,"sdf":false},"dog-park":{"height":36,"width":36,"x":180,"y":252,"pixelRatio":2,"sdf":false},"drinking-water":{"height":36,"width":36,"x":216,"y":252,"pixelRatio":2,"sdf":false},"elevator":{"height":36,"width":36,"x":252,"y":252,"pixelRatio":2,"sdf":false},"embassy":{"height":36,"width":36,"x":288,"y":0,"pixelRatio":2,"sdf":false},"emergency-phone":{"height":36,"width":36,"x":288,"y":36,"pixelRatio":2,"sdf":false},"entrance-alt1":{"height":36,"width":36,"x":288,"y":72,"pixelRatio":2,"sdf":false},"entrance":{"height":36,"width":36,"x":288,"y":108,"pixelRatio":2,"sdf":false},"farm":{"height":36,"width":36,"x":288,"y":144,"pixelRatio":2,"sdf":false},"fast-food":{"height":36,"width":36,"x":288,"y":180,"pixelRatio":2,"sdf":false},"fence":{"height":36,"width":36,"x":288,"y":216,"pixelRatio":2,"sdf":false},"ferry-JP":{"height":36,"width":36,"x":288,"y":252,"pixelRatio":2,"sdf":false},"ferry":{"height":36,"width":36,"x":0,"y":288,"pixelRatio":2,"sdf":false},"fire-station-JP":{"height":36,"width":36,"x":36,"y":288,"pixelRatio":2,"sdf":false},"fire-station":{"height":36,"width":36,"x":72,"y":288,"pixelRatio":2,"sdf":false},"fitness-centre":{"height":36,"width":36,"x":108,"y":288,"pixelRatio":2,"sdf":false},"florist":{"height":36,"width":36,"x":144,"y":288,"pixelRatio":2,"sdf":false},"fuel":{"height":36,"width":36,"x":180,"y":288,"pixelRatio":2,"sdf":false},"furniture":{"height":36,"width":36,"x":216,"y":288,"pixelRatio":2,"sdf":false},"gaming":{"height":36,"width":36,"x":252,"y":288,"pixelRatio":2,"sdf":false},"garden-centre":{"height":36,"width":36,"x":288,"y":288,"pixelRatio":2,"sdf":false},"garden":{"height":36,"width":36,"x":324,"y":0,"pixelRatio":2,"sdf":false},"gate":{"height":36,"width":36,"x":324,"y":36,"pixelRatio":2,"sdf":false},"gift":{"height":36,"width":36,"x":324,"y":72,"pixelRatio":2,"sdf":false},"globe":{"height":36,"width":36,"x":324,"y":108,"pixelRatio":2,"sdf":false},"golf":{"height":36,"width":36,"x":324,"y":144,"pixelRatio":2,"sdf":false},"grocery":{"height":36,"width":36,"x":324,"y":180,"pixelRatio":2,"sdf":false},"hairdresser":{"height":36,"width":36,"x":324,"y":216,"pixelRatio":2,"sdf":false},"harbor":{"height":36,"width":36,"x":324,"y":252,"pixelRatio":2,"sdf":false},"hardware":{"height":36,"width":36,"x":324,"y":288,"pixelRatio":2,"sdf":false},"heart":{"height":36,"width":36,"x":0,"y":324,"pixelRatio":2,"sdf":false},"heliport":{"height":36,"width":36,"x":36,"y":324,"pixelRatio":2,"sdf":false},"highway-rest-area":{"height":36,"width":36,"x":72,"y":324,"pixelRatio":2,"sdf":false},"historic":{"height":36,"width":36,"x":108,"y":324,"pixelRatio":2,"sdf":false},"home":{"height":36,"width":36,"x":144,"y":324,"pixelRatio":2,"sdf":false},"horse-riding":{"height":36,"width":36,"x":180,"y":324,"pixelRatio":2,"sdf":false},"hospital-JP":{"height":36,"width":36,"x":216,"y":324,"pixelRatio":2,"sdf":false},"hospital":{"height":36,"width":36,"x":252,"y":324,"pixelRatio":2,"sdf":false},"hot-spring":{"height":36,"width":36,"x":288,"y":324,"pixelRatio":2,"sdf":false},"ice-cream":{"height":36,"width":36,"x":324,"y":324,"pixelRatio":2,"sdf":false},"industry":{"height":36,"width":36,"x":360,"y":0,"pixelRatio":2,"sdf":false},"information":{"height":36,"width":36,"x":360,"y":36,"pixelRatio":2,"sdf":false},"jewelry-store":{"height":36,"width":36,"x":360,"y":72,"pixelRatio":2,"sdf":false},"karaoke":{"height":36,"width":36,"x":360,"y":108,"pixelRatio":2,"sdf":false},"landmark-JP":{"height":36,"width":36,"x":360,"y":144,"pixelRatio":2,"sdf":false},"landmark":{"height":36,"width":36,"x":360,"y":180,"pixelRatio":2,"sdf":false},"landuse":{"height":36,"width":36,"x":360,"y":216,"pixelRatio":2,"sdf":false},"laundry":{"height":36,"width":36,"x":360,"y":252,"pixelRatio":2,"sdf":false},"library":{"height":36,"width":36,"x":360,"y":288,"pixelRatio":2,"sdf":false},"lift-gate":{"height":36,"width":36,"x":360,"y":324,"pixelRatio":2,"sdf":false},"lighthouse-JP":{"height":36,"width":36,"x":0,"y":360,"pixelRatio":2,"sdf":false},"lighthouse":{"height":36,"width":36,"x":36,"y":360,"pixelRatio":2,"sdf":false},"lodging":{"height":36,"width":36,"x":72,"y":360,"pixelRatio":2,"sdf":false},"logging":{"height":36,"width":36,"x":108,"y":360,"pixelRatio":2,"sdf":false},"marker-stroked":{"height":36,"width":36,"x":144,"y":360,"pixelRatio":2,"sdf":false},"marker":{"height":36,"width":36,"x":180,"y":360,"pixelRatio":2,"sdf":false},"mobile-phone":{"height":36,"width":36,"x":216,"y":360,"pixelRatio":2,"sdf":false},"monument-JP":{"height":36,"width":36,"x":252,"y":360,"pixelRatio":2,"sdf":false},"monument":{"height":36,"width":36,"x":288,"y":360,"pixelRatio":2,"sdf":false},"mountain":{"height":36,"width":36,"x":324,"y":360,"pixelRatio":2,"sdf":false},"museum":{"height":36,"width":36,"x":360,"y":360,"pixelRatio":2,"sdf":false},"music":{"height":36,"width":36,"x":396,"y":0,"pixelRatio":2,"sdf":false},"natural":{"height":36,"width":36,"x":396,"y":36,"pixelRatio":2,"sdf":false},"observation-tower":{"height":36,"width":36,"x":396,"y":72,"pixelRatio":2,"sdf":false},"optician":{"height":36,"width":36,"x":396,"y":108,"pixelRatio":2,"sdf":false},"paint":{"height":36,"width":36,"x":396,"y":144,"pixelRatio":2,"sdf":false},"park-alt1":{"height":36,"width":36,"x":396,"y":180,"pixelRatio":2,"sdf":false},"park":{"height":36,"width":36,"x":396,"y":216,"pixelRatio":2,"sdf":false},"parking-garage":{"height":36,"width":36,"x":396,"y":252,"pixelRatio":2,"sdf":false},"parking-paid":{"height":36,"width":36,"x":396,"y":288,"pixelRatio":2,"sdf":false},"parking":{"height":36,"width":36,"x":396,"y":324,"pixelRatio":2,"sdf":false},"pharmacy":{"height":36,"width":36,"x":396,"y":360,"pixelRatio":2,"sdf":false},"picnic-site":{"height":36,"width":36,"x":0,"y":396,"pixelRatio":2,"sdf":false},"pitch":{"height":36,"width":36,"x":36,"y":396,"pixelRatio":2,"sdf":false},"place-of-worship":{"height":36,"width":36,"x":72,"y":396,"pixelRatio":2,"sdf":false},"playground":{"height":36,"width":36,"x":108,"y":396,"pixelRatio":2,"sdf":false},"police-JP":{"height":36,"width":36,"x":144,"y":396,"pixelRatio":2,"sdf":false},"police":{"height":36,"width":36,"x":180,"y":396,"pixelRatio":2,"sdf":false},"post-JP":{"height":36,"width":36,"x":216,"y":396,"pixelRatio":2,"sdf":false},"post":{"height":36,"width":36,"x":252,"y":396,"pixelRatio":2,"sdf":false},"prison":{"height":36,"width":36,"x":288,"y":396,"pixelRatio":2,"sdf":false},"racetrack-boat":{"height":36,"width":36,"x":324,"y":396,"pixelRatio":2,"sdf":false},"racetrack-cycling":{"height":36,"width":36,"x":360,"y":396,"pixelRatio":2,"sdf":false},"racetrack-horse":{"height":36,"width":36,"x":396,"y":396,"pixelRatio":2,"sdf":false},"racetrack":{"height":36,"width":36,"x":432,"y":0,"pixelRatio":2,"sdf":false},"rail-light":{"height":36,"width":36,"x":432,"y":36,"pixelRatio":2,"sdf":false},"rail-metro":{"height":36,"width":36,"x":432,"y":72,"pixelRatio":2,"sdf":false},"rail":{"height":36,"width":36,"x":432,"y":108,"pixelRatio":2,"sdf":false},"ranger-station":{"height":36,"width":36,"x":432,"y":144,"pixelRatio":2,"sdf":false},"recycling":{"height":36,"width":36,"x":432,"y":180,"pixelRatio":2,"sdf":false},"religious-buddhist":{"height":36,"width":36,"x":432,"y":216,"pixelRatio":2,"sdf":false},"religious-christian":{"height":36,"width":36,"x":432,"y":252,"pixelRatio":2,"sdf":false},"religious-jewish":{"height":36,"width":36,"x":432,"y":288,"pixelRatio":2,"sdf":false},"religious-muslim":{"height":36,"width":36,"x":432,"y":324,"pixelRatio":2,"sdf":false},"religious-shinto":{"height":36,"width":36,"x":432,"y":360,"pixelRatio":2,"sdf":false},"residential-community":{"height":36,"width":36,"x":432,"y":396,"pixelRatio":2,"sdf":false},"restaurant-bbq":{"height":36,"width":36,"x":0,"y":432,"pixelRatio":2,"sdf":false},"restaurant-noodle":{"height":36,"width":36,"x":36,"y":432,"pixelRatio":2,"sdf":false},"restaurant-pizza":{"height":36,"width":36,"x":72,"y":432,"pixelRatio":2,"sdf":false},"restaurant-seafood":{"height":36,"width":36,"x":108,"y":432,"pixelRatio":2,"sdf":false},"restaurant-sushi":{"height":36,"width":36,"x":144,"y":432,"pixelRatio":2,"sdf":false},"restaurant":{"height":36,"width":36,"x":180,"y":432,"pixelRatio":2,"sdf":false},"road-accident":{"height":36,"width":36,"x":216,"y":432,"pixelRatio":2,"sdf":false},"roadblock":{"height":36,"width":36,"x":252,"y":432,"pixelRatio":2,"sdf":false},"rocket":{"height":36,"width":36,"x":288,"y":432,"pixelRatio":2,"sdf":false},"school-JP":{"height":36,"width":36,"x":324,"y":432,"pixelRatio":2,"sdf":false},"school":{"height":36,"width":36,"x":360,"y":432,"pixelRatio":2,"sdf":false},"scooter":{"height":36,"width":36,"x":396,"y":432,"pixelRatio":2,"sdf":false},"shelter":{"height":36,"width":36,"x":432,"y":432,"pixelRatio":2,"sdf":false},"shoe":{"height":36,"width":36,"x":468,"y":0,"pixelRatio":2,"sdf":false},"shop":{"height":36,"width":36,"x":468,"y":36,"pixelRatio":2,"sdf":false},"skateboard":{"height":36,"width":36,"x":468,"y":72,"pixelRatio":2,"sdf":false},"skiing":{"height":36,"width":36,"x":468,"y":108,"pixelRatio":2,"sdf":false},"slaughterhouse":{"height":36,"width":36,"x":468,"y":144,"pixelRatio":2,"sdf":false},"slipway":{"height":36,"width":36,"x":468,"y":180,"pixelRatio":2,"sdf":false},"snowmobile":{"height":36,"width":36,"x":468,"y":216,"pixelRatio":2,"sdf":false},"soccer":{"height":36,"width":36,"x":468,"y":252,"pixelRatio":2,"sdf":false},"square-stroked":{"height":36,"width":36,"x":468,"y":288,"pixelRatio":2,"sdf":false},"square":{"height":36,"width":36,"x":468,"y":324,"pixelRatio":2,"sdf":false},"stadium":{"height":36,"width":36,"x":468,"y":360,"pixelRatio":2,"sdf":false},"star-stroked":{"height":36,"width":36,"x":468,"y":396,"pixelRatio":2,"sdf":false},"star":{"height":36,"width":36,"x":468,"y":432,"pixelRatio":2,"sdf":false},"suitcase":{"height":36,"width":36,"x":0,"y":468,"pixelRatio":2,"sdf":false},"swimming":{"height":36,"width":36,"x":36,"y":468,"pixelRatio":2,"sdf":false},"table-tennis":{"height":36,"width":36,"x":72,"y":468,"pixelRatio":2,"sdf":false},"teahouse":{"height":36,"width":36,"x":108,"y":468,"pixelRatio":2,"sdf":false},"telephone":{"height":36,"width":36,"x":144,"y":468,"pixelRatio":2,"sdf":false},"tennis":{"height":36,"width":36,"x":180,"y":468,"pixelRatio":2,"sdf":false},"theatre":{"height":36,"width":36,"x":216,"y":468,"pixelRatio":2,"sdf":false},"toilet":{"height":36,"width":36,"x":252,"y":468,"pixelRatio":2,"sdf":false},"toll":{"height":36,"width":36,"x":288,"y":468,"pixelRatio":2,"sdf":false},"town-hall":{"height":36,"width":36,"x":324,"y":468,"pixelRatio":2,"sdf":false},"town":{"height":36,"width":36,"x":360,"y":468,"pixelRatio":2,"sdf":false},"triangle-stroked":{"height":36,"width":36,"x":396,"y":468,"pixelRatio":2,"sdf":false},"triangle":{"height":36,"width":36,"x":432,"y":468,"pixelRatio":2,"sdf":false},"tunnel":{"height":36,"width":36,"x":468,"y":468,"pixelRatio":2,"sdf":false},"veterinary":{"height":36,"width":36,"x":504,"y":0,"pixelRatio":2,"sdf":false},"viewpoint":{"height":36,"width":36,"x":504,"y":36,"pixelRatio":2,"sdf":false},"village":{"height":36,"width":36,"x":504,"y":72,"pixelRatio":2,"sdf":false},"volcano":{"height":36,"width":36,"x":504,"y":108,"pixelRatio":2,"sdf":false},"volleyball":{"height":36,"width":36,"x":504,"y":144,"pixelRatio":2,"sdf":false},"warehouse":{"height":36,"width":36,"x":504,"y":180,"pixelRatio":2,"sdf":false},"waste-basket":{"height":36,"width":36,"x":504,"y":216,"pixelRatio":2,"sdf":false},"watch":{"height":36,"width":36,"x":504,"y":252,"pixelRatio":2,"sdf":false},"water":{"height":36,"width":36,"x":504,"y":288,"pixelRatio":2,"sdf":false},"waterfall":{"height":36,"width":36,"x":504,"y":324,"pixelRatio":2,"sdf":false},"watermill":{"height":36,"width":36,"x":504,"y":360,"pixelRatio":2,"sdf":false},"wetland":{"height":36,"width":36,"x":504,"y":396,"pixelRatio":2,"sdf":false},"wheelchair":{"height":36,"width":36,"x":504,"y":432,"pixelRatio":2,"sdf":false},"windmill":{"height":36,"width":36,"x":504,"y":468,"pixelRatio":2,"sdf":false},"zoo":{"height":36,"width":36,"x":0,"y":504,"pixelRatio":2,"sdf":false}} \ No newline at end of file +{"aerialway":{"height":30,"width":30,"x":0,"y":0,"pixelRatio":2,"sdf":false},"airfield":{"height":30,"width":30,"x":36,"y":0,"pixelRatio":2,"sdf":false},"airport":{"height":30,"width":30,"x":0,"y":36,"pixelRatio":2,"sdf":false},"alcohol-shop":{"height":30,"width":30,"x":36,"y":36,"pixelRatio":2,"sdf":false},"american-football":{"height":30,"width":30,"x":72,"y":0,"pixelRatio":2,"sdf":false},"amusement-park":{"height":30,"width":30,"x":72,"y":36,"pixelRatio":2,"sdf":false},"animal-shelter":{"height":30,"width":30,"x":0,"y":72,"pixelRatio":2,"sdf":false},"aquarium":{"height":30,"width":30,"x":36,"y":72,"pixelRatio":2,"sdf":false},"arrow":{"height":30,"width":30,"x":72,"y":72,"pixelRatio":2,"sdf":false},"art-gallery":{"height":30,"width":30,"x":108,"y":0,"pixelRatio":2,"sdf":false},"attraction":{"height":30,"width":30,"x":108,"y":36,"pixelRatio":2,"sdf":false},"bakery":{"height":30,"width":30,"x":108,"y":72,"pixelRatio":2,"sdf":false},"bank-JP":{"height":30,"width":30,"x":0,"y":108,"pixelRatio":2,"sdf":false},"bank":{"height":30,"width":30,"x":36,"y":108,"pixelRatio":2,"sdf":false},"bar":{"height":30,"width":30,"x":72,"y":108,"pixelRatio":2,"sdf":false},"barrier":{"height":30,"width":30,"x":108,"y":108,"pixelRatio":2,"sdf":false},"baseball":{"height":30,"width":30,"x":144,"y":0,"pixelRatio":2,"sdf":false},"basketball":{"height":30,"width":30,"x":144,"y":36,"pixelRatio":2,"sdf":false},"bbq":{"height":30,"width":30,"x":144,"y":72,"pixelRatio":2,"sdf":false},"beach":{"height":30,"width":30,"x":144,"y":108,"pixelRatio":2,"sdf":false},"beer":{"height":30,"width":30,"x":0,"y":144,"pixelRatio":2,"sdf":false},"bicycle-share":{"height":30,"width":30,"x":36,"y":144,"pixelRatio":2,"sdf":false},"bicycle":{"height":30,"width":30,"x":72,"y":144,"pixelRatio":2,"sdf":false},"blood-bank":{"height":30,"width":30,"x":108,"y":144,"pixelRatio":2,"sdf":false},"bowling-alley":{"height":30,"width":30,"x":144,"y":144,"pixelRatio":2,"sdf":false},"bridge":{"height":30,"width":30,"x":180,"y":0,"pixelRatio":2,"sdf":false},"building-alt1":{"height":30,"width":30,"x":180,"y":36,"pixelRatio":2,"sdf":false},"building":{"height":30,"width":30,"x":180,"y":72,"pixelRatio":2,"sdf":false},"bus":{"height":30,"width":30,"x":180,"y":108,"pixelRatio":2,"sdf":false},"cafe":{"height":30,"width":30,"x":180,"y":144,"pixelRatio":2,"sdf":false},"campsite":{"height":30,"width":30,"x":0,"y":180,"pixelRatio":2,"sdf":false},"car-rental":{"height":30,"width":30,"x":36,"y":180,"pixelRatio":2,"sdf":false},"car-repair":{"height":30,"width":30,"x":72,"y":180,"pixelRatio":2,"sdf":false},"car":{"height":30,"width":30,"x":108,"y":180,"pixelRatio":2,"sdf":false},"casino":{"height":30,"width":30,"x":144,"y":180,"pixelRatio":2,"sdf":false},"castle-JP":{"height":30,"width":30,"x":180,"y":180,"pixelRatio":2,"sdf":false},"castle":{"height":30,"width":30,"x":216,"y":0,"pixelRatio":2,"sdf":false},"caution":{"height":30,"width":30,"x":216,"y":36,"pixelRatio":2,"sdf":false},"cemetery-JP":{"height":30,"width":30,"x":216,"y":72,"pixelRatio":2,"sdf":false},"cemetery":{"height":30,"width":30,"x":216,"y":108,"pixelRatio":2,"sdf":false},"charging-station":{"height":30,"width":30,"x":216,"y":144,"pixelRatio":2,"sdf":false},"cinema":{"height":30,"width":30,"x":216,"y":180,"pixelRatio":2,"sdf":false},"circle-stroked":{"height":30,"width":30,"x":0,"y":216,"pixelRatio":2,"sdf":false},"circle":{"height":30,"width":30,"x":36,"y":216,"pixelRatio":2,"sdf":false},"city":{"height":30,"width":30,"x":72,"y":216,"pixelRatio":2,"sdf":false},"clothing-store":{"height":30,"width":30,"x":108,"y":216,"pixelRatio":2,"sdf":false},"college-JP":{"height":30,"width":30,"x":144,"y":216,"pixelRatio":2,"sdf":false},"college":{"height":30,"width":30,"x":180,"y":216,"pixelRatio":2,"sdf":false},"commercial":{"height":30,"width":30,"x":216,"y":216,"pixelRatio":2,"sdf":false},"communications-tower":{"height":30,"width":30,"x":252,"y":0,"pixelRatio":2,"sdf":false},"confectionery":{"height":30,"width":30,"x":252,"y":36,"pixelRatio":2,"sdf":false},"construction":{"height":30,"width":30,"x":252,"y":72,"pixelRatio":2,"sdf":false},"convenience":{"height":30,"width":30,"x":252,"y":108,"pixelRatio":2,"sdf":false},"cricket":{"height":30,"width":30,"x":252,"y":144,"pixelRatio":2,"sdf":false},"cross":{"height":30,"width":30,"x":252,"y":180,"pixelRatio":2,"sdf":false},"dam":{"height":30,"width":30,"x":252,"y":216,"pixelRatio":2,"sdf":false},"danger":{"height":30,"width":30,"x":0,"y":252,"pixelRatio":2,"sdf":false},"defibrillator":{"height":30,"width":30,"x":36,"y":252,"pixelRatio":2,"sdf":false},"dentist":{"height":30,"width":30,"x":72,"y":252,"pixelRatio":2,"sdf":false},"diamond":{"height":30,"width":30,"x":108,"y":252,"pixelRatio":2,"sdf":false},"doctor":{"height":30,"width":30,"x":144,"y":252,"pixelRatio":2,"sdf":false},"dog-park":{"height":30,"width":30,"x":180,"y":252,"pixelRatio":2,"sdf":false},"drinking-water":{"height":30,"width":30,"x":216,"y":252,"pixelRatio":2,"sdf":false},"elevator":{"height":30,"width":30,"x":252,"y":252,"pixelRatio":2,"sdf":false},"embassy":{"height":30,"width":30,"x":288,"y":0,"pixelRatio":2,"sdf":false},"emergency-phone":{"height":30,"width":30,"x":288,"y":36,"pixelRatio":2,"sdf":false},"entrance-alt1":{"height":30,"width":30,"x":288,"y":72,"pixelRatio":2,"sdf":false},"entrance":{"height":30,"width":30,"x":288,"y":108,"pixelRatio":2,"sdf":false},"farm":{"height":30,"width":30,"x":288,"y":144,"pixelRatio":2,"sdf":false},"fast-food":{"height":30,"width":30,"x":288,"y":180,"pixelRatio":2,"sdf":false},"fence":{"height":30,"width":30,"x":288,"y":216,"pixelRatio":2,"sdf":false},"ferry-JP":{"height":30,"width":30,"x":288,"y":252,"pixelRatio":2,"sdf":false},"ferry":{"height":30,"width":30,"x":0,"y":288,"pixelRatio":2,"sdf":false},"fire-station-JP":{"height":30,"width":30,"x":36,"y":288,"pixelRatio":2,"sdf":false},"fire-station":{"height":30,"width":30,"x":72,"y":288,"pixelRatio":2,"sdf":false},"fitness-centre":{"height":30,"width":30,"x":108,"y":288,"pixelRatio":2,"sdf":false},"florist":{"height":30,"width":30,"x":144,"y":288,"pixelRatio":2,"sdf":false},"fuel":{"height":30,"width":30,"x":180,"y":288,"pixelRatio":2,"sdf":false},"furniture":{"height":30,"width":30,"x":216,"y":288,"pixelRatio":2,"sdf":false},"gaming":{"height":30,"width":30,"x":252,"y":288,"pixelRatio":2,"sdf":false},"garden-centre":{"height":30,"width":30,"x":288,"y":288,"pixelRatio":2,"sdf":false},"garden":{"height":30,"width":30,"x":324,"y":0,"pixelRatio":2,"sdf":false},"gate":{"height":30,"width":30,"x":324,"y":36,"pixelRatio":2,"sdf":false},"gift":{"height":30,"width":30,"x":324,"y":72,"pixelRatio":2,"sdf":false},"globe":{"height":30,"width":30,"x":324,"y":108,"pixelRatio":2,"sdf":false},"golf":{"height":30,"width":30,"x":324,"y":144,"pixelRatio":2,"sdf":false},"grocery":{"height":30,"width":30,"x":324,"y":180,"pixelRatio":2,"sdf":false},"hairdresser":{"height":30,"width":30,"x":324,"y":216,"pixelRatio":2,"sdf":false},"harbor":{"height":30,"width":30,"x":324,"y":252,"pixelRatio":2,"sdf":false},"hardware":{"height":30,"width":30,"x":324,"y":288,"pixelRatio":2,"sdf":false},"heart":{"height":30,"width":30,"x":0,"y":324,"pixelRatio":2,"sdf":false},"heliport":{"height":30,"width":30,"x":36,"y":324,"pixelRatio":2,"sdf":false},"highway-rest-area":{"height":30,"width":30,"x":72,"y":324,"pixelRatio":2,"sdf":false},"historic":{"height":30,"width":30,"x":108,"y":324,"pixelRatio":2,"sdf":false},"home":{"height":30,"width":30,"x":144,"y":324,"pixelRatio":2,"sdf":false},"horse-riding":{"height":30,"width":30,"x":180,"y":324,"pixelRatio":2,"sdf":false},"hospital-JP":{"height":30,"width":30,"x":216,"y":324,"pixelRatio":2,"sdf":false},"hospital":{"height":30,"width":30,"x":252,"y":324,"pixelRatio":2,"sdf":false},"hot-spring":{"height":30,"width":30,"x":288,"y":324,"pixelRatio":2,"sdf":false},"ice-cream":{"height":30,"width":30,"x":324,"y":324,"pixelRatio":2,"sdf":false},"industry":{"height":30,"width":30,"x":360,"y":0,"pixelRatio":2,"sdf":false},"information":{"height":30,"width":30,"x":360,"y":36,"pixelRatio":2,"sdf":false},"jewelry-store":{"height":30,"width":30,"x":360,"y":72,"pixelRatio":2,"sdf":false},"karaoke":{"height":30,"width":30,"x":360,"y":108,"pixelRatio":2,"sdf":false},"landmark-JP":{"height":30,"width":30,"x":360,"y":144,"pixelRatio":2,"sdf":false},"landmark":{"height":30,"width":30,"x":360,"y":180,"pixelRatio":2,"sdf":false},"landuse":{"height":30,"width":30,"x":360,"y":216,"pixelRatio":2,"sdf":false},"laundry":{"height":30,"width":30,"x":360,"y":252,"pixelRatio":2,"sdf":false},"library":{"height":30,"width":30,"x":360,"y":288,"pixelRatio":2,"sdf":false},"lift-gate":{"height":30,"width":30,"x":360,"y":324,"pixelRatio":2,"sdf":false},"lighthouse-JP":{"height":30,"width":30,"x":0,"y":360,"pixelRatio":2,"sdf":false},"lighthouse":{"height":30,"width":30,"x":36,"y":360,"pixelRatio":2,"sdf":false},"lodging":{"height":30,"width":30,"x":72,"y":360,"pixelRatio":2,"sdf":false},"logging":{"height":30,"width":30,"x":108,"y":360,"pixelRatio":2,"sdf":false},"marker-stroked":{"height":30,"width":30,"x":144,"y":360,"pixelRatio":2,"sdf":false},"marker":{"height":30,"width":30,"x":180,"y":360,"pixelRatio":2,"sdf":false},"mobile-phone":{"height":30,"width":30,"x":216,"y":360,"pixelRatio":2,"sdf":false},"monument-JP":{"height":30,"width":30,"x":252,"y":360,"pixelRatio":2,"sdf":false},"monument":{"height":30,"width":30,"x":288,"y":360,"pixelRatio":2,"sdf":false},"mountain":{"height":30,"width":30,"x":324,"y":360,"pixelRatio":2,"sdf":false},"museum":{"height":30,"width":30,"x":360,"y":360,"pixelRatio":2,"sdf":false},"music":{"height":30,"width":30,"x":396,"y":0,"pixelRatio":2,"sdf":false},"natural":{"height":30,"width":30,"x":396,"y":36,"pixelRatio":2,"sdf":false},"observation-tower":{"height":30,"width":30,"x":396,"y":72,"pixelRatio":2,"sdf":false},"optician":{"height":30,"width":30,"x":396,"y":108,"pixelRatio":2,"sdf":false},"paint":{"height":30,"width":30,"x":396,"y":144,"pixelRatio":2,"sdf":false},"park-alt1":{"height":30,"width":30,"x":396,"y":180,"pixelRatio":2,"sdf":false},"park":{"height":30,"width":30,"x":396,"y":216,"pixelRatio":2,"sdf":false},"parking-garage":{"height":30,"width":30,"x":396,"y":252,"pixelRatio":2,"sdf":false},"parking-paid":{"height":30,"width":30,"x":396,"y":288,"pixelRatio":2,"sdf":false},"parking":{"height":30,"width":30,"x":396,"y":324,"pixelRatio":2,"sdf":false},"pharmacy":{"height":30,"width":30,"x":396,"y":360,"pixelRatio":2,"sdf":false},"picnic-site":{"height":30,"width":30,"x":0,"y":396,"pixelRatio":2,"sdf":false},"pitch":{"height":30,"width":30,"x":36,"y":396,"pixelRatio":2,"sdf":false},"place-of-worship":{"height":30,"width":30,"x":72,"y":396,"pixelRatio":2,"sdf":false},"playground":{"height":30,"width":30,"x":108,"y":396,"pixelRatio":2,"sdf":false},"police-JP":{"height":30,"width":30,"x":144,"y":396,"pixelRatio":2,"sdf":false},"police":{"height":30,"width":30,"x":180,"y":396,"pixelRatio":2,"sdf":false},"post-JP":{"height":30,"width":30,"x":216,"y":396,"pixelRatio":2,"sdf":false},"post":{"height":30,"width":30,"x":252,"y":396,"pixelRatio":2,"sdf":false},"prison":{"height":30,"width":30,"x":288,"y":396,"pixelRatio":2,"sdf":false},"racetrack-boat":{"height":30,"width":30,"x":324,"y":396,"pixelRatio":2,"sdf":false},"racetrack-cycling":{"height":30,"width":30,"x":360,"y":396,"pixelRatio":2,"sdf":false},"racetrack-horse":{"height":30,"width":30,"x":396,"y":396,"pixelRatio":2,"sdf":false},"racetrack":{"height":30,"width":30,"x":432,"y":0,"pixelRatio":2,"sdf":false},"rail-light":{"height":30,"width":30,"x":432,"y":36,"pixelRatio":2,"sdf":false},"rail-metro":{"height":30,"width":30,"x":432,"y":72,"pixelRatio":2,"sdf":false},"rail":{"height":30,"width":30,"x":432,"y":108,"pixelRatio":2,"sdf":false},"ranger-station":{"height":30,"width":30,"x":432,"y":144,"pixelRatio":2,"sdf":false},"recycling":{"height":30,"width":30,"x":432,"y":180,"pixelRatio":2,"sdf":false},"religious-buddhist":{"height":30,"width":30,"x":432,"y":216,"pixelRatio":2,"sdf":false},"religious-christian":{"height":30,"width":30,"x":432,"y":252,"pixelRatio":2,"sdf":false},"religious-jewish":{"height":30,"width":30,"x":432,"y":288,"pixelRatio":2,"sdf":false},"religious-muslim":{"height":30,"width":30,"x":432,"y":324,"pixelRatio":2,"sdf":false},"religious-shinto":{"height":30,"width":30,"x":432,"y":360,"pixelRatio":2,"sdf":false},"residential-community":{"height":30,"width":30,"x":432,"y":396,"pixelRatio":2,"sdf":false},"restaurant-bbq":{"height":30,"width":30,"x":0,"y":432,"pixelRatio":2,"sdf":false},"restaurant-noodle":{"height":30,"width":30,"x":36,"y":432,"pixelRatio":2,"sdf":false},"restaurant-pizza":{"height":30,"width":30,"x":72,"y":432,"pixelRatio":2,"sdf":false},"restaurant-seafood":{"height":30,"width":30,"x":108,"y":432,"pixelRatio":2,"sdf":false},"restaurant-sushi":{"height":30,"width":30,"x":144,"y":432,"pixelRatio":2,"sdf":false},"restaurant":{"height":30,"width":30,"x":180,"y":432,"pixelRatio":2,"sdf":false},"road-accident":{"height":30,"width":30,"x":216,"y":432,"pixelRatio":2,"sdf":false},"roadblock":{"height":30,"width":30,"x":252,"y":432,"pixelRatio":2,"sdf":false},"rocket":{"height":30,"width":30,"x":288,"y":432,"pixelRatio":2,"sdf":false},"school-JP":{"height":30,"width":30,"x":324,"y":432,"pixelRatio":2,"sdf":false},"school":{"height":30,"width":30,"x":360,"y":432,"pixelRatio":2,"sdf":false},"scooter":{"height":30,"width":30,"x":396,"y":432,"pixelRatio":2,"sdf":false},"shelter":{"height":30,"width":30,"x":432,"y":432,"pixelRatio":2,"sdf":false},"shoe":{"height":30,"width":30,"x":468,"y":0,"pixelRatio":2,"sdf":false},"shop":{"height":30,"width":30,"x":468,"y":36,"pixelRatio":2,"sdf":false},"skateboard":{"height":30,"width":30,"x":468,"y":72,"pixelRatio":2,"sdf":false},"skiing":{"height":30,"width":30,"x":468,"y":108,"pixelRatio":2,"sdf":false},"slaughterhouse":{"height":30,"width":30,"x":468,"y":144,"pixelRatio":2,"sdf":false},"slipway":{"height":30,"width":30,"x":468,"y":180,"pixelRatio":2,"sdf":false},"snowmobile":{"height":30,"width":30,"x":468,"y":216,"pixelRatio":2,"sdf":false},"soccer":{"height":30,"width":30,"x":468,"y":252,"pixelRatio":2,"sdf":false},"square-stroked":{"height":30,"width":30,"x":468,"y":288,"pixelRatio":2,"sdf":false},"square":{"height":30,"width":30,"x":468,"y":324,"pixelRatio":2,"sdf":false},"stadium":{"height":30,"width":30,"x":468,"y":360,"pixelRatio":2,"sdf":false},"star-stroked":{"height":30,"width":30,"x":468,"y":396,"pixelRatio":2,"sdf":false},"star":{"height":30,"width":30,"x":468,"y":432,"pixelRatio":2,"sdf":false},"suitcase":{"height":30,"width":30,"x":0,"y":468,"pixelRatio":2,"sdf":false},"swimming":{"height":30,"width":30,"x":36,"y":468,"pixelRatio":2,"sdf":false},"table-tennis":{"height":30,"width":30,"x":72,"y":468,"pixelRatio":2,"sdf":false},"teahouse":{"height":30,"width":30,"x":108,"y":468,"pixelRatio":2,"sdf":false},"telephone":{"height":30,"width":30,"x":144,"y":468,"pixelRatio":2,"sdf":false},"tennis":{"height":30,"width":30,"x":180,"y":468,"pixelRatio":2,"sdf":false},"theatre":{"height":30,"width":30,"x":216,"y":468,"pixelRatio":2,"sdf":false},"toilet":{"height":30,"width":30,"x":252,"y":468,"pixelRatio":2,"sdf":false},"toll":{"height":30,"width":30,"x":288,"y":468,"pixelRatio":2,"sdf":false},"town-hall":{"height":30,"width":30,"x":324,"y":468,"pixelRatio":2,"sdf":false},"town":{"height":30,"width":30,"x":360,"y":468,"pixelRatio":2,"sdf":false},"triangle-stroked":{"height":30,"width":30,"x":396,"y":468,"pixelRatio":2,"sdf":false},"triangle":{"height":30,"width":30,"x":432,"y":468,"pixelRatio":2,"sdf":false},"tunnel":{"height":30,"width":30,"x":468,"y":468,"pixelRatio":2,"sdf":false},"veterinary":{"height":30,"width":30,"x":504,"y":0,"pixelRatio":2,"sdf":false},"viewpoint":{"height":30,"width":30,"x":504,"y":36,"pixelRatio":2,"sdf":false},"village":{"height":30,"width":30,"x":504,"y":72,"pixelRatio":2,"sdf":false},"volcano":{"height":30,"width":30,"x":504,"y":108,"pixelRatio":2,"sdf":false},"volleyball":{"height":30,"width":30,"x":504,"y":144,"pixelRatio":2,"sdf":false},"warehouse":{"height":30,"width":30,"x":504,"y":180,"pixelRatio":2,"sdf":false},"waste-basket":{"height":30,"width":30,"x":504,"y":216,"pixelRatio":2,"sdf":false},"watch":{"height":30,"width":30,"x":504,"y":252,"pixelRatio":2,"sdf":false},"water":{"height":30,"width":30,"x":504,"y":288,"pixelRatio":2,"sdf":false},"waterfall":{"height":30,"width":30,"x":504,"y":324,"pixelRatio":2,"sdf":false},"watermill":{"height":30,"width":30,"x":504,"y":360,"pixelRatio":2,"sdf":false},"wetland":{"height":30,"width":30,"x":504,"y":396,"pixelRatio":2,"sdf":false},"wheelchair":{"height":30,"width":30,"x":504,"y":432,"pixelRatio":2,"sdf":false},"windmill":{"height":30,"width":30,"x":504,"y":468,"pixelRatio":2,"sdf":false},"zoo":{"height":30,"width":30,"x":0,"y":504,"pixelRatio":2,"sdf":false}} \ No newline at end of file diff --git a/tests/fixtures/test5@2x.png b/tests/fixtures/test5@2x.png index 42953dfceb14cdb21d943acb8a8b4148e3c67005..f682609e4c1518204c8e5bef646902e4f6ce4cf6 100644 GIT binary patch literal 57046 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

;V#c2J z_-pLah0c$^R-blr3ez1ODy!mKan~YF?D;7QVBEtyh2>>wl~G=&+EvF6?C8~+NEKJ) zSJL`Xtwd~0j^j@3csA>4DdGo}LB+vRi#TJ~D`}HlVR7on<2IAHjpX6XP#(p%4jjOQQ%v-$V`7T2 z`JYl#vrxjl1Mcr%NU?anU2hW2hiiz|JeZGHecv<<;+=D&>F%iB{?f9Y(L>t3BdX)# z-y0wtKbw3^A|NAFbJUSDYa84$MvD2*Hk_L|diGxURx36ZG}bNs*hbDO7is!dP?T=K zXPc>R5lyM2(9mjC72OBPYS{T~4i#IyXnM)p>R%2B*9@+&M zQjp=Q(phiWKVB-xQE2ER(@}727uc#soT!ajQ(SCSlF0ci-i`nF3U`cAmp^IMI57&U zc2@uBXA5gVcQ?N<8!=oQeDLNxew68Lllom(H|^3TrEVluGRRGic0cDfNPz77^XBys z()M~bL5*-T9mn}gv?hwk&L!0MTz9~w^o}pMi1Pv-Ex_6|wE^A#^iK4f#p($X!Q$il z_!)~Zcg+Ld)?tz;+Q3OR_E`uW(iDFEim!N|s;+`@&wnPM9QrHqEQQEk_dJ01@@uq1 zD!w3I5Z@e`AC}y3JL53Kny&M5VW15-o`$yg{AcjaLWNyC?>uzq+7IW<8|%wa7aqz( zP0uRK$w`u)^(TGcniE-|=Gah$j+sARY)5sc9LEXEv3Kfz;DRu|7zorJ-z3U>M@jd@~f_F zF{&$)#=;nHr|3&8%c26+KBSHP_Moubr||sAU|_*a#9P3Fe{oZfHQxSd-5z(;Z8Ats+c;N6`ySN zc}DEqFjHIbb3<95qT-5^5y7MQ^7MTk@f>5!8Evw_(=4(YznFz-A$~x4`TH`m#oN12 zMc#UjnA>b%Vb4semK;>1XCKIb>b&S!bu zL4IzbWxLA7?ia(o;zq^p@htX+$FHt&^RCIkJx1Xevy*$N3?!$*hRKbL-G0se44xdJ zm33ns+>+ZqW1IX9zr*`7qo7;F8@yvOKq(c8caKfYasP~@tsTG$hX&Y6JT{Qe5DOMD2lkC!h^nv=#c5YEXrmWQs%0G56r|k33kL!Z?&@xBJJO9 zUslPQpDs)j7MKh{?BYL%8mRjL5H)NEEQfPCpr&+ZtTBK3h5>oeQx~zYw90CN7k63C zuc0lWww>ybXC4lnjmUN=&T~L58hK4$H}F@vLn_WvZpZY@NNW!&`D#%vN-I+hJ3Ru} zfkoo)`6PBvG9BhBLM|q5@X%m#T><)>MYIO!{_8(c1l-ejXT7($A;Wqz9r>%Y8N*6a z<04~?GnXZ~Nh z2p4w^r+|=#9plSQol-)Z{Ap_T(%xt0b_3KZE`g6Z*otbvunXu!qHwu7oKl6fE6;N~ z%a4`an5+Z0UD-H zG#oWAe_(D--x$fAwSkq&`h&T77lKneAf|dII6{tuuFbhEclB5@>3&2M_?bpl1Wf&- zl~ygZsSTbLgQvcFB6fUB{w;+13 z*2ZK;r+Qm=Wj}zaCNmM+!Kr`>nVhx$bMy~6flt_$frRxMLIkst)?a>4w7#bY9s*c9 z;|dKw+ejIW*~cG2jH7a>S6Q8%H=D4vjiqh_1r>l|pD-Wd)DvPVsmI;cJ)Fjhmo?XR z>T=9i_1mQ6{34=7LWpMR*y1Tz2v_mgd5oX%C?Jw&&prmT(c}GG{VFL)`da~EAk4_2 zCpqHZ(8#PkGVJ^Zh1PeFaeoDSSA4;Tb4CDzx8ne{yRNOMI}j45WZXu3?1(h6jkiP^g!LxHmK!Vk=oBCdZ(0@Du}#wHAac%e^$19t3YFD_$Y1ai5F(($NA9pb^=na* zge+TBXfBbUfu^sRet86K^+eU*G!oSCebD}X$-xPyLW6T-ns6qfT7v;CWHM&E4f3Qd zYWMzB#acVS*!H0Fjs#r>rGl|@0lhe{r_FF|Iwgd*$Vl@&|6(2gcDBww=i9I zosUhvfHqRRDns!U>Jp?NFppI&-1g4F+UlvBZT4heMV6Lytbwnvl^GPN=g_9hb!J$!UD4i9@jTq6yuv_*v6Ij$^DQpG+r9p`q9z!e>4C z?1sQ={YgfDCkST-3uI$vmo~NiQ#Wp z)o(T%sehA)_Iq%s9(|4keXVNc#404yc5B_`+yWNE2Tv9BTsv)auEw$GYNv*`+11yX z6D7YnM0M(9^LzN&rR7m))k#jl%z}TN%jk3B5N(t34DPJa2rK0T;oM>AGZq?LW#uvy zhJp_N$lq$IA#{GBQjk~0ouS1hN8EZ--R@|1IaP8wmno|ZZGR+HFBP8RSiXt*OOIn5 zN&n@V6oxaSEq@z-|7e_8qvKq!?==!uAFdC9GIOAbN~$g(awz&d{7YBBo-xU#DfD2G z>Y$!@_O?u#m_U`kR((&@sCrb=#RhYo!#?4h|OI-LRm1L1X0njXxOknBWXypEKlwHB$xGRm5>P{S>1eB z9(KEy9b<1CrI%-(kjc?Lx|DXzh-OY(-+ZO9LjQ;AP$0NSM=NvM+h4^mh)A~NLL>s( z!-8Y1EMNM|ad0n!s;6bZ$B%5XqiWpG*~5z5v2IF*`&abqy0l)K=$rFZkTG(_Q_cA^ zKG%vuVXl1v&rHx8nS4{L)%Y=A(xTJNJIgQ24}>*zAL#0>dcQ<#4j05L;5C;Yi>jlL zvzcZ&A@X}@FKGhU#S7kK{W$+zUaWDVQiMhw>PJf6rXzqkxMWp*zUCu3@?<|_9-E8R zY8nar;G?umBEl8V^^x>N^|@J||@W4{GO;SNx2LL<^`iZa># zbei41qH1yo*1IMcj|K_PzSBzmSjL91OyY)2QO}k6yS)q{K8GC^+-$zO{pQB4+2C?E zkF&TKq;!lMqx}bx;)PeSCPsW~(Ng1?-+2mx-OVF{b-V4CWC60B&k*9KR3lHkAdL{| zMgC{sTe^)BR5L6&;{@OMM^!^YvVxGzljomLt(u~_784&ME-aeQ&_LBM?bqZu)iNY? zDA;ro2q|&!|3tIVb`=02rT;4u8ylzJJTgZX)3IjOfDNa6Lk4MELPd*M^EA$LVNT7< zhCM4n{7?BNMx2*u5V){uDOXHk#dYvn8ZJ20!BqRwVh$pxP@l}_XM9Ig)919JB;slMR($B)5=1PAnnyJO*RRE)_S zzo*j+2vVhXHj=h&#k?Ex?kiJx4*(y?lc)-9)s%rfrI;oCkn;k57dVMC&CRJ>XveIg zu6_=;)6B*B^g&g6sdb_#w_aGuRv`jeCZd)n5h0#KAQJ6QbLvhA`60%m>|))PP+#=Jb5axX z3u6!Vq$|NX-A=-<-^K+VvrCqd?wL3(a5Z=(>-M+Gkqdg~K~JAGutxv82Lb#X%d?eV zK&%)MF^GdiEN9F7WE5&f(Kwgx!uW3nf4jE*yIzTxhCI>+VkF39y0tf1g$Ge73dGSk zAo|Ymub>4k$=IjHQ>6Rvy;r{w;38vayeQbBV1jASng*ZJr$vJe?GDTxz$FIA~wO@YhLz#n08@z zHMv`*eWH0Yx%!asq+P{a!O!Zp1(zB9NlsRY*>4^pjw}|rs%=etmD5?*_QD8Fsg%M- zx2uJ-KO&*GV7LSbpi}QEZbQQ?gS>Xe(qMp83k@ylZMN-&fO+ zw~7kkC!iX%kT!(|7^ z`gRF*v5V~&L}^J_LYw)S@_1|0gt5g?=P_gd@rHBz_wKhkWbKkM3fV($huTgM@`$AP z*27=xe!Q6HpOcQ$Pru!(Vrq|6YFxd4j#X$5dT!Vo z&F~)Iup#TOULKPO%)JnFw5)M;O|V$x^o+c<$%nbi^g=*hbdX_SDY?+ynTaHm zsy2}U%AD>uS=H^Bi?p$^%(|;oPRH_$Kqb!GCml43w$<9rz6&Li6Q_Z9ySP#FExP5` z#-P!x?JvTD8g@qfWQ;8rny;~upg8aK58nekZOlIHqGhH^8CF+d zRU){0iEc_OH^fVu)74IpejL?-%X&I3R$j9f$@#b6!&?HzDsz@KcsYZXv6es{J@FZD zb?#8atKw8D!r&Gw@5X=I_i)kdy==X|g5Pm`j0`Fz1;T|Z%2TTVLW0rgT219cj>km{ z%cZfP>!*c^$q9S*$JF|*hzJe>f{>T7=$pGIon*iM^YC2`csAr>^2~!Bm7qoi;T*3I(V-H2n%j-lHH2Hi3It2Hxva@0}qdm ztVzN!(?|CY(a(|v$=d6#{29&Uwx1}=b^=4U{l40Ctk65pIW)V6#&N*dmB2yYL zWYBrbK%HV0=Qp)~9eER0vL%lfa5S}5a4FchEkb7y>KE@d0`m1xs(9Edu1U40u%L#)o~wU^elgy?vGU z;TZkzRwarpwd8nvjUwDV*dtM(3?WQt3_)ty9GbuH4NEnr4N z?2B{H^o_sUSuwt#q>Rszz2Rjm?bb^YPETWj2|q(uVs3XFo_B@c42I|TK@MXq9WxbA ze1P_+hq1)prOy80DP^fwBHN80G2tRRv54|9KXnp>PKC`h)zN&WTxB<~|Jm>eGl`87 zQ2HBJ+akS0jquXm?;=b3W3w|@IuBc%a+2P=Doe9tM#h-uBUR3b$j7s}y6L2G{emMD z@%a~J6eq8OD_7IVZp#4Y5qyghxz(`e1=4DFPwFT10LoG3P- z_~_b~OmpLHPWTtTsN}2@51*49jy{+bWnDb?r=4vxhGQsDHQ`%K6YUqO^;-J@7=KUS zAfg8JSMCKO(_9Cl%WBp)laV?dqb~j=uvHs-*On6% z+s7Wzs51niGDowIHC_6f3g{59WX$>DIlnuKTap}ZryDi|y%->qeSP6X?D;2Ff{bU} z(8wL|1T*o4Q#}7EoFZLXz9i?RK?CNHRI#m+sh3Xm5XkuSlMzaCFpsj(c8tb1x5Xb4 zWY-Lt^|R8}+-p(sO2cX*Gn4<+(wz(=3Ll{5@YK>xPojwL-ouEcmII!!_If%#JJWH8 zqT5@ScB4&?iuc#D9zDy6_#&8M8Ek%4SwaKeXj9WuP%7k}TQI{QNMSF)tOMB~SLM_* zH@dmt@kQBEaNiA{u4@H#@y=lEx3gi(g-J4wJ9V8xxKeDn_@a9Xxc}|5NY7fYPZzy2 zw(fPkLlS@&K3ohPMx*G=Rjlz!sGa-$zDCoAK(apqUletsP=B&p|DfRDF0;2@5?m*{ zdIg6*i%4pL0qbYt{YF#kNmtUOKCbmY&Z?C-MnRttFZ&j`By0oyjP?H$6Q`&6HL7eg znKsva>L}biBRv0K#Yp8zZdy?inmv)7^N$Ze>PDd-e;lUIBK~J`6X8*8pCl==k%ET2 zMcfh!X?ZmF4zqA(usm(kYLv}$^aUD5A5B7!syq=bwBOq@RhK24X}ht*<+qpfrV3jDF$?nsL1n2fi~z0^~zt!nR6-LdZe~~1g`66oi3O0-_aAr0Vw8CRjq2Mg zV7gYd35S6MnF{rs`?i=>HybBheusbYJql)ZUR(ab{zHxjTSd=#6}An-Kif+$kiyB* z92;I5d>Q9A%Tw+eu*a~sdB|CTKZbdkoy^2pda~jD%VNJJ#8GD~9OvcWRr~C!lTtD~ z^3SL$V$U$slK!llw7(?tVJbR)Ne_W6vhdUkwXb5?{mZj1Z}e|>^-~o+XNeH3<1x*8 z1lgPr&h?BiI2WIr*r{&MQwort?GM(oo-eNUFIaR(gvAMA^!S(~7SKi3&Fu2oS!7ih z{s7f57P83Ss?&bS?kAytg(6LOA$|E@oV{gG98vr2n-GG#y9Rf6cMtCF?ry=|f(8ig zKFHv13GNJoy9EXb3=-h-{@-)z+>iI%s{S-pdwTWW-POJKUhDUujuN6l515(l;L8RE zWsUnOOV)nf@P*=Y6ENScpU94HM#mlzfPWVTCxRzqqzx^hW9z&Rcku)B=LZ1=Qn4re z2JTK|J`k zoQ#mZU3@VD$*1)9tiF4+V5pNoR#NNsAO}~Ro&Ln+2oaB8BLYdy6+s@df6_%1Uwkzx zEhLlCkLiMzIplbt;97%#_!fAui$SFtm9-<7IPPjj_S{qvm3kq-q_Oy*Vz-H77~A!> z=l1#!bd&`>Q{w&xoBVh+piG*D+Tn3)X>`63Zz&tc`#U)!K~!&UwRdiH7X);#vZG%A zjQS;PKZxqdOFVE1`ZCSr_(kVZ7jvGI?D#OCfOV`j!5$0;tOWhIx%C-^9P$3m9Z2(h zZCY;Z(adO%XLB6%p*BiSI43_p~*^_u~!@-YYc5j>EaEnH2igvHGr8gDcP7_lsKM$KJ1E``=BE86XLiYvMSLbKz<9`9i694nEVZ@ zhy$VPU=T(;4%fwm5;pjgwvrwDf%Qg;A`93Y3n6UxJ!7_DrR7~!j_G|um029Va`c7U zHH;6oMaHu`Yk$688`;L+PY>7@mxavx-+6Q%wG@@C%{dt&?zZ&T$Q+<)3zA zj>XH0$!8HVP1-s$MitFg8lp4IP_5R5`!h-#4gI7AX4#ze$~A;@M?l1JekQUxx^#Wx z0`B~=kvKWQeQ@HgSq(*t8ho~nzTJ4rPN3^=9fh)VYtg@U3>EvXa5C3Mqz&y?T;C0R zGa?LkUef(4Yx(v@=#IM8Vw%_W$>&n zxhX4L6@TJOjL!vaa;T}(1^NnJRVc=BUE<>eZ@VYPu#Pu9&&T5(vI~Rby`w`bM1mv{ z1p8}J1kv$femmCI&#MTC8Equ-lUI*Q1Sl0|+kZgP5zrrKpXx83O=-Cw@(-#xK#KXH zhNBcXl1}8js0OQh-3eH2F>T`U^92`xWe5|+ipqyCuv9c4;WW^dA92ifZKx|3BU*20 zpOecR%JmELNZO4*OZaEA%p+g8$TX09$70lt$-u@Hvkd8jz`}Io&O$=0>er z88p@CoR^=shI`+VJSJYF*&pYJ6`!(Pw?R9o$DXn5pi_;s4s9_{z#cw>Gq+TGNZdAc zzX;v=ha0JAkR^aAs{jZFjoj@07zG}4u*eSMe!SpVh77CXu5v{UzZL1tSKs zT|dH({7YqiPZbRfA38*=?4RLyLTs@&a&i#8_(OI!=U|lw-_Yk#4EyNsD=y=!Dlbi{ z;;uaO*k)6je-66caj3{Z-6>I~FkY8#Eu(y*a`b%F2zDm9=X6N1xxU`(1J#$}cYSeJ z57B0W8utiZStAJ&+_%shvH1B*%Gh|jQHevZ^4X=}&LS8?`ki--v2y#gfan0EiVmpSm!*y?1k#j)SwUW%BxH zaf7uvNYsSOHnw?JZ(#9Z&MJ|>0l%qk7w-2>(a|C+wAbz*8sN$=f z2OuZ_&EI5QC^1U(&>exT!3!%}U%K_<=xs-_$;_uR{?#2ohm%UAQ5I$h)d4IaKXYuq z>_!zbOrwAi0wNpr$Bl6MLdg+P8s=Zxky{c{=YY>o=F`zLW_r+C$9@M4)U?{4|-8^RPN}?edf@Ck?|cleN7kM0rh< z+7-vKJT{<@*pa51FP+8{G=SORwmy=eQi+rfkP(B*p+U8!Isxe`ERjXJ?ib{iz5~D2 z;3pM%+7nf{>4upcqI7uUriWzyOVp`jU~HG8nP}#RWmWP>cgh&y}V^h^2vLj{U^?YQ9elw+h9aKTv;aLQQmpEV?p?R3H5_UyJ>ZmpsZ^O`l5pqpA(SeY|HgvuJM7u zL4Fdm#M-0yEO(;7QfxfTRjK%N?i?x+wS8$eptT;d*mP302Ye7KX zerTuJkU{HNFRw+05$x{C#7$Dz%8b-KpJMTx)LI@0N0gG9qm%O0K(u^W3|lgm)$I>V zeT%TpwxB3_LWk*4xhMl2>_%PAM|tap+U7R`^PHT!WK4sU+5rx@b&gULnBlVATX>1X z8c1;7jPK!WGMn-;2Z=gsMl}zRnAZ@E%D0)bYNJYn zEVrB2a&X_ay{`-<4_vo!^q*YRNUc5pc0*#wfuDV#$w6$Y{9%Q`UDtJFpJ>D1mwo^8 zDVIf_o7Zxn1}i;oN#?5_ecFI|joh(B$`_0E_?XnQAYC8tAoH5!T|vpTu#_MqSN&>) zYVYweSWO}nTZ8n#TkFI!wp|z0=TDXlSpJz)0q}sY$bhK*>w-re;upQ*q*&_c9Os zuan5*?gjYuv@ZOy`xlWk7nNhUzu1IHK7=ur&TNV3OnW~zqVTOrXqPNGWxr)=b*2`Q zvtO+hG%^)p9-lx4zs5Xi&DDZ%Yat&X0j834Xyi+tc?qwXN;|RBnG048xC%3YuH9LX zTXYe%V?n!)zj}Cl{41V5WeVZw34?B0+mb&bd+dU9S@Kz)AJ(sql!vgYGU~sce=Q*A zz!#G?Qj--<=d;g`0NB<9$Rbs%jwZ0Xmwhc|&AJLAUqMV1;t-Iax3OkFH>{A%CD*as z5MbhD@iau}loR-jM)-UnAM<4VIaw4zz0e28Do}eTb)8{?iza&jGmokKw-FOkXXbAo z))(U)zmYxFka$ZGIV)8}P6QvKP%hA>itKteJ3Xng04))by z;7NY+DX)vc_^4HHrF{64$ei;2y|3Kz|GBE=L(MY>oZ|j*a`sp8NB1KS(!}N0|6=LV ziUf}GUj6vLL+7r8XsW4JlXrbRC(G%L&i{}G5#>##$czYJwo1-e7#T~Dv4{J1 zP1w+e&5d{_=t$BM~ZP}TgS|B0qnU;1}5|08F z_?)CW>e)HjTxCAEuj9TESpl2!iP7XwqfOV*?jF(j(m#>8&&iNdt_PFC*+;TNYlJWU zhQwn#IU7?59b!SMiU&w0rg0G3hTpTEgc-v!>%OWWyx_x^zREekrx}IiLN@oMuTMd< z5&nGs60L`NR7AO_g2MXBJpW!9;+_+cg#o6U;n2;fs1c+$3Iw8O35wW5vZ=gV`@%v5 z^L;aitVi=~4in*om{>dX7*G9k_d@;@9^Fz(Jz86L6`qRh_NW?0o>KLi*M>Z9KX!0U z6wLT!+&y}`!rc3&K7PMPhiD_LCw73VhPmNjZRP{ZL*8c;QW~R{TrS)^LLjSA6k2){ z2epTib@Tr7`K?IpWOv-sD|7xS5xiO8x=*N$;S-KEPRQ9-wQ;pbkmBFW(7m^8nkrqy zZ?1#Uwm3(%ov5z9KVXw$DD55`Jb*F7v8;YgJ6VahtusRoMYXN7Gv#5n+)qAAiL$P; zfi5l&M)+tqIUvu#hLcsH-x?l>Bo3cvYx}L^>;$N~bm~U7hu`#Ti(8Z{df%ow<|ej< zNbgB`MQt#7E$Gs4h)@@yeL-xJ{Pm0s3%zQQ_=C3({V6Lh(YrwnT=>CPIqIvSU-s|2 zXB2ZvjR;^OOpKAS6GUyN!p!^>BA{V~gPtX*=zAhbYn*$)P*s90#zD(dEuAq>nNf(8 z264Fp<%x4JAG-VI?41w&w$$4n4AxF*Lk;vS)Eu5h=06z zlO+X}cW0>_ zzsUS9UoInh?lOAEsl=Ypqy&l*7?M5>b$*Ii)nj$@gL`L8s7bfFho9dGi*d_a3#TgC z-}qnTly-x*!p7dd7*zkt#9sX|Nj=(Dc4g##Ee}YW^gQ&)4`qo&!{cojwhhG&+~#68 z%S)841qyonPbWB7Bx#)?irSRCc`Jd_G$+%Px_2$63N=pjWSmr@H#|e|XBS!lY_zSY zr~G&;twHK}mhdP{gm5`ONl_vzY!mC7KGiiClka3qy-sgB&Gr?n<2G3HCeC^Imvv<6 zDcyJVUYuecM+Y?2*~~xn(6o}#X&FKJCuZ^Rq!ys4!H=a&q3#?(e_5&l|4HjA8i~Mb zB9WR(=Es5pXKq(a%_Rrcj{tu^JCto<$yV@s9mipuJ=tr%Jct=Nv*WZC6Q_Dmq%Y;P zGO!+&D~k@lD`>ygkS~1JvgUoaUL4%Kj{!#klef1i&Q8IPy>dgccWB@ZpL0SK1!x;K zFB#gD^j))Mx8!s#Dv5W^QN03ch~I3X(4Gco|BP2@#No%EDd@)heIBSDB;F_j?j2nES{&C(3{o(hIb%+`GcOL zIQ+BiiET^7xzxXOPjbFX;JQu*X4FK=iua1T3u#!^u0n5(h&ZtcwhcOF7RNtFlUOD`n(q`ayJ;M`mZj1JKRmIWqrwmopn!BC&6Q}w@+_oT3G z!tQY#*h^cwF2$1+7#UD6;*Boq^8w{Tk1|d590@WV{l88enC?gcYNpLra40UVhZ(QR z5+#qSH`$)e!{PNnAiYJNX6+8Cuu6(1p~M>s^!;!&z0Q(m8JzLKd+BcR&x@Z_gz>-( zX0(oHQAvt~y(;bJr$^Q}t&!@)4DcM8cc{S1x0w~PPZX|UTFwa%C42H^%*AO`n*CoG z&L%~wD|SlZr0mk?Pps@DJjSN%rKGpV4eo=!00V->Tn#{9t(~Zf_s!Hz9WrwtS=N8%`yNjJN2w4e@~4L({W!)pJjiM z33lGrSOZgVE4G8|QJorFlQxA>DK-1ly#Ld!J;Xz@ip5gShes2H!!IFFWp8wOaLvNh z?)`7?=!LBNgAkqKPw5FvyZ9_`?U`R8iJ8Es0XvN;=w`+HudtBN z|GAB~T7~LNEYjsflWn=wcCrx1ud13mcSJ+2q@R&QIK!%Mfx}k3MEBUPLYFV5alH*c z)2e9iqa2k2!B0I#`|`h@QhfPEBbOqAs@uu=yxF{X$SukSq%!+?2EeUdCO^!~UdJ`)=( z;2%`D2*HY4nLU=${L=(H~s?t*7stE)T(S}LscW6rgIVk;Vg(*vj!jSJ83 zJib4*msPPXcW1lyM96SEldI8Jv(pgYviNGg z#c@x#G=<9j^rawX3{=T|3e=Y5(fom%HY#{esM3P)#c(KRS(l=kSk0mz;?Hz#bb(mT zazW@=wVxHc?VVTLr2o`*;BRv(II&P4fZYF?nnnqLJpG)wHAJ`3z z(AYS5T_^xze;4{9cU2%s8BK%vn1*V}R`tu`Pr!zF>Gb{v9J?MH&g*Oe)Y-VEwEn_g zh>{oi