diff --git a/Index.html b/Index.html new file mode 100644 index 0000000000..ecad4c3a8b --- /dev/null +++ b/Index.html @@ -0,0 +1,58 @@ + + + + + MetaMask Connect + + + + +

Connect Metamask with your app

+ +

Your wallet address :

+ + + \ No newline at end of file diff --git a/Test_Serv.js b/Test_Serv.js new file mode 100644 index 0000000000..2943d36e2d --- /dev/null +++ b/Test_Serv.js @@ -0,0 +1,22 @@ +// Test Server + +const express = require("express") +const path = require("path"); + +const app = express(); +const port = 3000; + +// Setting path for directory +const static_path = path.join(__dirname, ""); +app.use(express.static(static_path)); +app.use(express.urlencoded({ extended: true })); + +// Handling request +app.post("/wallet", (req) => { + console.log(req.body.address) // This is the user's wallet address +}) + +// Server Setup +app.listen(port, () => { + console.log(`server is running at ${port}`); +}); \ No newline at end of file diff --git a/backend/.env.example b/backend/.env.example deleted file mode 100644 index eb5d486056..0000000000 --- a/backend/.env.example +++ /dev/null @@ -1 +0,0 @@ -NFTPORT_API_KEY= \ No newline at end of file diff --git a/backend/layers/Background Boy/Blue.png b/backend/layers/Background Boy/Blue.png new file mode 100644 index 0000000000..ca5dfb1a23 Binary files /dev/null and b/backend/layers/Background Boy/Blue.png differ diff --git a/backend/layers/Background Boy/Orange.png b/backend/layers/Background Boy/Orange.png new file mode 100644 index 0000000000..d714cb9fe7 Binary files /dev/null and b/backend/layers/Background Boy/Orange.png differ diff --git a/backend/layers/Background Boy/Purple.png b/backend/layers/Background Boy/Purple.png new file mode 100644 index 0000000000..8ff21a0679 Binary files /dev/null and b/backend/layers/Background Boy/Purple.png differ diff --git a/backend/layers/Background Boy/Red.png b/backend/layers/Background Boy/Red.png new file mode 100644 index 0000000000..f5fee8fe40 Binary files /dev/null and b/backend/layers/Background Boy/Red.png differ diff --git a/backend/layers/Background Boy/Teal.png b/backend/layers/Background Boy/Teal.png new file mode 100644 index 0000000000..6a0700486b Binary files /dev/null and b/backend/layers/Background Boy/Teal.png differ diff --git a/backend/layers/Background Caesar/Caesar.png b/backend/layers/Background Caesar/Caesar.png new file mode 100644 index 0000000000..a75d91a479 Binary files /dev/null and b/backend/layers/Background Caesar/Caesar.png differ diff --git a/backend/layers/Background Cyborg/Cyborg.png b/backend/layers/Background Cyborg/Cyborg.png new file mode 100644 index 0000000000..773cb8667a Binary files /dev/null and b/backend/layers/Background Cyborg/Cyborg.png differ diff --git a/backend/layers/Background Girl/Blue.png b/backend/layers/Background Girl/Blue.png new file mode 100644 index 0000000000..ca5dfb1a23 Binary files /dev/null and b/backend/layers/Background Girl/Blue.png differ diff --git a/backend/layers/Background Girl/Orange.png b/backend/layers/Background Girl/Orange.png new file mode 100644 index 0000000000..d714cb9fe7 Binary files /dev/null and b/backend/layers/Background Girl/Orange.png differ diff --git a/backend/layers/Background Girl/Purple.png b/backend/layers/Background Girl/Purple.png new file mode 100644 index 0000000000..8ff21a0679 Binary files /dev/null and b/backend/layers/Background Girl/Purple.png differ diff --git a/backend/layers/Background Girl/Red.png b/backend/layers/Background Girl/Red.png new file mode 100644 index 0000000000..f5fee8fe40 Binary files /dev/null and b/backend/layers/Background Girl/Red.png differ diff --git a/backend/layers/Background Girl/Teal.png b/backend/layers/Background Girl/Teal.png new file mode 100644 index 0000000000..6a0700486b Binary files /dev/null and b/backend/layers/Background Girl/Teal.png differ diff --git a/backend/layers/Background Whale/Ocean Blur.png b/backend/layers/Background Whale/Ocean Blur.png new file mode 100644 index 0000000000..16262b8883 Binary files /dev/null and b/backend/layers/Background Whale/Ocean Blur.png differ diff --git a/backend/layers/Background/Black.png b/backend/layers/Background/Black.png deleted file mode 100644 index c7dc38f3a6..0000000000 Binary files a/backend/layers/Background/Black.png and /dev/null differ diff --git a/backend/layers/Background/Blue.png b/backend/layers/Background/Blue.png deleted file mode 100644 index 20d3ee566e..0000000000 Binary files a/backend/layers/Background/Blue.png and /dev/null differ diff --git a/backend/layers/Background/Orange.png b/backend/layers/Background/Orange.png deleted file mode 100644 index 0c5c437715..0000000000 Binary files a/backend/layers/Background/Orange.png and /dev/null differ diff --git a/backend/layers/Background/Yellow.png b/backend/layers/Background/Yellow.png deleted file mode 100644 index 58a71a30e8..0000000000 Binary files a/backend/layers/Background/Yellow.png and /dev/null differ diff --git a/backend/layers/Base Boy/Base.png b/backend/layers/Base Boy/Base.png new file mode 100644 index 0000000000..db6476c864 Binary files /dev/null and b/backend/layers/Base Boy/Base.png differ diff --git a/backend/layers/Base Caesar/Caesar.png b/backend/layers/Base Caesar/Caesar.png new file mode 100644 index 0000000000..a75d91a479 Binary files /dev/null and b/backend/layers/Base Caesar/Caesar.png differ diff --git a/backend/layers/Base Cyborg/Cyborg.png b/backend/layers/Base Cyborg/Cyborg.png new file mode 100644 index 0000000000..a75d91a479 Binary files /dev/null and b/backend/layers/Base Cyborg/Cyborg.png differ diff --git a/backend/layers/Base Girl/Base Girl.png b/backend/layers/Base Girl/Base Girl.png new file mode 100644 index 0000000000..d7531596f4 Binary files /dev/null and b/backend/layers/Base Girl/Base Girl.png differ diff --git a/backend/layers/Bottom Boy/Bear.png b/backend/layers/Bottom Boy/Bear.png new file mode 100644 index 0000000000..7ef721a661 Binary files /dev/null and b/backend/layers/Bottom Boy/Bear.png differ diff --git a/backend/layers/Bottom Boy/Black Cutoffs.png b/backend/layers/Bottom Boy/Black Cutoffs.png new file mode 100644 index 0000000000..358331f596 Binary files /dev/null and b/backend/layers/Bottom Boy/Black Cutoffs.png differ diff --git a/backend/layers/Bottom Boy/Black Jeans.png b/backend/layers/Bottom Boy/Black Jeans.png new file mode 100644 index 0000000000..0b9160e006 Binary files /dev/null and b/backend/layers/Bottom Boy/Black Jeans.png differ diff --git a/backend/layers/Bottom Boy/Black Shorts.png b/backend/layers/Bottom Boy/Black Shorts.png new file mode 100644 index 0000000000..347694175f Binary files /dev/null and b/backend/layers/Bottom Boy/Black Shorts.png differ diff --git a/backend/layers/Bottom Boy/Blue Dot Shorts.png b/backend/layers/Bottom Boy/Blue Dot Shorts.png new file mode 100644 index 0000000000..b532ce21f2 Binary files /dev/null and b/backend/layers/Bottom Boy/Blue Dot Shorts.png differ diff --git a/backend/layers/Bottom Boy/Blue Puffy Pants.png b/backend/layers/Bottom Boy/Blue Puffy Pants.png new file mode 100644 index 0000000000..05f8050bd5 Binary files /dev/null and b/backend/layers/Bottom Boy/Blue Puffy Pants.png differ diff --git a/backend/layers/Bottom Boy/Blue Trunks.png b/backend/layers/Bottom Boy/Blue Trunks.png new file mode 100644 index 0000000000..9f2eb4c688 Binary files /dev/null and b/backend/layers/Bottom Boy/Blue Trunks.png differ diff --git a/backend/layers/Bottom Boy/Cutoffs.png b/backend/layers/Bottom Boy/Cutoffs.png new file mode 100644 index 0000000000..1dd72e61a0 Binary files /dev/null and b/backend/layers/Bottom Boy/Cutoffs.png differ diff --git a/backend/layers/Bottom Boy/Flamin Jeans.png b/backend/layers/Bottom Boy/Flamin Jeans.png new file mode 100644 index 0000000000..53c0bac0d9 Binary files /dev/null and b/backend/layers/Bottom Boy/Flamin Jeans.png differ diff --git a/backend/layers/Bottom Boy/Gold Metal.png b/backend/layers/Bottom Boy/Gold Metal.png new file mode 100644 index 0000000000..db861b084b Binary files /dev/null and b/backend/layers/Bottom Boy/Gold Metal.png differ diff --git a/backend/layers/Bottom Boy/Grey Sweats.png b/backend/layers/Bottom Boy/Grey Sweats.png new file mode 100644 index 0000000000..a68346c27b Binary files /dev/null and b/backend/layers/Bottom Boy/Grey Sweats.png differ diff --git a/backend/layers/Bottom Boy/Jeans.png b/backend/layers/Bottom Boy/Jeans.png new file mode 100644 index 0000000000..7d972c9c7f Binary files /dev/null and b/backend/layers/Bottom Boy/Jeans.png differ diff --git a/backend/layers/Bottom Boy/Ketchup Stained.png b/backend/layers/Bottom Boy/Ketchup Stained.png new file mode 100644 index 0000000000..a44cfa4e23 Binary files /dev/null and b/backend/layers/Bottom Boy/Ketchup Stained.png differ diff --git a/backend/layers/Bottom Boy/Khaki Shorts.png b/backend/layers/Bottom Boy/Khaki Shorts.png new file mode 100644 index 0000000000..8d053bcd5d Binary files /dev/null and b/backend/layers/Bottom Boy/Khaki Shorts.png differ diff --git a/backend/layers/Bottom Boy/Khaki.png b/backend/layers/Bottom Boy/Khaki.png new file mode 100644 index 0000000000..8d053bcd5d Binary files /dev/null and b/backend/layers/Bottom Boy/Khaki.png differ diff --git a/backend/layers/Bottom Boy/Maroon Sweats.png b/backend/layers/Bottom Boy/Maroon Sweats.png new file mode 100644 index 0000000000..6577184355 Binary files /dev/null and b/backend/layers/Bottom Boy/Maroon Sweats.png differ diff --git a/backend/layers/Bottom Boy/Metal.png b/backend/layers/Bottom Boy/Metal.png new file mode 100644 index 0000000000..4d6a923382 Binary files /dev/null and b/backend/layers/Bottom Boy/Metal.png differ diff --git a/backend/layers/Bottom Boy/Polar Bear.png b/backend/layers/Bottom Boy/Polar Bear.png new file mode 100644 index 0000000000..1b2c4480e4 Binary files /dev/null and b/backend/layers/Bottom Boy/Polar Bear.png differ diff --git a/backend/layers/Bottom Boy/Purple Puffy Pants.png b/backend/layers/Bottom Boy/Purple Puffy Pants.png new file mode 100644 index 0000000000..ec61f572b8 Binary files /dev/null and b/backend/layers/Bottom Boy/Purple Puffy Pants.png differ diff --git a/backend/layers/Bottom Boy/Red Dot Shorts.png b/backend/layers/Bottom Boy/Red Dot Shorts.png new file mode 100644 index 0000000000..a92c91cddc Binary files /dev/null and b/backend/layers/Bottom Boy/Red Dot Shorts.png differ diff --git a/backend/layers/Bottom Boy/Red Metal.png b/backend/layers/Bottom Boy/Red Metal.png new file mode 100644 index 0000000000..7dd82eb1cc Binary files /dev/null and b/backend/layers/Bottom Boy/Red Metal.png differ diff --git a/backend/layers/Bottom Boy/Red Puffy Pants.png b/backend/layers/Bottom Boy/Red Puffy Pants.png new file mode 100644 index 0000000000..93f0ee2fa2 Binary files /dev/null and b/backend/layers/Bottom Boy/Red Puffy Pants.png differ diff --git a/backend/layers/Bottom Boy/Red Trunks.png b/backend/layers/Bottom Boy/Red Trunks.png new file mode 100644 index 0000000000..a63fc200a2 Binary files /dev/null and b/backend/layers/Bottom Boy/Red Trunks.png differ diff --git a/backend/layers/Bottom Boy/Roman.png b/backend/layers/Bottom Boy/Roman.png new file mode 100644 index 0000000000..e3de47efb4 Binary files /dev/null and b/backend/layers/Bottom Boy/Roman.png differ diff --git a/backend/layers/Bottom Boy/Sweats.png b/backend/layers/Bottom Boy/Sweats.png new file mode 100644 index 0000000000..a68346c27b Binary files /dev/null and b/backend/layers/Bottom Boy/Sweats.png differ diff --git a/backend/layers/Bottom Boy/Towel.png b/backend/layers/Bottom Boy/Towel.png new file mode 100644 index 0000000000..840897a286 Binary files /dev/null and b/backend/layers/Bottom Boy/Towel.png differ diff --git a/backend/layers/Bottom Boy/Underwear.png b/backend/layers/Bottom Boy/Underwear.png new file mode 100644 index 0000000000..f31ea51a13 Binary files /dev/null and b/backend/layers/Bottom Boy/Underwear.png differ diff --git a/backend/layers/Bottom Boy/White Shorts.png b/backend/layers/Bottom Boy/White Shorts.png new file mode 100644 index 0000000000..11e53b8c6f Binary files /dev/null and b/backend/layers/Bottom Boy/White Shorts.png differ diff --git a/backend/layers/Bottom Boy/Yellow Trunks.png b/backend/layers/Bottom Boy/Yellow Trunks.png new file mode 100644 index 0000000000..e692b91b68 Binary files /dev/null and b/backend/layers/Bottom Boy/Yellow Trunks.png differ diff --git a/backend/layers/Bottom Boy/Zanarkand.png b/backend/layers/Bottom Boy/Zanarkand.png new file mode 100644 index 0000000000..fe50993460 Binary files /dev/null and b/backend/layers/Bottom Boy/Zanarkand.png differ diff --git a/backend/layers/Bottom Caesar/Caesar Toga.png b/backend/layers/Bottom Caesar/Caesar Toga.png new file mode 100644 index 0000000000..a75d91a479 Binary files /dev/null and b/backend/layers/Bottom Caesar/Caesar Toga.png differ diff --git a/backend/layers/Bottom Cyborg/Cyborg.png b/backend/layers/Bottom Cyborg/Cyborg.png new file mode 100644 index 0000000000..a75d91a479 Binary files /dev/null and b/backend/layers/Bottom Cyborg/Cyborg.png differ diff --git a/backend/layers/Bottom Girl/Bear.png b/backend/layers/Bottom Girl/Bear.png new file mode 100644 index 0000000000..7ef721a661 Binary files /dev/null and b/backend/layers/Bottom Girl/Bear.png differ diff --git a/backend/layers/Bottom Girl/Black Cutoffs.png b/backend/layers/Bottom Girl/Black Cutoffs.png new file mode 100644 index 0000000000..358331f596 Binary files /dev/null and b/backend/layers/Bottom Girl/Black Cutoffs.png differ diff --git a/backend/layers/Bottom Girl/Black Jeans.png b/backend/layers/Bottom Girl/Black Jeans.png new file mode 100644 index 0000000000..dfef0922d7 Binary files /dev/null and b/backend/layers/Bottom Girl/Black Jeans.png differ diff --git a/backend/layers/Bottom Girl/Black Shorts.png b/backend/layers/Bottom Girl/Black Shorts.png new file mode 100644 index 0000000000..347694175f Binary files /dev/null and b/backend/layers/Bottom Girl/Black Shorts.png differ diff --git a/backend/layers/Bottom Girl/Blue Dot Shorts.png b/backend/layers/Bottom Girl/Blue Dot Shorts.png new file mode 100644 index 0000000000..b532ce21f2 Binary files /dev/null and b/backend/layers/Bottom Girl/Blue Dot Shorts.png differ diff --git a/backend/layers/Bottom Girl/Blue Dress.png b/backend/layers/Bottom Girl/Blue Dress.png new file mode 100644 index 0000000000..a1c8f52277 Binary files /dev/null and b/backend/layers/Bottom Girl/Blue Dress.png differ diff --git a/backend/layers/Bottom Girl/Blue Puffy Pants.png b/backend/layers/Bottom Girl/Blue Puffy Pants.png new file mode 100644 index 0000000000..05f8050bd5 Binary files /dev/null and b/backend/layers/Bottom Girl/Blue Puffy Pants.png differ diff --git a/backend/layers/Bottom Girl/Blue Skirt.png b/backend/layers/Bottom Girl/Blue Skirt.png new file mode 100644 index 0000000000..77cb5db655 Binary files /dev/null and b/backend/layers/Bottom Girl/Blue Skirt.png differ diff --git a/backend/layers/Bottom Girl/Blue Trunks.png b/backend/layers/Bottom Girl/Blue Trunks.png new file mode 100644 index 0000000000..9f2eb4c688 Binary files /dev/null and b/backend/layers/Bottom Girl/Blue Trunks.png differ diff --git a/backend/layers/Bottom Girl/Blue and Purple Dress.png b/backend/layers/Bottom Girl/Blue and Purple Dress.png new file mode 100644 index 0000000000..22859700ba Binary files /dev/null and b/backend/layers/Bottom Girl/Blue and Purple Dress.png differ diff --git a/backend/layers/Bottom Girl/Cutoffs.png b/backend/layers/Bottom Girl/Cutoffs.png new file mode 100644 index 0000000000..1dd72e61a0 Binary files /dev/null and b/backend/layers/Bottom Girl/Cutoffs.png differ diff --git a/backend/layers/Bottom Girl/Flamin Jeans.png b/backend/layers/Bottom Girl/Flamin Jeans.png new file mode 100644 index 0000000000..53c0bac0d9 Binary files /dev/null and b/backend/layers/Bottom Girl/Flamin Jeans.png differ diff --git a/backend/layers/Bottom Girl/Gold Metal.png b/backend/layers/Bottom Girl/Gold Metal.png new file mode 100644 index 0000000000..db861b084b Binary files /dev/null and b/backend/layers/Bottom Girl/Gold Metal.png differ diff --git a/backend/layers/Bottom Girl/Grey Sweats.png b/backend/layers/Bottom Girl/Grey Sweats.png new file mode 100644 index 0000000000..a68346c27b Binary files /dev/null and b/backend/layers/Bottom Girl/Grey Sweats.png differ diff --git a/backend/layers/Bottom Girl/Ketchup Stained.png b/backend/layers/Bottom Girl/Ketchup Stained.png new file mode 100644 index 0000000000..a44cfa4e23 Binary files /dev/null and b/backend/layers/Bottom Girl/Ketchup Stained.png differ diff --git a/backend/layers/Bottom Girl/Khaki Shorts.png b/backend/layers/Bottom Girl/Khaki Shorts.png new file mode 100644 index 0000000000..8d053bcd5d Binary files /dev/null and b/backend/layers/Bottom Girl/Khaki Shorts.png differ diff --git a/backend/layers/Bottom Girl/Khaki.png b/backend/layers/Bottom Girl/Khaki.png new file mode 100644 index 0000000000..8d053bcd5d Binary files /dev/null and b/backend/layers/Bottom Girl/Khaki.png differ diff --git a/backend/layers/Bottom Girl/Maroon Sweats.png b/backend/layers/Bottom Girl/Maroon Sweats.png new file mode 100644 index 0000000000..6577184355 Binary files /dev/null and b/backend/layers/Bottom Girl/Maroon Sweats.png differ diff --git a/backend/layers/Bottom Girl/Metal.png b/backend/layers/Bottom Girl/Metal.png new file mode 100644 index 0000000000..4d6a923382 Binary files /dev/null and b/backend/layers/Bottom Girl/Metal.png differ diff --git a/backend/layers/Bottom Girl/Peach Dress.png b/backend/layers/Bottom Girl/Peach Dress.png new file mode 100644 index 0000000000..03fe2af5ee Binary files /dev/null and b/backend/layers/Bottom Girl/Peach Dress.png differ diff --git a/backend/layers/Bottom Girl/Polar Bear.png b/backend/layers/Bottom Girl/Polar Bear.png new file mode 100644 index 0000000000..1b2c4480e4 Binary files /dev/null and b/backend/layers/Bottom Girl/Polar Bear.png differ diff --git a/backend/layers/Bottom Girl/Purple Dress.png b/backend/layers/Bottom Girl/Purple Dress.png new file mode 100644 index 0000000000..897f0f2c0b Binary files /dev/null and b/backend/layers/Bottom Girl/Purple Dress.png differ diff --git a/backend/layers/Bottom Girl/Purple Puffy Pants.png b/backend/layers/Bottom Girl/Purple Puffy Pants.png new file mode 100644 index 0000000000..ec61f572b8 Binary files /dev/null and b/backend/layers/Bottom Girl/Purple Puffy Pants.png differ diff --git a/backend/layers/Bottom Girl/Purple Skirt.png b/backend/layers/Bottom Girl/Purple Skirt.png new file mode 100644 index 0000000000..dbfe1f4cb7 Binary files /dev/null and b/backend/layers/Bottom Girl/Purple Skirt.png differ diff --git a/backend/layers/Bottom Girl/Red Blowing Dress.png b/backend/layers/Bottom Girl/Red Blowing Dress.png new file mode 100644 index 0000000000..2782d67f78 Binary files /dev/null and b/backend/layers/Bottom Girl/Red Blowing Dress.png differ diff --git a/backend/layers/Bottom Girl/Red Dot Shorts.png b/backend/layers/Bottom Girl/Red Dot Shorts.png new file mode 100644 index 0000000000..a92c91cddc Binary files /dev/null and b/backend/layers/Bottom Girl/Red Dot Shorts.png differ diff --git a/backend/layers/Bottom Girl/Red Dress.png b/backend/layers/Bottom Girl/Red Dress.png new file mode 100644 index 0000000000..8b7a9aefec Binary files /dev/null and b/backend/layers/Bottom Girl/Red Dress.png differ diff --git a/backend/layers/Bottom Girl/Red Metal.png b/backend/layers/Bottom Girl/Red Metal.png new file mode 100644 index 0000000000..7dd82eb1cc Binary files /dev/null and b/backend/layers/Bottom Girl/Red Metal.png differ diff --git a/backend/layers/Bottom Girl/Red Puffy Pants.png b/backend/layers/Bottom Girl/Red Puffy Pants.png new file mode 100644 index 0000000000..93f0ee2fa2 Binary files /dev/null and b/backend/layers/Bottom Girl/Red Puffy Pants.png differ diff --git a/backend/layers/Bottom Girl/Red Skirt.png b/backend/layers/Bottom Girl/Red Skirt.png new file mode 100644 index 0000000000..5fa7414941 Binary files /dev/null and b/backend/layers/Bottom Girl/Red Skirt.png differ diff --git a/backend/layers/Bottom Girl/Red Trunks.png b/backend/layers/Bottom Girl/Red Trunks.png new file mode 100644 index 0000000000..a63fc200a2 Binary files /dev/null and b/backend/layers/Bottom Girl/Red Trunks.png differ diff --git a/backend/layers/Bottom Girl/Red and Purple Dress.png b/backend/layers/Bottom Girl/Red and Purple Dress.png new file mode 100644 index 0000000000..80a056ea87 Binary files /dev/null and b/backend/layers/Bottom Girl/Red and Purple Dress.png differ diff --git a/backend/layers/Bottom Girl/Roman.png b/backend/layers/Bottom Girl/Roman.png new file mode 100644 index 0000000000..e3de47efb4 Binary files /dev/null and b/backend/layers/Bottom Girl/Roman.png differ diff --git a/backend/layers/Bottom Girl/Split Black Dress.png b/backend/layers/Bottom Girl/Split Black Dress.png new file mode 100644 index 0000000000..0d6e3800d4 Binary files /dev/null and b/backend/layers/Bottom Girl/Split Black Dress.png differ diff --git a/backend/layers/Bottom Girl/Split Pink Dress.png b/backend/layers/Bottom Girl/Split Pink Dress.png new file mode 100644 index 0000000000..1df961aaf1 Binary files /dev/null and b/backend/layers/Bottom Girl/Split Pink Dress.png differ diff --git a/backend/layers/Bottom Girl/Sweats.png b/backend/layers/Bottom Girl/Sweats.png new file mode 100644 index 0000000000..a68346c27b Binary files /dev/null and b/backend/layers/Bottom Girl/Sweats.png differ diff --git a/backend/layers/Bottom Girl/Taco Dress.png b/backend/layers/Bottom Girl/Taco Dress.png new file mode 100644 index 0000000000..1413f57caa Binary files /dev/null and b/backend/layers/Bottom Girl/Taco Dress.png differ diff --git a/backend/layers/Bottom Girl/Towel.png b/backend/layers/Bottom Girl/Towel.png new file mode 100644 index 0000000000..840897a286 Binary files /dev/null and b/backend/layers/Bottom Girl/Towel.png differ diff --git a/backend/layers/Bottom Girl/White Shorts.png b/backend/layers/Bottom Girl/White Shorts.png new file mode 100644 index 0000000000..11e53b8c6f Binary files /dev/null and b/backend/layers/Bottom Girl/White Shorts.png differ diff --git a/backend/layers/Bottom Girl/Yellow Trunks.png b/backend/layers/Bottom Girl/Yellow Trunks.png new file mode 100644 index 0000000000..e692b91b68 Binary files /dev/null and b/backend/layers/Bottom Girl/Yellow Trunks.png differ diff --git a/backend/layers/Bottom Girl/Zanarkand.png b/backend/layers/Bottom Girl/Zanarkand.png new file mode 100644 index 0000000000..fe50993460 Binary files /dev/null and b/backend/layers/Bottom Girl/Zanarkand.png differ diff --git a/backend/layers/Bottom lid/High High #20.png b/backend/layers/Bottom lid/High High #20.png deleted file mode 100644 index 9aeb645766..0000000000 Binary files a/backend/layers/Bottom lid/High High #20.png and /dev/null differ diff --git a/backend/layers/Bottom lid/Low#40.png b/backend/layers/Bottom lid/Low#40.png deleted file mode 100644 index aac391c251..0000000000 Binary files a/backend/layers/Bottom lid/Low#40.png and /dev/null differ diff --git a/backend/layers/Bottom lid/Middle#40.png b/backend/layers/Bottom lid/Middle#40.png deleted file mode 100644 index ae887bc482..0000000000 Binary files a/backend/layers/Bottom lid/Middle#40.png and /dev/null differ diff --git a/backend/layers/Broom Held Item/Broom.png b/backend/layers/Broom Held Item/Broom.png new file mode 100644 index 0000000000..b6975564ab Binary files /dev/null and b/backend/layers/Broom Held Item/Broom.png differ diff --git a/backend/layers/Eye color/Cyan#1.png b/backend/layers/Eye color/Cyan#1.png deleted file mode 100644 index 3ea45612ea..0000000000 Binary files a/backend/layers/Eye color/Cyan#1.png and /dev/null differ diff --git a/backend/layers/Eye color/Green#1.png b/backend/layers/Eye color/Green#1.png deleted file mode 100644 index 20555e54b0..0000000000 Binary files a/backend/layers/Eye color/Green#1.png and /dev/null differ diff --git a/backend/layers/Eye color/Pink#1.png b/backend/layers/Eye color/Pink#1.png deleted file mode 100644 index 7b6d2bd2cc..0000000000 Binary files a/backend/layers/Eye color/Pink#1.png and /dev/null differ diff --git a/backend/layers/Eye color/Purple#1.png b/backend/layers/Eye color/Purple#1.png deleted file mode 100644 index 65ea574f55..0000000000 Binary files a/backend/layers/Eye color/Purple#1.png and /dev/null differ diff --git a/backend/layers/Eye color/Red#1.png b/backend/layers/Eye color/Red#1.png deleted file mode 100644 index d56e337fe0..0000000000 Binary files a/backend/layers/Eye color/Red#1.png and /dev/null differ diff --git a/backend/layers/Eye color/Yellow#10.png b/backend/layers/Eye color/Yellow#10.png deleted file mode 100644 index e2b62a565c..0000000000 Binary files a/backend/layers/Eye color/Yellow#10.png and /dev/null differ diff --git a/backend/layers/Eyeball/Red#50.png b/backend/layers/Eyeball/Red#50.png deleted file mode 100644 index 4abb0a8d20..0000000000 Binary files a/backend/layers/Eyeball/Red#50.png and /dev/null differ diff --git a/backend/layers/Eyeball/White#50.png b/backend/layers/Eyeball/White#50.png deleted file mode 100644 index 6a89d197d1..0000000000 Binary files a/backend/layers/Eyeball/White#50.png and /dev/null differ diff --git a/backend/layers/Eyebrows Whale/Left Arch.png b/backend/layers/Eyebrows Whale/Left Arch.png new file mode 100644 index 0000000000..0e1d1a416d Binary files /dev/null and b/backend/layers/Eyebrows Whale/Left Arch.png differ diff --git a/backend/layers/Eyes Boy/Anime.png b/backend/layers/Eyes Boy/Anime.png new file mode 100644 index 0000000000..cf087fb8ba Binary files /dev/null and b/backend/layers/Eyes Boy/Anime.png differ diff --git a/backend/layers/Eyes Boy/Bandit.png b/backend/layers/Eyes Boy/Bandit.png new file mode 100644 index 0000000000..4234bff093 Binary files /dev/null and b/backend/layers/Eyes Boy/Bandit.png differ diff --git a/backend/layers/Eyes Boy/Black Bug Eyes.png b/backend/layers/Eyes Boy/Black Bug Eyes.png new file mode 100644 index 0000000000..5538584f60 Binary files /dev/null and b/backend/layers/Eyes Boy/Black Bug Eyes.png differ diff --git a/backend/layers/Eyes Boy/Black Crosseyed.png b/backend/layers/Eyes Boy/Black Crosseyed.png new file mode 100644 index 0000000000..2f06299118 Binary files /dev/null and b/backend/layers/Eyes Boy/Black Crosseyed.png differ diff --git a/backend/layers/Eyes Boy/Black Glazed.png b/backend/layers/Eyes Boy/Black Glazed.png new file mode 100644 index 0000000000..220d4bc0b3 Binary files /dev/null and b/backend/layers/Eyes Boy/Black Glazed.png differ diff --git a/backend/layers/Eyes Boy/Black Gouged.png b/backend/layers/Eyes Boy/Black Gouged.png new file mode 100644 index 0000000000..8af4f630db Binary files /dev/null and b/backend/layers/Eyes Boy/Black Gouged.png differ diff --git a/backend/layers/Eyes Boy/Blindfold.png b/backend/layers/Eyes Boy/Blindfold.png new file mode 100644 index 0000000000..c0290e0ec0 Binary files /dev/null and b/backend/layers/Eyes Boy/Blindfold.png differ diff --git a/backend/layers/Eyes Boy/Blue Fire.png b/backend/layers/Eyes Boy/Blue Fire.png new file mode 100644 index 0000000000..b54e32499d Binary files /dev/null and b/backend/layers/Eyes Boy/Blue Fire.png differ diff --git a/backend/layers/Eyes Boy/Blue Glasses.png b/backend/layers/Eyes Boy/Blue Glasses.png new file mode 100644 index 0000000000..1483eb5632 Binary files /dev/null and b/backend/layers/Eyes Boy/Blue Glasses.png differ diff --git a/backend/layers/Eyes Boy/Blue Lightning.png b/backend/layers/Eyes Boy/Blue Lightning.png new file mode 100644 index 0000000000..2662d6a7f4 Binary files /dev/null and b/backend/layers/Eyes Boy/Blue Lightning.png differ diff --git a/backend/layers/Eyes Boy/Blue Sports Glasses.png b/backend/layers/Eyes Boy/Blue Sports Glasses.png new file mode 100644 index 0000000000..28746ec018 Binary files /dev/null and b/backend/layers/Eyes Boy/Blue Sports Glasses.png differ diff --git a/backend/layers/Eyes Boy/Brown Bug Eyes.png b/backend/layers/Eyes Boy/Brown Bug Eyes.png new file mode 100644 index 0000000000..22c4e3fadb Binary files /dev/null and b/backend/layers/Eyes Boy/Brown Bug Eyes.png differ diff --git a/backend/layers/Eyes Boy/Brown Crosseyed.png b/backend/layers/Eyes Boy/Brown Crosseyed.png new file mode 100644 index 0000000000..cb1a0d3d82 Binary files /dev/null and b/backend/layers/Eyes Boy/Brown Crosseyed.png differ diff --git a/backend/layers/Eyes Boy/Brown Glazed.png b/backend/layers/Eyes Boy/Brown Glazed.png new file mode 100644 index 0000000000..b8b7352e0f Binary files /dev/null and b/backend/layers/Eyes Boy/Brown Glazed.png differ diff --git a/backend/layers/Eyes Boy/Brown Gouged.png b/backend/layers/Eyes Boy/Brown Gouged.png new file mode 100644 index 0000000000..0cee8c3c2b Binary files /dev/null and b/backend/layers/Eyes Boy/Brown Gouged.png differ diff --git a/backend/layers/Eyes Boy/Bushy.png b/backend/layers/Eyes Boy/Bushy.png new file mode 100644 index 0000000000..59ee550a6e Binary files /dev/null and b/backend/layers/Eyes Boy/Bushy.png differ diff --git a/backend/layers/Eyes Boy/Cyclops.png b/backend/layers/Eyes Boy/Cyclops.png new file mode 100644 index 0000000000..b704f97ce8 Binary files /dev/null and b/backend/layers/Eyes Boy/Cyclops.png differ diff --git a/backend/layers/Eyes Boy/Devilish.png b/backend/layers/Eyes Boy/Devilish.png new file mode 100644 index 0000000000..075b13ecb5 Binary files /dev/null and b/backend/layers/Eyes Boy/Devilish.png differ diff --git a/backend/layers/Eyes Boy/Eye Patch.png b/backend/layers/Eyes Boy/Eye Patch.png new file mode 100644 index 0000000000..fbaca0c658 Binary files /dev/null and b/backend/layers/Eyes Boy/Eye Patch.png differ diff --git a/backend/layers/Eyes Boy/Fire.png b/backend/layers/Eyes Boy/Fire.png new file mode 100644 index 0000000000..105223a39d Binary files /dev/null and b/backend/layers/Eyes Boy/Fire.png differ diff --git a/backend/layers/Eyes Boy/Gold Metal.png b/backend/layers/Eyes Boy/Gold Metal.png new file mode 100644 index 0000000000..911092080d Binary files /dev/null and b/backend/layers/Eyes Boy/Gold Metal.png differ diff --git a/backend/layers/Eyes Boy/Grey Glazed.png b/backend/layers/Eyes Boy/Grey Glazed.png new file mode 100644 index 0000000000..933e28520d Binary files /dev/null and b/backend/layers/Eyes Boy/Grey Glazed.png differ diff --git a/backend/layers/Eyes Boy/Lightning.png b/backend/layers/Eyes Boy/Lightning.png new file mode 100644 index 0000000000..7342146124 Binary files /dev/null and b/backend/layers/Eyes Boy/Lightning.png differ diff --git a/backend/layers/Eyes Boy/Matrix.png b/backend/layers/Eyes Boy/Matrix.png new file mode 100644 index 0000000000..c74cf0e270 Binary files /dev/null and b/backend/layers/Eyes Boy/Matrix.png differ diff --git a/backend/layers/Eyes Boy/Rainbow Shades.png b/backend/layers/Eyes Boy/Rainbow Shades.png new file mode 100644 index 0000000000..b6a19f836d Binary files /dev/null and b/backend/layers/Eyes Boy/Rainbow Shades.png differ diff --git a/backend/layers/Eyes Boy/Red Glasses.png b/backend/layers/Eyes Boy/Red Glasses.png new file mode 100644 index 0000000000..9474ecff9d Binary files /dev/null and b/backend/layers/Eyes Boy/Red Glasses.png differ diff --git a/backend/layers/Eyes Boy/Red Metal.png b/backend/layers/Eyes Boy/Red Metal.png new file mode 100644 index 0000000000..5e7b7ec3da Binary files /dev/null and b/backend/layers/Eyes Boy/Red Metal.png differ diff --git a/backend/layers/Eyes Boy/Red Sports Glasses.png b/backend/layers/Eyes Boy/Red Sports Glasses.png new file mode 100644 index 0000000000..a1f3ade7ca Binary files /dev/null and b/backend/layers/Eyes Boy/Red Sports Glasses.png differ diff --git a/backend/layers/Eyes Boy/Regular Black.png b/backend/layers/Eyes Boy/Regular Black.png new file mode 100644 index 0000000000..c57b525b2b Binary files /dev/null and b/backend/layers/Eyes Boy/Regular Black.png differ diff --git a/backend/layers/Eyes Boy/Regular Brown.png b/backend/layers/Eyes Boy/Regular Brown.png new file mode 100644 index 0000000000..99de51b39f Binary files /dev/null and b/backend/layers/Eyes Boy/Regular Brown.png differ diff --git a/backend/layers/Eyes Boy/Regular Grey.png b/backend/layers/Eyes Boy/Regular Grey.png new file mode 100644 index 0000000000..50b364ab3a Binary files /dev/null and b/backend/layers/Eyes Boy/Regular Grey.png differ diff --git a/backend/layers/Eyes Boy/Robot.png b/backend/layers/Eyes Boy/Robot.png new file mode 100644 index 0000000000..c986aa0dff Binary files /dev/null and b/backend/layers/Eyes Boy/Robot.png differ diff --git a/backend/layers/Eyes Boy/Sad Black.png b/backend/layers/Eyes Boy/Sad Black.png new file mode 100644 index 0000000000..76c54871f3 Binary files /dev/null and b/backend/layers/Eyes Boy/Sad Black.png differ diff --git a/backend/layers/Eyes Boy/Sad Brown.png b/backend/layers/Eyes Boy/Sad Brown.png new file mode 100644 index 0000000000..a447d98eb9 Binary files /dev/null and b/backend/layers/Eyes Boy/Sad Brown.png differ diff --git a/backend/layers/Eyes Boy/Sad Grey.png b/backend/layers/Eyes Boy/Sad Grey.png new file mode 100644 index 0000000000..11fe2c29c2 Binary files /dev/null and b/backend/layers/Eyes Boy/Sad Grey.png differ diff --git a/backend/layers/Eyes Boy/White Sports Glasses.png b/backend/layers/Eyes Boy/White Sports Glasses.png new file mode 100644 index 0000000000..99d43893e1 Binary files /dev/null and b/backend/layers/Eyes Boy/White Sports Glasses.png differ diff --git a/backend/layers/Eyes Caesar/Caesar.png b/backend/layers/Eyes Caesar/Caesar.png new file mode 100644 index 0000000000..c453dc5802 Binary files /dev/null and b/backend/layers/Eyes Caesar/Caesar.png differ diff --git a/backend/layers/Eyes Cyborg/Cyborg.png b/backend/layers/Eyes Cyborg/Cyborg.png new file mode 100644 index 0000000000..a75d91a479 Binary files /dev/null and b/backend/layers/Eyes Cyborg/Cyborg.png differ diff --git a/backend/layers/Eyes Girl/Bandit.png b/backend/layers/Eyes Girl/Bandit.png new file mode 100644 index 0000000000..4234bff093 Binary files /dev/null and b/backend/layers/Eyes Girl/Bandit.png differ diff --git a/backend/layers/Eyes Girl/Black Blue Glazed.png b/backend/layers/Eyes Girl/Black Blue Glazed.png new file mode 100644 index 0000000000..c5f2f15064 Binary files /dev/null and b/backend/layers/Eyes Girl/Black Blue Glazed.png differ diff --git a/backend/layers/Eyes Girl/Black Bug Eyes.png b/backend/layers/Eyes Girl/Black Bug Eyes.png new file mode 100644 index 0000000000..18955a51de Binary files /dev/null and b/backend/layers/Eyes Girl/Black Bug Eyes.png differ diff --git a/backend/layers/Eyes Girl/Black Gouged.png b/backend/layers/Eyes Girl/Black Gouged.png new file mode 100644 index 0000000000..dd2553fefb Binary files /dev/null and b/backend/layers/Eyes Girl/Black Gouged.png differ diff --git a/backend/layers/Eyes Girl/Black Purple Glazed.png b/backend/layers/Eyes Girl/Black Purple Glazed.png new file mode 100644 index 0000000000..8583957c4e Binary files /dev/null and b/backend/layers/Eyes Girl/Black Purple Glazed.png differ diff --git a/backend/layers/Eyes Girl/Black Yellow Glazed.png b/backend/layers/Eyes Girl/Black Yellow Glazed.png new file mode 100644 index 0000000000..202ecd98fb Binary files /dev/null and b/backend/layers/Eyes Girl/Black Yellow Glazed.png differ diff --git a/backend/layers/Eyes Girl/Blindfold.png b/backend/layers/Eyes Girl/Blindfold.png new file mode 100644 index 0000000000..c0290e0ec0 Binary files /dev/null and b/backend/layers/Eyes Girl/Blindfold.png differ diff --git a/backend/layers/Eyes Girl/Blue Glasses.png b/backend/layers/Eyes Girl/Blue Glasses.png new file mode 100644 index 0000000000..1483eb5632 Binary files /dev/null and b/backend/layers/Eyes Girl/Blue Glasses.png differ diff --git a/backend/layers/Eyes Girl/Blue Sports Glasses.png b/backend/layers/Eyes Girl/Blue Sports Glasses.png new file mode 100644 index 0000000000..28746ec018 Binary files /dev/null and b/backend/layers/Eyes Girl/Blue Sports Glasses.png differ diff --git a/backend/layers/Eyes Girl/Brown Blue Glazed.png b/backend/layers/Eyes Girl/Brown Blue Glazed.png new file mode 100644 index 0000000000..b58988afc5 Binary files /dev/null and b/backend/layers/Eyes Girl/Brown Blue Glazed.png differ diff --git a/backend/layers/Eyes Girl/Brown Bug Eyes.png b/backend/layers/Eyes Girl/Brown Bug Eyes.png new file mode 100644 index 0000000000..d09178e479 Binary files /dev/null and b/backend/layers/Eyes Girl/Brown Bug Eyes.png differ diff --git a/backend/layers/Eyes Girl/Brown Gouged.png b/backend/layers/Eyes Girl/Brown Gouged.png new file mode 100644 index 0000000000..e34be41a94 Binary files /dev/null and b/backend/layers/Eyes Girl/Brown Gouged.png differ diff --git a/backend/layers/Eyes Girl/Brown Purple Glazed.png b/backend/layers/Eyes Girl/Brown Purple Glazed.png new file mode 100644 index 0000000000..4a9dc9c468 Binary files /dev/null and b/backend/layers/Eyes Girl/Brown Purple Glazed.png differ diff --git a/backend/layers/Eyes Girl/Brown Yellow Glazed.png b/backend/layers/Eyes Girl/Brown Yellow Glazed.png new file mode 100644 index 0000000000..7048305125 Binary files /dev/null and b/backend/layers/Eyes Girl/Brown Yellow Glazed.png differ diff --git a/backend/layers/Eyes Girl/Cyclops.png b/backend/layers/Eyes Girl/Cyclops.png new file mode 100644 index 0000000000..b704f97ce8 Binary files /dev/null and b/backend/layers/Eyes Girl/Cyclops.png differ diff --git a/backend/layers/Eyes Girl/Grey Blue Glazed.png b/backend/layers/Eyes Girl/Grey Blue Glazed.png new file mode 100644 index 0000000000..f48f73e324 Binary files /dev/null and b/backend/layers/Eyes Girl/Grey Blue Glazed.png differ diff --git a/backend/layers/Eyes Girl/Grey Purple Glazed.png b/backend/layers/Eyes Girl/Grey Purple Glazed.png new file mode 100644 index 0000000000..f42b08ec10 Binary files /dev/null and b/backend/layers/Eyes Girl/Grey Purple Glazed.png differ diff --git a/backend/layers/Eyes Girl/Grey Yellow Glazed.png b/backend/layers/Eyes Girl/Grey Yellow Glazed.png new file mode 100644 index 0000000000..ab80125e93 Binary files /dev/null and b/backend/layers/Eyes Girl/Grey Yellow Glazed.png differ diff --git a/backend/layers/Eyes Girl/Matrix.png b/backend/layers/Eyes Girl/Matrix.png new file mode 100644 index 0000000000..c74cf0e270 Binary files /dev/null and b/backend/layers/Eyes Girl/Matrix.png differ diff --git a/backend/layers/Eyes Girl/Rainbow Shades.png b/backend/layers/Eyes Girl/Rainbow Shades.png new file mode 100644 index 0000000000..b6a19f836d Binary files /dev/null and b/backend/layers/Eyes Girl/Rainbow Shades.png differ diff --git a/backend/layers/Eyes Girl/Red Glasses.png b/backend/layers/Eyes Girl/Red Glasses.png new file mode 100644 index 0000000000..619e407aae Binary files /dev/null and b/backend/layers/Eyes Girl/Red Glasses.png differ diff --git a/backend/layers/Eyes Girl/Red Sports Glasses.png b/backend/layers/Eyes Girl/Red Sports Glasses.png new file mode 100644 index 0000000000..a1f3ade7ca Binary files /dev/null and b/backend/layers/Eyes Girl/Red Sports Glasses.png differ diff --git a/backend/layers/Eyes Girl/Regular Black Blue.png b/backend/layers/Eyes Girl/Regular Black Blue.png new file mode 100644 index 0000000000..50295d7f7c Binary files /dev/null and b/backend/layers/Eyes Girl/Regular Black Blue.png differ diff --git a/backend/layers/Eyes Girl/Regular Black Purple.png b/backend/layers/Eyes Girl/Regular Black Purple.png new file mode 100644 index 0000000000..8d7e0bbd8c Binary files /dev/null and b/backend/layers/Eyes Girl/Regular Black Purple.png differ diff --git a/backend/layers/Eyes Girl/Regular Black Yellow.png b/backend/layers/Eyes Girl/Regular Black Yellow.png new file mode 100644 index 0000000000..9ca1b857a8 Binary files /dev/null and b/backend/layers/Eyes Girl/Regular Black Yellow.png differ diff --git a/backend/layers/Eyes Girl/Regular Brown Blue.png b/backend/layers/Eyes Girl/Regular Brown Blue.png new file mode 100644 index 0000000000..8ee9219c1b Binary files /dev/null and b/backend/layers/Eyes Girl/Regular Brown Blue.png differ diff --git a/backend/layers/Eyes Girl/Regular Brown Purple.png b/backend/layers/Eyes Girl/Regular Brown Purple.png new file mode 100644 index 0000000000..451d658a5e Binary files /dev/null and b/backend/layers/Eyes Girl/Regular Brown Purple.png differ diff --git a/backend/layers/Eyes Girl/Regular Brown Yellow.png b/backend/layers/Eyes Girl/Regular Brown Yellow.png new file mode 100644 index 0000000000..7950797f8f Binary files /dev/null and b/backend/layers/Eyes Girl/Regular Brown Yellow.png differ diff --git a/backend/layers/Eyes Girl/Sad Black Blue.png b/backend/layers/Eyes Girl/Sad Black Blue.png new file mode 100644 index 0000000000..0817cc0934 Binary files /dev/null and b/backend/layers/Eyes Girl/Sad Black Blue.png differ diff --git a/backend/layers/Eyes Girl/Sad Black Purple.png b/backend/layers/Eyes Girl/Sad Black Purple.png new file mode 100644 index 0000000000..e36bbe15fc Binary files /dev/null and b/backend/layers/Eyes Girl/Sad Black Purple.png differ diff --git a/backend/layers/Eyes Girl/Sad Black Yellow.png b/backend/layers/Eyes Girl/Sad Black Yellow.png new file mode 100644 index 0000000000..556cbdaa85 Binary files /dev/null and b/backend/layers/Eyes Girl/Sad Black Yellow.png differ diff --git a/backend/layers/Eyes Girl/Sad Brown Blue.png b/backend/layers/Eyes Girl/Sad Brown Blue.png new file mode 100644 index 0000000000..36bbb29fa5 Binary files /dev/null and b/backend/layers/Eyes Girl/Sad Brown Blue.png differ diff --git a/backend/layers/Eyes Girl/Sad Brown Purple.png b/backend/layers/Eyes Girl/Sad Brown Purple.png new file mode 100644 index 0000000000..f4e2eab35d Binary files /dev/null and b/backend/layers/Eyes Girl/Sad Brown Purple.png differ diff --git a/backend/layers/Eyes Girl/Sad Brown Yellow.png b/backend/layers/Eyes Girl/Sad Brown Yellow.png new file mode 100644 index 0000000000..001a693dbc Binary files /dev/null and b/backend/layers/Eyes Girl/Sad Brown Yellow.png differ diff --git a/backend/layers/Eyes Girl/White Sports Glasses.png b/backend/layers/Eyes Girl/White Sports Glasses.png new file mode 100644 index 0000000000..99d43893e1 Binary files /dev/null and b/backend/layers/Eyes Girl/White Sports Glasses.png differ diff --git a/backend/layers/Eyes Whale/Aviators.png b/backend/layers/Eyes Whale/Aviators.png new file mode 100644 index 0000000000..00105ff53e Binary files /dev/null and b/backend/layers/Eyes Whale/Aviators.png differ diff --git a/backend/layers/Feet Boy/Bear.png b/backend/layers/Feet Boy/Bear.png new file mode 100644 index 0000000000..c782e4374c Binary files /dev/null and b/backend/layers/Feet Boy/Bear.png differ diff --git a/backend/layers/Feet Boy/Black Sneakers.png b/backend/layers/Feet Boy/Black Sneakers.png new file mode 100644 index 0000000000..21234df654 Binary files /dev/null and b/backend/layers/Feet Boy/Black Sneakers.png differ diff --git a/backend/layers/Feet Boy/Blue Sneakers.png b/backend/layers/Feet Boy/Blue Sneakers.png new file mode 100644 index 0000000000..4ddee93a72 Binary files /dev/null and b/backend/layers/Feet Boy/Blue Sneakers.png differ diff --git a/backend/layers/Feet Boy/Blue Black Clown.png b/backend/layers/Feet Boy/Blue Black Clown.png new file mode 100644 index 0000000000..7d64387703 Binary files /dev/null and b/backend/layers/Feet Boy/Blue Black Clown.png differ diff --git a/backend/layers/Feet Boy/Blue Sanic.png b/backend/layers/Feet Boy/Blue Sanic.png new file mode 100644 index 0000000000..4836f1df34 Binary files /dev/null and b/backend/layers/Feet Boy/Blue Sanic.png differ diff --git a/backend/layers/Feet Boy/Blue Slippers.png b/backend/layers/Feet Boy/Blue Slippers.png new file mode 100644 index 0000000000..2c636de6cf Binary files /dev/null and b/backend/layers/Feet Boy/Blue Slippers.png differ diff --git a/backend/layers/Feet Boy/Evil Clown.png b/backend/layers/Feet Boy/Evil Clown.png new file mode 100644 index 0000000000..9c2c5780ac Binary files /dev/null and b/backend/layers/Feet Boy/Evil Clown.png differ diff --git a/backend/layers/Feet Boy/Gold Metal.png b/backend/layers/Feet Boy/Gold Metal.png new file mode 100644 index 0000000000..e8e9f77e5f Binary files /dev/null and b/backend/layers/Feet Boy/Gold Metal.png differ diff --git a/backend/layers/Feet Boy/Green Bear.png b/backend/layers/Feet Boy/Green Bear.png new file mode 100644 index 0000000000..42e92b1359 Binary files /dev/null and b/backend/layers/Feet Boy/Green Bear.png differ diff --git a/backend/layers/Feet Boy/Green Clown.png b/backend/layers/Feet Boy/Green Clown.png new file mode 100644 index 0000000000..9187e2b467 Binary files /dev/null and b/backend/layers/Feet Boy/Green Clown.png differ diff --git a/backend/layers/Feet Boy/Green Elf.png b/backend/layers/Feet Boy/Green Elf.png new file mode 100644 index 0000000000..4c39544cd8 Binary files /dev/null and b/backend/layers/Feet Boy/Green Elf.png differ diff --git a/backend/layers/Feet Boy/Green Slippers.png b/backend/layers/Feet Boy/Green Slippers.png new file mode 100644 index 0000000000..3e63892420 Binary files /dev/null and b/backend/layers/Feet Boy/Green Slippers.png differ diff --git a/backend/layers/Feet Boy/Green Sneakers.png b/backend/layers/Feet Boy/Green Sneakers.png new file mode 100644 index 0000000000..d34bbf2307 Binary files /dev/null and b/backend/layers/Feet Boy/Green Sneakers.png differ diff --git a/backend/layers/Feet Boy/Metal.png b/backend/layers/Feet Boy/Metal.png new file mode 100644 index 0000000000..71f77c7bc7 Binary files /dev/null and b/backend/layers/Feet Boy/Metal.png differ diff --git a/backend/layers/Feet Boy/Mummy.png b/backend/layers/Feet Boy/Mummy.png new file mode 100644 index 0000000000..a33788c926 Binary files /dev/null and b/backend/layers/Feet Boy/Mummy.png differ diff --git a/backend/layers/Feet Boy/Orange Sneakers.png b/backend/layers/Feet Boy/Orange Sneakers.png new file mode 100644 index 0000000000..37adec971c Binary files /dev/null and b/backend/layers/Feet Boy/Orange Sneakers.png differ diff --git a/backend/layers/Feet Boy/Pink Fuzzies.png b/backend/layers/Feet Boy/Pink Fuzzies.png new file mode 100644 index 0000000000..12dd6e789c Binary files /dev/null and b/backend/layers/Feet Boy/Pink Fuzzies.png differ diff --git a/backend/layers/Feet Boy/Pink Sneakers.png b/backend/layers/Feet Boy/Pink Sneakers.png new file mode 100644 index 0000000000..b8e2f7b8f1 Binary files /dev/null and b/backend/layers/Feet Boy/Pink Sneakers.png differ diff --git a/backend/layers/Feet Boy/Polar Bear.png b/backend/layers/Feet Boy/Polar Bear.png new file mode 100644 index 0000000000..bfb819c39c Binary files /dev/null and b/backend/layers/Feet Boy/Polar Bear.png differ diff --git a/backend/layers/Feet Boy/Purple Black Clown.png b/backend/layers/Feet Boy/Purple Black Clown.png new file mode 100644 index 0000000000..6a5c10921c Binary files /dev/null and b/backend/layers/Feet Boy/Purple Black Clown.png differ diff --git a/backend/layers/Feet Boy/Purple Clown.png b/backend/layers/Feet Boy/Purple Clown.png new file mode 100644 index 0000000000..acfc106fab Binary files /dev/null and b/backend/layers/Feet Boy/Purple Clown.png differ diff --git a/backend/layers/Feet Boy/Purple Fuzzies.png b/backend/layers/Feet Boy/Purple Fuzzies.png new file mode 100644 index 0000000000..1fe1686c1b Binary files /dev/null and b/backend/layers/Feet Boy/Purple Fuzzies.png differ diff --git a/backend/layers/Feet Boy/Red Bear.png b/backend/layers/Feet Boy/Red Bear.png new file mode 100644 index 0000000000..7fe8cb447b Binary files /dev/null and b/backend/layers/Feet Boy/Red Bear.png differ diff --git a/backend/layers/Feet Boy/Red Elf.png b/backend/layers/Feet Boy/Red Elf.png new file mode 100644 index 0000000000..8d80f80db9 Binary files /dev/null and b/backend/layers/Feet Boy/Red Elf.png differ diff --git a/backend/layers/Feet Boy/Red Metal.png b/backend/layers/Feet Boy/Red Metal.png new file mode 100644 index 0000000000..ef5715010a Binary files /dev/null and b/backend/layers/Feet Boy/Red Metal.png differ diff --git a/backend/layers/Feet Boy/Roman Blue.png b/backend/layers/Feet Boy/Roman Blue.png new file mode 100644 index 0000000000..a1a779b289 Binary files /dev/null and b/backend/layers/Feet Boy/Roman Blue.png differ diff --git a/backend/layers/Feet Boy/Roman Purple.png b/backend/layers/Feet Boy/Roman Purple.png new file mode 100644 index 0000000000..07b850fac1 Binary files /dev/null and b/backend/layers/Feet Boy/Roman Purple.png differ diff --git a/backend/layers/Feet Boy/Roman.png b/backend/layers/Feet Boy/Roman.png new file mode 100644 index 0000000000..becc03531f Binary files /dev/null and b/backend/layers/Feet Boy/Roman.png differ diff --git a/backend/layers/Feet Boy/Sanic.png b/backend/layers/Feet Boy/Sanic.png new file mode 100644 index 0000000000..7d9d0a1d8f Binary files /dev/null and b/backend/layers/Feet Boy/Sanic.png differ diff --git a/backend/layers/Feet Boy/Socks.png b/backend/layers/Feet Boy/Socks.png new file mode 100644 index 0000000000..546192806e Binary files /dev/null and b/backend/layers/Feet Boy/Socks.png differ diff --git a/backend/layers/Feet Caesar/Caesar.png b/backend/layers/Feet Caesar/Caesar.png new file mode 100644 index 0000000000..a75d91a479 Binary files /dev/null and b/backend/layers/Feet Caesar/Caesar.png differ diff --git a/backend/layers/Feet Cyborg/Cyborg.png b/backend/layers/Feet Cyborg/Cyborg.png new file mode 100644 index 0000000000..a75d91a479 Binary files /dev/null and b/backend/layers/Feet Cyborg/Cyborg.png differ diff --git a/backend/layers/Feet Girl/Bear.png b/backend/layers/Feet Girl/Bear.png new file mode 100644 index 0000000000..c782e4374c Binary files /dev/null and b/backend/layers/Feet Girl/Bear.png differ diff --git a/backend/layers/Feet Girl/Black Sneakers.png b/backend/layers/Feet Girl/Black Sneakers.png new file mode 100644 index 0000000000..21234df654 Binary files /dev/null and b/backend/layers/Feet Girl/Black Sneakers.png differ diff --git a/backend/layers/Feet Girl/Blue Sneakers.png b/backend/layers/Feet Girl/Blue Sneakers.png new file mode 100644 index 0000000000..4ddee93a72 Binary files /dev/null and b/backend/layers/Feet Girl/Blue Sneakers.png differ diff --git a/backend/layers/Feet Girl/Blue Black Clown.png b/backend/layers/Feet Girl/Blue Black Clown.png new file mode 100644 index 0000000000..7d64387703 Binary files /dev/null and b/backend/layers/Feet Girl/Blue Black Clown.png differ diff --git a/backend/layers/Feet Girl/Blue Sanic.png b/backend/layers/Feet Girl/Blue Sanic.png new file mode 100644 index 0000000000..4836f1df34 Binary files /dev/null and b/backend/layers/Feet Girl/Blue Sanic.png differ diff --git a/backend/layers/Feet Girl/Blue Slip Ons.png b/backend/layers/Feet Girl/Blue Slip Ons.png new file mode 100644 index 0000000000..84268ffae6 Binary files /dev/null and b/backend/layers/Feet Girl/Blue Slip Ons.png differ diff --git a/backend/layers/Feet Girl/Blue Slippers.png b/backend/layers/Feet Girl/Blue Slippers.png new file mode 100644 index 0000000000..2c636de6cf Binary files /dev/null and b/backend/layers/Feet Girl/Blue Slippers.png differ diff --git a/backend/layers/Feet Girl/Evil Clown.png b/backend/layers/Feet Girl/Evil Clown.png new file mode 100644 index 0000000000..9c2c5780ac Binary files /dev/null and b/backend/layers/Feet Girl/Evil Clown.png differ diff --git a/backend/layers/Feet Girl/Gold Metal.png b/backend/layers/Feet Girl/Gold Metal.png new file mode 100644 index 0000000000..e8e9f77e5f Binary files /dev/null and b/backend/layers/Feet Girl/Gold Metal.png differ diff --git a/backend/layers/Feet Girl/Green Bear.png b/backend/layers/Feet Girl/Green Bear.png new file mode 100644 index 0000000000..42e92b1359 Binary files /dev/null and b/backend/layers/Feet Girl/Green Bear.png differ diff --git a/backend/layers/Feet Girl/Green Clown.png b/backend/layers/Feet Girl/Green Clown.png new file mode 100644 index 0000000000..9187e2b467 Binary files /dev/null and b/backend/layers/Feet Girl/Green Clown.png differ diff --git a/backend/layers/Feet Girl/Green Elf.png b/backend/layers/Feet Girl/Green Elf.png new file mode 100644 index 0000000000..4c39544cd8 Binary files /dev/null and b/backend/layers/Feet Girl/Green Elf.png differ diff --git a/backend/layers/Feet Girl/Green Slip Ons.png b/backend/layers/Feet Girl/Green Slip Ons.png new file mode 100644 index 0000000000..76b3191ba7 Binary files /dev/null and b/backend/layers/Feet Girl/Green Slip Ons.png differ diff --git a/backend/layers/Feet Girl/Green Slippers.png b/backend/layers/Feet Girl/Green Slippers.png new file mode 100644 index 0000000000..3e63892420 Binary files /dev/null and b/backend/layers/Feet Girl/Green Slippers.png differ diff --git a/backend/layers/Feet Girl/Green Sneakers.png b/backend/layers/Feet Girl/Green Sneakers.png new file mode 100644 index 0000000000..d34bbf2307 Binary files /dev/null and b/backend/layers/Feet Girl/Green Sneakers.png differ diff --git a/backend/layers/Feet Girl/Metal.png b/backend/layers/Feet Girl/Metal.png new file mode 100644 index 0000000000..71f77c7bc7 Binary files /dev/null and b/backend/layers/Feet Girl/Metal.png differ diff --git a/backend/layers/Feet Girl/Mummy.png b/backend/layers/Feet Girl/Mummy.png new file mode 100644 index 0000000000..a33788c926 Binary files /dev/null and b/backend/layers/Feet Girl/Mummy.png differ diff --git a/backend/layers/Feet Girl/Orange Sneakers.png b/backend/layers/Feet Girl/Orange Sneakers.png new file mode 100644 index 0000000000..37adec971c Binary files /dev/null and b/backend/layers/Feet Girl/Orange Sneakers.png differ diff --git a/backend/layers/Feet Girl/Pink Fuzzies.png b/backend/layers/Feet Girl/Pink Fuzzies.png new file mode 100644 index 0000000000..12dd6e789c Binary files /dev/null and b/backend/layers/Feet Girl/Pink Fuzzies.png differ diff --git a/backend/layers/Feet Girl/Pink Sneakers.png b/backend/layers/Feet Girl/Pink Sneakers.png new file mode 100644 index 0000000000..b8e2f7b8f1 Binary files /dev/null and b/backend/layers/Feet Girl/Pink Sneakers.png differ diff --git a/backend/layers/Feet Girl/Polar Bear.png b/backend/layers/Feet Girl/Polar Bear.png new file mode 100644 index 0000000000..bfb819c39c Binary files /dev/null and b/backend/layers/Feet Girl/Polar Bear.png differ diff --git a/backend/layers/Feet Girl/Purple Black Clown.png b/backend/layers/Feet Girl/Purple Black Clown.png new file mode 100644 index 0000000000..6a5c10921c Binary files /dev/null and b/backend/layers/Feet Girl/Purple Black Clown.png differ diff --git a/backend/layers/Feet Girl/Purple Clown.png b/backend/layers/Feet Girl/Purple Clown.png new file mode 100644 index 0000000000..acfc106fab Binary files /dev/null and b/backend/layers/Feet Girl/Purple Clown.png differ diff --git a/backend/layers/Feet Girl/Purple Fuzzies.png b/backend/layers/Feet Girl/Purple Fuzzies.png new file mode 100644 index 0000000000..1fe1686c1b Binary files /dev/null and b/backend/layers/Feet Girl/Purple Fuzzies.png differ diff --git a/backend/layers/Feet Girl/Purple Slip Ons.png b/backend/layers/Feet Girl/Purple Slip Ons.png new file mode 100644 index 0000000000..d46fea7fdb Binary files /dev/null and b/backend/layers/Feet Girl/Purple Slip Ons.png differ diff --git a/backend/layers/Feet Girl/Red Bear.png b/backend/layers/Feet Girl/Red Bear.png new file mode 100644 index 0000000000..7fe8cb447b Binary files /dev/null and b/backend/layers/Feet Girl/Red Bear.png differ diff --git a/backend/layers/Feet Girl/Red Elf.png b/backend/layers/Feet Girl/Red Elf.png new file mode 100644 index 0000000000..8d80f80db9 Binary files /dev/null and b/backend/layers/Feet Girl/Red Elf.png differ diff --git a/backend/layers/Feet Girl/Red Metal.png b/backend/layers/Feet Girl/Red Metal.png new file mode 100644 index 0000000000..ef5715010a Binary files /dev/null and b/backend/layers/Feet Girl/Red Metal.png differ diff --git a/backend/layers/Feet Girl/Red Slip Ons.png b/backend/layers/Feet Girl/Red Slip Ons.png new file mode 100644 index 0000000000..f859a9042d Binary files /dev/null and b/backend/layers/Feet Girl/Red Slip Ons.png differ diff --git a/backend/layers/Feet Girl/Roman Blue.png b/backend/layers/Feet Girl/Roman Blue.png new file mode 100644 index 0000000000..a1a779b289 Binary files /dev/null and b/backend/layers/Feet Girl/Roman Blue.png differ diff --git a/backend/layers/Feet Girl/Roman Purple.png b/backend/layers/Feet Girl/Roman Purple.png new file mode 100644 index 0000000000..07b850fac1 Binary files /dev/null and b/backend/layers/Feet Girl/Roman Purple.png differ diff --git a/backend/layers/Feet Girl/Roman.png b/backend/layers/Feet Girl/Roman.png new file mode 100644 index 0000000000..becc03531f Binary files /dev/null and b/backend/layers/Feet Girl/Roman.png differ diff --git a/backend/layers/Feet Girl/Sanic.png b/backend/layers/Feet Girl/Sanic.png new file mode 100644 index 0000000000..7d9d0a1d8f Binary files /dev/null and b/backend/layers/Feet Girl/Sanic.png differ diff --git a/backend/layers/Feet Girl/Socks.png b/backend/layers/Feet Girl/Socks.png new file mode 100644 index 0000000000..546192806e Binary files /dev/null and b/backend/layers/Feet Girl/Socks.png differ diff --git a/backend/layers/Goo/Green#1.png b/backend/layers/Goo/Green#1.png deleted file mode 100644 index 56013ac213..0000000000 Binary files a/backend/layers/Goo/Green#1.png and /dev/null differ diff --git a/backend/layers/Hair Whale/Nacho Cheese.png b/backend/layers/Hair Whale/Nacho Cheese.png new file mode 100644 index 0000000000..c4ef363c32 Binary files /dev/null and b/backend/layers/Hair Whale/Nacho Cheese.png differ diff --git a/backend/layers/Head Boy/Black Avax Beanie.png b/backend/layers/Head Boy/Black Avax Beanie.png new file mode 100644 index 0000000000..10f4fd8a94 Binary files /dev/null and b/backend/layers/Head Boy/Black Avax Beanie.png differ diff --git a/backend/layers/Head Boy/Black Bitcoin Beanie.png b/backend/layers/Head Boy/Black Bitcoin Beanie.png new file mode 100644 index 0000000000..6182a67bfd Binary files /dev/null and b/backend/layers/Head Boy/Black Bitcoin Beanie.png differ diff --git a/backend/layers/Head Boy/Black Sweatband.png b/backend/layers/Head Boy/Black Sweatband.png new file mode 100644 index 0000000000..b1dc2c8c80 Binary files /dev/null and b/backend/layers/Head Boy/Black Sweatband.png differ diff --git a/backend/layers/Head Boy/Black Toupee.png b/backend/layers/Head Boy/Black Toupee.png new file mode 100644 index 0000000000..d7b8f76775 Binary files /dev/null and b/backend/layers/Head Boy/Black Toupee.png differ diff --git a/backend/layers/Head Boy/Blue Hat.png b/backend/layers/Head Boy/Blue Hat.png new file mode 100644 index 0000000000..ab5657e60f Binary files /dev/null and b/backend/layers/Head Boy/Blue Hat.png differ diff --git a/backend/layers/Head Boy/Brown Toupee.png b/backend/layers/Head Boy/Brown Toupee.png new file mode 100644 index 0000000000..4ba673cb1a Binary files /dev/null and b/backend/layers/Head Boy/Brown Toupee.png differ diff --git a/backend/layers/Head Boy/Cheese Rows.png b/backend/layers/Head Boy/Cheese Rows.png new file mode 100644 index 0000000000..8c0f3ee4dd Binary files /dev/null and b/backend/layers/Head Boy/Cheese Rows.png differ diff --git a/backend/layers/Head Boy/Cheese Saiyan.png b/backend/layers/Head Boy/Cheese Saiyan.png new file mode 100644 index 0000000000..5749eb9882 Binary files /dev/null and b/backend/layers/Head Boy/Cheese Saiyan.png differ diff --git a/backend/layers/Head Boy/Crown.png b/backend/layers/Head Boy/Crown.png new file mode 100644 index 0000000000..cc6186494f Binary files /dev/null and b/backend/layers/Head Boy/Crown.png differ diff --git a/backend/layers/Head Boy/Einstein.png b/backend/layers/Head Boy/Einstein.png new file mode 100644 index 0000000000..5f7c6488f3 Binary files /dev/null and b/backend/layers/Head Boy/Einstein.png differ diff --git a/backend/layers/Head Boy/Gold Metal.png b/backend/layers/Head Boy/Gold Metal.png new file mode 100644 index 0000000000..190c75e194 Binary files /dev/null and b/backend/layers/Head Boy/Gold Metal.png differ diff --git a/backend/layers/Head Boy/Grey Toupee.png b/backend/layers/Head Boy/Grey Toupee.png new file mode 100644 index 0000000000..f992fc4540 Binary files /dev/null and b/backend/layers/Head Boy/Grey Toupee.png differ diff --git a/backend/layers/Head Boy/Halo.png b/backend/layers/Head Boy/Halo.png new file mode 100644 index 0000000000..dc29a6c3c2 Binary files /dev/null and b/backend/layers/Head Boy/Halo.png differ diff --git a/backend/layers/Head Boy/Head of Lettuce.png b/backend/layers/Head Boy/Head of Lettuce.png new file mode 100644 index 0000000000..d0c0782282 Binary files /dev/null and b/backend/layers/Head Boy/Head of Lettuce.png differ diff --git a/backend/layers/Head Boy/Horns.png b/backend/layers/Head Boy/Horns.png new file mode 100644 index 0000000000..b8a1d1eb10 Binary files /dev/null and b/backend/layers/Head Boy/Horns.png differ diff --git a/backend/layers/Head Boy/Laharl.png b/backend/layers/Head Boy/Laharl.png new file mode 100644 index 0000000000..542001a058 Binary files /dev/null and b/backend/layers/Head Boy/Laharl.png differ diff --git a/backend/layers/Head Boy/Lettuce Saiyan.png b/backend/layers/Head Boy/Lettuce Saiyan.png new file mode 100644 index 0000000000..ba075a6ed9 Binary files /dev/null and b/backend/layers/Head Boy/Lettuce Saiyan.png differ diff --git a/backend/layers/Head Boy/Metal.png b/backend/layers/Head Boy/Metal.png new file mode 100644 index 0000000000..e138109541 Binary files /dev/null and b/backend/layers/Head Boy/Metal.png differ diff --git a/backend/layers/Head Boy/Nacho Hat.png b/backend/layers/Head Boy/Nacho Hat.png new file mode 100644 index 0000000000..ecf389023f Binary files /dev/null and b/backend/layers/Head Boy/Nacho Hat.png differ diff --git a/backend/layers/Head Boy/Purple Hat.png b/backend/layers/Head Boy/Purple Hat.png new file mode 100644 index 0000000000..b2a82bc135 Binary files /dev/null and b/backend/layers/Head Boy/Purple Hat.png differ diff --git a/backend/layers/Head Boy/Purple Wen Moon.png b/backend/layers/Head Boy/Purple Wen Moon.png new file mode 100644 index 0000000000..f6b078d7ff Binary files /dev/null and b/backend/layers/Head Boy/Purple Wen Moon.png differ diff --git a/backend/layers/Head Boy/Red Hat.png b/backend/layers/Head Boy/Red Hat.png new file mode 100644 index 0000000000..ddf69f646a Binary files /dev/null and b/backend/layers/Head Boy/Red Hat.png differ diff --git a/backend/layers/Head Boy/Red Metal.png b/backend/layers/Head Boy/Red Metal.png new file mode 100644 index 0000000000..a3d19f2048 Binary files /dev/null and b/backend/layers/Head Boy/Red Metal.png differ diff --git a/backend/layers/Head Boy/Red Wen Moon.png b/backend/layers/Head Boy/Red Wen Moon.png new file mode 100644 index 0000000000..3f681e0496 Binary files /dev/null and b/backend/layers/Head Boy/Red Wen Moon.png differ diff --git a/backend/layers/Head Boy/Roman.png b/backend/layers/Head Boy/Roman.png new file mode 100644 index 0000000000..abedb865c7 Binary files /dev/null and b/backend/layers/Head Boy/Roman.png differ diff --git a/backend/layers/Head Boy/Spiked Lettuce.png b/backend/layers/Head Boy/Spiked Lettuce.png new file mode 100644 index 0000000000..21f90fbdd2 Binary files /dev/null and b/backend/layers/Head Boy/Spiked Lettuce.png differ diff --git a/backend/layers/Head Boy/Third Eye.png b/backend/layers/Head Boy/Third Eye.png new file mode 100644 index 0000000000..ed2bea6eef Binary files /dev/null and b/backend/layers/Head Boy/Third Eye.png differ diff --git a/backend/layers/Head Boy/Timmy Hitfinger.png b/backend/layers/Head Boy/Timmy Hitfinger.png new file mode 100644 index 0000000000..8c781d47ae Binary files /dev/null and b/backend/layers/Head Boy/Timmy Hitfinger.png differ diff --git a/backend/layers/Head Boy/White Avax Beanie.png b/backend/layers/Head Boy/White Avax Beanie.png new file mode 100644 index 0000000000..89ed3da5f3 Binary files /dev/null and b/backend/layers/Head Boy/White Avax Beanie.png differ diff --git a/backend/layers/Head Boy/White Beanie.png b/backend/layers/Head Boy/White Beanie.png new file mode 100644 index 0000000000..038555b1e7 Binary files /dev/null and b/backend/layers/Head Boy/White Beanie.png differ diff --git a/backend/layers/Head Boy/White Bitcoin Beanie.png b/backend/layers/Head Boy/White Bitcoin Beanie.png new file mode 100644 index 0000000000..2e265019aa Binary files /dev/null and b/backend/layers/Head Boy/White Bitcoin Beanie.png differ diff --git a/backend/layers/Head Boy/Xtra Cheese.png b/backend/layers/Head Boy/Xtra Cheese.png new file mode 100644 index 0000000000..01bc775ea3 Binary files /dev/null and b/backend/layers/Head Boy/Xtra Cheese.png differ diff --git a/backend/layers/Head Boy/Xtra Lettuce.png b/backend/layers/Head Boy/Xtra Lettuce.png new file mode 100644 index 0000000000..8a0816bf3c Binary files /dev/null and b/backend/layers/Head Boy/Xtra Lettuce.png differ diff --git a/backend/layers/Head Caesar/Caesar.png b/backend/layers/Head Caesar/Caesar.png new file mode 100644 index 0000000000..a75d91a479 Binary files /dev/null and b/backend/layers/Head Caesar/Caesar.png differ diff --git a/backend/layers/Head Cyborg/Cyborg.png b/backend/layers/Head Cyborg/Cyborg.png new file mode 100644 index 0000000000..a75d91a479 Binary files /dev/null and b/backend/layers/Head Cyborg/Cyborg.png differ diff --git a/backend/layers/Head Girl/Black Avax Beanie.png b/backend/layers/Head Girl/Black Avax Beanie.png new file mode 100644 index 0000000000..10f4fd8a94 Binary files /dev/null and b/backend/layers/Head Girl/Black Avax Beanie.png differ diff --git a/backend/layers/Head Girl/Black Bitcoin Beanie.png b/backend/layers/Head Girl/Black Bitcoin Beanie.png new file mode 100644 index 0000000000..6182a67bfd Binary files /dev/null and b/backend/layers/Head Girl/Black Bitcoin Beanie.png differ diff --git a/backend/layers/Head Girl/Black Sweatband.png b/backend/layers/Head Girl/Black Sweatband.png new file mode 100644 index 0000000000..b1dc2c8c80 Binary files /dev/null and b/backend/layers/Head Girl/Black Sweatband.png differ diff --git a/backend/layers/Head Girl/Blue Hat.png b/backend/layers/Head Girl/Blue Hat.png new file mode 100644 index 0000000000..ab5657e60f Binary files /dev/null and b/backend/layers/Head Girl/Blue Hat.png differ diff --git a/backend/layers/Head Girl/Cheese Rows.png b/backend/layers/Head Girl/Cheese Rows.png new file mode 100644 index 0000000000..8c0f3ee4dd Binary files /dev/null and b/backend/layers/Head Girl/Cheese Rows.png differ diff --git a/backend/layers/Head Girl/Cheese Saiyan.png b/backend/layers/Head Girl/Cheese Saiyan.png new file mode 100644 index 0000000000..5749eb9882 Binary files /dev/null and b/backend/layers/Head Girl/Cheese Saiyan.png differ diff --git a/backend/layers/Head Girl/Crown.png b/backend/layers/Head Girl/Crown.png new file mode 100644 index 0000000000..cc6186494f Binary files /dev/null and b/backend/layers/Head Girl/Crown.png differ diff --git a/backend/layers/Head Girl/Gold Metal.png b/backend/layers/Head Girl/Gold Metal.png new file mode 100644 index 0000000000..190c75e194 Binary files /dev/null and b/backend/layers/Head Girl/Gold Metal.png differ diff --git a/backend/layers/Head Girl/Halo.png b/backend/layers/Head Girl/Halo.png new file mode 100644 index 0000000000..dc29a6c3c2 Binary files /dev/null and b/backend/layers/Head Girl/Halo.png differ diff --git a/backend/layers/Head Girl/Head of Lettuce.png b/backend/layers/Head Girl/Head of Lettuce.png new file mode 100644 index 0000000000..d0c0782282 Binary files /dev/null and b/backend/layers/Head Girl/Head of Lettuce.png differ diff --git a/backend/layers/Head Girl/Horns.png b/backend/layers/Head Girl/Horns.png new file mode 100644 index 0000000000..b8a1d1eb10 Binary files /dev/null and b/backend/layers/Head Girl/Horns.png differ diff --git a/backend/layers/Head Girl/Laharl.png b/backend/layers/Head Girl/Laharl.png new file mode 100644 index 0000000000..542001a058 Binary files /dev/null and b/backend/layers/Head Girl/Laharl.png differ diff --git a/backend/layers/Head Girl/Lettuce Saiyan.png b/backend/layers/Head Girl/Lettuce Saiyan.png new file mode 100644 index 0000000000..ba075a6ed9 Binary files /dev/null and b/backend/layers/Head Girl/Lettuce Saiyan.png differ diff --git a/backend/layers/Head Girl/Metal.png b/backend/layers/Head Girl/Metal.png new file mode 100644 index 0000000000..e138109541 Binary files /dev/null and b/backend/layers/Head Girl/Metal.png differ diff --git a/backend/layers/Head Girl/Nacho Hat.png b/backend/layers/Head Girl/Nacho Hat.png new file mode 100644 index 0000000000..ecf389023f Binary files /dev/null and b/backend/layers/Head Girl/Nacho Hat.png differ diff --git a/backend/layers/Head Girl/Purple Hat.png b/backend/layers/Head Girl/Purple Hat.png new file mode 100644 index 0000000000..b2a82bc135 Binary files /dev/null and b/backend/layers/Head Girl/Purple Hat.png differ diff --git a/backend/layers/Head Girl/Purple Wen Moon.png b/backend/layers/Head Girl/Purple Wen Moon.png new file mode 100644 index 0000000000..f6b078d7ff Binary files /dev/null and b/backend/layers/Head Girl/Purple Wen Moon.png differ diff --git a/backend/layers/Head Girl/Red Hat.png b/backend/layers/Head Girl/Red Hat.png new file mode 100644 index 0000000000..ddf69f646a Binary files /dev/null and b/backend/layers/Head Girl/Red Hat.png differ diff --git a/backend/layers/Head Girl/Red Metal.png b/backend/layers/Head Girl/Red Metal.png new file mode 100644 index 0000000000..a3d19f2048 Binary files /dev/null and b/backend/layers/Head Girl/Red Metal.png differ diff --git a/backend/layers/Head Girl/Red Wen Moon.png b/backend/layers/Head Girl/Red Wen Moon.png new file mode 100644 index 0000000000..3f681e0496 Binary files /dev/null and b/backend/layers/Head Girl/Red Wen Moon.png differ diff --git a/backend/layers/Head Girl/Roman.png b/backend/layers/Head Girl/Roman.png new file mode 100644 index 0000000000..abedb865c7 Binary files /dev/null and b/backend/layers/Head Girl/Roman.png differ diff --git a/backend/layers/Head Girl/Spiked Lettuce.png b/backend/layers/Head Girl/Spiked Lettuce.png new file mode 100644 index 0000000000..21f90fbdd2 Binary files /dev/null and b/backend/layers/Head Girl/Spiked Lettuce.png differ diff --git a/backend/layers/Head Girl/Third Eye.png b/backend/layers/Head Girl/Third Eye.png new file mode 100644 index 0000000000..ed2bea6eef Binary files /dev/null and b/backend/layers/Head Girl/Third Eye.png differ diff --git a/backend/layers/Head Girl/Timmy Hitfinger.png b/backend/layers/Head Girl/Timmy Hitfinger.png new file mode 100644 index 0000000000..8c781d47ae Binary files /dev/null and b/backend/layers/Head Girl/Timmy Hitfinger.png differ diff --git a/backend/layers/Head Girl/White Avax Beanie.png b/backend/layers/Head Girl/White Avax Beanie.png new file mode 100644 index 0000000000..89ed3da5f3 Binary files /dev/null and b/backend/layers/Head Girl/White Avax Beanie.png differ diff --git a/backend/layers/Head Girl/White Beanie.png b/backend/layers/Head Girl/White Beanie.png new file mode 100644 index 0000000000..038555b1e7 Binary files /dev/null and b/backend/layers/Head Girl/White Beanie.png differ diff --git a/backend/layers/Head Girl/White Bitcoin Beanie.png b/backend/layers/Head Girl/White Bitcoin Beanie.png new file mode 100644 index 0000000000..2e265019aa Binary files /dev/null and b/backend/layers/Head Girl/White Bitcoin Beanie.png differ diff --git a/backend/layers/Head Girl/Xtra Cheese.png b/backend/layers/Head Girl/Xtra Cheese.png new file mode 100644 index 0000000000..01bc775ea3 Binary files /dev/null and b/backend/layers/Head Girl/Xtra Cheese.png differ diff --git a/backend/layers/Head Girl/Xtra Lettuce.png b/backend/layers/Head Girl/Xtra Lettuce.png new file mode 100644 index 0000000000..8a0816bf3c Binary files /dev/null and b/backend/layers/Head Girl/Xtra Lettuce.png differ diff --git a/backend/layers/Held Item Boy/AVAX Bag.png b/backend/layers/Held Item Boy/AVAX Bag.png new file mode 100644 index 0000000000..0cd1c05b66 Binary files /dev/null and b/backend/layers/Held Item Boy/AVAX Bag.png differ diff --git a/backend/layers/Held Item Boy/Alien Banana.png b/backend/layers/Held Item Boy/Alien Banana.png new file mode 100644 index 0000000000..a858197614 Binary files /dev/null and b/backend/layers/Held Item Boy/Alien Banana.png differ diff --git a/backend/layers/Held Item Boy/Alien Carrot.png b/backend/layers/Held Item Boy/Alien Carrot.png new file mode 100644 index 0000000000..2ed7e071ad Binary files /dev/null and b/backend/layers/Held Item Boy/Alien Carrot.png differ diff --git a/backend/layers/Held Item Boy/Banana.png b/backend/layers/Held Item Boy/Banana.png new file mode 100644 index 0000000000..99ddfd2e0d Binary files /dev/null and b/backend/layers/Held Item Boy/Banana.png differ diff --git a/backend/layers/Held Item Boy/Bitcoin Bag.png b/backend/layers/Held Item Boy/Bitcoin Bag.png new file mode 100644 index 0000000000..3fa32463d7 Binary files /dev/null and b/backend/layers/Held Item Boy/Bitcoin Bag.png differ diff --git a/backend/layers/Held Item Boy/Blue Bong.png b/backend/layers/Held Item Boy/Blue Bong.png new file mode 100644 index 0000000000..31ca3c72df Binary files /dev/null and b/backend/layers/Held Item Boy/Blue Bong.png differ diff --git a/backend/layers/Held Item Boy/Blue Boxing Gloves.png b/backend/layers/Held Item Boy/Blue Boxing Gloves.png new file mode 100644 index 0000000000..c0d9ca8bc7 Binary files /dev/null and b/backend/layers/Held Item Boy/Blue Boxing Gloves.png differ diff --git a/backend/layers/Held Item Boy/Blue Katana.png b/backend/layers/Held Item Boy/Blue Katana.png new file mode 100644 index 0000000000..cf8b92e1c5 Binary files /dev/null and b/backend/layers/Held Item Boy/Blue Katana.png differ diff --git a/backend/layers/Held Item Boy/Blue Lightning.png b/backend/layers/Held Item Boy/Blue Lightning.png new file mode 100644 index 0000000000..eaa3c3611a Binary files /dev/null and b/backend/layers/Held Item Boy/Blue Lightning.png differ diff --git a/backend/layers/Held Item Boy/Blue Lightsaber.png b/backend/layers/Held Item Boy/Blue Lightsaber.png new file mode 100644 index 0000000000..f0a6ad7ddf Binary files /dev/null and b/backend/layers/Held Item Boy/Blue Lightsaber.png differ diff --git a/backend/layers/Held Item Boy/Blue Snake.png b/backend/layers/Held Item Boy/Blue Snake.png new file mode 100644 index 0000000000..a0c1b18322 Binary files /dev/null and b/backend/layers/Held Item Boy/Blue Snake.png differ diff --git a/backend/layers/Held Item Boy/Blue Taco Shield.png b/backend/layers/Held Item Boy/Blue Taco Shield.png new file mode 100644 index 0000000000..367d035e26 Binary files /dev/null and b/backend/layers/Held Item Boy/Blue Taco Shield.png differ diff --git a/backend/layers/Held Item Boy/Bow.png b/backend/layers/Held Item Boy/Bow.png new file mode 100644 index 0000000000..ae000b3c4a Binary files /dev/null and b/backend/layers/Held Item Boy/Bow.png differ diff --git a/backend/layers/Held Item Boy/Boxing Gloves.png b/backend/layers/Held Item Boy/Boxing Gloves.png new file mode 100644 index 0000000000..20623d4d38 Binary files /dev/null and b/backend/layers/Held Item Boy/Boxing Gloves.png differ diff --git a/backend/layers/Held Item Boy/Carrot.png b/backend/layers/Held Item Boy/Carrot.png new file mode 100644 index 0000000000..7b580002e3 Binary files /dev/null and b/backend/layers/Held Item Boy/Carrot.png differ diff --git a/backend/layers/Held Item Boy/Casino.png b/backend/layers/Held Item Boy/Casino.png new file mode 100644 index 0000000000..579fba6b44 Binary files /dev/null and b/backend/layers/Held Item Boy/Casino.png differ diff --git a/backend/layers/Held Item Boy/Composite Bow.png b/backend/layers/Held Item Boy/Composite Bow.png new file mode 100644 index 0000000000..de5377805b Binary files /dev/null and b/backend/layers/Held Item Boy/Composite Bow.png differ diff --git a/backend/layers/Held Item Boy/Cutlass.png b/backend/layers/Held Item Boy/Cutlass.png new file mode 100644 index 0000000000..5217eba963 Binary files /dev/null and b/backend/layers/Held Item Boy/Cutlass.png differ diff --git a/backend/layers/Held Item Boy/Game Controller.png b/backend/layers/Held Item Boy/Game Controller.png new file mode 100644 index 0000000000..1d99257f89 Binary files /dev/null and b/backend/layers/Held Item Boy/Game Controller.png differ diff --git a/backend/layers/Held Item Boy/Glowing Purple Katana.png b/backend/layers/Held Item Boy/Glowing Purple Katana.png new file mode 100644 index 0000000000..42deb33e36 Binary files /dev/null and b/backend/layers/Held Item Boy/Glowing Purple Katana.png differ diff --git a/backend/layers/Held Item Boy/Glowing Red Katana.png b/backend/layers/Held Item Boy/Glowing Red Katana.png new file mode 100644 index 0000000000..9036db21a9 Binary files /dev/null and b/backend/layers/Held Item Boy/Glowing Red Katana.png differ diff --git a/backend/layers/Held Item Boy/Glowing Teal Katana.png b/backend/layers/Held Item Boy/Glowing Teal Katana.png new file mode 100644 index 0000000000..41088ae9f4 Binary files /dev/null and b/backend/layers/Held Item Boy/Glowing Teal Katana.png differ diff --git a/backend/layers/Held Item Boy/Glowing Yellow Katana.png b/backend/layers/Held Item Boy/Glowing Yellow Katana.png new file mode 100644 index 0000000000..8026cf12e6 Binary files /dev/null and b/backend/layers/Held Item Boy/Glowing Yellow Katana.png differ diff --git a/backend/layers/Held Item Boy/Gold Metal.png b/backend/layers/Held Item Boy/Gold Metal.png new file mode 100644 index 0000000000..3fae423933 Binary files /dev/null and b/backend/layers/Held Item Boy/Gold Metal.png differ diff --git a/backend/layers/Held Item Boy/Gold Taco Shield.png b/backend/layers/Held Item Boy/Gold Taco Shield.png new file mode 100644 index 0000000000..e7f18e9df5 Binary files /dev/null and b/backend/layers/Held Item Boy/Gold Taco Shield.png differ diff --git a/backend/layers/Held Item Boy/Grape Finance.png b/backend/layers/Held Item Boy/Grape Finance.png new file mode 100644 index 0000000000..a03cbef4c4 Binary files /dev/null and b/backend/layers/Held Item Boy/Grape Finance.png differ diff --git a/backend/layers/Held Item Boy/Green Snake.png b/backend/layers/Held Item Boy/Green Snake.png new file mode 100644 index 0000000000..0ab7c9312f Binary files /dev/null and b/backend/layers/Held Item Boy/Green Snake.png differ diff --git a/backend/layers/Held Item Boy/Green Taco Shield.png b/backend/layers/Held Item Boy/Green Taco Shield.png new file mode 100644 index 0000000000..292fd09963 Binary files /dev/null and b/backend/layers/Held Item Boy/Green Taco Shield.png differ diff --git a/backend/layers/Held Item Boy/Lightning.png b/backend/layers/Held Item Boy/Lightning.png new file mode 100644 index 0000000000..02ac8de11f Binary files /dev/null and b/backend/layers/Held Item Boy/Lightning.png differ diff --git a/backend/layers/Held Item Boy/Metal.png b/backend/layers/Held Item Boy/Metal.png new file mode 100644 index 0000000000..607bb4a09e Binary files /dev/null and b/backend/layers/Held Item Boy/Metal.png differ diff --git a/backend/layers/Held Item Boy/Pink Bong.png b/backend/layers/Held Item Boy/Pink Bong.png new file mode 100644 index 0000000000..bf1f05cf72 Binary files /dev/null and b/backend/layers/Held Item Boy/Pink Bong.png differ diff --git a/backend/layers/Held Item Boy/Purple Boxing Gloves.png b/backend/layers/Held Item Boy/Purple Boxing Gloves.png new file mode 100644 index 0000000000..a843bf7c7d Binary files /dev/null and b/backend/layers/Held Item Boy/Purple Boxing Gloves.png differ diff --git a/backend/layers/Held Item Boy/Purple Katana.png b/backend/layers/Held Item Boy/Purple Katana.png new file mode 100644 index 0000000000..223eef0ad9 Binary files /dev/null and b/backend/layers/Held Item Boy/Purple Katana.png differ diff --git a/backend/layers/Held Item Boy/Purple Lightsaber.png b/backend/layers/Held Item Boy/Purple Lightsaber.png new file mode 100644 index 0000000000..1063827241 Binary files /dev/null and b/backend/layers/Held Item Boy/Purple Lightsaber.png differ diff --git a/backend/layers/Held Item Boy/Red Katana.png b/backend/layers/Held Item Boy/Red Katana.png new file mode 100644 index 0000000000..2989810c2d Binary files /dev/null and b/backend/layers/Held Item Boy/Red Katana.png differ diff --git a/backend/layers/Held Item Boy/Red Lightsaber.png b/backend/layers/Held Item Boy/Red Lightsaber.png new file mode 100644 index 0000000000..9cef28a1ab Binary files /dev/null and b/backend/layers/Held Item Boy/Red Lightsaber.png differ diff --git a/backend/layers/Held Item Boy/Red Metal.png b/backend/layers/Held Item Boy/Red Metal.png new file mode 100644 index 0000000000..d440e13243 Binary files /dev/null and b/backend/layers/Held Item Boy/Red Metal.png differ diff --git a/backend/layers/Held Item Boy/Red Taco Shield.png b/backend/layers/Held Item Boy/Red Taco Shield.png new file mode 100644 index 0000000000..a2a73cf52d Binary files /dev/null and b/backend/layers/Held Item Boy/Red Taco Shield.png differ diff --git a/backend/layers/Held Item Boy/Rocket.png b/backend/layers/Held Item Boy/Rocket.png new file mode 100644 index 0000000000..c32427bbb6 Binary files /dev/null and b/backend/layers/Held Item Boy/Rocket.png differ diff --git a/backend/layers/Held Item Boy/Roman Dagger.png b/backend/layers/Held Item Boy/Roman Dagger.png new file mode 100644 index 0000000000..1891e473a6 Binary files /dev/null and b/backend/layers/Held Item Boy/Roman Dagger.png differ diff --git a/backend/layers/Held Item Boy/Sword.png b/backend/layers/Held Item Boy/Sword.png new file mode 100644 index 0000000000..14b0da1955 Binary files /dev/null and b/backend/layers/Held Item Boy/Sword.png differ diff --git a/backend/layers/Held Item Boy/Weights.png b/backend/layers/Held Item Boy/Weights.png new file mode 100644 index 0000000000..1134722768 Binary files /dev/null and b/backend/layers/Held Item Boy/Weights.png differ diff --git a/backend/layers/Held Item Caesar/Caesar.png b/backend/layers/Held Item Caesar/Caesar.png new file mode 100644 index 0000000000..a75d91a479 Binary files /dev/null and b/backend/layers/Held Item Caesar/Caesar.png differ diff --git a/backend/layers/Held Item Cyborg/Cyborg.png b/backend/layers/Held Item Cyborg/Cyborg.png new file mode 100644 index 0000000000..a75d91a479 Binary files /dev/null and b/backend/layers/Held Item Cyborg/Cyborg.png differ diff --git a/backend/layers/Held Item Girl/AVAX Bag.png b/backend/layers/Held Item Girl/AVAX Bag.png new file mode 100644 index 0000000000..0cd1c05b66 Binary files /dev/null and b/backend/layers/Held Item Girl/AVAX Bag.png differ diff --git a/backend/layers/Held Item Girl/Alien Banana.png b/backend/layers/Held Item Girl/Alien Banana.png new file mode 100644 index 0000000000..a858197614 Binary files /dev/null and b/backend/layers/Held Item Girl/Alien Banana.png differ diff --git a/backend/layers/Held Item Girl/Alien Carrot.png b/backend/layers/Held Item Girl/Alien Carrot.png new file mode 100644 index 0000000000..2ed7e071ad Binary files /dev/null and b/backend/layers/Held Item Girl/Alien Carrot.png differ diff --git a/backend/layers/Held Item Girl/Banana.png b/backend/layers/Held Item Girl/Banana.png new file mode 100644 index 0000000000..99ddfd2e0d Binary files /dev/null and b/backend/layers/Held Item Girl/Banana.png differ diff --git a/backend/layers/Held Item Girl/Bitcoin Bag.png b/backend/layers/Held Item Girl/Bitcoin Bag.png new file mode 100644 index 0000000000..3fa32463d7 Binary files /dev/null and b/backend/layers/Held Item Girl/Bitcoin Bag.png differ diff --git a/backend/layers/Held Item Girl/Blue Bong.png b/backend/layers/Held Item Girl/Blue Bong.png new file mode 100644 index 0000000000..31ca3c72df Binary files /dev/null and b/backend/layers/Held Item Girl/Blue Bong.png differ diff --git a/backend/layers/Held Item Girl/Blue Boxing Gloves.png b/backend/layers/Held Item Girl/Blue Boxing Gloves.png new file mode 100644 index 0000000000..c0d9ca8bc7 Binary files /dev/null and b/backend/layers/Held Item Girl/Blue Boxing Gloves.png differ diff --git a/backend/layers/Held Item Girl/Blue Katana.png b/backend/layers/Held Item Girl/Blue Katana.png new file mode 100644 index 0000000000..cf8b92e1c5 Binary files /dev/null and b/backend/layers/Held Item Girl/Blue Katana.png differ diff --git a/backend/layers/Held Item Girl/Blue Lightning.png b/backend/layers/Held Item Girl/Blue Lightning.png new file mode 100644 index 0000000000..eaa3c3611a Binary files /dev/null and b/backend/layers/Held Item Girl/Blue Lightning.png differ diff --git a/backend/layers/Held Item Girl/Blue Lightsaber.png b/backend/layers/Held Item Girl/Blue Lightsaber.png new file mode 100644 index 0000000000..f0a6ad7ddf Binary files /dev/null and b/backend/layers/Held Item Girl/Blue Lightsaber.png differ diff --git a/backend/layers/Held Item Girl/Blue Snake.png b/backend/layers/Held Item Girl/Blue Snake.png new file mode 100644 index 0000000000..a0c1b18322 Binary files /dev/null and b/backend/layers/Held Item Girl/Blue Snake.png differ diff --git a/backend/layers/Held Item Girl/Blue Taco Shield.png b/backend/layers/Held Item Girl/Blue Taco Shield.png new file mode 100644 index 0000000000..367d035e26 Binary files /dev/null and b/backend/layers/Held Item Girl/Blue Taco Shield.png differ diff --git a/backend/layers/Held Item Girl/Bow.png b/backend/layers/Held Item Girl/Bow.png new file mode 100644 index 0000000000..ae000b3c4a Binary files /dev/null and b/backend/layers/Held Item Girl/Bow.png differ diff --git a/backend/layers/Held Item Girl/Boxing Gloves.png b/backend/layers/Held Item Girl/Boxing Gloves.png new file mode 100644 index 0000000000..20623d4d38 Binary files /dev/null and b/backend/layers/Held Item Girl/Boxing Gloves.png differ diff --git a/backend/layers/Held Item Girl/Carrot.png b/backend/layers/Held Item Girl/Carrot.png new file mode 100644 index 0000000000..7b580002e3 Binary files /dev/null and b/backend/layers/Held Item Girl/Carrot.png differ diff --git a/backend/layers/Held Item Girl/Casino.png b/backend/layers/Held Item Girl/Casino.png new file mode 100644 index 0000000000..579fba6b44 Binary files /dev/null and b/backend/layers/Held Item Girl/Casino.png differ diff --git a/backend/layers/Held Item Girl/Composite Bow.png b/backend/layers/Held Item Girl/Composite Bow.png new file mode 100644 index 0000000000..de5377805b Binary files /dev/null and b/backend/layers/Held Item Girl/Composite Bow.png differ diff --git a/backend/layers/Held Item Girl/Cutlass.png b/backend/layers/Held Item Girl/Cutlass.png new file mode 100644 index 0000000000..5217eba963 Binary files /dev/null and b/backend/layers/Held Item Girl/Cutlass.png differ diff --git a/backend/layers/Held Item Girl/Game Controller.png b/backend/layers/Held Item Girl/Game Controller.png new file mode 100644 index 0000000000..1d99257f89 Binary files /dev/null and b/backend/layers/Held Item Girl/Game Controller.png differ diff --git a/backend/layers/Held Item Girl/Glowing Purple Katana.png b/backend/layers/Held Item Girl/Glowing Purple Katana.png new file mode 100644 index 0000000000..42deb33e36 Binary files /dev/null and b/backend/layers/Held Item Girl/Glowing Purple Katana.png differ diff --git a/backend/layers/Held Item Girl/Glowing Red Katana.png b/backend/layers/Held Item Girl/Glowing Red Katana.png new file mode 100644 index 0000000000..9036db21a9 Binary files /dev/null and b/backend/layers/Held Item Girl/Glowing Red Katana.png differ diff --git a/backend/layers/Held Item Girl/Glowing Teal Katana.png b/backend/layers/Held Item Girl/Glowing Teal Katana.png new file mode 100644 index 0000000000..41088ae9f4 Binary files /dev/null and b/backend/layers/Held Item Girl/Glowing Teal Katana.png differ diff --git a/backend/layers/Held Item Girl/Glowing Yellow Katana.png b/backend/layers/Held Item Girl/Glowing Yellow Katana.png new file mode 100644 index 0000000000..8026cf12e6 Binary files /dev/null and b/backend/layers/Held Item Girl/Glowing Yellow Katana.png differ diff --git a/backend/layers/Held Item Girl/Gold Metal.png b/backend/layers/Held Item Girl/Gold Metal.png new file mode 100644 index 0000000000..3fae423933 Binary files /dev/null and b/backend/layers/Held Item Girl/Gold Metal.png differ diff --git a/backend/layers/Held Item Girl/Gold Taco Shield.png b/backend/layers/Held Item Girl/Gold Taco Shield.png new file mode 100644 index 0000000000..e7f18e9df5 Binary files /dev/null and b/backend/layers/Held Item Girl/Gold Taco Shield.png differ diff --git a/backend/layers/Held Item Girl/Grape Finance.png b/backend/layers/Held Item Girl/Grape Finance.png new file mode 100644 index 0000000000..a03cbef4c4 Binary files /dev/null and b/backend/layers/Held Item Girl/Grape Finance.png differ diff --git a/backend/layers/Held Item Girl/Green Snake.png b/backend/layers/Held Item Girl/Green Snake.png new file mode 100644 index 0000000000..0ab7c9312f Binary files /dev/null and b/backend/layers/Held Item Girl/Green Snake.png differ diff --git a/backend/layers/Held Item Girl/Green Taco Shield.png b/backend/layers/Held Item Girl/Green Taco Shield.png new file mode 100644 index 0000000000..292fd09963 Binary files /dev/null and b/backend/layers/Held Item Girl/Green Taco Shield.png differ diff --git a/backend/layers/Held Item Girl/Lightning.png b/backend/layers/Held Item Girl/Lightning.png new file mode 100644 index 0000000000..02ac8de11f Binary files /dev/null and b/backend/layers/Held Item Girl/Lightning.png differ diff --git a/backend/layers/Held Item Girl/Metal.png b/backend/layers/Held Item Girl/Metal.png new file mode 100644 index 0000000000..607bb4a09e Binary files /dev/null and b/backend/layers/Held Item Girl/Metal.png differ diff --git a/backend/layers/Held Item Girl/Pink Bong.png b/backend/layers/Held Item Girl/Pink Bong.png new file mode 100644 index 0000000000..bf1f05cf72 Binary files /dev/null and b/backend/layers/Held Item Girl/Pink Bong.png differ diff --git a/backend/layers/Held Item Girl/Purple Boxing Gloves.png b/backend/layers/Held Item Girl/Purple Boxing Gloves.png new file mode 100644 index 0000000000..a843bf7c7d Binary files /dev/null and b/backend/layers/Held Item Girl/Purple Boxing Gloves.png differ diff --git a/backend/layers/Held Item Girl/Purple Katana.png b/backend/layers/Held Item Girl/Purple Katana.png new file mode 100644 index 0000000000..223eef0ad9 Binary files /dev/null and b/backend/layers/Held Item Girl/Purple Katana.png differ diff --git a/backend/layers/Held Item Girl/Purple Lightsaber.png b/backend/layers/Held Item Girl/Purple Lightsaber.png new file mode 100644 index 0000000000..1063827241 Binary files /dev/null and b/backend/layers/Held Item Girl/Purple Lightsaber.png differ diff --git a/backend/layers/Held Item Girl/Red Katana.png b/backend/layers/Held Item Girl/Red Katana.png new file mode 100644 index 0000000000..2989810c2d Binary files /dev/null and b/backend/layers/Held Item Girl/Red Katana.png differ diff --git a/backend/layers/Held Item Girl/Red Lightsaber.png b/backend/layers/Held Item Girl/Red Lightsaber.png new file mode 100644 index 0000000000..9cef28a1ab Binary files /dev/null and b/backend/layers/Held Item Girl/Red Lightsaber.png differ diff --git a/backend/layers/Held Item Girl/Red Metal.png b/backend/layers/Held Item Girl/Red Metal.png new file mode 100644 index 0000000000..d440e13243 Binary files /dev/null and b/backend/layers/Held Item Girl/Red Metal.png differ diff --git a/backend/layers/Held Item Girl/Red Taco Shield.png b/backend/layers/Held Item Girl/Red Taco Shield.png new file mode 100644 index 0000000000..a2a73cf52d Binary files /dev/null and b/backend/layers/Held Item Girl/Red Taco Shield.png differ diff --git a/backend/layers/Held Item Girl/Rocket.png b/backend/layers/Held Item Girl/Rocket.png new file mode 100644 index 0000000000..c32427bbb6 Binary files /dev/null and b/backend/layers/Held Item Girl/Rocket.png differ diff --git a/backend/layers/Held Item Girl/Roman Dagger.png b/backend/layers/Held Item Girl/Roman Dagger.png new file mode 100644 index 0000000000..1891e473a6 Binary files /dev/null and b/backend/layers/Held Item Girl/Roman Dagger.png differ diff --git a/backend/layers/Held Item Girl/Sword.png b/backend/layers/Held Item Girl/Sword.png new file mode 100644 index 0000000000..14b0da1955 Binary files /dev/null and b/backend/layers/Held Item Girl/Sword.png differ diff --git a/backend/layers/Held Item Girl/Weights.png b/backend/layers/Held Item Girl/Weights.png new file mode 100644 index 0000000000..1134722768 Binary files /dev/null and b/backend/layers/Held Item Girl/Weights.png differ diff --git a/backend/layers/Held Item Whale/Fin Hold Right.png b/backend/layers/Held Item Whale/Fin Hold Right.png new file mode 100644 index 0000000000..956cfaef08 Binary files /dev/null and b/backend/layers/Held Item Whale/Fin Hold Right.png differ diff --git a/backend/layers/Iris/Large#20.png b/backend/layers/Iris/Large#20.png deleted file mode 100644 index b17ee6f6ae..0000000000 Binary files a/backend/layers/Iris/Large#20.png and /dev/null differ diff --git a/backend/layers/Iris/Medium#20.png b/backend/layers/Iris/Medium#20.png deleted file mode 100644 index f1b109d9ba..0000000000 Binary files a/backend/layers/Iris/Medium#20.png and /dev/null differ diff --git a/backend/layers/Iris/Small#60.png b/backend/layers/Iris/Small#60.png deleted file mode 100644 index e8893913b5..0000000000 Binary files a/backend/layers/Iris/Small#60.png and /dev/null differ diff --git a/backend/layers/Left Arm Whale/Shaka Left.png b/backend/layers/Left Arm Whale/Shaka Left.png new file mode 100644 index 0000000000..368f4aefe9 Binary files /dev/null and b/backend/layers/Left Arm Whale/Shaka Left.png differ diff --git a/backend/layers/Left Leg Whale/Barefoot Left.png b/backend/layers/Left Leg Whale/Barefoot Left.png new file mode 100644 index 0000000000..1bfe83d259 Binary files /dev/null and b/backend/layers/Left Leg Whale/Barefoot Left.png differ diff --git a/backend/layers/Mouth Boy/Angry.png b/backend/layers/Mouth Boy/Angry.png new file mode 100644 index 0000000000..d1972a2d55 Binary files /dev/null and b/backend/layers/Mouth Boy/Angry.png differ diff --git a/backend/layers/Mouth Boy/Black Cat.png b/backend/layers/Mouth Boy/Black Cat.png new file mode 100644 index 0000000000..7d5d38fa39 Binary files /dev/null and b/backend/layers/Mouth Boy/Black Cat.png differ diff --git a/backend/layers/Mouth Boy/Boop.png b/backend/layers/Mouth Boy/Boop.png new file mode 100644 index 0000000000..e844a18998 Binary files /dev/null and b/backend/layers/Mouth Boy/Boop.png differ diff --git a/backend/layers/Mouth Boy/Burrito.png b/backend/layers/Mouth Boy/Burrito.png new file mode 100644 index 0000000000..55cfc3767b Binary files /dev/null and b/backend/layers/Mouth Boy/Burrito.png differ diff --git a/backend/layers/Mouth Boy/Busted.png b/backend/layers/Mouth Boy/Busted.png new file mode 100644 index 0000000000..1cd9ebf0b4 Binary files /dev/null and b/backend/layers/Mouth Boy/Busted.png differ diff --git a/backend/layers/Mouth Boy/Derp.png b/backend/layers/Mouth Boy/Derp.png new file mode 100644 index 0000000000..82fa37ebd8 Binary files /dev/null and b/backend/layers/Mouth Boy/Derp.png differ diff --git a/backend/layers/Mouth Boy/Flat.png b/backend/layers/Mouth Boy/Flat.png new file mode 100644 index 0000000000..be1d22d520 Binary files /dev/null and b/backend/layers/Mouth Boy/Flat.png differ diff --git a/backend/layers/Mouth Boy/Gold Metal.png b/backend/layers/Mouth Boy/Gold Metal.png new file mode 100644 index 0000000000..fc68680a89 Binary files /dev/null and b/backend/layers/Mouth Boy/Gold Metal.png differ diff --git a/backend/layers/Mouth Boy/Gold Smirk.png b/backend/layers/Mouth Boy/Gold Smirk.png new file mode 100644 index 0000000000..2ea62fb174 Binary files /dev/null and b/backend/layers/Mouth Boy/Gold Smirk.png differ diff --git a/backend/layers/Mouth Boy/Long Mustache Black.png b/backend/layers/Mouth Boy/Long Mustache Black.png new file mode 100644 index 0000000000..734e5697a5 Binary files /dev/null and b/backend/layers/Mouth Boy/Long Mustache Black.png differ diff --git a/backend/layers/Mouth Boy/Long Mustache Brown.png b/backend/layers/Mouth Boy/Long Mustache Brown.png new file mode 100644 index 0000000000..d7627b8091 Binary files /dev/null and b/backend/layers/Mouth Boy/Long Mustache Brown.png differ diff --git a/backend/layers/Mouth Boy/Long Mustache Grey.png b/backend/layers/Mouth Boy/Long Mustache Grey.png new file mode 100644 index 0000000000..4b73710355 Binary files /dev/null and b/backend/layers/Mouth Boy/Long Mustache Grey.png differ diff --git a/backend/layers/Mouth Boy/Mustache Black.png b/backend/layers/Mouth Boy/Mustache Black.png new file mode 100644 index 0000000000..d180782b13 Binary files /dev/null and b/backend/layers/Mouth Boy/Mustache Black.png differ diff --git a/backend/layers/Mouth Boy/Mustache Brown.png b/backend/layers/Mouth Boy/Mustache Brown.png new file mode 100644 index 0000000000..4598f5d2ab Binary files /dev/null and b/backend/layers/Mouth Boy/Mustache Brown.png differ diff --git a/backend/layers/Mouth Boy/Mustache Grey.png b/backend/layers/Mouth Boy/Mustache Grey.png new file mode 100644 index 0000000000..84aef229b0 Binary files /dev/null and b/backend/layers/Mouth Boy/Mustache Grey.png differ diff --git a/backend/layers/Mouth Boy/Red Metal.png b/backend/layers/Mouth Boy/Red Metal.png new file mode 100644 index 0000000000..7ee1b20cb5 Binary files /dev/null and b/backend/layers/Mouth Boy/Red Metal.png differ diff --git a/backend/layers/Mouth Boy/Robot.png b/backend/layers/Mouth Boy/Robot.png new file mode 100644 index 0000000000..068a4291aa Binary files /dev/null and b/backend/layers/Mouth Boy/Robot.png differ diff --git a/backend/layers/Mouth Boy/Sewn.png b/backend/layers/Mouth Boy/Sewn.png new file mode 100644 index 0000000000..60e415ed2e Binary files /dev/null and b/backend/layers/Mouth Boy/Sewn.png differ diff --git a/backend/layers/Mouth Boy/Smile.png b/backend/layers/Mouth Boy/Smile.png new file mode 100644 index 0000000000..06303c118d Binary files /dev/null and b/backend/layers/Mouth Boy/Smile.png differ diff --git a/backend/layers/Mouth Boy/Snake.png b/backend/layers/Mouth Boy/Snake.png new file mode 100644 index 0000000000..9e25bf98ed Binary files /dev/null and b/backend/layers/Mouth Boy/Snake.png differ diff --git a/backend/layers/Mouth Boy/Spliff.png b/backend/layers/Mouth Boy/Spliff.png new file mode 100644 index 0000000000..1aa069f2aa Binary files /dev/null and b/backend/layers/Mouth Boy/Spliff.png differ diff --git a/backend/layers/Mouth Boy/Upset.png b/backend/layers/Mouth Boy/Upset.png new file mode 100644 index 0000000000..96a1a4e081 Binary files /dev/null and b/backend/layers/Mouth Boy/Upset.png differ diff --git a/backend/layers/Mouth Boy/White Cat.png b/backend/layers/Mouth Boy/White Cat.png new file mode 100644 index 0000000000..ff2aa349b3 Binary files /dev/null and b/backend/layers/Mouth Boy/White Cat.png differ diff --git a/backend/layers/Mouth Caesar/Caesar.png b/backend/layers/Mouth Caesar/Caesar.png new file mode 100644 index 0000000000..a75d91a479 Binary files /dev/null and b/backend/layers/Mouth Caesar/Caesar.png differ diff --git a/backend/layers/Mouth Cyborg/Cyborg.png b/backend/layers/Mouth Cyborg/Cyborg.png new file mode 100644 index 0000000000..a75d91a479 Binary files /dev/null and b/backend/layers/Mouth Cyborg/Cyborg.png differ diff --git a/backend/layers/Mouth Girl/Black Cat.png b/backend/layers/Mouth Girl/Black Cat.png new file mode 100644 index 0000000000..7d5d38fa39 Binary files /dev/null and b/backend/layers/Mouth Girl/Black Cat.png differ diff --git a/backend/layers/Mouth Girl/Blue Angry.png b/backend/layers/Mouth Girl/Blue Angry.png new file mode 100644 index 0000000000..dc458dd6ea Binary files /dev/null and b/backend/layers/Mouth Girl/Blue Angry.png differ diff --git a/backend/layers/Mouth Girl/Blue Busted.png b/backend/layers/Mouth Girl/Blue Busted.png new file mode 100644 index 0000000000..8eeb9623c6 Binary files /dev/null and b/backend/layers/Mouth Girl/Blue Busted.png differ diff --git a/backend/layers/Mouth Girl/Blue Gold Smirk.png b/backend/layers/Mouth Girl/Blue Gold Smirk.png new file mode 100644 index 0000000000..d472533696 Binary files /dev/null and b/backend/layers/Mouth Girl/Blue Gold Smirk.png differ diff --git a/backend/layers/Mouth Girl/Blue Smile.png b/backend/layers/Mouth Girl/Blue Smile.png new file mode 100644 index 0000000000..64f799b28e Binary files /dev/null and b/backend/layers/Mouth Girl/Blue Smile.png differ diff --git a/backend/layers/Mouth Girl/Boop.png b/backend/layers/Mouth Girl/Boop.png new file mode 100644 index 0000000000..e844a18998 Binary files /dev/null and b/backend/layers/Mouth Girl/Boop.png differ diff --git a/backend/layers/Mouth Girl/Burrito.png b/backend/layers/Mouth Girl/Burrito.png new file mode 100644 index 0000000000..55cfc3767b Binary files /dev/null and b/backend/layers/Mouth Girl/Burrito.png differ diff --git a/backend/layers/Mouth Girl/Derp.png b/backend/layers/Mouth Girl/Derp.png new file mode 100644 index 0000000000..82fa37ebd8 Binary files /dev/null and b/backend/layers/Mouth Girl/Derp.png differ diff --git a/backend/layers/Mouth Girl/Gold Metal.png b/backend/layers/Mouth Girl/Gold Metal.png new file mode 100644 index 0000000000..fc68680a89 Binary files /dev/null and b/backend/layers/Mouth Girl/Gold Metal.png differ diff --git a/backend/layers/Mouth Girl/Metal.png b/backend/layers/Mouth Girl/Metal.png new file mode 100644 index 0000000000..068a4291aa Binary files /dev/null and b/backend/layers/Mouth Girl/Metal.png differ diff --git a/backend/layers/Mouth Girl/Purple Angry.png b/backend/layers/Mouth Girl/Purple Angry.png new file mode 100644 index 0000000000..42793790f5 Binary files /dev/null and b/backend/layers/Mouth Girl/Purple Angry.png differ diff --git a/backend/layers/Mouth Girl/Purple Big Smile.png b/backend/layers/Mouth Girl/Purple Big Smile.png new file mode 100644 index 0000000000..2b3452a250 Binary files /dev/null and b/backend/layers/Mouth Girl/Purple Big Smile.png differ diff --git a/backend/layers/Mouth Girl/Purple Busted.png b/backend/layers/Mouth Girl/Purple Busted.png new file mode 100644 index 0000000000..212d33e067 Binary files /dev/null and b/backend/layers/Mouth Girl/Purple Busted.png differ diff --git a/backend/layers/Mouth Girl/Purple Flat.png b/backend/layers/Mouth Girl/Purple Flat.png new file mode 100644 index 0000000000..bfa046e15b Binary files /dev/null and b/backend/layers/Mouth Girl/Purple Flat.png differ diff --git a/backend/layers/Mouth Girl/Purple Gold Smirk.png b/backend/layers/Mouth Girl/Purple Gold Smirk.png new file mode 100644 index 0000000000..76f6b8aef0 Binary files /dev/null and b/backend/layers/Mouth Girl/Purple Gold Smirk.png differ diff --git a/backend/layers/Mouth Girl/Red Angry.png b/backend/layers/Mouth Girl/Red Angry.png new file mode 100644 index 0000000000..b8417b7195 Binary files /dev/null and b/backend/layers/Mouth Girl/Red Angry.png differ diff --git a/backend/layers/Mouth Girl/Red Big Smile.png b/backend/layers/Mouth Girl/Red Big Smile.png new file mode 100644 index 0000000000..10e15682b2 Binary files /dev/null and b/backend/layers/Mouth Girl/Red Big Smile.png differ diff --git a/backend/layers/Mouth Girl/Red Busted.png b/backend/layers/Mouth Girl/Red Busted.png new file mode 100644 index 0000000000..c3f563ce51 Binary files /dev/null and b/backend/layers/Mouth Girl/Red Busted.png differ diff --git a/backend/layers/Mouth Girl/Red Flat.png b/backend/layers/Mouth Girl/Red Flat.png new file mode 100644 index 0000000000..288451f457 Binary files /dev/null and b/backend/layers/Mouth Girl/Red Flat.png differ diff --git a/backend/layers/Mouth Girl/Red Gold Smirk.png b/backend/layers/Mouth Girl/Red Gold Smirk.png new file mode 100644 index 0000000000..05c5986ec2 Binary files /dev/null and b/backend/layers/Mouth Girl/Red Gold Smirk.png differ diff --git a/backend/layers/Mouth Girl/Red Metal.png b/backend/layers/Mouth Girl/Red Metal.png new file mode 100644 index 0000000000..7ee1b20cb5 Binary files /dev/null and b/backend/layers/Mouth Girl/Red Metal.png differ diff --git a/backend/layers/Mouth Girl/Sewn.png b/backend/layers/Mouth Girl/Sewn.png new file mode 100644 index 0000000000..60e415ed2e Binary files /dev/null and b/backend/layers/Mouth Girl/Sewn.png differ diff --git a/backend/layers/Mouth Girl/Snake.png b/backend/layers/Mouth Girl/Snake.png new file mode 100644 index 0000000000..fa9a374a7d Binary files /dev/null and b/backend/layers/Mouth Girl/Snake.png differ diff --git a/backend/layers/Mouth Girl/Spliff.png b/backend/layers/Mouth Girl/Spliff.png new file mode 100644 index 0000000000..1aa069f2aa Binary files /dev/null and b/backend/layers/Mouth Girl/Spliff.png differ diff --git a/backend/layers/Mouth Girl/White Cat.png b/backend/layers/Mouth Girl/White Cat.png new file mode 100644 index 0000000000..ff2aa349b3 Binary files /dev/null and b/backend/layers/Mouth Girl/White Cat.png differ diff --git a/backend/layers/Mouth Whale/Smirk.png b/backend/layers/Mouth Whale/Smirk.png new file mode 100644 index 0000000000..edb0927ba1 Binary files /dev/null and b/backend/layers/Mouth Whale/Smirk.png differ diff --git a/backend/layers/Nose Boy/Black Cat.png b/backend/layers/Nose Boy/Black Cat.png new file mode 100644 index 0000000000..deb5e63349 Binary files /dev/null and b/backend/layers/Nose Boy/Black Cat.png differ diff --git a/backend/layers/Nose Boy/Black Pig.png b/backend/layers/Nose Boy/Black Pig.png new file mode 100644 index 0000000000..6469ee3307 Binary files /dev/null and b/backend/layers/Nose Boy/Black Pig.png differ diff --git a/backend/layers/Nose Boy/Boo Boo.png b/backend/layers/Nose Boy/Boo Boo.png new file mode 100644 index 0000000000..282c4b48be Binary files /dev/null and b/backend/layers/Nose Boy/Boo Boo.png differ diff --git a/backend/layers/Nose Boy/Broad.png b/backend/layers/Nose Boy/Broad.png new file mode 100644 index 0000000000..6ec4c53521 Binary files /dev/null and b/backend/layers/Nose Boy/Broad.png differ diff --git a/backend/layers/Nose Boy/Burns.png b/backend/layers/Nose Boy/Burns.png new file mode 100644 index 0000000000..c93a2cef94 Binary files /dev/null and b/backend/layers/Nose Boy/Burns.png differ diff --git a/backend/layers/Nose Boy/Clown.png b/backend/layers/Nose Boy/Clown.png new file mode 100644 index 0000000000..b51ccc7d5a Binary files /dev/null and b/backend/layers/Nose Boy/Clown.png differ diff --git a/backend/layers/Nose Boy/Doofen.png b/backend/layers/Nose Boy/Doofen.png new file mode 100644 index 0000000000..c9bf188579 Binary files /dev/null and b/backend/layers/Nose Boy/Doofen.png differ diff --git a/backend/layers/Nose Boy/Flat.png b/backend/layers/Nose Boy/Flat.png new file mode 100644 index 0000000000..0660ce6907 Binary files /dev/null and b/backend/layers/Nose Boy/Flat.png differ diff --git a/backend/layers/Nose Boy/Gold Metal.png b/backend/layers/Nose Boy/Gold Metal.png new file mode 100644 index 0000000000..2811bd5bf2 Binary files /dev/null and b/backend/layers/Nose Boy/Gold Metal.png differ diff --git a/backend/layers/Nose Boy/Just A Nose.png b/backend/layers/Nose Boy/Just A Nose.png new file mode 100644 index 0000000000..9721383bb3 Binary files /dev/null and b/backend/layers/Nose Boy/Just A Nose.png differ diff --git a/backend/layers/Nose Boy/Long.png b/backend/layers/Nose Boy/Long.png new file mode 100644 index 0000000000..39ade73eda Binary files /dev/null and b/backend/layers/Nose Boy/Long.png differ diff --git a/backend/layers/Nose Boy/Metal.png b/backend/layers/Nose Boy/Metal.png new file mode 100644 index 0000000000..bd6069f072 Binary files /dev/null and b/backend/layers/Nose Boy/Metal.png differ diff --git a/backend/layers/Nose Boy/No Nose.png b/backend/layers/Nose Boy/No Nose.png new file mode 100644 index 0000000000..51f83fe939 Binary files /dev/null and b/backend/layers/Nose Boy/No Nose.png differ diff --git a/backend/layers/Nose Boy/Phat.png b/backend/layers/Nose Boy/Phat.png new file mode 100644 index 0000000000..f75d6aa987 Binary files /dev/null and b/backend/layers/Nose Boy/Phat.png differ diff --git a/backend/layers/Nose Boy/Pierced Bridge.png b/backend/layers/Nose Boy/Pierced Bridge.png new file mode 100644 index 0000000000..69ed998064 Binary files /dev/null and b/backend/layers/Nose Boy/Pierced Bridge.png differ diff --git a/backend/layers/Nose Boy/Pierced Septum.png b/backend/layers/Nose Boy/Pierced Septum.png new file mode 100644 index 0000000000..c6b69869f8 Binary files /dev/null and b/backend/layers/Nose Boy/Pierced Septum.png differ diff --git a/backend/layers/Nose Boy/Pierced.png b/backend/layers/Nose Boy/Pierced.png new file mode 100644 index 0000000000..bf8aba518f Binary files /dev/null and b/backend/layers/Nose Boy/Pierced.png differ diff --git a/backend/layers/Nose Boy/Pink Pig.png b/backend/layers/Nose Boy/Pink Pig.png new file mode 100644 index 0000000000..ded19040c8 Binary files /dev/null and b/backend/layers/Nose Boy/Pink Pig.png differ diff --git a/backend/layers/Nose Boy/Pointed.png b/backend/layers/Nose Boy/Pointed.png new file mode 100644 index 0000000000..df8983f3a4 Binary files /dev/null and b/backend/layers/Nose Boy/Pointed.png differ diff --git a/backend/layers/Nose Boy/Red Metal.png b/backend/layers/Nose Boy/Red Metal.png new file mode 100644 index 0000000000..94f051fe60 Binary files /dev/null and b/backend/layers/Nose Boy/Red Metal.png differ diff --git a/backend/layers/Nose Boy/Rigid.png b/backend/layers/Nose Boy/Rigid.png new file mode 100644 index 0000000000..97ff938477 Binary files /dev/null and b/backend/layers/Nose Boy/Rigid.png differ diff --git a/backend/layers/Nose Boy/Scar.png b/backend/layers/Nose Boy/Scar.png new file mode 100644 index 0000000000..993420d794 Binary files /dev/null and b/backend/layers/Nose Boy/Scar.png differ diff --git a/backend/layers/Nose Boy/Stubby.png b/backend/layers/Nose Boy/Stubby.png new file mode 100644 index 0000000000..cc3ec24fd3 Binary files /dev/null and b/backend/layers/Nose Boy/Stubby.png differ diff --git a/backend/layers/Nose Boy/White Cat.png b/backend/layers/Nose Boy/White Cat.png new file mode 100644 index 0000000000..ffdbbc68ef Binary files /dev/null and b/backend/layers/Nose Boy/White Cat.png differ diff --git a/backend/layers/Nose Boy/Wide.png b/backend/layers/Nose Boy/Wide.png new file mode 100644 index 0000000000..2916278b60 Binary files /dev/null and b/backend/layers/Nose Boy/Wide.png differ diff --git a/backend/layers/Nose Caesar/Caesar.png b/backend/layers/Nose Caesar/Caesar.png new file mode 100644 index 0000000000..a75d91a479 Binary files /dev/null and b/backend/layers/Nose Caesar/Caesar.png differ diff --git a/backend/layers/Nose Cyborg/Cyborg.png b/backend/layers/Nose Cyborg/Cyborg.png new file mode 100644 index 0000000000..a75d91a479 Binary files /dev/null and b/backend/layers/Nose Cyborg/Cyborg.png differ diff --git a/backend/layers/Nose Girl/Black Cat.png b/backend/layers/Nose Girl/Black Cat.png new file mode 100644 index 0000000000..deb5e63349 Binary files /dev/null and b/backend/layers/Nose Girl/Black Cat.png differ diff --git a/backend/layers/Nose Girl/Black Pig.png b/backend/layers/Nose Girl/Black Pig.png new file mode 100644 index 0000000000..6469ee3307 Binary files /dev/null and b/backend/layers/Nose Girl/Black Pig.png differ diff --git a/backend/layers/Nose Girl/Boo Boo.png b/backend/layers/Nose Girl/Boo Boo.png new file mode 100644 index 0000000000..282c4b48be Binary files /dev/null and b/backend/layers/Nose Girl/Boo Boo.png differ diff --git a/backend/layers/Nose Girl/Broad.png b/backend/layers/Nose Girl/Broad.png new file mode 100644 index 0000000000..6ec4c53521 Binary files /dev/null and b/backend/layers/Nose Girl/Broad.png differ diff --git a/backend/layers/Nose Girl/Burns.png b/backend/layers/Nose Girl/Burns.png new file mode 100644 index 0000000000..c93a2cef94 Binary files /dev/null and b/backend/layers/Nose Girl/Burns.png differ diff --git a/backend/layers/Nose Girl/Clown.png b/backend/layers/Nose Girl/Clown.png new file mode 100644 index 0000000000..b51ccc7d5a Binary files /dev/null and b/backend/layers/Nose Girl/Clown.png differ diff --git a/backend/layers/Nose Girl/Doofen.png b/backend/layers/Nose Girl/Doofen.png new file mode 100644 index 0000000000..c9bf188579 Binary files /dev/null and b/backend/layers/Nose Girl/Doofen.png differ diff --git a/backend/layers/Nose Girl/Flat.png b/backend/layers/Nose Girl/Flat.png new file mode 100644 index 0000000000..0660ce6907 Binary files /dev/null and b/backend/layers/Nose Girl/Flat.png differ diff --git a/backend/layers/Nose Girl/Gold Metal.png b/backend/layers/Nose Girl/Gold Metal.png new file mode 100644 index 0000000000..2811bd5bf2 Binary files /dev/null and b/backend/layers/Nose Girl/Gold Metal.png differ diff --git a/backend/layers/Nose Girl/Just A Nose.png b/backend/layers/Nose Girl/Just A Nose.png new file mode 100644 index 0000000000..9721383bb3 Binary files /dev/null and b/backend/layers/Nose Girl/Just A Nose.png differ diff --git a/backend/layers/Nose Girl/Long.png b/backend/layers/Nose Girl/Long.png new file mode 100644 index 0000000000..39ade73eda Binary files /dev/null and b/backend/layers/Nose Girl/Long.png differ diff --git a/backend/layers/Nose Girl/Metal.png b/backend/layers/Nose Girl/Metal.png new file mode 100644 index 0000000000..bd6069f072 Binary files /dev/null and b/backend/layers/Nose Girl/Metal.png differ diff --git a/backend/layers/Nose Girl/No Nose.png b/backend/layers/Nose Girl/No Nose.png new file mode 100644 index 0000000000..51f83fe939 Binary files /dev/null and b/backend/layers/Nose Girl/No Nose.png differ diff --git a/backend/layers/Nose Girl/Phat.png b/backend/layers/Nose Girl/Phat.png new file mode 100644 index 0000000000..f75d6aa987 Binary files /dev/null and b/backend/layers/Nose Girl/Phat.png differ diff --git a/backend/layers/Nose Girl/Pierced Bridge.png b/backend/layers/Nose Girl/Pierced Bridge.png new file mode 100644 index 0000000000..69ed998064 Binary files /dev/null and b/backend/layers/Nose Girl/Pierced Bridge.png differ diff --git a/backend/layers/Nose Girl/Pierced Septum.png b/backend/layers/Nose Girl/Pierced Septum.png new file mode 100644 index 0000000000..c6b69869f8 Binary files /dev/null and b/backend/layers/Nose Girl/Pierced Septum.png differ diff --git a/backend/layers/Nose Girl/Pierced.png b/backend/layers/Nose Girl/Pierced.png new file mode 100644 index 0000000000..bf8aba518f Binary files /dev/null and b/backend/layers/Nose Girl/Pierced.png differ diff --git a/backend/layers/Nose Girl/Pink Pig.png b/backend/layers/Nose Girl/Pink Pig.png new file mode 100644 index 0000000000..ded19040c8 Binary files /dev/null and b/backend/layers/Nose Girl/Pink Pig.png differ diff --git a/backend/layers/Nose Girl/Pointed.png b/backend/layers/Nose Girl/Pointed.png new file mode 100644 index 0000000000..df8983f3a4 Binary files /dev/null and b/backend/layers/Nose Girl/Pointed.png differ diff --git a/backend/layers/Nose Girl/Red Metal.png b/backend/layers/Nose Girl/Red Metal.png new file mode 100644 index 0000000000..94f051fe60 Binary files /dev/null and b/backend/layers/Nose Girl/Red Metal.png differ diff --git a/backend/layers/Nose Girl/Rigid.png b/backend/layers/Nose Girl/Rigid.png new file mode 100644 index 0000000000..97ff938477 Binary files /dev/null and b/backend/layers/Nose Girl/Rigid.png differ diff --git a/backend/layers/Nose Girl/Scar.png b/backend/layers/Nose Girl/Scar.png new file mode 100644 index 0000000000..993420d794 Binary files /dev/null and b/backend/layers/Nose Girl/Scar.png differ diff --git a/backend/layers/Nose Girl/Stubby.png b/backend/layers/Nose Girl/Stubby.png new file mode 100644 index 0000000000..cc3ec24fd3 Binary files /dev/null and b/backend/layers/Nose Girl/Stubby.png differ diff --git a/backend/layers/Nose Girl/White Cat.png b/backend/layers/Nose Girl/White Cat.png new file mode 100644 index 0000000000..ffdbbc68ef Binary files /dev/null and b/backend/layers/Nose Girl/White Cat.png differ diff --git a/backend/layers/Nose Girl/Wide.png b/backend/layers/Nose Girl/Wide.png new file mode 100644 index 0000000000..2916278b60 Binary files /dev/null and b/backend/layers/Nose Girl/Wide.png differ diff --git a/backend/layers/Nose Whale/Sunblock.png b/backend/layers/Nose Whale/Sunblock.png new file mode 100644 index 0000000000..c2d04fc035 Binary files /dev/null and b/backend/layers/Nose Whale/Sunblock.png differ diff --git a/backend/layers/Right Leg Whale/Barefoot Right.png b/backend/layers/Right Leg Whale/Barefoot Right.png new file mode 100644 index 0000000000..241b5a04d6 Binary files /dev/null and b/backend/layers/Right Leg Whale/Barefoot Right.png differ diff --git a/backend/layers/Shell Boy/Choco Taco.png b/backend/layers/Shell Boy/Choco Taco.png new file mode 100644 index 0000000000..b686373950 Binary files /dev/null and b/backend/layers/Shell Boy/Choco Taco.png differ diff --git a/backend/layers/Shell Boy/Flaming.png b/backend/layers/Shell Boy/Flaming.png new file mode 100644 index 0000000000..3e52b774ce Binary files /dev/null and b/backend/layers/Shell Boy/Flaming.png differ diff --git a/backend/layers/Shell Boy/Hard Shell.png b/backend/layers/Shell Boy/Hard Shell.png new file mode 100644 index 0000000000..6dc992eb6f Binary files /dev/null and b/backend/layers/Shell Boy/Hard Shell.png differ diff --git a/backend/layers/Shell Boy/Nacho.png b/backend/layers/Shell Boy/Nacho.png new file mode 100644 index 0000000000..7fe01174ca Binary files /dev/null and b/backend/layers/Shell Boy/Nacho.png differ diff --git a/backend/layers/Shell Boy/Pink.png b/backend/layers/Shell Boy/Pink.png new file mode 100644 index 0000000000..fb0c677fb8 Binary files /dev/null and b/backend/layers/Shell Boy/Pink.png differ diff --git a/backend/layers/Shell Boy/Rainbow.png b/backend/layers/Shell Boy/Rainbow.png new file mode 100644 index 0000000000..36acc36bdd Binary files /dev/null and b/backend/layers/Shell Boy/Rainbow.png differ diff --git a/backend/layers/Shell Boy/Soft Taco.png b/backend/layers/Shell Boy/Soft Taco.png new file mode 100644 index 0000000000..8bf0d5e70d Binary files /dev/null and b/backend/layers/Shell Boy/Soft Taco.png differ diff --git a/backend/layers/Shell Caesar/Caesar.png b/backend/layers/Shell Caesar/Caesar.png new file mode 100644 index 0000000000..a75d91a479 Binary files /dev/null and b/backend/layers/Shell Caesar/Caesar.png differ diff --git a/backend/layers/Shell Cyborg/Cyborg.png b/backend/layers/Shell Cyborg/Cyborg.png new file mode 100644 index 0000000000..a75d91a479 Binary files /dev/null and b/backend/layers/Shell Cyborg/Cyborg.png differ diff --git a/backend/layers/Shell Girl/Choco Taco.png b/backend/layers/Shell Girl/Choco Taco.png new file mode 100644 index 0000000000..a6500cc9d7 Binary files /dev/null and b/backend/layers/Shell Girl/Choco Taco.png differ diff --git a/backend/layers/Shell Girl/Flaming.png b/backend/layers/Shell Girl/Flaming.png new file mode 100644 index 0000000000..28bbe534fa Binary files /dev/null and b/backend/layers/Shell Girl/Flaming.png differ diff --git a/backend/layers/Shell Girl/Hard Shell.png b/backend/layers/Shell Girl/Hard Shell.png new file mode 100644 index 0000000000..4181e1826f Binary files /dev/null and b/backend/layers/Shell Girl/Hard Shell.png differ diff --git a/backend/layers/Shell Girl/Nacho.png b/backend/layers/Shell Girl/Nacho.png new file mode 100644 index 0000000000..6945e0c3d4 Binary files /dev/null and b/backend/layers/Shell Girl/Nacho.png differ diff --git a/backend/layers/Shell Girl/Pink.png b/backend/layers/Shell Girl/Pink.png new file mode 100644 index 0000000000..c0af2cffa2 Binary files /dev/null and b/backend/layers/Shell Girl/Pink.png differ diff --git a/backend/layers/Shell Girl/Soft Taco.png b/backend/layers/Shell Girl/Soft Taco.png new file mode 100644 index 0000000000..0af8e276da Binary files /dev/null and b/backend/layers/Shell Girl/Soft Taco.png differ diff --git a/backend/layers/Shine/Shapes#100.png b/backend/layers/Shine/Shapes#100.png deleted file mode 100644 index a75ca598bf..0000000000 Binary files a/backend/layers/Shine/Shapes#100.png and /dev/null differ diff --git a/backend/layers/Shorts Whale/Logo Red.png b/backend/layers/Shorts Whale/Logo Red.png new file mode 100644 index 0000000000..81636e8f4c Binary files /dev/null and b/backend/layers/Shorts Whale/Logo Red.png differ diff --git a/backend/layers/Taco Body Whale/Beachbod.png b/backend/layers/Taco Body Whale/Beachbod.png new file mode 100644 index 0000000000..9f99b0ed3f Binary files /dev/null and b/backend/layers/Taco Body Whale/Beachbod.png differ diff --git a/backend/layers/Top lid/High#30.png b/backend/layers/Top lid/High#30.png deleted file mode 100644 index b2bc29cf22..0000000000 Binary files a/backend/layers/Top lid/High#30.png and /dev/null differ diff --git a/backend/layers/Top lid/Low#20.png b/backend/layers/Top lid/Low#20.png deleted file mode 100644 index 950cc1f9bb..0000000000 Binary files a/backend/layers/Top lid/Low#20.png and /dev/null differ diff --git a/backend/layers/Top lid/Middle#50.png b/backend/layers/Top lid/Middle#50.png deleted file mode 100644 index 29524bff70..0000000000 Binary files a/backend/layers/Top lid/Middle#50.png and /dev/null differ diff --git a/backend/layers/Whale/HWMC.png b/backend/layers/Whale/HWMC.png new file mode 100644 index 0000000000..7d59c34825 Binary files /dev/null and b/backend/layers/Whale/HWMC.png differ diff --git a/backend/package-lock.json b/backend/package-lock.json new file mode 100644 index 0000000000..5ca6ced05c --- /dev/null +++ b/backend/package-lock.json @@ -0,0 +1,2958 @@ +{ + "name": "minter-dapp-backend", + "version": "0.0.2", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "minter-dapp-backend", + "version": "0.0.2", + "license": "MIT", + "dependencies": { + "async-sema": "^3.1.1", + "canvas": "^2.8.0", + "commander": "^9.0.0", + "dotenv": "^16.0.0", + "form-data": "^4.0.0", + "gif-encoder-2": "^1.0.5", + "graceful-fs": "^4.2.9", + "node-fetch": "^2.6.6", + "puppeteer": "^13.4.1", + "puppeteer-extra": "^3.2.3", + "puppeteer-extra-plugin-adblocker": "^2.12.0", + "puppeteer-extra-plugin-stealth": "^2.9.0", + "sha1": "^1.1.1", + "yesno": "^0.3.1" + }, + "bin": { + "minter-dapp-backend": "index.js" + } + }, + "node_modules/@cliqz/adblocker": { + "version": "1.23.8", + "resolved": "https://registry.npmjs.org/@cliqz/adblocker/-/adblocker-1.23.8.tgz", + "integrity": "sha512-xM1JYTv5dA+pPP4x4IVZdjkM9aAsakTnShFLuHLzMxMHd20eUB91NXm4kK6acw9nHwG6rCyat6+u7TvAqSmR6g==", + "dependencies": { + "@cliqz/adblocker-content": "^1.23.8", + "@cliqz/adblocker-extended-selectors": "^1.23.8", + "@remusao/guess-url-type": "^1.1.2", + "@remusao/small": "^1.1.2", + "@remusao/smaz": "^1.7.1", + "@types/chrome": "^0.0.183", + "@types/firefox-webext-browser": "^94.0.0", + "tldts-experimental": "^5.6.21" + } + }, + "node_modules/@cliqz/adblocker-content": { + "version": "1.23.8", + "resolved": "https://registry.npmjs.org/@cliqz/adblocker-content/-/adblocker-content-1.23.8.tgz", + "integrity": "sha512-5Wm/OSA6H8AUVFi8SDff6xJ4zT/1VCrNoUnevFEi3e0MCmdQUvn+cJc03Saky7Ch5oLSJKTXNNMyPaODZLz24A==", + "dependencies": { + "@cliqz/adblocker-extended-selectors": "^1.23.8" + } + }, + "node_modules/@cliqz/adblocker-extended-selectors": { + "version": "1.23.8", + "resolved": "https://registry.npmjs.org/@cliqz/adblocker-extended-selectors/-/adblocker-extended-selectors-1.23.8.tgz", + "integrity": "sha512-5xx47oT2Q9E3vkfEm/EzSs7cAPi8WNWtu7kJcGa/urVkDchJwdkdelvQ2Dof+k5icI5AqZorZSsk9Q7w2bLxrA==" + }, + "node_modules/@mapbox/node-pre-gyp": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.9.tgz", + "integrity": "sha512-aDF3S3rK9Q2gey/WAttUlISduDItz5BU3306M9Eyv6/oS40aMprnopshtlKTykxRNIBEZuRMaZAnbrQ4QtKGyw==", + "dependencies": { + "detect-libc": "^2.0.0", + "https-proxy-agent": "^5.0.0", + "make-dir": "^3.1.0", + "node-fetch": "^2.6.7", + "nopt": "^5.0.0", + "npmlog": "^5.0.1", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.11" + }, + "bin": { + "node-pre-gyp": "bin/node-pre-gyp" + } + }, + "node_modules/@remusao/guess-url-type": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@remusao/guess-url-type/-/guess-url-type-1.2.1.tgz", + "integrity": "sha512-rbOqre2jW8STjheOsOaQHLgYBaBZ9Owbdt8NO7WvNZftJlaG3y/K9oOkl8ZUpuFBisIhmBuMEW6c+YrQl5inRA==" + }, + "node_modules/@remusao/small": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@remusao/small/-/small-1.2.1.tgz", + "integrity": "sha512-7MjoGt0TJMVw1GPKgWq6SJPws1SLsUXQRa43Umht+nkyw2jnpy3WpiLNqGdwo5rHr5Wp9B2W/Pm5RQp656UJdw==" + }, + "node_modules/@remusao/smaz": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@remusao/smaz/-/smaz-1.9.1.tgz", + "integrity": "sha512-e6BLuP8oaXCZ9+v46Is4ilAZ/Vq6YLgmBP204Ixgk1qTjXmqvFYG7+AS7v9nsZdGOy96r9DWGFbbDVgMxwu1rA==", + "dependencies": { + "@remusao/smaz-compress": "^1.9.1", + "@remusao/smaz-decompress": "^1.9.1" + } + }, + "node_modules/@remusao/smaz-compress": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@remusao/smaz-compress/-/smaz-compress-1.9.1.tgz", + "integrity": "sha512-E2f48TwloQu3r6BdLOGF2aczeH7bJ/32oJGqvzT9SKur0cuUnLcZ7ZXP874E2fwmdE+cXzfC7bKzp79cDnmeyw==", + "dependencies": { + "@remusao/trie": "^1.4.1" + } + }, + "node_modules/@remusao/smaz-decompress": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@remusao/smaz-decompress/-/smaz-decompress-1.9.1.tgz", + "integrity": "sha512-TfjKKprYe3n47od8auhvJ/Ikj9kQTbDTe71ynKlxslrvvUhlIV3VQSuwYuMWMbdz1fIs0H/fxCN1Z8/H3km6/A==" + }, + "node_modules/@remusao/trie": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@remusao/trie/-/trie-1.4.1.tgz", + "integrity": "sha512-yvwa+aCyYI/UjeD39BnpMypG8N06l86wIDW1/PAc6ihBRnodIfZDwccxQN3n1t74wduzaz74m4ZMHZnB06567Q==" + }, + "node_modules/@types/chrome": { + "version": "0.0.183", + "resolved": "https://registry.npmjs.org/@types/chrome/-/chrome-0.0.183.tgz", + "integrity": "sha512-sYI1qGY2oB6U5GFyuoSsVJsi2ytuEe92QrQTXQRwkISN8yn1gPY5qRq1XSwKN17yjvZTgxxeHw2ZoSHMti6qYg==", + "dependencies": { + "@types/filesystem": "*", + "@types/har-format": "*" + } + }, + "node_modules/@types/debug": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz", + "integrity": "sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/filesystem": { + "version": "0.0.32", + "resolved": "https://registry.npmjs.org/@types/filesystem/-/filesystem-0.0.32.tgz", + "integrity": "sha512-Yuf4jR5YYMR2DVgwuCiP11s0xuVRyPKmz8vo6HBY3CGdeMj8af93CFZX+T82+VD1+UqHOxTq31lO7MI7lepBtQ==", + "dependencies": { + "@types/filewriter": "*" + } + }, + "node_modules/@types/filewriter": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/filewriter/-/filewriter-0.0.29.tgz", + "integrity": "sha512-BsPXH/irW0ht0Ji6iw/jJaK8Lj3FJemon2gvEqHKpCdDCeemHa+rI3WBGq5z7cDMZgoLjY40oninGxqk+8NzNQ==" + }, + "node_modules/@types/firefox-webext-browser": { + "version": "94.0.1", + "resolved": "https://registry.npmjs.org/@types/firefox-webext-browser/-/firefox-webext-browser-94.0.1.tgz", + "integrity": "sha512-I6iHRQJSTZ+gYt2IxdH2RRAMvcUyK8v5Ig7fHQR0IwUNYP7hz9+cziBVIKxLCO6XI7fiyRsNOWObfl3/4Js2Lg==" + }, + "node_modules/@types/har-format": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@types/har-format/-/har-format-1.2.8.tgz", + "integrity": "sha512-OP6L9VuZNdskgNN3zFQQ54ceYD8OLq5IbqO4VK91ORLfOm7WdT/CiT/pHEBSQEqCInJ2y3O6iCm/zGtPElpgJQ==" + }, + "node_modules/@types/ms": { + "version": "0.7.31", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz", + "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==" + }, + "node_modules/@types/node": { + "version": "17.0.35", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.35.tgz", + "integrity": "sha512-vu1SrqBjbbZ3J6vwY17jBs8Sr/BKA+/a/WtjRG+whKg1iuLFOosq872EXS0eXWILdO36DHQQeku/ZcL6hz2fpg==" + }, + "node_modules/@types/puppeteer": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/@types/puppeteer/-/puppeteer-5.4.6.tgz", + "integrity": "sha512-98Kghehs7+/GD9b56qryhqdqVCXUTbetTv3PlvDnmFRTHQH0j9DIp1f7rkAW3BAj4U3yoeSEQnKgdW8bDq0Y0Q==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", + "optional": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==" + }, + "node_modules/are-we-there-yet": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", + "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/async-sema": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/async-sema/-/async-sema-3.1.1.tgz", + "integrity": "sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "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==" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/bl": { + "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" + } + }, + "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==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "engines": { + "node": "*" + } + }, + "node_modules/canvas": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/canvas/-/canvas-2.9.1.tgz", + "integrity": "sha512-vSQti1uG/2gjv3x6QLOZw7TctfufaerTWbVe+NSduHxxLGB+qf3kFgQ6n66DSnuoINtVUjrLLIK2R+lxrBG07A==", + "hasInstallScript": true, + "dependencies": { + "@mapbox/node-pre-gyp": "^1.0.0", + "nan": "^2.15.0", + "simple-get": "^3.0.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/charenc": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", + "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==", + "engines": { + "node": "*" + } + }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/clone-deep": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-0.2.4.tgz", + "integrity": "sha1-TnPdCen7lxzDhnDF3O2cGJZIHMY=", + "dependencies": { + "for-own": "^0.1.3", + "is-plain-object": "^2.0.1", + "kind-of": "^3.0.2", + "lazy-cache": "^1.0.3", + "shallow-clone": "^0.1.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.2.0.tgz", + "integrity": "sha512-e2i4wANQiSXgnrBlIatyHtP1odfUp0BbV5Y5nEGbxtIrStkEOAAzCUirvLBNXHLr7kwLvJl6V+4V3XV9x7Wd9w==", + "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": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "node_modules/console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" + }, + "node_modules/cross-fetch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", + "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", + "dependencies": { + "node-fetch": "2.6.7" + } + }, + "node_modules/crypt": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", + "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=", + "engines": { + "node": "*" + } + }, + "node_modules/debug": { + "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" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decompress-response": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-4.2.1.tgz", + "integrity": "sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==", + "dependencies": { + "mimic-response": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" + }, + "node_modules/detect-libc": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz", + "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/devtools-protocol": { + "version": "0.0.981744", + "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.981744.tgz", + "integrity": "sha512-0cuGS8+jhR67Fy7qG3i3Pc7Aw494sb9yG9QgpG97SFVWwolgYjlhJg7n+UaHxOQT30d1TYu/EYe9k01ivLErIg==" + }, + "node_modules/dotenv": { + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.1.tgz", + "integrity": "sha512-1K6hR6wtk2FviQ4kEiSjFiH5rpzEVi8WW0x96aztHVMhEspNpc4DVOUTEHtEva5VThQ8IaBX1Pe4gSzpVVUsKQ==", + "engines": { + "node": ">=12" + } + }, + "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==" + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "dependencies": { + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" + }, + "engines": { + "node": ">= 10.17.0" + }, + "optionalDependencies": { + "@types/yauzl": "^2.9.1" + } + }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", + "dependencies": { + "pend": "~1.2.0" + } + }, + "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==", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/for-own": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "dependencies": { + "for-in": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fs-constants": { + "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==" + }, + "node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dependencies": { + "minipass": "^3.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": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "node_modules/gauge": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", + "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.2", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.1", + "object-assign": "^4.1.1", + "signal-exit": "^3.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gif-encoder-2": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/gif-encoder-2/-/gif-encoder-2-1.0.5.tgz", + "integrity": "sha512-fsRAKbZuUoZ7FYGjpFElmflTkKwsn/CzAmL/xDl4558aTAgysIDCUF6AXWO8dmai/ApfZACbPVAM+vPezJXlFg==" + }, + "node_modules/glob": { + "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" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" + }, + "node_modules/has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "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==" + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "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/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/merge-deep": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/merge-deep/-/merge-deep-3.0.3.tgz", + "integrity": "sha512-qtmzAS6t6grwEkNrunqTBdn0qKwFgNWvlxUbAV8es9M7Ot1EbyApytCnvE0jALPa46ZpKDUo527kKiaWplmlFA==", + "dependencies": { + "arr-union": "^3.1.0", + "clone-deep": "^0.2.4", + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-response": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz", + "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/minimatch": { + "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" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "peer": true + }, + "node_modules/minipass": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz", + "integrity": "sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/mixin-object": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz", + "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=", + "dependencies": { + "for-in": "^0.1.3", + "is-extendable": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mixin-object/node_modules/for-in": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz", + "integrity": "sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" + }, + "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==" + }, + "node_modules/nan": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", + "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==" + }, + "node_modules/node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npmlog": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", + "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", + "dependencies": { + "are-we-there-yet": "^2.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^3.0.0", + "set-blocking": "^2.0.0" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dependencies": { + "wrappy": "1" + } + }, + "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==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "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==", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "engines": { + "node": ">=6" + } + }, + "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==", + "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": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" + }, + "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==", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "node_modules/pump": { + "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" + } + }, + "node_modules/puppeteer": { + "version": "13.7.0", + "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-13.7.0.tgz", + "integrity": "sha512-U1uufzBjz3+PkpCxFrWzh4OrMIdIb2ztzCu0YEPfRHjHswcSwHZswnK+WdsOQJsRV8WeTg3jLhJR4D867+fjsA==", + "hasInstallScript": true, + "dependencies": { + "cross-fetch": "3.1.5", + "debug": "4.3.4", + "devtools-protocol": "0.0.981744", + "extract-zip": "2.0.1", + "https-proxy-agent": "5.0.1", + "pkg-dir": "4.2.0", + "progress": "2.0.3", + "proxy-from-env": "1.1.0", + "rimraf": "3.0.2", + "tar-fs": "2.1.1", + "unbzip2-stream": "1.4.3", + "ws": "8.5.0" + }, + "engines": { + "node": ">=10.18.1" + } + }, + "node_modules/puppeteer-extra": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/puppeteer-extra/-/puppeteer-extra-3.2.3.tgz", + "integrity": "sha512-CnSN9yIedbAbS8WmRybaDHJLf6goRk+VYM/kbH6i/+EMadCaAeh2O+1/mFUMN2LbkbDNAp2Vd/UwrTVCHjTxyg==", + "dependencies": { + "@types/debug": "^4.1.0", + "@types/puppeteer": "*", + "debug": "^4.1.1", + "deepmerge": "^4.2.2" + }, + "engines": { + "node": ">=8" + }, + "peerDependencies": { + "puppeteer": "*" + } + }, + "node_modules/puppeteer-extra-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/puppeteer-extra-plugin/-/puppeteer-extra-plugin-3.2.0.tgz", + "integrity": "sha512-wbiw12USE3b+maMk/IMaroYsz7rusVI9G+ml6pCFCnFFh91Z9BAEiVzhCpOHuquVXEiCCsDTWhDUgvdNxQHOyw==", + "dependencies": { + "@types/debug": "^4.1.0", + "debug": "^4.1.1", + "merge-deep": "^3.0.1" + }, + "engines": { + "node": ">=9.11.2" + }, + "peerDependencies": { + "puppeteer-extra": "*" + } + }, + "node_modules/puppeteer-extra-plugin-adblocker": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/puppeteer-extra-plugin-adblocker/-/puppeteer-extra-plugin-adblocker-2.12.0.tgz", + "integrity": "sha512-x0/G6suPa28FomEuCGAKGTvqcxt2efZWXE8mjEPRASGQaMe4smHYM1xT2nYS5Z82wIOqPZQVVJ7l3dGY9E+BuQ==", + "dependencies": { + "@cliqz/adblocker-puppeteer": "1.22.6", + "debug": "^4.1.1", + "node-fetch": "^2.6.0", + "puppeteer-extra-plugin": "^3.2.0" + }, + "engines": { + "node": ">=8" + }, + "peerDependencies": { + "puppeteer-extra": "*" + } + }, + "node_modules/puppeteer-extra-plugin-adblocker/node_modules/@cliqz/adblocker-puppeteer": { + "version": "1.22.6", + "resolved": "https://registry.npmjs.org/@cliqz/adblocker-puppeteer/-/adblocker-puppeteer-1.22.6.tgz", + "integrity": "sha512-Yg+64gsBfG8NKIJTKRg+sgK8G32W/z4qNEoMGdGJc7mdKVCn+y93WklDMO3pCy64u9jqUVS/Rd7z/Z96dX3K8Q==", + "dependencies": { + "@cliqz/adblocker": "^1.22.6", + "@cliqz/adblocker-content": "^1.22.6", + "tldts-experimental": "^5.6.21" + }, + "peerDependencies": { + "puppeteer": "5.x || 6.x || 7.x || 8.x || 9.x || 10.x" + } + }, + "node_modules/puppeteer-extra-plugin-adblocker/node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "peer": true + }, + "node_modules/puppeteer-extra-plugin-adblocker/node_modules/debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/puppeteer-extra-plugin-adblocker/node_modules/devtools-protocol": { + "version": "0.0.901419", + "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.901419.tgz", + "integrity": "sha512-4INMPwNm9XRpBukhNbF7OB6fNTTCaI8pzy/fXg0xQzAy5h3zL1P8xT3QazgKqBrb/hAYwIBizqDBZ7GtJE74QQ==", + "peer": true + }, + "node_modules/puppeteer-extra-plugin-adblocker/node_modules/https-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", + "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", + "peer": true, + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/puppeteer-extra-plugin-adblocker/node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "peer": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/puppeteer-extra-plugin-adblocker/node_modules/node-fetch": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", + "engines": { + "node": "4.x || >=6.0.0" + } + }, + "node_modules/puppeteer-extra-plugin-adblocker/node_modules/progress": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.1.tgz", + "integrity": "sha512-OE+a6vzqazc+K6LxJrX5UPyKFvGnL5CYmq2jFGNIBWHpc4QyE49/YOumcrpQFJpfejmvRtbJzgO1zPmMCqlbBg==", + "peer": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/puppeteer-extra-plugin-adblocker/node_modules/puppeteer": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-10.4.0.tgz", + "integrity": "sha512-2cP8mBoqnu5gzAVpbZ0fRaobBWZM8GEUF4I1F6WbgHrKV/rz7SX8PG2wMymZgD0wo0UBlg2FBPNxlF/xlqW6+w==", + "deprecated": "Version no longer supported. Upgrade to @latest", + "hasInstallScript": true, + "peer": true, + "dependencies": { + "debug": "4.3.1", + "devtools-protocol": "0.0.901419", + "extract-zip": "2.0.1", + "https-proxy-agent": "5.0.0", + "node-fetch": "2.6.1", + "pkg-dir": "4.2.0", + "progress": "2.0.1", + "proxy-from-env": "1.1.0", + "rimraf": "3.0.2", + "tar-fs": "2.0.0", + "unbzip2-stream": "1.3.3", + "ws": "7.4.6" + }, + "engines": { + "node": ">=10.18.1" + } + }, + "node_modules/puppeteer-extra-plugin-adblocker/node_modules/tar-fs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.0.0.tgz", + "integrity": "sha512-vaY0obB6Om/fso8a8vakQBzwholQ7v5+uy+tF3Ozvxv1KNezmVQAiWtcNmMHFSFPqL3dJA8ha6gdtFbfX9mcxA==", + "peer": true, + "dependencies": { + "chownr": "^1.1.1", + "mkdirp": "^0.5.1", + "pump": "^3.0.0", + "tar-stream": "^2.0.0" + } + }, + "node_modules/puppeteer-extra-plugin-adblocker/node_modules/unbzip2-stream": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.3.3.tgz", + "integrity": "sha512-fUlAF7U9Ah1Q6EieQ4x4zLNejrRvDWUYmxXUpN3uziFYCHapjWFaCAnreY9bGgxzaMCFAPPpYNng57CypwJVhg==", + "peer": true, + "dependencies": { + "buffer": "^5.2.1", + "through": "^2.3.8" + } + }, + "node_modules/puppeteer-extra-plugin-adblocker/node_modules/ws": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", + "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", + "peer": true, + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/puppeteer-extra-plugin-stealth": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/puppeteer-extra-plugin-stealth/-/puppeteer-extra-plugin-stealth-2.9.0.tgz", + "integrity": "sha512-erZ9lkIcOkfYmLPP2jv2AiqvNBFhQJinWJhcm40pqSjwJTsZXHsTARUyRCsBYEEBvNIs3Wz3E0zVlTRc4IJ6Hg==", + "dependencies": { + "debug": "^4.1.1", + "puppeteer-extra-plugin": "^3.2.0", + "puppeteer-extra-plugin-user-preferences": "^2.3.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/puppeteer-extra-plugin-user-data-dir": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/puppeteer-extra-plugin-user-data-dir/-/puppeteer-extra-plugin-user-data-dir-2.3.1.tgz", + "integrity": "sha512-yhaYMaNFdfQ1LbA94ZElW1zU8rh+MFmO+GZA0gtQ8BXc+UZ6aRrWS9flIZvlXDzk+ZsXhCbTEohEwZ8lEDLRVA==", + "dependencies": { + "debug": "^4.1.1", + "fs-extra": "^10.0.0", + "puppeteer-extra-plugin": "^3.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/puppeteer-extra-plugin-user-preferences": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/puppeteer-extra-plugin-user-preferences/-/puppeteer-extra-plugin-user-preferences-2.3.1.tgz", + "integrity": "sha512-t/FyGQj2aqtHOROqL02z+k2kNQe0cjT0Hd9pG5FJ7x0JXx1722PhOuK7FeJLQMJ+BLl2YvCUgaWSC8Zohjts5A==", + "dependencies": { + "debug": "^4.1.1", + "deepmerge": "^4.2.2", + "puppeteer-extra-plugin": "^3.2.0", + "puppeteer-extra-plugin-user-data-dir": "^2.3.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/readable-stream": { + "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" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/semver": { + "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" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + }, + "node_modules/sha1": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/sha1/-/sha1-1.1.1.tgz", + "integrity": "sha1-rdqnqTFo85PxnrKxUJFhjicA+Eg=", + "dependencies": { + "charenc": ">= 0.0.1", + "crypt": ">= 0.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/shallow-clone": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-0.1.2.tgz", + "integrity": "sha1-WQnodLp3EG1zrEFM/sH/yofZcGA=", + "dependencies": { + "is-extendable": "^0.1.1", + "kind-of": "^2.0.1", + "lazy-cache": "^0.2.3", + "mixin-object": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shallow-clone/node_modules/kind-of": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-2.0.1.tgz", + "integrity": "sha1-AY7HpM5+OobLkUG+UZ0kyPqpgbU=", + "dependencies": { + "is-buffer": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shallow-clone/node_modules/lazy-cache": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-0.2.7.tgz", + "integrity": "sha1-f+3fLctu23fRHvHRF6tf/fCrG2U=", + "engines": { + "node": ">=0.10.0" + } + }, + "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==" + }, + "node_modules/simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/simple-get": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.1.1.tgz", + "integrity": "sha512-CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA==", + "dependencies": { + "decompress-response": "^4.2.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "node_modules/string_decoder": { + "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" + } + }, + "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==", + "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==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tar": { + "version": "6.1.11", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", + "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/tar-fs": { + "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" + } + }, + "node_modules/tar-fs/node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + }, + "node_modules/tar-stream": { + "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" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + }, + "node_modules/tldts-core": { + "version": "5.7.80", + "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-5.7.80.tgz", + "integrity": "sha512-qGdm/usUZb6SwSxRolp4nGe+1xyPW7il4/xxuzFQxGvya43xb6S/+O/TJRTY3GCcdAmkwNtibnCeh9rJ3OD6sA==" + }, + "node_modules/tldts-experimental": { + "version": "5.7.80", + "resolved": "https://registry.npmjs.org/tldts-experimental/-/tldts-experimental-5.7.80.tgz", + "integrity": "sha512-NYeVtoJlUSHhGhh14u7aoDgiCrcpuF67AprULGMAsLfn1wMXY3oYeT2kRRXBzTXCg2H1/YCCl7XZ3h59NrDC7Q==", + "dependencies": { + "tldts-core": "^5.7.80" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" + }, + "node_modules/unbzip2-stream": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", + "dependencies": { + "buffer": "^5.2.1", + "through": "^2.3.8" + } + }, + "node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "node_modules/ws": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz", + "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "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/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "node_modules/yesno": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/yesno/-/yesno-0.3.1.tgz", + "integrity": "sha512-7RbCXegyu6DykWPWU0YEtW8gFJH8KBL2d5l2fqB0XpkH0Y9rk59YSSWpzEv7yNJBGAouPc67h3kkq0CZkpBdFw==" + } + }, + "dependencies": { + "@cliqz/adblocker": { + "version": "1.23.8", + "resolved": "https://registry.npmjs.org/@cliqz/adblocker/-/adblocker-1.23.8.tgz", + "integrity": "sha512-xM1JYTv5dA+pPP4x4IVZdjkM9aAsakTnShFLuHLzMxMHd20eUB91NXm4kK6acw9nHwG6rCyat6+u7TvAqSmR6g==", + "requires": { + "@cliqz/adblocker-content": "^1.23.8", + "@cliqz/adblocker-extended-selectors": "^1.23.8", + "@remusao/guess-url-type": "^1.1.2", + "@remusao/small": "^1.1.2", + "@remusao/smaz": "^1.7.1", + "@types/chrome": "^0.0.183", + "@types/firefox-webext-browser": "^94.0.0", + "tldts-experimental": "^5.6.21" + } + }, + "@cliqz/adblocker-content": { + "version": "1.23.8", + "resolved": "https://registry.npmjs.org/@cliqz/adblocker-content/-/adblocker-content-1.23.8.tgz", + "integrity": "sha512-5Wm/OSA6H8AUVFi8SDff6xJ4zT/1VCrNoUnevFEi3e0MCmdQUvn+cJc03Saky7Ch5oLSJKTXNNMyPaODZLz24A==", + "requires": { + "@cliqz/adblocker-extended-selectors": "^1.23.8" + } + }, + "@cliqz/adblocker-extended-selectors": { + "version": "1.23.8", + "resolved": "https://registry.npmjs.org/@cliqz/adblocker-extended-selectors/-/adblocker-extended-selectors-1.23.8.tgz", + "integrity": "sha512-5xx47oT2Q9E3vkfEm/EzSs7cAPi8WNWtu7kJcGa/urVkDchJwdkdelvQ2Dof+k5icI5AqZorZSsk9Q7w2bLxrA==" + }, + "@mapbox/node-pre-gyp": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.9.tgz", + "integrity": "sha512-aDF3S3rK9Q2gey/WAttUlISduDItz5BU3306M9Eyv6/oS40aMprnopshtlKTykxRNIBEZuRMaZAnbrQ4QtKGyw==", + "requires": { + "detect-libc": "^2.0.0", + "https-proxy-agent": "^5.0.0", + "make-dir": "^3.1.0", + "node-fetch": "^2.6.7", + "nopt": "^5.0.0", + "npmlog": "^5.0.1", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.11" + } + }, + "@remusao/guess-url-type": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@remusao/guess-url-type/-/guess-url-type-1.2.1.tgz", + "integrity": "sha512-rbOqre2jW8STjheOsOaQHLgYBaBZ9Owbdt8NO7WvNZftJlaG3y/K9oOkl8ZUpuFBisIhmBuMEW6c+YrQl5inRA==" + }, + "@remusao/small": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@remusao/small/-/small-1.2.1.tgz", + "integrity": "sha512-7MjoGt0TJMVw1GPKgWq6SJPws1SLsUXQRa43Umht+nkyw2jnpy3WpiLNqGdwo5rHr5Wp9B2W/Pm5RQp656UJdw==" + }, + "@remusao/smaz": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@remusao/smaz/-/smaz-1.9.1.tgz", + "integrity": "sha512-e6BLuP8oaXCZ9+v46Is4ilAZ/Vq6YLgmBP204Ixgk1qTjXmqvFYG7+AS7v9nsZdGOy96r9DWGFbbDVgMxwu1rA==", + "requires": { + "@remusao/smaz-compress": "^1.9.1", + "@remusao/smaz-decompress": "^1.9.1" + } + }, + "@remusao/smaz-compress": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@remusao/smaz-compress/-/smaz-compress-1.9.1.tgz", + "integrity": "sha512-E2f48TwloQu3r6BdLOGF2aczeH7bJ/32oJGqvzT9SKur0cuUnLcZ7ZXP874E2fwmdE+cXzfC7bKzp79cDnmeyw==", + "requires": { + "@remusao/trie": "^1.4.1" + } + }, + "@remusao/smaz-decompress": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@remusao/smaz-decompress/-/smaz-decompress-1.9.1.tgz", + "integrity": "sha512-TfjKKprYe3n47od8auhvJ/Ikj9kQTbDTe71ynKlxslrvvUhlIV3VQSuwYuMWMbdz1fIs0H/fxCN1Z8/H3km6/A==" + }, + "@remusao/trie": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@remusao/trie/-/trie-1.4.1.tgz", + "integrity": "sha512-yvwa+aCyYI/UjeD39BnpMypG8N06l86wIDW1/PAc6ihBRnodIfZDwccxQN3n1t74wduzaz74m4ZMHZnB06567Q==" + }, + "@types/chrome": { + "version": "0.0.183", + "resolved": "https://registry.npmjs.org/@types/chrome/-/chrome-0.0.183.tgz", + "integrity": "sha512-sYI1qGY2oB6U5GFyuoSsVJsi2ytuEe92QrQTXQRwkISN8yn1gPY5qRq1XSwKN17yjvZTgxxeHw2ZoSHMti6qYg==", + "requires": { + "@types/filesystem": "*", + "@types/har-format": "*" + } + }, + "@types/debug": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz", + "integrity": "sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==", + "requires": { + "@types/ms": "*" + } + }, + "@types/filesystem": { + "version": "0.0.32", + "resolved": "https://registry.npmjs.org/@types/filesystem/-/filesystem-0.0.32.tgz", + "integrity": "sha512-Yuf4jR5YYMR2DVgwuCiP11s0xuVRyPKmz8vo6HBY3CGdeMj8af93CFZX+T82+VD1+UqHOxTq31lO7MI7lepBtQ==", + "requires": { + "@types/filewriter": "*" + } + }, + "@types/filewriter": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/filewriter/-/filewriter-0.0.29.tgz", + "integrity": "sha512-BsPXH/irW0ht0Ji6iw/jJaK8Lj3FJemon2gvEqHKpCdDCeemHa+rI3WBGq5z7cDMZgoLjY40oninGxqk+8NzNQ==" + }, + "@types/firefox-webext-browser": { + "version": "94.0.1", + "resolved": "https://registry.npmjs.org/@types/firefox-webext-browser/-/firefox-webext-browser-94.0.1.tgz", + "integrity": "sha512-I6iHRQJSTZ+gYt2IxdH2RRAMvcUyK8v5Ig7fHQR0IwUNYP7hz9+cziBVIKxLCO6XI7fiyRsNOWObfl3/4Js2Lg==" + }, + "@types/har-format": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@types/har-format/-/har-format-1.2.8.tgz", + "integrity": "sha512-OP6L9VuZNdskgNN3zFQQ54ceYD8OLq5IbqO4VK91ORLfOm7WdT/CiT/pHEBSQEqCInJ2y3O6iCm/zGtPElpgJQ==" + }, + "@types/ms": { + "version": "0.7.31", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz", + "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==" + }, + "@types/node": { + "version": "17.0.35", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.35.tgz", + "integrity": "sha512-vu1SrqBjbbZ3J6vwY17jBs8Sr/BKA+/a/WtjRG+whKg1iuLFOosq872EXS0eXWILdO36DHQQeku/ZcL6hz2fpg==" + }, + "@types/puppeteer": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/@types/puppeteer/-/puppeteer-5.4.6.tgz", + "integrity": "sha512-98Kghehs7+/GD9b56qryhqdqVCXUTbetTv3PlvDnmFRTHQH0j9DIp1f7rkAW3BAj4U3yoeSEQnKgdW8bDq0Y0Q==", + "requires": { + "@types/node": "*" + } + }, + "@types/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", + "optional": true, + "requires": { + "@types/node": "*" + } + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "requires": { + "debug": "4" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==" + }, + "are-we-there-yet": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", + "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + } + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==" + }, + "async-sema": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/async-sema/-/async-sema-3.1.1.tgz", + "integrity": "sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==" + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, + "bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "requires": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==" + }, + "canvas": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/canvas/-/canvas-2.9.1.tgz", + "integrity": "sha512-vSQti1uG/2gjv3x6QLOZw7TctfufaerTWbVe+NSduHxxLGB+qf3kFgQ6n66DSnuoINtVUjrLLIK2R+lxrBG07A==", + "requires": { + "@mapbox/node-pre-gyp": "^1.0.0", + "nan": "^2.15.0", + "simple-get": "^3.0.3" + } + }, + "charenc": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", + "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==" + }, + "chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" + }, + "clone-deep": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-0.2.4.tgz", + "integrity": "sha1-TnPdCen7lxzDhnDF3O2cGJZIHMY=", + "requires": { + "for-own": "^0.1.3", + "is-plain-object": "^2.0.1", + "kind-of": "^3.0.2", + "lazy-cache": "^1.0.3", + "shallow-clone": "^0.1.2" + } + }, + "color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==" + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.2.0.tgz", + "integrity": "sha512-e2i4wANQiSXgnrBlIatyHtP1odfUp0BbV5Y5nEGbxtIrStkEOAAzCUirvLBNXHLr7kwLvJl6V+4V3XV9x7Wd9w==" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" + }, + "cross-fetch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", + "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", + "requires": { + "node-fetch": "2.6.7" + } + }, + "crypt": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", + "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=" + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "decompress-response": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-4.2.1.tgz", + "integrity": "sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==", + "requires": { + "mimic-response": "^2.0.0" + } + }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" + }, + "detect-libc": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz", + "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==" + }, + "devtools-protocol": { + "version": "0.0.981744", + "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.981744.tgz", + "integrity": "sha512-0cuGS8+jhR67Fy7qG3i3Pc7Aw494sb9yG9QgpG97SFVWwolgYjlhJg7n+UaHxOQT30d1TYu/EYe9k01ivLErIg==" + }, + "dotenv": { + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.1.tgz", + "integrity": "sha512-1K6hR6wtk2FviQ4kEiSjFiH5rpzEVi8WW0x96aztHVMhEspNpc4DVOUTEHtEva5VThQ8IaBX1Pe4gSzpVVUsKQ==" + }, + "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==" + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "requires": { + "once": "^1.4.0" + } + }, + "extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "requires": { + "@types/yauzl": "^2.9.1", + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + } + }, + "fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", + "requires": { + "pend": "~1.2.0" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + }, + "for-own": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "requires": { + "for-in": "^1.0.1" + } + }, + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "fs-constants": { + "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-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "requires": { + "minipass": "^3.0.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "gauge": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", + "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", + "requires": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.2", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.1", + "object-assign": "^4.1.1", + "signal-exit": "^3.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.2" + } + }, + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "requires": { + "pump": "^3.0.0" + } + }, + "gif-encoder-2": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/gif-encoder-2/-/gif-encoder-2-1.0.5.tgz", + "integrity": "sha512-fsRAKbZuUoZ7FYGjpFElmflTkKwsn/CzAmL/xDl4558aTAgysIDCUF6AXWO8dmai/ApfZACbPVAM+vPezJXlFg==" + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "requires": { + "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" + } + }, + "graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" + }, + "https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "requires": { + "agent-base": "6", + "debug": "4" + } + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "requires": { + "isobject": "^3.0.1" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + }, + "lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=" + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "requires": { + "p-locate": "^4.1.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "requires": { + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "merge-deep": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/merge-deep/-/merge-deep-3.0.3.tgz", + "integrity": "sha512-qtmzAS6t6grwEkNrunqTBdn0qKwFgNWvlxUbAV8es9M7Ot1EbyApytCnvE0jALPa46ZpKDUo527kKiaWplmlFA==", + "requires": { + "arr-union": "^3.1.0", + "clone-deep": "^0.2.4", + "kind-of": "^3.0.2" + } + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "requires": { + "mime-db": "1.52.0" + } + }, + "mimic-response": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz", + "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==" + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "peer": true + }, + "minipass": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz", + "integrity": "sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==", + "requires": { + "yallist": "^4.0.0" + } + }, + "minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "requires": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + } + }, + "mixin-object": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz", + "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=", + "requires": { + "for-in": "^0.1.3", + "is-extendable": "^0.1.1" + }, + "dependencies": { + "for-in": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz", + "integrity": "sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=" + } + } + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" + }, + "mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "nan": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", + "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==" + }, + "node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "requires": { + "whatwg-url": "^5.0.0" + } + }, + "nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "requires": { + "abbrev": "1" + } + }, + "npmlog": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", + "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", + "requires": { + "are-we-there-yet": "^2.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^3.0.0", + "set-blocking": "^2.0.0" + } + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "requires": { + "find-up": "^4.0.0" + } + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" + }, + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "puppeteer": { + "version": "13.7.0", + "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-13.7.0.tgz", + "integrity": "sha512-U1uufzBjz3+PkpCxFrWzh4OrMIdIb2ztzCu0YEPfRHjHswcSwHZswnK+WdsOQJsRV8WeTg3jLhJR4D867+fjsA==", + "requires": { + "cross-fetch": "3.1.5", + "debug": "4.3.4", + "devtools-protocol": "0.0.981744", + "extract-zip": "2.0.1", + "https-proxy-agent": "5.0.1", + "pkg-dir": "4.2.0", + "progress": "2.0.3", + "proxy-from-env": "1.1.0", + "rimraf": "3.0.2", + "tar-fs": "2.1.1", + "unbzip2-stream": "1.4.3", + "ws": "8.5.0" + } + }, + "puppeteer-extra": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/puppeteer-extra/-/puppeteer-extra-3.2.3.tgz", + "integrity": "sha512-CnSN9yIedbAbS8WmRybaDHJLf6goRk+VYM/kbH6i/+EMadCaAeh2O+1/mFUMN2LbkbDNAp2Vd/UwrTVCHjTxyg==", + "requires": { + "@types/debug": "^4.1.0", + "@types/puppeteer": "*", + "debug": "^4.1.1", + "deepmerge": "^4.2.2" + } + }, + "puppeteer-extra-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/puppeteer-extra-plugin/-/puppeteer-extra-plugin-3.2.0.tgz", + "integrity": "sha512-wbiw12USE3b+maMk/IMaroYsz7rusVI9G+ml6pCFCnFFh91Z9BAEiVzhCpOHuquVXEiCCsDTWhDUgvdNxQHOyw==", + "requires": { + "@types/debug": "^4.1.0", + "debug": "^4.1.1", + "merge-deep": "^3.0.1" + } + }, + "puppeteer-extra-plugin-adblocker": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/puppeteer-extra-plugin-adblocker/-/puppeteer-extra-plugin-adblocker-2.12.0.tgz", + "integrity": "sha512-x0/G6suPa28FomEuCGAKGTvqcxt2efZWXE8mjEPRASGQaMe4smHYM1xT2nYS5Z82wIOqPZQVVJ7l3dGY9E+BuQ==", + "requires": { + "@cliqz/adblocker-puppeteer": "1.22.6", + "debug": "^4.1.1", + "node-fetch": "^2.6.0", + "puppeteer-extra-plugin": "^3.2.0" + }, + "dependencies": { + "@cliqz/adblocker-puppeteer": { + "version": "1.22.6", + "resolved": "https://registry.npmjs.org/@cliqz/adblocker-puppeteer/-/adblocker-puppeteer-1.22.6.tgz", + "integrity": "sha512-Yg+64gsBfG8NKIJTKRg+sgK8G32W/z4qNEoMGdGJc7mdKVCn+y93WklDMO3pCy64u9jqUVS/Rd7z/Z96dX3K8Q==", + "requires": { + "@cliqz/adblocker": "^1.22.6", + "@cliqz/adblocker-content": "^1.22.6", + "tldts-experimental": "^5.6.21" + } + }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "peer": true + }, + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "requires": { + "ms": "2.1.2" + } + }, + "devtools-protocol": { + "version": "0.0.901419", + "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.901419.tgz", + "integrity": "sha512-4INMPwNm9XRpBukhNbF7OB6fNTTCaI8pzy/fXg0xQzAy5h3zL1P8xT3QazgKqBrb/hAYwIBizqDBZ7GtJE74QQ==", + "peer": true + }, + "https-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", + "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", + "peer": true, + "requires": { + "agent-base": "6", + "debug": "4" + } + }, + "mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "peer": true, + "requires": { + "minimist": "^1.2.6" + } + }, + "node-fetch": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" + }, + "progress": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.1.tgz", + "integrity": "sha512-OE+a6vzqazc+K6LxJrX5UPyKFvGnL5CYmq2jFGNIBWHpc4QyE49/YOumcrpQFJpfejmvRtbJzgO1zPmMCqlbBg==", + "peer": true + }, + "puppeteer": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-10.4.0.tgz", + "integrity": "sha512-2cP8mBoqnu5gzAVpbZ0fRaobBWZM8GEUF4I1F6WbgHrKV/rz7SX8PG2wMymZgD0wo0UBlg2FBPNxlF/xlqW6+w==", + "peer": true, + "requires": { + "debug": "4.3.1", + "devtools-protocol": "0.0.901419", + "extract-zip": "2.0.1", + "https-proxy-agent": "5.0.0", + "node-fetch": "2.6.1", + "pkg-dir": "4.2.0", + "progress": "2.0.1", + "proxy-from-env": "1.1.0", + "rimraf": "3.0.2", + "tar-fs": "2.0.0", + "unbzip2-stream": "1.3.3", + "ws": "7.4.6" + } + }, + "tar-fs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.0.0.tgz", + "integrity": "sha512-vaY0obB6Om/fso8a8vakQBzwholQ7v5+uy+tF3Ozvxv1KNezmVQAiWtcNmMHFSFPqL3dJA8ha6gdtFbfX9mcxA==", + "peer": true, + "requires": { + "chownr": "^1.1.1", + "mkdirp": "^0.5.1", + "pump": "^3.0.0", + "tar-stream": "^2.0.0" + } + }, + "unbzip2-stream": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.3.3.tgz", + "integrity": "sha512-fUlAF7U9Ah1Q6EieQ4x4zLNejrRvDWUYmxXUpN3uziFYCHapjWFaCAnreY9bGgxzaMCFAPPpYNng57CypwJVhg==", + "peer": true, + "requires": { + "buffer": "^5.2.1", + "through": "^2.3.8" + } + }, + "ws": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", + "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", + "peer": true, + "requires": {} + } + } + }, + "puppeteer-extra-plugin-stealth": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/puppeteer-extra-plugin-stealth/-/puppeteer-extra-plugin-stealth-2.9.0.tgz", + "integrity": "sha512-erZ9lkIcOkfYmLPP2jv2AiqvNBFhQJinWJhcm40pqSjwJTsZXHsTARUyRCsBYEEBvNIs3Wz3E0zVlTRc4IJ6Hg==", + "requires": { + "debug": "^4.1.1", + "puppeteer-extra-plugin": "^3.2.0", + "puppeteer-extra-plugin-user-preferences": "^2.3.1" + } + }, + "puppeteer-extra-plugin-user-data-dir": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/puppeteer-extra-plugin-user-data-dir/-/puppeteer-extra-plugin-user-data-dir-2.3.1.tgz", + "integrity": "sha512-yhaYMaNFdfQ1LbA94ZElW1zU8rh+MFmO+GZA0gtQ8BXc+UZ6aRrWS9flIZvlXDzk+ZsXhCbTEohEwZ8lEDLRVA==", + "requires": { + "debug": "^4.1.1", + "fs-extra": "^10.0.0", + "puppeteer-extra-plugin": "^3.2.0" + } + }, + "puppeteer-extra-plugin-user-preferences": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/puppeteer-extra-plugin-user-preferences/-/puppeteer-extra-plugin-user-preferences-2.3.1.tgz", + "integrity": "sha512-t/FyGQj2aqtHOROqL02z+k2kNQe0cjT0Hd9pG5FJ7x0JXx1722PhOuK7FeJLQMJ+BLl2YvCUgaWSC8Zohjts5A==", + "requires": { + "debug": "^4.1.1", + "deepmerge": "^4.2.2", + "puppeteer-extra-plugin": "^3.2.0", + "puppeteer-extra-plugin-user-data-dir": "^2.3.1" + } + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "requires": { + "glob": "^7.1.3" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, + "semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "requires": { + "lru-cache": "^6.0.0" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + }, + "sha1": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/sha1/-/sha1-1.1.1.tgz", + "integrity": "sha1-rdqnqTFo85PxnrKxUJFhjicA+Eg=", + "requires": { + "charenc": ">= 0.0.1", + "crypt": ">= 0.0.1" + } + }, + "shallow-clone": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-0.1.2.tgz", + "integrity": "sha1-WQnodLp3EG1zrEFM/sH/yofZcGA=", + "requires": { + "is-extendable": "^0.1.1", + "kind-of": "^2.0.1", + "lazy-cache": "^0.2.3", + "mixin-object": "^2.0.1" + }, + "dependencies": { + "kind-of": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-2.0.1.tgz", + "integrity": "sha1-AY7HpM5+OobLkUG+UZ0kyPqpgbU=", + "requires": { + "is-buffer": "^1.0.2" + } + }, + "lazy-cache": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-0.2.7.tgz", + "integrity": "sha1-f+3fLctu23fRHvHRF6tf/fCrG2U=" + } + } + }, + "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==" + }, + "simple-concat": { + "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": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.1.1.tgz", + "integrity": "sha512-CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA==", + "requires": { + "decompress-response": "^4.2.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "string_decoder": { + "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==", + "requires": { + "safe-buffer": "~5.2.0" + } + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "tar": { + "version": "6.1.11", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", + "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", + "requires": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + } + }, + "tar-fs": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "requires": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + }, + "dependencies": { + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + } + } + }, + "tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "requires": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + } + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + }, + "tldts-core": { + "version": "5.7.80", + "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-5.7.80.tgz", + "integrity": "sha512-qGdm/usUZb6SwSxRolp4nGe+1xyPW7il4/xxuzFQxGvya43xb6S/+O/TJRTY3GCcdAmkwNtibnCeh9rJ3OD6sA==" + }, + "tldts-experimental": { + "version": "5.7.80", + "resolved": "https://registry.npmjs.org/tldts-experimental/-/tldts-experimental-5.7.80.tgz", + "integrity": "sha512-NYeVtoJlUSHhGhh14u7aoDgiCrcpuF67AprULGMAsLfn1wMXY3oYeT2kRRXBzTXCg2H1/YCCl7XZ3h59NrDC7Q==", + "requires": { + "tldts-core": "^5.7.80" + } + }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" + }, + "unbzip2-stream": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", + "requires": { + "buffer": "^5.2.1", + "through": "^2.3.8" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "requires": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "ws": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz", + "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==", + "requires": {} + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", + "requires": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "yesno": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/yesno/-/yesno-0.3.1.tgz", + "integrity": "sha512-7RbCXegyu6DykWPWU0YEtW8gFJH8KBL2d5l2fqB0XpkH0Y9rk59YSSWpzEv7yNJBGAouPc67h3kkq0CZkpBdFw==" + } + } +} diff --git a/backend/src/config.js b/backend/src/config.js index d02f8dae26..660b7690e6 100644 --- a/backend/src/config.js +++ b/backend/src/config.js @@ -7,38 +7,162 @@ const { NETWORK } = require(`${basePath}/constants/network.js`); const network = NETWORK.eth; // General metadata for Ethereum -const namePrefix = "YOUR COLLECTION NAME"; -const description = "Remember to replace this description"; -const baseUri = "ipfs://NewUriToReplace"; // This will be replaced automatically +const namePrefix = "El Taco Finance"; +const description = "El Taco Finance is a limited collection of Tacos that doubles as an opportunity to be handsomely rewarded every week! Every Tuesday a giveaway will take place for all Taco NFT holders for great rewards!"; +const baseUri = "ipfs://QmaaSRuf2ZMNZUzDDDb4yHg7BeJwJTeNupUFDYZWhNUQZh"; // If you have selected Solana then the collection starts from 0 automatically const layerConfigurations = [ +// Boy Taco! +{ + growEditionSizeTo: 1, + layersOrder: [ + { name: "Background Boy" }, + { name: "Shell Boy"}, + { name: "Base Boy" }, + { name: "Feet Boy" }, + { name: "Bottom Boy" }, + { name: "Mouth Boy" }, + { name: "Nose Boy" }, + { name: "Head Boy" }, + { name: "Eyes Boy" }, + { name: "Held Item Boy" }, + ], +}, + +// Girl Tacos! +{ + growEditionSizeTo: 2, + layersOrder: [ + { name: "Background Girl" }, + { name: "Shell Girl"}, + { name: "Base Girl" }, + { name: "Feet Girl" }, + { name: "Bottom Girl" }, + { name: "Mouth Girl" }, + { name: "Nose Girl" }, + { name: "Head Girl" }, + { name: "Eyes Girl" }, + { name: "Held Item Girl" }, + ], +}, + +/* + + // Caesar Tacos! { - growEditionSizeTo: 5, + growEditionSizeTo: 41, layersOrder: [ - { name: "Background" }, - { name: "Eyeball" }, - { name: "Eye color" }, - { name: "Iris" }, - { name: "Shine" }, - { name: "Bottom lid" }, - { name: "Top lid" }, + { name: "Background Caesar" }, + { name: "Shell Caesar"}, + { name: "Base Caesar" }, + { name: "Feet Caesar" }, + { name: "Bottom Caesar" }, + { name: "Mouth Caesar" }, + { name: "Nose Caesar" }, + { name: "Head Caesar" }, + { name: "Eyes Caesar" }, + { name: "Held Item Caesar" }, ], }, + +*/ + // Cyborg Tacos! + { + growEditionSizeTo: 3, + layersOrder: [ + { name: "Background Cyborg" }, + { name: "Shell Cyborg"}, + { name: "Base Cyborg" }, + { name: "Feet Cyborg" }, + { name: "Bottom Cyborg" }, + { name: "Mouth Cyborg" }, + { name: "Nose Cyborg" }, + { name: "Head Cyborg" }, + { name: "Eyes Cyborg" }, + { name: "Held Item Cyborg" }, + ], + }, + + + + + // Floor Sweeper Tacos -- + + + // Boy Sweeping Taco! + { + growEditionSizeTo: 4, + layersOrder: [ + { name: "Background Boy" }, + { name: "Shell Boy"}, + { name: "Base Boy" }, + { name: "Feet Boy" }, + { name: "Bottom Boy" }, + { name: "Mouth Boy" }, + { name: "Nose Boy" }, + { name: "Head Boy" }, + { name: "Eyes Boy" }, + { name: "Broom Held Item" }, + ], + }, + + + // Girl Sweeping Tacos! +{ + growEditionSizeTo: 5, + layersOrder: [ + { name: "Background Girl" }, + { name: "Shell Girl"}, + { name: "Base Girl" }, + { name: "Feet Girl" }, + { name: "Bottom Girl" }, + { name: "Mouth Girl" }, + { name: "Nose Girl" }, + { name: "Head Girl" }, + { name: "Eyes Girl" }, + { name: "Broom Held Item" }, + ], +}, + + +// Whale Taco - Test + +{ + growEditionSizeTo: 6, + layersOrder: [ + { name: "Background Whale" }, + { name: "Whale"}, + { name: "Taco Body Whale" }, + { name: "Eyes Whale" }, + { name: "Eyebrows Whale" }, + { name: "Nose Whale" }, + { name: "Mouth Whale" }, + { name: "Hair Whale" }, + { name: "Right Leg Whale" }, + { name: "Left Leg Whale" }, + { name: "Shorts Whale" }, + { name: "Held item Whale" }, + { name: "Left Arm Whale" }, + ], +}, + + + ]; -const shuffleLayerConfigurations = true; +const shuffleLayerConfigurations = false; const debugLogs = false; const format = { - width: 512, - height: 512, + width: 3000, + height: 3000, smoothing: false, }; const extraMetadata = { - external_url: "https://codecats.xyz", // Replace with your website or remove this line if you do not have one. + external_url: "https://www.eltacofinance.com/", // Replace with your website or remove this line if you do not have one. }; // NFTPort Info @@ -46,28 +170,28 @@ const extraMetadata = { // ** REQUIRED ** const AUTH = process.env.NFTPORT_API_KEY; // Set this in the .env file to prevent exposing your API key when pushing to Github const LIMIT = 2; // Your API key rate limit -const CHAIN = 'rinkeby'; // only rinkeby or polygon +const CHAIN = 'AVAX'; // only rinkeby or polygon // REQUIRED CONTRACT DETAILS THAT CANNOT BE UPDATED LATER! -const CONTRACT_NAME = 'CRYPTOPUNKS'; -const CONTRACT_SYMBOL = 'CP'; +const CONTRACT_NAME = 'El Taco Finance TEST'; +const CONTRACT_SYMBOL = 'ETF'; const METADATA_UPDATABLE = true; // set to false if you don't want to allow metadata updates after minting -const OWNER_ADDRESS = 'YOUR WALLET ADDRESS HERE'; -const TREASURY_ADDRESS = 'YOUR WALLET ADDRESS HERE'; -const MAX_SUPPLY = 5000; // The maximum number of NFTs that can be minted. CANNOT BE UPDATED! -const MINT_PRICE = 1; // Minting price per NFT. Rinkeby = ETH, Polygon = MATIC. CANNOT BE UPDATED! -const TOKENS_PER_MINT = 10; // maximum number of NFTs a user can mint in a single transaction. CANNOT BE UPDATED! +const OWNER_ADDRESS = '0xd87BFdC6b26277D53aF09A7c45Bb1c7452e98d50'; +const TREASURY_ADDRESS = '0xd87BFdC6b26277D53aF09A7c45Bb1c7452e98d50'; +const MAX_SUPPLY = 6000; // The maximum number of NFTs that can be minted. CANNOT BE UPDATED! +const MINT_PRICE = 1.5; // Minting price per NFT. Rinkeby = ETH, Polygon = MATIC. CANNOT BE UPDATED! +const TOKENS_PER_MINT = 30; // maximum number of NFTs a user can mint in a single transaction. CANNOT BE UPDATED! // REQUIRED CONTRACT DETAILS THAT CAN BE UPDATED LATER. -const PUBLIC_MINT_START_DATE = "2022-03-20T11:30:48+00:00"; // This is required. Eg: 2022-02-08T11:30:48+00:00 +const PUBLIC_MINT_START_DATE = "2022-06-30T11:30:48+00:00"; // This is required. Eg: 2022-02-08T11:30:48+00:00 // OPTIONAL CONTRACT DETAILS THAT CAN BE UPDATED LATER. const PRESALE_MINT_START_DATE = null; // Optional. Eg: 2022-02-08T11:30:48+00:00 -const ROYALTY_SHARE = 1000; // Percentage of the token price that goes to the royalty address. 100 bps = 1% -const ROYALTY_ADDRESS = "0xd8B808A887326F45B2D0cd999709Aa6264CeF919"; // Address that will receive the royalty +const ROYALTY_SHARE = 10000; // Percentage of the token price that goes to the royalty address. 100 bps = 1% +const ROYALTY_ADDRESS = "0xd87BFdC6b26277D53aF09A7c45Bb1c7452e98d50"; // Address that will receive the royalty const BASE_URI = null; // only update if you want to manually set the base uri const PREREVEAL_TOKEN_URI = null; // only update if you want to manually set the prereveal token uri -const PRESALE_WHITELISTED_ADDRESSES = []; // only update if you want to manually set the whitelisted addresses +const PRESALE_WHITELISTED_ADDRESSES = ["0x5B38Da6a701c568545dCfcB03FcB875f56beddC4","0xAb8483F64d9C6d1EcF9b849Ae677dD3315835cb2","0xAb8483F64d9C6d1EcF9b849Ae677dD3315835cb2","0xAb8483F64d9C6d1EcF9b849Ae677dD3315835cb2"]; // only update if you want to manually set the whitelisted addresses // ** OPTIONAL ** let CONTRACT_ADDRESS = "YOUR CONTRACT ADDRESS"; // If you want to manually include it @@ -75,7 +199,7 @@ let CONTRACT_ADDRESS = "YOUR CONTRACT ADDRESS"; // If you want to manually inclu // Generic Metadata is optional if you want to reveal your NFTs const GENERIC = true; // Set to true if you want to upload generic metas and reveal the real NFTs in the future const GENERIC_TITLE = CONTRACT_NAME; // Replace with what you want the generic titles to say if you want it to be different from the contract name. -const GENERIC_DESCRIPTION = "REPLACE THIS"; // Replace with what you want the generic descriptions to say. +const GENERIC_DESCRIPTION = "El Taco Finance is a limited collection of Tacos that doubles as an opportunity to be handsomely rewarded every week! Every Tuesday a giveaway will take place for all Taco NFT holders for great rewards!"; // Replace with what you want the generic descriptions to say. const GENERIC_IMAGE = "https://ipfs.io/ipfs/QmUf9tDbkqnfHkQaMdFWSGAeXwVXWA61pFED7ypx4hcsfh"; // Replace with your generic image that will display for all NFTs pre-reveal. // Automatically set contract address if deployed using the deployContract.js script @@ -98,7 +222,7 @@ const solanaMetadata = { external_url: "https://www.youtube.com/c/hashlipsnft", creators: [ { - address: "7fXNuer5sbZtaTEPhtJ5g5gNtuyRoKkvxdjEjEnPN4mC", + address: "", share: 100, }, ], diff --git a/backend/src/main.js b/backend/src/main.js index 11ac83e820..9c446f5e2c 100644 --- a/backend/src/main.js +++ b/backend/src/main.js @@ -136,7 +136,7 @@ const addMetadata = (_dna, _edition) => { edition: _edition, ...extraMetadata, date: dateTime, - compiler: "HashLips Art Engine - codeSTACKr Modified", + compiler: "k4rut Modified", }; if (network == NETWORK.sol) { tempMetadata = { diff --git a/backend/utils/nftport/genericMetas.js b/backend/utils/nftport/genericMetas.js index b6f4aef611..7f8fe5ea4f 100644 --- a/backend/utils/nftport/genericMetas.js +++ b/backend/utils/nftport/genericMetas.js @@ -22,7 +22,7 @@ const genericObject = { "image": GENERIC_IMAGE, "external_url": extraMetadata.external_url || null, "date": 1647039293429, - "compiler": "HashLips Art Engine - codeSTACKr Modified" + "compiler": "Hashlips - K4rut Modified" } fs.writeFileSync( diff --git a/frontend/images/header/nft_logo.webp b/frontend/images/header/nft_logo.webp new file mode 100644 index 0000000000..c71cda9735 Binary files /dev/null and b/frontend/images/header/nft_logo.webp differ diff --git a/frontend/images/header/opensea.webp b/frontend/images/header/opensea.webp deleted file mode 100644 index 8b2949851b..0000000000 Binary files a/frontend/images/header/opensea.webp and /dev/null differ diff --git a/frontend/images/slider/0.png b/frontend/images/slider/0.png index 164672081c..06149b9370 100644 Binary files a/frontend/images/slider/0.png and b/frontend/images/slider/0.png differ diff --git a/frontend/images/slider/1.png b/frontend/images/slider/1.png index 76a7303b68..3521b99074 100644 Binary files a/frontend/images/slider/1.png and b/frontend/images/slider/1.png differ diff --git a/frontend/images/slider/2.png b/frontend/images/slider/2.png index a79fa08a27..cad7dba2e6 100644 Binary files a/frontend/images/slider/2.png and b/frontend/images/slider/2.png differ diff --git a/frontend/images/slider/3.png b/frontend/images/slider/3.png index f0aab31dbf..bf3e0a824e 100644 Binary files a/frontend/images/slider/3.png and b/frontend/images/slider/3.png differ diff --git a/frontend/images/slider/4.png b/frontend/images/slider/4.png index 01870bbdd7..722feb6228 100644 Binary files a/frontend/images/slider/4.png and b/frontend/images/slider/4.png differ diff --git a/frontend/images/slider/5.png b/frontend/images/slider/5.png index 70e58e2e4f..b9c3cc3049 100644 Binary files a/frontend/images/slider/5.png and b/frontend/images/slider/5.png differ diff --git a/frontend/images/slider/6.png b/frontend/images/slider/6.png index 26b099d40b..aa33311125 100644 Binary files a/frontend/images/slider/6.png and b/frontend/images/slider/6.png differ diff --git a/frontend/images/slider/7.png b/frontend/images/slider/7.png index 2ef1fb8f54..a3da74eabd 100644 Binary files a/frontend/images/slider/7.png and b/frontend/images/slider/7.png differ diff --git a/frontend/images/slider/8.png b/frontend/images/slider/8.png index a1c6faa06d..9e9cf71c82 100644 Binary files a/frontend/images/slider/8.png and b/frontend/images/slider/8.png differ diff --git a/frontend/images/slider/9.png b/frontend/images/slider/9.png deleted file mode 100644 index b32bc85f61..0000000000 Binary files a/frontend/images/slider/9.png and /dev/null differ diff --git a/frontend/images/x-icon/Eltaco_logo_1500x500.jpg b/frontend/images/x-icon/Eltaco_logo_1500x500.jpg new file mode 100644 index 0000000000..79d86b2f6c Binary files /dev/null and b/frontend/images/x-icon/Eltaco_logo_1500x500.jpg differ diff --git a/frontend/images/x-icon/android-chrome-192x192.png b/frontend/images/x-icon/android-chrome-192x192.png index 2127f8cd76..fd19de66e4 100644 Binary files a/frontend/images/x-icon/android-chrome-192x192.png and b/frontend/images/x-icon/android-chrome-192x192.png differ diff --git a/frontend/images/x-icon/android-chrome-512x512.png b/frontend/images/x-icon/android-chrome-512x512.png index e31bdcf0ed..84a9ecc0b4 100644 Binary files a/frontend/images/x-icon/android-chrome-512x512.png and b/frontend/images/x-icon/android-chrome-512x512.png differ diff --git a/frontend/images/x-icon/apple-touch-icon.png b/frontend/images/x-icon/apple-touch-icon.png index 6f95a8a8f6..9bdeb8e04d 100644 Binary files a/frontend/images/x-icon/apple-touch-icon.png and b/frontend/images/x-icon/apple-touch-icon.png differ diff --git a/frontend/images/x-icon/favicon-16x16.png b/frontend/images/x-icon/favicon-16x16.png index ebe504649d..de0a0bce58 100644 Binary files a/frontend/images/x-icon/favicon-16x16.png and b/frontend/images/x-icon/favicon-16x16.png differ diff --git a/frontend/images/x-icon/favicon-32x32.png b/frontend/images/x-icon/favicon-32x32.png index fca5396bf6..945f2e3b08 100644 Binary files a/frontend/images/x-icon/favicon-32x32.png and b/frontend/images/x-icon/favicon-32x32.png differ diff --git a/frontend/images/x-icon/favicon.ico b/frontend/images/x-icon/favicon.ico index 1469248762..cc95b91d38 100644 Binary files a/frontend/images/x-icon/favicon.ico and b/frontend/images/x-icon/favicon.ico differ diff --git a/frontend/index.html b/frontend/index.html index 98ab58881f..f05c0045a4 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -1,7 +1,7 @@ - CodeCats + El Taco Finance @@ -39,25 +39,25 @@

NFT Drop Coming Soon!!

- A new batch of cute cats will be available very soon! + Phase3 Tacos will be available very soon!

NFT Drop Coming Soon!!

Supply

-

100

+

6500

Price Per Mint

-

1 ETH

+

1.5 AVAX

Max

@@ -161,7 +161,7 @@

Minted!

View it in the collection:

diff --git a/frontend/js/app.js b/frontend/js/app.js index f212af33c6..4fc69aaf54 100644 --- a/frontend/js/app.js +++ b/frontend/js/app.js @@ -1,3 +1,5 @@ + + let accounts; // METAMASK CONNECTION @@ -72,6 +74,10 @@ const updateConnectStatus = async () => { // SHOW SPINNER spinner.classList.remove('hidden'); window.contract = new web3.eth.Contract(abi, contractAddress); + console.log("Contract Address: ", contractAddress); + console.log("ABI :", abi); + console.log("Wallet: ", address); + console.log("Chain: ", chain); loadInfo(); } else { onboardButton.innerText = "Connect MetaMask!"; @@ -101,11 +107,11 @@ const updateConnectStatus = async () => { }; async function checkChain() { - let chainId = 0; - if(chain === 'rinkeby') { - chainId = 4; + let chainId = 43113; + if(chain === 'AVAX') { + chainId = 43113; } else if(chain === 'polygon') { - chainId = 137; + chainId = 43114; } if (window.ethereum.networkVersion !== chainId) { try { @@ -118,15 +124,17 @@ async function checkChain() { // This error code indicates that the chain has not been added to MetaMask. if (err.code === 4902) { try { - if(chain === 'rinkeby') { + if(chain === 'AVAX') { + console.log("chain is: ", chain); await window.ethereum.request({ method: 'wallet_addEthereumChain', params: [ { - chainName: 'Rinkeby Test Network', + // Hijacked! for AVAX + chainName: 'FUJI Test Network', chainId: web3.utils.toHex(chainId), - nativeCurrency: { name: 'ETH', decimals: 18, symbol: 'ETH' }, - rpcUrls: ['https://rinkeby.infura.io/v3/9aa3d95b3bc440fa88ea12eaa4456161'], + nativeCurrency: { name: 'Avalanche', decimals: 18, symbol: 'AVAX' }, + rpcUrls: ['https://api.avax-test.network/ext/bc/C/rpc'], }, ], }); @@ -145,6 +153,7 @@ async function checkChain() { } updateConnectStatus(); } catch (err) { + console.log("chain ID is: ", chainId); console.log(err); } } @@ -153,7 +162,7 @@ async function checkChain() { } async function loadInfo() { - window.info = await window.contract.methods.getInfo().call(); + // window.info = await window.contract.methods.getInfo().call(); const publicMintActive = await contract.methods.mintingActive().call(); const presaleMintActive = await contract.methods.presaleActive().call(); const mainHeading = document.getElementById("mainHeading"); @@ -221,8 +230,8 @@ async function loadInfo() { }, 1000); let priceType = ''; - if(chain === 'rinkeby') { - priceType = 'ETH'; + if(chain === 'AVAX') { + priceType = 'AVAX'; } else if (chain === 'polygon') { priceType = 'MATIC'; } @@ -286,8 +295,8 @@ function setTotalPrice() { const totalPriceWei = BigInt(info.deploymentConfig.mintPrice) * BigInt(mintInputValue); let priceType = ''; - if(chain === 'rinkeby') { - priceType = 'ETH'; + if(chain === 'AVAX') { + priceType = 'AVAX'; } else if (chain === 'polygon') { priceType = 'MATIC'; } @@ -315,8 +324,8 @@ async function mint() { .mint(amount) .send({ from: window.address, value: value.toString() }); if(mintTransaction) { - if(chain === 'rinkeby') { - const url = `https://rinkeby.etherscan.io/tx/${mintTransaction.transactionHash}`; + if(chain === 'AVAX') { + const url = `https://testnet.snowtrace.io/tx/${mintTransaction.transactionHash}`; const mintedContainer = document.querySelector('.minted-container'); const countdownContainer = document.querySelector('.countdown'); const mintedTxnBtn = document.getElementById("mintedTxnBtn"); @@ -352,8 +361,8 @@ async function mint() { .presaleMint(amount, merkleJson) .send({ from: window.address, value: value.toString() }); if(presaleMintTransaction) { - if(chain === 'rinkeby') { - const url = `https://rinkeby.etherscan.io/tx/${presaleMintTransaction.transactionHash}`; + if(chain === 'AVAX') { + const url = `https://testnet.snowtrace.io/tx/${presaleMintTransaction.transactionHash}`; const mintedContainer = document.querySelector('.minted-container'); const countdownContainer = document.querySelector('.countdown'); const mintedTxnBtn = document.getElementById("mintedTxnBtn"); @@ -376,7 +385,7 @@ async function mint() { mintButton.innerText = button_presale_mint_whitelisted; mintButton.disabled = false; - // console.log(e); + console.log(e); } } } diff --git a/frontend/js/constants.js b/frontend/js/constants.js index 3d5c65c79d..18208d1182 100644 --- a/frontend/js/constants.js +++ b/frontend/js/constants.js @@ -1,9 +1,11 @@ -const contractAddress = "YOUR CONTRACT ADDRESS"; //Replace with your own contract address -const chain = 'rinkeby'; // rinkeby or polygon +const contractAddress = "0x9299BC6eB73D3BB82Cd73151a4Bf9771b68b6a3e"; //Replace with your own contract address -const welcome_h1 = "Welcome to the CodeCats NFT Project!!"; +// TESTING - CHANGE ME +const chain = 'AVAX'; // Hijacked for Test (FUJI) AVAX - need to revise to PROD once ready + +const welcome_h1 = "Welcome to El Taco Finance!!"; const welcome_h2 = "Connect to MetaMask to Get Started"; -const welcome_p = 'The CodeCats NFT Project is a decentralized, open-source project that aims to demonstrate how to develope and launch your own NFT Collection. Follow step by step on the codeSTACKr YouTube channel.'; +const welcome_p = 'El Taco Finance is a limited collection of Tacos that doubles as an opportunity to be handsomely rewarded every week! Every Tuesday a giveaway will take place for all Taco NFT holders for great rewards!'; const h1_presale_coming_soon = "NFT Drop Coming Soon!!"; const h1_presale_mint = "Pre-Sale Minting Open!!"; const h1_public_mint = "Public Minting Open!!"; @@ -22,1070 +24,962 @@ const button_public_mint = "Mint Your NFT"; const mint_failed = "Minting failed. 😢 Please try again."; const abi = [ - { - inputs: [], - stateMutability: "nonpayable", - type: "constructor", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "owner", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "approved", - type: "address", - }, - { - indexed: true, - internalType: "uint256", - name: "tokenId", - type: "uint256", - }, - ], - name: "Approval", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "owner", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "operator", - type: "address", - }, - { - indexed: false, - internalType: "bool", - name: "approved", - type: "bool", - }, - ], - name: "ApprovalForAll", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "previousOwner", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "newOwner", - type: "address", - }, - ], - name: "OwnershipTransferred", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "bytes32", - name: "role", - type: "bytes32", - }, - { - indexed: true, - internalType: "bytes32", - name: "previousAdminRole", - type: "bytes32", - }, - { - indexed: true, - internalType: "bytes32", - name: "newAdminRole", - type: "bytes32", - }, - ], - name: "RoleAdminChanged", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "bytes32", - name: "role", - type: "bytes32", - }, - { - indexed: true, - internalType: "address", - name: "account", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "sender", - type: "address", - }, - ], - name: "RoleGranted", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "bytes32", - name: "role", - type: "bytes32", - }, - { - indexed: true, - internalType: "address", - name: "account", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "sender", - type: "address", - }, - ], - name: "RoleRevoked", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "from", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "to", - type: "address", - }, - { - indexed: true, - internalType: "uint256", - name: "tokenId", - type: "uint256", - }, - ], - name: "Transfer", - type: "event", - }, - { - inputs: [], - name: "ADMIN_ROLE", - outputs: [ - { - internalType: "bytes32", - name: "", - type: "bytes32", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "DEFAULT_ADMIN_ROLE", - outputs: [ - { - internalType: "bytes32", - name: "", - type: "bytes32", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "VERSION", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "to", - type: "address", - }, - { - internalType: "uint256", - name: "tokenId", - type: "uint256", - }, - ], - name: "approve", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "owner", - type: "address", - }, - ], - name: "balanceOf", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "baseURI", - outputs: [ - { - internalType: "string", - name: "", - type: "string", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "tokenId", - type: "uint256", - }, - ], - name: "getApproved", - outputs: [ - { - internalType: "address", - name: "", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "getInfo", - outputs: [ - { - components: [ - { - internalType: "uint256", - name: "version", - type: "uint256", - }, - { - components: [ - { - internalType: "string", - name: "name", - type: "string", - }, - { - internalType: "string", - name: "symbol", - type: "string", - }, - { - internalType: "address", - name: "owner", - type: "address", - }, - { - internalType: "uint256", - name: "maxSupply", - type: "uint256", - }, - { - internalType: "uint256", - name: "mintPrice", - type: "uint256", - }, - { - internalType: "uint256", - name: "tokensPerMint", - type: "uint256", - }, - { - internalType: "address payable", - name: "treasuryAddress", - type: "address", - }, - ], - internalType: "struct NFTCollection.DeploymentConfig", - name: "deploymentConfig", - type: "tuple", - }, - { - components: [ - { - internalType: "string", - name: "baseURI", - type: "string", - }, - { - internalType: "bool", - name: "metadataUpdatable", - type: "bool", - }, - { - internalType: "uint256", - name: "publicMintStart", - type: "uint256", - }, - { - internalType: "uint256", - name: "presaleMintStart", - type: "uint256", - }, - { - internalType: "string", - name: "prerevealTokenURI", - type: "string", - }, - { - internalType: "bytes32", - name: "presaleMerkleRoot", - type: "bytes32", - }, - ], - internalType: "struct NFTCollection.RuntimeConfig", - name: "runtimeConfig", - type: "tuple", - }, - ], - internalType: "struct NFTCollection.ContractInfo", - name: "info", - type: "tuple", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "bytes32", - name: "role", - type: "bytes32", - }, - ], - name: "getRoleAdmin", - outputs: [ - { - internalType: "bytes32", - name: "", - type: "bytes32", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "bytes32", - name: "role", - type: "bytes32", - }, - { - internalType: "address", - name: "account", - type: "address", - }, - ], - name: "grantRole", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "bytes32", - name: "role", - type: "bytes32", - }, - { - internalType: "address", - name: "account", - type: "address", - }, - ], - name: "hasRole", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - components: [ - { - internalType: "string", - name: "name", - type: "string", - }, - { - internalType: "string", - name: "symbol", - type: "string", - }, - { - internalType: "address", - name: "owner", - type: "address", - }, - { - internalType: "uint256", - name: "maxSupply", - type: "uint256", - }, - { - internalType: "uint256", - name: "mintPrice", - type: "uint256", - }, - { - internalType: "uint256", - name: "tokensPerMint", - type: "uint256", - }, - { - internalType: "address payable", - name: "treasuryAddress", - type: "address", - }, - ], - internalType: "struct NFTCollection.DeploymentConfig", - name: "deploymentConfig", - type: "tuple", - }, - { - components: [ - { - internalType: "string", - name: "baseURI", - type: "string", - }, - { - internalType: "bool", - name: "metadataUpdatable", - type: "bool", - }, - { - internalType: "uint256", - name: "publicMintStart", - type: "uint256", - }, - { - internalType: "uint256", - name: "presaleMintStart", - type: "uint256", - }, - { - internalType: "string", - name: "prerevealTokenURI", - type: "string", - }, - { - internalType: "bytes32", - name: "presaleMerkleRoot", - type: "bytes32", - }, - ], - internalType: "struct NFTCollection.RuntimeConfig", - name: "runtimeConfig", - type: "tuple", - }, - ], - name: "initialize", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "owner", - type: "address", - }, - { - internalType: "address", - name: "operator", - type: "address", - }, - ], - name: "isApprovedForAll", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "wallet", - type: "address", - }, - { - internalType: "bytes32[]", - name: "proof", - type: "bytes32[]", - }, - ], - name: "isWhitelisted", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "maxSupply", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "metadataUpdatable", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - ], - name: "mint", - outputs: [], - stateMutability: "payable", - type: "function", - }, - { - inputs: [], - name: "mintPrice", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "mintingActive", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "name", - outputs: [ - { - internalType: "string", - name: "", - type: "string", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "owner", - outputs: [ - { - internalType: "address", - name: "", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "tokenId", - type: "uint256", - }, - ], - name: "ownerOf", - outputs: [ - { - internalType: "address", - name: "", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "prerevealTokenURI", - outputs: [ - { - internalType: "string", - name: "", - type: "string", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "presaleActive", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "presaleMerkleRoot", - outputs: [ - { - internalType: "bytes32", - name: "", - type: "bytes32", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - { - internalType: "bytes32[]", - name: "proof", - type: "bytes32[]", - }, - ], - name: "presaleMint", - outputs: [], - stateMutability: "payable", - type: "function", - }, - { - inputs: [], - name: "presaleMintStart", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "publicMintStart", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "bytes32", - name: "role", - type: "bytes32", - }, - { - internalType: "address", - name: "account", - type: "address", - }, - ], - name: "renounceRole", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "bytes32", - name: "role", - type: "bytes32", - }, - { - internalType: "address", - name: "account", - type: "address", - }, - ], - name: "revokeRole", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "from", - type: "address", - }, - { - internalType: "address", - name: "to", - type: "address", - }, - { - internalType: "uint256", - name: "tokenId", - type: "uint256", - }, - ], - name: "safeTransferFrom", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "from", - type: "address", - }, - { - internalType: "address", - name: "to", - type: "address", - }, - { - internalType: "uint256", - name: "tokenId", - type: "uint256", - }, - { - internalType: "bytes", - name: "_data", - type: "bytes", - }, - ], - name: "safeTransferFrom", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "operator", - type: "address", - }, - { - internalType: "bool", - name: "approved", - type: "bool", - }, - ], - name: "setApprovalForAll", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "bytes4", - name: "interfaceId", - type: "bytes4", - }, - ], - name: "supportsInterface", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "symbol", - outputs: [ - { - internalType: "string", - name: "", - type: "string", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "tokenId", - type: "uint256", - }, - ], - name: "tokenURI", - outputs: [ - { - internalType: "string", - name: "", - type: "string", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "tokensPerMint", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "totalSupply", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "to", - type: "address", - }, - ], - name: "transferAdminRights", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "from", - type: "address", - }, - { - internalType: "address", - name: "to", - type: "address", - }, - { - internalType: "uint256", - name: "tokenId", - type: "uint256", - }, - ], - name: "transferFrom", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "newOwner", - type: "address", - }, - ], - name: "transferOwnership", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [], - name: "treasuryAddress", - outputs: [ - { - internalType: "address", - name: "", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - components: [ - { - internalType: "string", - name: "baseURI", - type: "string", - }, - { - internalType: "bool", - name: "metadataUpdatable", - type: "bool", - }, - { - internalType: "uint256", - name: "publicMintStart", - type: "uint256", - }, - { - internalType: "uint256", - name: "presaleMintStart", - type: "uint256", - }, - { - internalType: "string", - name: "prerevealTokenURI", - type: "string", - }, - { - internalType: "bytes32", - name: "presaleMerkleRoot", - type: "bytes32", - }, - ], - internalType: "struct NFTCollection.RuntimeConfig", - name: "newConfig", - type: "tuple", - }, - ], - name: "updateConfig", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [], - name: "withdrawFees", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, + + [ + { + "inputs": [ + { + "internalType": "string", + "name": "_name", + "type": "string" + }, + { + "internalType": "string", + "name": "_symbol", + "type": "string" + }, + { + "internalType": "string", + "name": "_initBaseURI", + "type": "string" + }, + { + "internalType": "string", + "name": "_initNotRevealedUri", + "type": "string" + }, + { + "internalType": "string", + "name": "_contractURI", + "type": "string" + }, + { + "internalType": "uint256", + "name": "_royaltyFeesInBips", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "baseExtension", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "baseURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_salePrice", + "type": "uint256" + } + ], + "name": "calculateRoyalty", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "contractURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "cost", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "maxMintAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "maxSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "maxWhitelistMintAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_mintAmount", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32[]", + "name": "merkleProof", + "type": "bytes32[]" + }, + { + "internalType": "uint256", + "name": "_mintAmount", + "type": "uint256" + } + ], + "name": "mintWhitelist", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "nftPerAddressLimit", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "notRevealedUri", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bool", + "name": "_state", + "type": "bool" + } + ], + "name": "pause", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "paused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "preSaleActive", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bool", + "name": "_state", + "type": "bool" + } + ], + "name": "preSaleOnly", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "reveal", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "revealed", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_salePrice", + "type": "uint256" + } + ], + "name": "royaltyInfo", + "outputs": [ + { + "internalType": "address", + "name": "receiver", + "type": "address" + }, + { + "internalType": "uint256", + "name": "royaltyAmount", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_newBaseExtension", + "type": "string" + } + ], + "name": "setBaseExtension", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_newBaseURI", + "type": "string" + } + ], + "name": "setBaseURI", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_contractURI", + "type": "string" + } + ], + "name": "setContractURI", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_newCost", + "type": "uint256" + } + ], + "name": "setCost", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_newMaxSupply", + "type": "uint256" + } + ], + "name": "setMaxSupply", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_limit", + "type": "uint256" + } + ], + "name": "setNftPerAddressLimit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_notRevealedURI", + "type": "string" + } + ], + "name": "setNotRevealedURI", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_receiver", + "type": "address" + }, + { + "internalType": "uint96", + "name": "_royaltyFeesInBips", + "type": "uint96" + } + ], + "name": "setRoyaltyInfo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_newAmount", + "type": "uint256" + } + ], + "name": "setWhitelistAmount", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_newCost", + "type": "uint256" + } + ], + "name": "setWhitelistCost", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "merkleRoot", + "type": "bytes32" + } + ], + "name": "setWhitelistMerkleRoot", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_newmaxMintAmount", + "type": "uint256" + } + ], + "name": "setmaxMintAmount", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "tokenByIndex", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "tokenOfOwnerByIndex", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "walletOfOwner", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "whiteListCost", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "whitelistMerkleRoot", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "withdraw", + "outputs": [], + "stateMutability": "payable", + "type": "function" + } + ] ]; diff --git a/package.json b/package.json new file mode 100644 index 0000000000..3591e5cd2a --- /dev/null +++ b/package.json @@ -0,0 +1,7 @@ +{ + "dependencies": { + "@metamask/onboarding": "^1.0.1", + "express": "^4.18.1", + "path": "^0.12.7" + } +}